Guest User

Litecoin/Litecoin Cash Diff

a guest
Feb 20th, 2018
5,100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.69 MB | None | 0 0
  1. diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
  2. index 3c80203..83bfad2 100644
  3. --- a/.github/ISSUE_TEMPLATE.md
  4. +++ b/.github/ISSUE_TEMPLATE.md
  5. @@ -1,10 +1,10 @@
  6.  <!--- Remove sections that do not apply -->
  7.  
  8. -This issue tracker is only for technical issues related to litecoin-core.
  9. +This issue tracker is only for technical issues related to litecoincash-core.
  10.  
  11. -General litecoin questions and/or support requests and are best directed to the [litecointalk.io forums](https://litecointalk.io/).
  12. +General litecoincash questions and/or support requests and are best directed to the [litecoincashtalk.io forums](https://litecoincashtalk.io/).
  13.  
  14. -For reporting security issues, please contact the Litecoin developers on the #litecoin-dev Freenode IRC channel or alternatively you can email us at contact@litecoin.org.
  15. +For reporting security issues, please contact the LitecoinCash developers on the #litecoincash-dev Freenode IRC channel or alternatively you can email us at info@litecoinca.sh.
  16.  
  17.  ### Describe the issue
  18.  
  19. @@ -23,7 +23,7 @@ Tell us what happens instead
  20.  ### Screenshots.
  21.  If the issue is related to the GUI, screenshots can be added to this issue via drag & drop.
  22.  
  23. -### What version of litecoin-core are you using?
  24. +### What version of litecoincash-core are you using?
  25.  List the version number/commit ID, and if it is an official binary, self compiled or a distribution package such as PPA.
  26.  
  27.  ### Machine specs:
  28. diff --git a/.gitignore b/.gitignore
  29. index a2034a6..230ddc1 100644
  30. --- a/.gitignore
  31. +++ b/.gitignore
  32. @@ -1,13 +1,13 @@
  33.  *.tar.gz
  34.  
  35.  *.exe
  36. -src/litecoin
  37. -src/litecoind
  38. -src/litecoin-cli
  39. -src/litecoin-tx
  40. -src/test/test_litecoin
  41. -src/test/test_litecoin_fuzzy
  42. -src/qt/test/test_litecoin-qt
  43. +src/litecoincash
  44. +src/litecoincashd
  45. +src/litecoincash-cli
  46. +src/litecoincash-tx
  47. +src/test/test_litecoincash
  48. +src/test/test_litecoincash_fuzzy
  49. +src/qt/test/test_litecoincash-qt
  50.  
  51.  # autoreconf
  52.  Makefile.in
  53. @@ -74,12 +74,12 @@ src/qt/test/moc*.cpp
  54.  # Compilation and Qt preprocessor part
  55.  *.qm
  56.  Makefile
  57. -litecoin-qt
  58. -Litecoin-Qt.app
  59. +litecoincash-qt
  60. +LitecoinCash-Qt.app
  61.  
  62.  # Unit-tests
  63.  Makefile.test
  64. -litecoin-qt_test
  65. +litecoincash-qt_test
  66.  
  67.  # Resources cpp
  68.  qrc_*.cpp
  69. @@ -92,7 +92,7 @@ build
  70.  *.gcno
  71.  *.gcda
  72.  /*.info
  73. -test_litecoin.coverage/
  74. +test_litecoincash.coverage/
  75.  total.coverage/
  76.  coverage_percent.txt
  77.  
  78. diff --git a/.travis.yml b/.travis.yml
  79. index fd98c4d..212bdd0 100644
  80. --- a/.travis.yml
  81. +++ b/.travis.yml
  82. @@ -1,7 +1,7 @@
  83.  sudo: required
  84.  dist: trusty
  85.  os: linux
  86. -language: minimal
  87. +language: generic
  88.  cache:
  89.    directories:
  90.    - depends/built
  91. @@ -20,30 +20,31 @@ env:
  92.      - SDK_URL=https://bitcoincore.org/depends-sources/sdks
  93.      - PYTHON_DEBUG=1
  94.      - WINEDEBUG=fixme-all
  95. -    - LITECOIN_SCRYPT=0
  96. +    - LITECOINCASH_SCRYPT=0
  97.    matrix:
  98.  # ARM
  99.      - HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" CHECK_DOC=0 GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
  100.  # Win32
  101. -    - HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 python3-dev python3-pip nsis g++-mingw-w64-i686 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports" LITECOIN_SCRYPT=1
  102. +    - HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 python3-dev python3-pip nsis g++-mingw-w64-i686 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports" LITECOINCASH_SCRYPT=1
  103.  # 32-bit + dash
  104. -    - HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc python3-zmq python3-dev python3-pip" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash" LITECOIN_SCRYPT=1
  105. +    - HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc python3-zmq python3-dev python3-pip" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash" LITECOINCASH_SCRYPT=1
  106.  # Win64
  107. -    - HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 python3-dev python3-pip nsis g++-mingw-w64-x86-64 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports --enable-sse2" LITECOIN_SCRYPT=1
  108. +    - HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 python3-dev python3-pip nsis g++-mingw-w64-x86-64 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports --enable-sse2" LITECOINCASH_SCRYPT=1
  109.  # x86_64 Linux (uses qt5 dev package instead of depends Qt to speed up build and avoid timeout)
  110. -    - HOST=x86_64-unknown-linux-gnu PACKAGES="python3-zmq python3-dev python3-pip qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --enable-sse2 CPPFLAGS=-DDEBUG_LOCKORDER" LITECOIN_SCRYPT=1
  111. +    - HOST=x86_64-unknown-linux-gnu PACKAGES="python3-zmq python3-dev python3-pip qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --enable-sse2 CPPFLAGS=-DDEBUG_LOCKORDER" LITECOINCASH_SCRYPT=1
  112.  # x86_64 Linux, No wallet
  113. -    - HOST=x86_64-unknown-linux-gnu PACKAGES="python3 python3-dev python3-pip" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports --enable-sse2" LITECOIN_SCRYPT=1
  114. +    - HOST=x86_64-unknown-linux-gnu PACKAGES="python3 python3-dev python3-pip" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports --enable-sse2" LITECOINCASH_SCRYPT=1
  115.  # Cross-Mac
  116.      - HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev" BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --enable-sse2" OSX_SDK=10.11 GOAL="deploy"
  117.  
  118.  before_install:
  119.      - export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
  120. +    - export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/pyenv/d' | tr "\n" ":" | sed "s|::|:|g")
  121.  install:
  122.      - if [ -n "$DPKG_ADD_ARCH" ]; then sudo dpkg --add-architecture "$DPKG_ADD_ARCH" ; fi
  123.      - if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi
  124.      - if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi
  125. -    - if [ "$LITECOIN_SCRYPT" = 1 ]; then travis_retry sudo pip3 install litecoin_scrypt; fi
  126. +    - if [ "$LITECOINCASH_SCRYPT" = 1 ]; then travis_retry sudo pip3 install litecoincash_scrypt; fi
  127.  before_script:
  128.      - if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then contrib/devtools/commit-script-check.sh $TRAVIS_COMMIT_RANGE; fi
  129.      - unset CC; unset CXX
  130. @@ -53,9 +54,9 @@ before_script:
  131.      - if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
  132.      - make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
  133.  script:
  134. -    - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "litecoin-project/litecoin" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then while read LINE; do travis_retry gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys; fi
  135. -    - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "litecoin-project/litecoin" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then git fetch --unshallow; fi
  136. -    - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "litecoin-project/litecoin" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then contrib/verify-commits/verify-commits.sh; fi
  137. +    - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "litecoincash-project/litecoincash" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then while read LINE; do travis_retry gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys; fi
  138. +    - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "litecoincash-project/litecoincash" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then git fetch --unshallow; fi
  139. +    - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "litecoincash-project/litecoincash" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then contrib/verify-commits/verify-commits.sh; fi
  140.      - export TRAVIS_COMMIT_LOG=`git log --format=fuller -1`
  141.      - if [ -n "$USE_SHELL" ]; then export CONFIG_SHELL="$USE_SHELL"; fi
  142.      - OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
  143. @@ -65,7 +66,7 @@ script:
  144.      - mkdir build && cd build
  145.      - ../configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
  146.      - make distdir VERSION=$HOST
  147. -    - cd litecoin-$HOST
  148. +    - cd litecoincash-$HOST
  149.      - ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
  150.      - make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
  151.      - export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
  152. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
  153. index 893c72c..734eb79 100644
  154. --- a/CONTRIBUTING.md
  155. +++ b/CONTRIBUTING.md
  156. @@ -1,7 +1,7 @@
  157. -Contributing to Litecoin Core
  158. +Contributing to LitecoinCash Core
  159.  ============================
  160.  
  161. -The Litecoin Core project operates an open contributor model where anyone is
  162. +The LitecoinCash Core project operates an open contributor model where anyone is
  163.  welcome to contribute towards development in the form of peer review, testing
  164.  and patches. This document explains the practical process and guidelines for
  165.  contributing.
  166. @@ -157,10 +157,10 @@ where possible keep them short, uncomplex and easy to verify.
  167.  "Decision Making" Process
  168.  -------------------------
  169.  
  170. -The following applies to code changes to the Litecoin Core project, and is not to be confused with overall Litecoin
  171. +The following applies to code changes to the LitecoinCash Core project, and is not to be confused with overall LitecoinCash
  172.  Network Protocol consensus changes.
  173.  
  174. -Whether a pull request is merged into Litecoin Core rests with the project merge
  175. +Whether a pull request is merged into LitecoinCash Core rests with the project merge
  176.  maintainers and ultimately the project lead.
  177.  
  178.  Maintainers will take into consideration if a patch is in line with the general
  179. @@ -178,7 +178,7 @@ In general, all pull requests must:
  180.    - Where bugs are fixed, where possible, there should be unit tests
  181.      demonstrating the bug and also proving the fix. This helps prevent regression.
  182.  
  183. -Patches that change Litecoin consensus rules are considerably more involved than
  184. +Patches that change LitecoinCash consensus rules are considerably more involved than
  185.  normal because they affect the entire ecosystem and so must be preceded by
  186.  extensive mailing list discussions and have a numbered BIP. While each case will
  187.  be different, one should be prepared to expend more time and effort than for
  188. @@ -219,7 +219,7 @@ higher in terms of discussion and peer review requirements, keeping in mind that
  189.  mistakes could be very costly to the wider community. This includes refactoring
  190.  of consensus critical code.
  191.  
  192. -Where a patch set proposes to change the Litecoin consensus, it must have been
  193. +Where a patch set proposes to change the LitecoinCash consensus, it must have been
  194.  discussed extensively on the mailing list and IRC, be accompanied by a widely
  195.  discussed BIP and have a generally widely perceived technical consensus of being
  196.  a worthwhile change based on the judgement of the maintainers.
  197. @@ -259,12 +259,14 @@ about:
  198.  Release Policy
  199.  --------------
  200.  
  201. -The project leader is the release manager for each Litecoin Core release.
  202. +The project leader is the release manager for each LitecoinCash Core release.
  203.  
  204.  Copyright
  205.  ---------
  206. -Copyright 2018 The Litecoin Core Developers
  207.  
  208. +Copyright (c) 2018 The LitecoinCash Core developers
  209. +
  210. +- litecoin: Copyright 2018 The Litecoin Core developers
  211.  - bitcoin: Copyright (c) 2009-2018 Bitcoin Core Developers (MIT License)
  212.  
  213.  By contributing to this repository, you agree to license your work under the
  214. diff --git a/COPYING b/COPYING
  215. index 9700e9e..f1ab3bc 100644
  216. --- a/COPYING
  217. +++ b/COPYING
  218. @@ -1,8 +1,8 @@
  219.  The MIT License (MIT)
  220.  
  221.  Copyright (c) 2009-2018 The Bitcoin Core developers
  222. -Copyright (c) 2009-2018 Bitcoin Developers
  223.  Copyright (c) 2011-2018 The Litecoin Core developers
  224. +Copyright (c) 2018 The LitecoinCash Core developers
  225.  
  226.  Permission is hereby granted, free of charge, to any person obtaining a copy
  227.  of this software and associated documentation files (the "Software"), to deal
  228. diff --git a/Makefile.am b/Makefile.am
  229. index dfcd5ce..18877cf 100644
  230. --- a/Makefile.am
  231. +++ b/Makefile.am
  232. @@ -25,7 +25,7 @@ BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EX
  233.  empty :=
  234.  space := $(empty) $(empty)
  235.  
  236. -OSX_APP=Litecoin-Qt.app
  237. +OSX_APP=LitecoinCash-Qt.app
  238.  OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME))
  239.  OSX_DMG = $(OSX_VOLNAME).dmg
  240.  OSX_BACKGROUND_SVG=background.svg
  241. @@ -44,9 +44,6 @@ DIST_CONTRIB = $(top_srcdir)/contrib/bitcoin-cli.bash-completion \
  242.            $(top_srcdir)/contrib/bitcoind.bash-completion \
  243.            $(top_srcdir)/contrib/init \
  244.            $(top_srcdir)/contrib/rpm
  245. -DIST_SHARE = \
  246. -  $(top_srcdir)/share/genbuild.sh \
  247. -  $(top_srcdir)/share/rpcuser
  248.  
  249.  BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \
  250.             $(top_srcdir)/contrib/devtools/security-check.py
  251. @@ -95,7 +92,7 @@ $(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS)
  252.     $(MKDIR_P) $(@D)
  253.     $(INSTALL_DATA) $< $@
  254.  
  255. -$(OSX_APP)/Contents/MacOS/Litecoin-Qt: $(BITCOIN_QT_BIN)
  256. +$(OSX_APP)/Contents/MacOS/LitecoinCash-Qt: $(BITCOIN_QT_BIN)
  257.     $(MKDIR_P) $(@D)
  258.     STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM)  $< $@
  259.  
  260. @@ -105,7 +102,7 @@ $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings:
  261.  
  262.  OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \
  263.    $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \
  264. -  $(OSX_APP)/Contents/MacOS/Litecoin-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
  265. +  $(OSX_APP)/Contents/MacOS/LitecoinCash-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
  266.  
  267.  osx_volname:
  268.     echo $(OSX_VOLNAME) >$@
  269. @@ -130,7 +127,7 @@ $(APP_DIST_DIR)/Applications:
  270.     @rm -f $@
  271.     @cd $(@D); $(LN_S) /Applications $(@F)
  272.  
  273. -$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Litecoin-Qt
  274. +$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/LitecoinCash-Qt
  275.  
  276.  $(OSX_DMG): $(APP_DIST_EXTRAS)
  277.     $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -apple -o $@ dist
  278. @@ -145,7 +142,7 @@ $(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): $(OSX_BACKGROUND_IMAGE_DPIF
  279.  $(APP_DIST_DIR)/.DS_Store: $(OSX_DSSTORE_GEN)
  280.     $(PYTHON) $< "$@" "$(OSX_VOLNAME)"
  281.  
  282. -$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Litecoin-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
  283. +$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/LitecoinCash-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
  284.     INSTALLNAMETOOL=$(INSTALLNAMETOOL)  OTOOL=$(OTOOL) STRIP=$(STRIP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2
  285.  
  286.  deploydir: $(APP_DIST_EXTRAS)
  287. @@ -216,7 +213,7 @@ endif
  288.  
  289.  dist_noinst_SCRIPTS = autogen.sh
  290.  
  291. -EXTRA_DIST = $(DIST_SHARE) test/functional/test_runner.py test/functional $(DIST_CONTRIB) $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
  292. +EXTRA_DIST = $(top_srcdir)/share/genbuild.sh test/functional/test_runner.py test/functional $(DIST_CONTRIB) $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
  293.  
  294.  EXTRA_DIST += \
  295.      test/util/bitcoin-util-test.py \
  296. @@ -252,7 +249,6 @@ EXTRA_DIST += \
  297.      test/util/data/txcreatemultisig3.json \
  298.      test/util/data/txcreatemultisig4.hex \
  299.      test/util/data/txcreatemultisig4.json \
  300. -    test/util/data/txcreatemultisig5.json \
  301.      test/util/data/txcreateoutpubkey1.hex \
  302.      test/util/data/txcreateoutpubkey1.json \
  303.      test/util/data/txcreateoutpubkey2.hex \
  304. diff --git a/README.md b/README.md
  305. index ad95a1d..90ef53d 100644
  306. --- a/README.md
  307. +++ b/README.md
  308. @@ -1,76 +1,38 @@
  309. -Litecoin Core integration/staging tree
  310. +LitecoinCash Core integration/staging tree
  311.  =====================================
  312.  
  313. -[![Build Status](https://travis-ci.org/litecoin-project/litecoin.svg?branch=master)](https://travis-ci.org/litecoin-project/litecoin)
  314. +[![Build Status](https://travis-ci.org/litecoincash-project/litecoincash.svg?branch=master)](https://travis-ci.org/litecoincash-project/litecoincash)
  315.  
  316. -https://litecoin.org
  317. +https://litecoinca.sh
  318.  
  319. -What is Litecoin?
  320. -----------------
  321. +What is LitecoinCash?
  322. +---------------------
  323.  
  324. -Litecoin is an experimental digital currency that enables instant payments to
  325. -anyone, anywhere in the world. Litecoin uses peer-to-peer technology to operate
  326. -with no central authority: managing transactions and issuing money are carried
  327. -out collectively by the network. Litecoin Core is the name of open source
  328. -software which enables the use of this currency.
  329. +Litecoin Cash is a SHA256 fork of Litecoin. For full details, as well as prebuilt binaries for
  330. +Windows, Mac and Linux, please visit our website.
  331.  
  332. -For more information, as well as an immediately useable, binary version of
  333. -the Litecoin Core software, see [https://litecoin.org](https://litecoin.org).
  334. +Litecoin Cash Core is the full node software that makes up the backbone of the LCC network.
  335.  
  336.  License
  337.  -------
  338.  
  339. -Litecoin Core is released under the terms of the MIT license. See [COPYING](COPYING) for more
  340. +LitecoinCash Core is released under the terms of the MIT license. See [COPYING](COPYING) for more
  341.  information or see https://opensource.org/licenses/MIT.
  342.  
  343.  Development Process
  344.  -------------------
  345.  
  346.  The `master` branch is regularly built and tested, but is not guaranteed to be
  347. -completely stable. [Tags](https://github.com/litecoin-project/litecoin/tags) are created
  348. -regularly to indicate new official, stable release versions of Litecoin Core.
  349. +completely stable. [Tags](https://github.com/litecoincash-project/litecoincash/tags) are created
  350. +regularly to indicate new official, stable release versions of LitecoinCash Core.
  351.  
  352. -The contribution workflow is described in [CONTRIBUTING.md](CONTRIBUTING.md).
  353. -
  354. -The developer [mailing list](https://groups.google.com/forum/#!forum/litecoin-dev)
  355. -should be used to discuss complicated or controversial changes before working
  356. -on a patch set.
  357. -
  358. -Developer IRC can be found on Freenode at #litecoin-dev.
  359. -
  360. -Testing
  361. --------
  362. -
  363. -Testing and code review is the bottleneck for development; we get more pull
  364. -requests than we can review and test on short notice. Please be patient and help out by testing
  365. -other people's pull requests, and remember this is a security-critical project where any mistake might cost people
  366. -lots of money.
  367. -
  368. -### Automated Testing
  369. -
  370. -Developers are strongly encouraged to write [unit tests](src/test/README.md) for new code, and to
  371. -submit new unit tests for old code. Unit tests can be compiled and run
  372. -(assuming they weren't disabled in configure) with: `make check`. Further details on running
  373. -and extending unit tests can be found in [/src/test/README.md](/src/test/README.md).
  374. -
  375. -There are also [regression and integration tests](/test), written
  376. -in Python, that are run automatically on the build server.
  377. -These tests can be run (if the [test dependencies](/test) are installed) with: `test/functional/test_runner.py`
  378. -
  379. -The Travis CI system makes sure that every pull request is built for Windows, Linux, and OS X, and that unit/sanity tests are run automatically.
  380. -
  381. -### Manual Quality Assurance (QA) Testing
  382. -
  383. -Changes should be tested by somebody other than the developer who wrote the
  384. -code. This is especially important for large or high-risk changes. It is useful
  385. -to add a test plan to the pull request description if testing the changes is
  386. -not straightforward.
  387. +To contact the developers, please use the community channels shown on our website.
  388.  
  389.  Translations
  390.  ------------
  391.  
  392.  We only accept translation fixes that are submitted through [Bitcoin Core's Transifex page](https://www.transifex.com/projects/p/bitcoin/).
  393. -Translations are converted to Litecoin periodically.
  394. +Translations are converted to LitecoinCash periodically.
  395.  
  396.  Translations are periodically pulled from Transifex and merged into the git repository. See the
  397.  [translation process](doc/translation_process.md) for details on how this works.
  398. diff --git a/autogen.sh b/autogen.sh
  399. old mode 100755
  400. new mode 100644
  401. diff --git a/configure.ac b/configure.ac
  402. index fbc820b..0af92a6 100644
  403. --- a/configure.ac
  404. +++ b/configure.ac
  405. @@ -2,22 +2,22 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
  406.  AC_PREREQ([2.60])
  407.  define(_CLIENT_VERSION_MAJOR, 0)
  408.  define(_CLIENT_VERSION_MINOR, 15)
  409. -define(_CLIENT_VERSION_REVISION, 1)
  410. -define(_CLIENT_VERSION_BUILD, 0)
  411. +define(_CLIENT_VERSION_REVISION, 0)
  412. +define(_CLIENT_VERSION_BUILD, 1)
  413.  define(_CLIENT_VERSION_IS_RELEASE, true)
  414.  define(_COPYRIGHT_YEAR, 2018)
  415.  define(_COPYRIGHT_HOLDERS,[The %s developers])
  416. -define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Litecoin Core]])
  417. -AC_INIT([Litecoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/litecoin-project/litecoin/issues],[litecoin],[https://litecoin.org/])
  418. +define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[LitecoinCash Core]])
  419. +AC_INIT([LitecoinCash Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/litecoincash-project/litecoincash/issues],[litecoincash],[https://litecoinca.sh/])
  420.  AC_CONFIG_SRCDIR([src/validation.cpp])
  421.  AC_CONFIG_HEADERS([src/config/bitcoin-config.h])
  422.  AC_CONFIG_AUX_DIR([build-aux])
  423.  AC_CONFIG_MACRO_DIR([build-aux/m4])
  424.  
  425. -BITCOIN_DAEMON_NAME=litecoind
  426. -BITCOIN_GUI_NAME=litecoin-qt
  427. -BITCOIN_CLI_NAME=litecoin-cli
  428. -BITCOIN_TX_NAME=litecoin-tx
  429. +BITCOIN_DAEMON_NAME=litecoincashd
  430. +BITCOIN_GUI_NAME=litecoincash-qt
  431. +BITCOIN_CLI_NAME=litecoincash-cli
  432. +BITCOIN_TX_NAME=litecoincash-tx
  433.  
  434.  dnl Unless the user specified ARFLAGS, force it to be cr
  435.  AC_ARG_VAR(ARFLAGS, [Flags for the archiver, defaults to <cr> if not set])
  436. @@ -1036,11 +1036,11 @@ AC_SUBST(UNIVALUE_LIBS)
  437.  
  438.  BITCOIN_QT_PATH_PROGS([PROTOC], [protoc],$protoc_bin_path)
  439.  
  440. -AC_MSG_CHECKING([whether to build litecoind])
  441. +AC_MSG_CHECKING([whether to build litecoincashd])
  442.  AM_CONDITIONAL([BUILD_BITCOIND], [test x$build_bitcoind = xyes])
  443.  AC_MSG_RESULT($build_bitcoind)
  444.  
  445. -AC_MSG_CHECKING([whether to build utils (litecoin-cli litecoin-tx)])
  446. +AC_MSG_CHECKING([whether to build utils (litecoincash-cli litecoincash-tx)])
  447.  AM_CONDITIONAL([BUILD_BITCOIN_UTILS], [test x$build_bitcoin_utils = xyes])
  448.  AC_MSG_RESULT($build_bitcoin_utils)
  449.  
  450. @@ -1141,7 +1141,7 @@ if test x$bitcoin_enable_qt != xno; then
  451.      AC_MSG_WARN("xgettext is required to update qt translations")
  452.    fi
  453.  
  454. -  AC_MSG_CHECKING([whether to build test_litecoin-qt])
  455. +  AC_MSG_CHECKING([whether to build test_litecoincash-qt])
  456.    if test x$use_gui_tests$bitcoin_enable_qt_test = xyesyes; then
  457.      AC_MSG_RESULT([yes])
  458.      BUILD_TEST_QT="yes"
  459. @@ -1152,7 +1152,7 @@ fi
  460.  
  461.  AM_CONDITIONAL([ENABLE_ZMQ], [test "x$use_zmq" = "xyes"])
  462.  
  463. -AC_MSG_CHECKING([whether to build test_litecoin])
  464. +AC_MSG_CHECKING([whether to build test_litecoincash])
  465.  if test x$use_tests = xyes; then
  466.    AC_MSG_RESULT([yes])
  467.    BUILD_TEST="yes"
  468. @@ -1249,7 +1249,6 @@ AC_SUBST(QR_LIBS)
  469.  AC_CONFIG_FILES([Makefile src/Makefile doc/man/Makefile share/setup.nsi share/qt/Info.plist test/config.ini])
  470.  AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh])
  471.  AC_CONFIG_FILES([doc/Doxyfile])
  472. -AC_CONFIG_LINKS([contrib/filter-lcov.py:contrib/filter-lcov.py])
  473.  AC_CONFIG_LINKS([test/functional/test_runner.py:test/functional/test_runner.py])
  474.  AC_CONFIG_LINKS([test/util/bitcoin-util-test.py:test/util/bitcoin-util-test.py])
  475.  
  476. diff --git a/contrib/README.md b/contrib/README.md
  477. index b01ea2c..a02135d 100644
  478. --- a/contrib/README.md
  479. +++ b/contrib/README.md
  480. @@ -13,7 +13,7 @@ Construct a linear, no-fork, best version of the blockchain.
  481.  
  482.  ### [Qos](/contrib/qos) ###
  483.  
  484. -A Linux bash script that will set up traffic control (tc) to limit the outgoing bandwidth for connections to the Litecoin network. This means one can have an always-on litecoind instance running, and another local litecoind/litecoin-qt instance which connects to this node and receives blocks from it.
  485. +A Linux bash script that will set up traffic control (tc) to limit the outgoing bandwidth for connections to the LitecoinCash network. This means one can have an always-on litecoincashd instance running, and another local litecoincashd/litecoincash-qt instance which connects to this node and receives blocks from it.
  486.  
  487.  ### [Seeds](/contrib/seeds) ###
  488.  Utility to generate the pnSeed[] array that is compiled into the client.
  489. @@ -22,20 +22,20 @@ Build Tools and Keys
  490.  ---------------------
  491.  
  492.  ### [Debian](/contrib/debian) ###
  493. -Contains files used to package litecoind/litecoin-qt
  494. -for Debian-based Linux systems. If you compile litecoind/litecoin-qt yourself, there are some useful files here.
  495. +Contains files used to package litecoincashd/litecoincash-qt
  496. +for Debian-based Linux systems. If you compile litecoincashd/litecoincash-qt yourself, there are some useful files here.
  497.  
  498.  ### [Gitian-descriptors](/contrib/gitian-descriptors) ###
  499.  Notes on getting Gitian builds up and running using KVM.
  500.  
  501.  ### [Gitian-keys](/contrib/gitian-keys)
  502. -PGP keys used for signing Litecoin Core [Gitian release](/doc/release-process.md) results.
  503. +PGP keys used for signing LitecoinCash Core [Gitian release](/doc/release-process.md) results.
  504.  
  505.  ### [MacDeploy](/contrib/macdeploy) ###
  506.  Scripts and notes for Mac builds.
  507.  
  508.  ### [RPM](/contrib/rpm) ###
  509. -RPM spec file for building litecoin-core on RPM based distributions
  510. +RPM spec file for building litecoincash-core on RPM based distributions
  511.  
  512.  ### [Gitian-build](/contrib/gitian-build.sh) ###
  513.  Script for running full Gitian builds.
  514. @@ -44,7 +44,7 @@ Test and Verify Tools
  515.  ---------------------
  516.  
  517.  ### [TestGen](/contrib/testgen) ###
  518. -Utilities to generate test vectors for the data-driven Litecoin tests.
  519. +Utilities to generate test vectors for the data-driven LitecoinCash tests.
  520.  
  521.  ### [Verify Binaries](/contrib/verifybinaries) ###
  522. -This script attempts to download and verify the signature file SHA256SUMS.asc from litecoin.org.
  523. +This script attempts to download and verify the signature file SHA256SUMS.asc from litecoincash.org.
  524. diff --git a/contrib/ci/build-linux.sh b/contrib/ci/build-linux.sh
  525. new file mode 100644
  526. index 0000000..aee83bf
  527. --- /dev/null
  528. +++ b/contrib/ci/build-linux.sh
  529. @@ -0,0 +1,7 @@
  530. +#!/bin/bash
  531. +if [ -f ./.fullbuild ]; then
  532. +        echo "Running full Linux build";
  533. +        make clean;
  534. +        ./autogen.sh && CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure --prefix=/;
  535. +fi
  536. +make -j 24 && strip src/qt/litecoincash-qt
  537. diff --git a/contrib/ci/build-win.sh b/contrib/ci/build-win.sh
  538. new file mode 100644
  539. index 0000000..1c4a77b
  540. --- /dev/null
  541. +++ b/contrib/ci/build-win.sh
  542. @@ -0,0 +1,7 @@
  543. +#!/bin/bash
  544. +if [ -f ./.fullbuild ]; then
  545. +        echo "Running full Windows build";
  546. +        make clean;
  547. +        ./autogen.sh && CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --prefix=/;
  548. +fi
  549. +make -j 24 && strip src/qt/litecoincash-qt.exe
  550. diff --git a/contrib/debian/examples/bitcoin.conf b/contrib/debian/examples/bitcoin.conf
  551. index 61c744c..3cf6892 100644
  552. --- a/contrib/debian/examples/bitcoin.conf
  553. +++ b/contrib/debian/examples/bitcoin.conf
  554. @@ -110,7 +110,7 @@
  555.  #rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96
  556.  
  557.  # Listen for RPC connections on this TCP port:
  558. -#rpcport=9332
  559. +#rpcport=62457
  560.  
  561.  # You can use Bitcoin or bitcoind to send commands to Bitcoin/bitcoind
  562.  # running on another host using this option:
  563. diff --git a/contrib/debian/rules b/contrib/debian/rules
  564. old mode 100755
  565. new mode 100644
  566. diff --git a/contrib/devtools/check-doc.py b/contrib/devtools/check-doc.py
  567. old mode 100755
  568. new mode 100644
  569. diff --git a/contrib/devtools/clang-format-diff.py b/contrib/devtools/clang-format-diff.py
  570. old mode 100755
  571. new mode 100644
  572. diff --git a/contrib/devtools/commit-script-check.sh b/contrib/devtools/commit-script-check.sh
  573. old mode 100755
  574. new mode 100644
  575. diff --git a/contrib/devtools/copyright_header.py b/contrib/devtools/copyright_header.py
  576. old mode 100755
  577. new mode 100644
  578. diff --git a/contrib/devtools/gen-manpages.sh b/contrib/devtools/gen-manpages.sh
  579. old mode 100755
  580. new mode 100644
  581. index 41839b5..8e34620
  582. --- a/contrib/devtools/gen-manpages.sh
  583. +++ b/contrib/devtools/gen-manpages.sh
  584. @@ -4,15 +4,15 @@ TOPDIR=${TOPDIR:-$(git rev-parse --show-toplevel)}
  585.  SRCDIR=${SRCDIR:-$TOPDIR/src}
  586.  MANDIR=${MANDIR:-$TOPDIR/doc/man}
  587.  
  588. -BITCOIND=${BITCOIND:-$SRCDIR/litecoind}
  589. -BITCOINCLI=${BITCOINCLI:-$SRCDIR/litecoin-cli}
  590. -BITCOINTX=${BITCOINTX:-$SRCDIR/litecoin-tx}
  591. -BITCOINQT=${BITCOINQT:-$SRCDIR/qt/litecoin-qt}
  592. +BITCOIND=${BITCOIND:-$SRCDIR/litecoincashd}
  593. +BITCOINCLI=${BITCOINCLI:-$SRCDIR/litecoincash-cli}
  594. +BITCOINTX=${BITCOINTX:-$SRCDIR/litecoincash-tx}
  595. +BITCOINQT=${BITCOINQT:-$SRCDIR/qt/litecoincash-qt}
  596.  
  597. -[ ! -x $BITCOIND ] && echo "$LITECOIND not found or not executable." && exit 1
  598. +[ ! -x $BITCOIND ] && echo "$LITECOINCASHD not found or not executable." && exit 1
  599.  
  600.  # The autodetected version git tag can screw up manpage output a little bit
  601. -BTCVER=($($LITECOINCLI --version | head -n1 | awk -F'[ -]' '{ print $6, $7 }'))
  602. +BTCVER=($($LITECOINCASHCLI --version | head -n1 | awk -F'[ -]' '{ print $6, $7 }'))
  603.  
  604.  # Create a footer file with copyright content.
  605.  # This gets autodetected fine for bitcoind if --version-string is not set,
  606. diff --git a/contrib/devtools/git-subtree-check.sh b/contrib/devtools/git-subtree-check.sh
  607. old mode 100755
  608. new mode 100644
  609. diff --git a/contrib/devtools/github-merge.py b/contrib/devtools/github-merge.py
  610. old mode 100755
  611. new mode 100644
  612. diff --git a/contrib/devtools/optimize-pngs.py b/contrib/devtools/optimize-pngs.py
  613. old mode 100755
  614. new mode 100644
  615. diff --git a/contrib/devtools/security-check.py b/contrib/devtools/security-check.py
  616. old mode 100755
  617. new mode 100644
  618. diff --git a/contrib/devtools/symbol-check.py b/contrib/devtools/symbol-check.py
  619. old mode 100755
  620. new mode 100644
  621. diff --git a/contrib/devtools/test-security-check.py b/contrib/devtools/test-security-check.py
  622. old mode 100755
  623. new mode 100644
  624. diff --git a/contrib/devtools/update-translations.py b/contrib/devtools/update-translations.py
  625. old mode 100755
  626. new mode 100644
  627. diff --git a/contrib/filter-lcov.py b/contrib/filter-lcov.py
  628. old mode 100755
  629. new mode 100644
  630. diff --git a/contrib/gitian-build.sh b/contrib/gitian-build.sh
  631. old mode 100755
  632. new mode 100644
  633. index d43ec9b..389e66a
  634. --- a/contrib/gitian-build.sh
  635. +++ b/contrib/gitian-build.sh
  636. @@ -17,7 +17,7 @@ osx=true
  637.  SIGNER=
  638.  VERSION=
  639.  commit=false
  640. -url=https://github.com/litecoin-project/litecoin
  641. +url=https://github.com/litecoincash-project/litecoincash
  642.  proc=2
  643.  mem=2000
  644.  lxc=true
  645. @@ -31,7 +31,7 @@ commitFiles=true
  646.  read -d '' usage <<- EOF
  647.  Usage: $scriptName [-c|u|v|b|s|B|o|h|j|m|] signer version
  648.  
  649. -Run this script from the directory containing the litecoin, gitian-builder, gitian.sigs.ltc, and litecoin-detached-sigs.
  650. +Run this script from the directory containing the litecoincash, gitian-builder, gitian.sigs.lch, and litecoincash-detached-sigs.
  651.  
  652.  Arguments:
  653.  signer          GPG signer to sign each build assert file
  654. @@ -39,7 +39,7 @@ version       Version number, commit, or branch to build. If building a commit or bra
  655.  
  656.  Options:
  657.  -c|--commit    Indicate that the version argument is for a commit or branch
  658. --u|--url   Specify the URL of the repository. Default is https://github.com/litecoin-project/litecoin
  659. +-u|--url   Specify the URL of the repository. Default is https://github.com/litecoincash-project/litecoincash
  660.  -v|--verify    Verify the gitian build
  661.  -b|--build Do a gitian build
  662.  -s|--sign  Make signed binaries for Windows and Mac OSX
  663. @@ -232,8 +232,8 @@ echo ${COMMIT}
  664.  if [[ $setup = true ]]
  665.  then
  666.      sudo apt-get install ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm qemu-utils
  667. -    git clone https://github.com/litecoin-project/gitian.sigs.ltc.git
  668. -    git clone https://github.com/litecoin-project/litecoin-detached-sigs.git
  669. +    git clone https://github.com/litecoincash-project/gitian.sigs.lch.git
  670. +    git clone https://github.com/litecoincash-project/litecoincash-detached-sigs.git
  671.      git clone https://github.com/devrandom/gitian-builder.git
  672.      pushd ./gitian-builder
  673.      if [[ -n "$USE_LXC" ]]
  674. @@ -247,7 +247,7 @@ then
  675.  fi
  676.  
  677.  # Set up build
  678. -pushd ./litecoin
  679. +pushd ./litecoincash
  680.  git fetch
  681.  git checkout ${COMMIT}
  682.  popd
  683. @@ -256,7 +256,7 @@ popd
  684.  if [[ $build = true ]]
  685.  then
  686.     # Make output folder
  687. -   mkdir -p ./litecoin-binaries/${VERSION}
  688. +   mkdir -p ./litecoincash-binaries/${VERSION}
  689.    
  690.     # Build Dependencies
  691.     echo ""
  692. @@ -266,7 +266,7 @@ then
  693.     mkdir -p inputs
  694.     wget -N -P inputs $osslPatchUrl
  695.     wget -N -P inputs $osslTarUrl
  696. -   make -C ../litecoin/depends download SOURCES_PATH=`pwd`/cache/common
  697. +   make -C ../litecoincash/depends download SOURCES_PATH=`pwd`/cache/common
  698.  
  699.     # Linux
  700.     if [[ $linux = true ]]
  701. @@ -274,9 +274,9 @@ then
  702.              echo ""
  703.         echo "Compiling ${VERSION} Linux"
  704.         echo ""
  705. -       ./bin/gbuild -j ${proc} -m ${mem} --commit litecoin=${COMMIT} --url litecoin=${url} ../litecoin/contrib/gitian-descriptors/gitian-linux.yml
  706. -       ./bin/gsign -p $signProg --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs.ltc/ ../litecoin/contrib/gitian-descriptors/gitian-linux.yml
  707. -       mv build/out/litecoin-*.tar.gz build/out/src/litecoin-*.tar.gz ../litecoin-binaries/${VERSION}
  708. +       ./bin/gbuild -j ${proc} -m ${mem} --commit litecoincash=${COMMIT} --url litecoincash=${url} ../litecoincash/contrib/gitian-descriptors/gitian-linux.yml
  709. +       ./bin/gsign -p $signProg --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs.lch/ ../litecoincash/contrib/gitian-descriptors/gitian-linux.yml
  710. +       mv build/out/litecoincash-*.tar.gz build/out/src/litecoincash-*.tar.gz ../litecoincash-binaries/${VERSION}
  711.     fi
  712.     # Windows
  713.     if [[ $windows = true ]]
  714. @@ -284,10 +284,10 @@ then
  715.         echo ""
  716.         echo "Compiling ${VERSION} Windows"
  717.         echo ""
  718. -       ./bin/gbuild -j ${proc} -m ${mem} --commit litecoin=${COMMIT} --url litecoin=${url} ../litecoin/contrib/gitian-descriptors/gitian-win.yml
  719. -       ./bin/gsign -p $signProg --signer $SIGNER --release ${VERSION}-win-unsigned --destination ../gitian.sigs.ltc/ ../litecoin/contrib/gitian-descriptors/gitian-win.yml
  720. -       mv build/out/litecoin-*-win-unsigned.tar.gz inputs/litecoin-win-unsigned.tar.gz
  721. -       mv build/out/litecoin-*.zip build/out/litecoin-*.exe ../litecoin-binaries/${VERSION}
  722. +       ./bin/gbuild -j ${proc} -m ${mem} --commit litecoincash=${COMMIT} --url litecoincash=${url} ../litecoincash/contrib/gitian-descriptors/gitian-win.yml
  723. +       ./bin/gsign -p $signProg --signer $SIGNER --release ${VERSION}-win-unsigned --destination ../gitian.sigs.lch/ ../litecoincash/contrib/gitian-descriptors/gitian-win.yml
  724. +       mv build/out/litecoincash-*-win-unsigned.tar.gz inputs/litecoincash-win-unsigned.tar.gz
  725. +       mv build/out/litecoincash-*.zip build/out/litecoincash-*.exe ../litecoincash-binaries/${VERSION}
  726.     fi
  727.     # Mac OSX
  728.     if [[ $osx = true ]]
  729. @@ -295,10 +295,10 @@ then
  730.         echo ""
  731.         echo "Compiling ${VERSION} Mac OSX"
  732.         echo ""
  733. -       ./bin/gbuild -j ${proc} -m ${mem} --commit litecoin=${COMMIT} --url litecoin=${url} ../litecoin/contrib/gitian-descriptors/gitian-osx.yml
  734. -       ./bin/gsign -p $signProg --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs.ltc/ ../litecoin/contrib/gitian-descriptors/gitian-osx.yml
  735. -       mv build/out/litecoin-*-osx-unsigned.tar.gz inputs/litecoin-osx-unsigned.tar.gz
  736. -       mv build/out/litecoin-*.tar.gz build/out/litecoin-*.dmg ../litecoin-binaries/${VERSION}
  737. +       ./bin/gbuild -j ${proc} -m ${mem} --commit litecoincash=${COMMIT} --url litecoincash=${url} ../litecoincash/contrib/gitian-descriptors/gitian-osx.yml
  738. +       ./bin/gsign -p $signProg --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs.lch/ ../litecoincash/contrib/gitian-descriptors/gitian-osx.yml
  739. +       mv build/out/litecoincash-*-osx-unsigned.tar.gz inputs/litecoincash-osx-unsigned.tar.gz
  740. +       mv build/out/litecoincash-*.tar.gz build/out/litecoincash-*.dmg ../litecoincash-binaries/${VERSION}
  741.     fi
  742.     popd
  743.  
  744. @@ -325,27 +325,27 @@ then
  745.     echo ""
  746.     echo "Verifying v${VERSION} Linux"
  747.     echo ""
  748. -   ./bin/gverify -v -d ../gitian.sigs.ltc/ -r ${VERSION}-linux ../litecoin/contrib/gitian-descriptors/gitian-linux.yml
  749. +   ./bin/gverify -v -d ../gitian.sigs.lch/ -r ${VERSION}-linux ../litecoincash/contrib/gitian-descriptors/gitian-linux.yml
  750.     # Windows
  751.     echo ""
  752.     echo "Verifying v${VERSION} Windows"
  753.     echo ""
  754. -   ./bin/gverify -v -d ../gitian.sigs.ltc/ -r ${VERSION}-win-unsigned ../litecoin/contrib/gitian-descriptors/gitian-win.yml
  755. +   ./bin/gverify -v -d ../gitian.sigs.lch/ -r ${VERSION}-win-unsigned ../litecoincash/contrib/gitian-descriptors/gitian-win.yml
  756.     # Mac OSX  
  757.     echo ""
  758.     echo "Verifying v${VERSION} Mac OSX"
  759.     echo ""
  760. -   ./bin/gverify -v -d ../gitian.sigs.ltc/ -r ${VERSION}-osx-unsigned ../litecoin/contrib/gitian-descriptors/gitian-osx.yml
  761. +   ./bin/gverify -v -d ../gitian.sigs.lch/ -r ${VERSION}-osx-unsigned ../litecoincash/contrib/gitian-descriptors/gitian-osx.yml
  762.     # Signed Windows
  763.     echo ""
  764.     echo "Verifying v${VERSION} Signed Windows"
  765.     echo ""
  766. -   ./bin/gverify -v -d ../gitian.sigs.ltc/ -r ${VERSION}-osx-signed ../litecoin/contrib/gitian-descriptors/gitian-osx-signer.yml
  767. +   ./bin/gverify -v -d ../gitian.sigs.lch/ -r ${VERSION}-osx-signed ../litecoincash/contrib/gitian-descriptors/gitian-osx-signer.yml
  768.     # Signed Mac OSX
  769.     echo ""
  770.     echo "Verifying v${VERSION} Signed Mac OSX"
  771.     echo ""
  772. -   ./bin/gverify -v -d ../gitian.sigs.ltc/ -r ${VERSION}-osx-signed ../litecoin/contrib/gitian-descriptors/gitian-osx-signer.yml  
  773. +   ./bin/gverify -v -d ../gitian.sigs.lch/ -r ${VERSION}-osx-signed ../litecoincash/contrib/gitian-descriptors/gitian-osx-signer.yml  
  774.     popd
  775.  fi
  776.  
  777. @@ -360,10 +360,10 @@ then
  778.         echo ""
  779.         echo "Signing ${VERSION} Windows"
  780.         echo ""
  781. -       ./bin/gbuild -i --commit signature=${COMMIT} ../litecoin/contrib/gitian-descriptors/gitian-win-signer.yml
  782. -       ./bin/gsign -p $signProg --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs.ltc/ ../litecoin/contrib/gitian-descriptors/gitian-win-signer.yml
  783. -       mv build/out/litecoin-*win64-setup.exe ../litecoin-binaries/${VERSION}
  784. -       mv build/out/litecoin-*win32-setup.exe ../litecoin-binaries/${VERSION}
  785. +       ./bin/gbuild -i --commit signature=${COMMIT} ../litecoincash/contrib/gitian-descriptors/gitian-win-signer.yml
  786. +       ./bin/gsign -p $signProg --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs.lch/ ../litecoincash/contrib/gitian-descriptors/gitian-win-signer.yml
  787. +       mv build/out/litecoincash-*win64-setup.exe ../litecoincash-binaries/${VERSION}
  788. +       mv build/out/litecoincash-*win32-setup.exe ../litecoincash-binaries/${VERSION}
  789.     fi
  790.     # Sign Mac OSX
  791.     if [[ $osx = true ]]
  792. @@ -371,9 +371,9 @@ then
  793.         echo ""
  794.         echo "Signing ${VERSION} Mac OSX"
  795.         echo ""
  796. -       ./bin/gbuild -i --commit signature=${COMMIT} ../litecoin/contrib/gitian-descriptors/gitian-osx-signer.yml
  797. -       ./bin/gsign -p $signProg --signer $SIGNER --release ${VERSION}-osx-signed --destination ../gitian.sigs.ltc/ ../litecoin/contrib/gitian-descriptors/gitian-osx-signer.yml
  798. -       mv build/out/litecoin-osx-signed.dmg ../litecoin-binaries/${VERSION}/litecoin-${VERSION}-osx.dmg
  799. +       ./bin/gbuild -i --commit signature=${COMMIT} ../litecoincash/contrib/gitian-descriptors/gitian-osx-signer.yml
  800. +       ./bin/gsign -p $signProg --signer $SIGNER --release ${VERSION}-osx-signed --destination ../gitian.sigs.lch/ ../litecoincash/contrib/gitian-descriptors/gitian-osx-signer.yml
  801. +       mv build/out/litecoincash-osx-signed.dmg ../litecoincash-binaries/${VERSION}/litecoincash-${VERSION}-osx.dmg
  802.     fi
  803.     popd
  804.  
  805. diff --git a/contrib/gitian-descriptors/README.md b/contrib/gitian-descriptors/README.md
  806. index 7b76ba3..1d88d83 100644
  807. --- a/contrib/gitian-descriptors/README.md
  808. +++ b/contrib/gitian-descriptors/README.md
  809. @@ -19,7 +19,7 @@ Sanity checks:
  810.  
  811.  Once you've got the right hardware and software:
  812.  
  813. -    git clone git://github.com/litecoin-project/litecoin.git
  814. +    git clone git://github.com/litecoincash-project/litecoincash.git
  815.      git clone git://github.com/devrandom/gitian-builder.git
  816.      mkdir gitian-builder/inputs
  817.      cd gitian-builder/inputs
  818. @@ -61,5 +61,5 @@ Here's a description of Gavin's setup on OSX 10.6:
  819.  5. Still inside Ubuntu, tell gitian-builder to use LXC, then follow the "Once you've got the right hardware and software" instructions above:
  820.  
  821.     export USE_LXC=1
  822. -   git clone git://github.com/litecoin-project/litecoin.git
  823. +   git clone git://github.com/litecoincash-project/litecoincash.git
  824.     ... etc
  825. diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
  826. index 9919605..29b65af 100644
  827. --- a/contrib/gitian-descriptors/gitian-linux.yml
  828. +++ b/contrib/gitian-descriptors/gitian-linux.yml
  829. @@ -1,5 +1,5 @@
  830.  ---
  831. -name: "litecoin-linux-0.15"
  832. +name: "litecoincash-linux-0.15"
  833.  enable_cache: true
  834.  suites:
  835.  - "trusty"
  836. @@ -28,8 +28,8 @@ packages:
  837.  - "ca-certificates"
  838.  - "python"
  839.  remotes:
  840. -- "url": "https://github.com/litecoin-project/litecoin.git"
  841. -  "dir": "litecoin"
  842. +- "url": "https://bitbucket.org/l8team/litecoincash/"
  843. +  "dir": "litecoincash"
  844.  files: []
  845.  script: |
  846.  
  847. @@ -113,7 +113,7 @@ script: |
  848.    chmod +x ${WRAP_DIR}/${prog}
  849.    done
  850.  
  851. -  cd litecoin
  852. +  cd litecoincash
  853.    BASEPREFIX=`pwd`/depends
  854.    # Build dependencies for each host
  855.    for i in $HOSTS; do
  856. @@ -135,13 +135,13 @@ script: |
  857.    ./autogen.sh
  858.    CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
  859.    make dist
  860. -  SOURCEDIST=`echo litecoin-*.tar.gz`
  861. +  SOURCEDIST=`echo litecoincash-*.tar.gz`
  862.    DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
  863.    # Correct tar file order
  864.    mkdir -p temp
  865.    pushd temp
  866.    tar xf ../$SOURCEDIST
  867. -  find litecoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
  868. +  find litecoincash-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
  869.    popd
  870.  
  871.    # Workaround for tarball not building with the bare tag version (prep)
  872. @@ -182,13 +182,13 @@ script: |
  873.      find . -name "lib*.a" -delete
  874.      rm -rf ${DISTNAME}/lib/pkgconfig
  875.  
  876. -    # Litecoin: Delete libbitcoin from binary distribution for now, see #192
  877. +    # LitecoinCash: Delete libbitcoin from binary distribution for now, see #192
  878.      rm -rf ${DISTNAME}/lib/
  879.      rm -rf ${DISTNAME}/include/
  880. -    # Litecoin: ends
  881. +    # LitecoinCash: ends
  882.  
  883.      find ${DISTNAME}/bin -type f -executable -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \;
  884. -    #find ${DISTNAME}/lib -type f -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \; # Litecoin: see issue 192
  885. +    #find ${DISTNAME}/lib -type f -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \; # LitecoinCash: see issue 192
  886.      find ${DISTNAME} -not -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
  887.      find ${DISTNAME} -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}-debug.tar.gz
  888.      cd ../../
  889. diff --git a/contrib/gitian-descriptors/gitian-osx-signer.yml b/contrib/gitian-descriptors/gitian-osx-signer.yml
  890. index 7845834..7ff4130 100644
  891. --- a/contrib/gitian-descriptors/gitian-osx-signer.yml
  892. +++ b/contrib/gitian-descriptors/gitian-osx-signer.yml
  893. @@ -1,5 +1,5 @@
  894.  ---
  895. -name: "litecoin-dmg-signer"
  896. +name: "litecoincash-dmg-signer"
  897.  suites:
  898.  - "trusty"
  899.  architectures:
  900. @@ -7,10 +7,10 @@ architectures:
  901.  packages:
  902.  - "faketime"
  903.  remotes:
  904. -- "url": "https://github.com/litecoin-project/litecoin-detached-sigs.git"
  905. +- "url": "https://github.com/litecoincash-project/litecoincash-detached-sigs.git"
  906.    "dir": "signature"
  907.  files:
  908. -- "litecoin-osx-unsigned.tar.gz"
  909. +- "litecoincash-osx-unsigned.tar.gz"
  910.  script: |
  911.    WRAP_DIR=$HOME/wrapped
  912.    mkdir -p ${WRAP_DIR}
  913. @@ -27,8 +27,8 @@ script: |
  914.      chmod +x ${WRAP_DIR}/${prog}
  915.    done
  916.  
  917. -  UNSIGNED=litecoin-osx-unsigned.tar.gz
  918. -  SIGNED=litecoin-osx-signed.dmg
  919. +  UNSIGNED=litecoincash-osx-unsigned.tar.gz
  920. +  SIGNED=litecoincash-osx-signed.dmg
  921.  
  922.    tar -xf ${UNSIGNED}
  923.    OSX_VOLNAME="$(cat osx_volname)"
  924. diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml
  925. index 2abaddc..45e3a18 100644
  926. --- a/contrib/gitian-descriptors/gitian-osx.yml
  927. +++ b/contrib/gitian-descriptors/gitian-osx.yml
  928. @@ -1,5 +1,5 @@
  929.  ---
  930. -name: "litecoin-osx-0.15"
  931. +name: "litecoincash-osx-0.15"
  932.  enable_cache: true
  933.  suites:
  934.  - "trusty"
  935. @@ -28,8 +28,8 @@ packages:
  936.  - "python-setuptools"
  937.  - "fonts-tuffy"
  938.  remotes:
  939. -- "url": "https://github.com/litecoin-project/litecoin.git"
  940. -  "dir": "litecoin"
  941. +- "url": "https://bitbucket.org/l8team/litecoincash/"
  942. +  "dir": "litecoincash"
  943.  files:
  944.  - "MacOSX10.11.sdk.tar.gz"
  945.  script: |
  946. @@ -83,7 +83,7 @@ script: |
  947.    create_per-host_faketime_wrappers "2000-01-01 12:00:00"
  948.    export PATH=${WRAP_DIR}:${PATH}
  949.  
  950. -  cd litecoin
  951. +  cd litecoincash
  952.    BASEPREFIX=`pwd`/depends
  953.  
  954.    mkdir -p ${BASEPREFIX}/SDKs
  955. @@ -104,14 +104,14 @@ script: |
  956.    ./autogen.sh
  957.    CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
  958.    make dist
  959. -  SOURCEDIST=`echo litecoin-*.tar.gz`
  960. +  SOURCEDIST=`echo litecoincash-*.tar.gz`
  961.    DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
  962.  
  963.    # Correct tar file order
  964.    mkdir -p temp
  965.    pushd temp
  966.    tar xf ../$SOURCEDIST
  967. -  find litecoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
  968. +  find litecoincash-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
  969.    popd
  970.  
  971.    # Workaround for tarball not building with the bare tag version (prep)
  972. diff --git a/contrib/gitian-descriptors/gitian-win-signer.yml b/contrib/gitian-descriptors/gitian-win-signer.yml
  973. index 331bf89..f3da37e 100644
  974. --- a/contrib/gitian-descriptors/gitian-win-signer.yml
  975. +++ b/contrib/gitian-descriptors/gitian-win-signer.yml
  976. @@ -1,5 +1,5 @@
  977.  ---
  978. -name: "litecoin-win-signer"
  979. +name: "litecoincash-win-signer"
  980.  suites:
  981.  - "trusty"
  982.  architectures:
  983. @@ -8,12 +8,12 @@ packages:
  984.  - "libssl-dev"
  985.  - "autoconf"
  986.  remotes:
  987. -- "url": "https://github.com/litecoin-project/litecoin-detached-sigs.git"
  988. +- "url": "https://github.com/litecoincash-project/litecoincash-detached-sigs.git"
  989.    "dir": "signature"
  990.  files:
  991.  - "osslsigncode-1.7.1.tar.gz"
  992.  - "osslsigncode-Backports-to-1.7.1.patch"
  993. -- "litecoin-win-unsigned.tar.gz"
  994. +- "litecoincash-win-unsigned.tar.gz"
  995.  script: |
  996.    BUILD_DIR=`pwd`
  997.    SIGDIR=${BUILD_DIR}/signature/win
  998. @@ -23,7 +23,7 @@ script: |
  999.    echo "a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911  osslsigncode-Backports-to-1.7.1.patch" | sha256sum -c
  1000.  
  1001.    mkdir -p ${UNSIGNED_DIR}
  1002. -  tar -C ${UNSIGNED_DIR} -xf litecoin-win-unsigned.tar.gz
  1003. +  tar -C ${UNSIGNED_DIR} -xf litecoincash-win-unsigned.tar.gz
  1004.  
  1005.    tar xf osslsigncode-1.7.1.tar.gz
  1006.    cd osslsigncode-1.7.1
  1007. diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml
  1008. index d4a9d9f..7c220db 100644
  1009. --- a/contrib/gitian-descriptors/gitian-win.yml
  1010. +++ b/contrib/gitian-descriptors/gitian-win.yml
  1011. @@ -1,5 +1,5 @@
  1012.  ---
  1013. -name: "litecoin-win-0.15"
  1014. +name: "litecoincash-win-0.15"
  1015.  enable_cache: true
  1016.  suites:
  1017.  - "trusty"
  1018. @@ -22,8 +22,8 @@ packages:
  1019.  - "ca-certificates"
  1020.  - "python"
  1021.  remotes:
  1022. -- "url": "https://github.com/litecoin-project/litecoin.git"
  1023. -  "dir": "litecoin"
  1024. +- "url": "https://bitbucket.org/l8team/litecoincash/"
  1025. +  "dir": "litecoincash"
  1026.  files: []
  1027.  script: |
  1028.    WRAP_DIR=$HOME/wrapped
  1029. @@ -101,7 +101,7 @@ script: |
  1030.    create_per-host_linker_wrapper "2000-01-01 12:00:00"
  1031.    export PATH=${WRAP_DIR}:${PATH}
  1032.  
  1033. -  cd litecoin
  1034. +  cd litecoincash
  1035.    BASEPREFIX=`pwd`/depends
  1036.    # Build dependencies for each host
  1037.    for i in $HOSTS; do
  1038. @@ -119,14 +119,14 @@ script: |
  1039.    ./autogen.sh
  1040.    CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
  1041.    make dist
  1042. -  SOURCEDIST=`echo litecoin-*.tar.gz`
  1043. +  SOURCEDIST=`echo litecoincash-*.tar.gz`
  1044.    DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
  1045.  
  1046.    # Correct tar file order
  1047.    mkdir -p temp
  1048.    pushd temp
  1049.    tar xf ../$SOURCEDIST
  1050. -  find litecoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
  1051. +  find litecoincash-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
  1052.    mkdir -p $OUTDIR/src
  1053.    cp ../$SOURCEDIST $OUTDIR/src
  1054.    popd
  1055. @@ -155,7 +155,7 @@ script: |
  1056.      make deploy
  1057.      make install DESTDIR=${INSTALLPATH}
  1058.      rename 's/-setup\.exe$/-setup-unsigned.exe/' *-setup.exe
  1059. -    cp -f litecoin-*setup*.exe $OUTDIR/
  1060. +    cp -f litecoincash-*setup*.exe $OUTDIR/
  1061.      cd installed
  1062.      mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
  1063.      find . -name "lib*.la" -delete
  1064. @@ -171,7 +171,7 @@ script: |
  1065.    cp -rf contrib/windeploy $BUILD_DIR
  1066.    cd $BUILD_DIR/windeploy
  1067.    mkdir unsigned
  1068. -  cp $OUTDIR/litecoin-*setup-unsigned.exe unsigned/
  1069. +  cp $OUTDIR/litecoincash-*setup-unsigned.exe unsigned/
  1070.    find . | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-win-unsigned.tar.gz
  1071.    mv ${OUTDIR}/${DISTNAME}-x86_64-*-debug.zip ${OUTDIR}/${DISTNAME}-win64-debug.zip
  1072.    mv ${OUTDIR}/${DISTNAME}-i686-*-debug.zip ${OUTDIR}/${DISTNAME}-win32-debug.zip
  1073. diff --git a/contrib/gitian-keys/achow101-key.pgp b/contrib/gitian-keys/achow101-key.pgp
  1074. deleted file mode 100644
  1075. index 030fd5c..0000000
  1076. --- a/contrib/gitian-keys/achow101-key.pgp
  1077. +++ /dev/null
  1078. @@ -1,52 +0,0 @@
  1079. ------BEGIN PGP PUBLIC KEY BLOCK-----
  1080. -Version: GnuPG v1
  1081. -
  1082. -mQINBFT4snkBEACx90Wf5XLo1Xv09p81eaOXc+8bbkSYzqx3ThDNUPRzjYpex9A9
  1083. -8FxfBenAykD3EgYuBTco4cbn7Dw11ppyXUw0VjWaagnnAVGxt3SDeY3ADwPss6xg
  1084. -78FZXxT06xSHZXq1X6pOqhwTAnx3VGx+tR/A2DCsX0vHE6IVThZqyUq2Ei2C0Chc
  1085. -od8y6JZ1CGNzlRkEgL9A0Zp0If6Uq4tXFxnLL6PtiS1b9V5rNfCSC7l99kIkG5oy
  1086. -+SPsGRwVqTE2kqtuzkt9qVn6v8KKoZr0BY4IO3KMfJJ4eidOkB+OZK9REEQguDvv
  1087. -tJfkF2HcMYa1efvQObyvVIfS5gxs7+kcSJxgDVZI5YxRV1OOfI7+w3EW3G+bPBQF
  1088. -gSBwEaLbD+udr9lDZ4NZc7vTeoZtYVNZ+EQtG+6I9GzxJwEgO5LIwZ3//vh/R4iy
  1089. -z9W91r7TrlkHUuOGg1hXMCI9sRa65NJtP4BWD0xO07zDKj0JHzeyKwgxB/ixZF2V
  1090. -kc8EzJSKzRfr+638BMXONcf6NW8n6qIlJT2U2qIwiixjM8AUujGKb8DEgU1vIAn9
  1091. -7esOhceOtU/6iLuJrlK+TzMe97NoZCtt6ktmiAp8fu6l9uk3mr8JYLzIMtK+Asf4
  1092. -np5YLizABwbt9gEretnGpHrdKMN88mPYwsLjjCh9wiM0bHZNL52JQRkt3QARAQAB
  1093. -tDNBbmRyZXcgQ2hvdyAoT2ZmaWNpYWwgTmV3IEtleSkgPGFjaG93MTAxQGdtYWls
  1094. -LmNvbT6JAjYEEwEKACAFAlT4snkCGwMFCwkIBwMFFQoJCAsEFgIBAAIeAQIXgAAK
  1095. -CRAXVlcy4I5eQfyGD/9idtVjybuXl+LXS4ph4M738PrZfQeLDmnwhVjfZiEOLLs2
  1096. -sAwGtL/CC0t9f7K7y+n5HtQoMX52jfVehnTDzeKCjRMs+5ssou+L9zadIAz68beU
  1097. -7BZ0J1rR3n1kzwsFE3vx3IRno0VCTOgfL48AuuzMPxvEaLMxWQX8mL0PCV5/8Yxx
  1098. -ftqg4kQ1JKMt5UTxE9/w0cBMphLTwV1Rx6lZILPJgOxYSQ0oOzQYSmucwzH1uOqH
  1099. -wpgZ7SZIHfRWyi4TjQpU/5T2kMOlN/XdyWsj5+Eq+Y6zI6hq2se1vU3TOc8xN2S3
  1100. -7YOza1onUj4if0rWtkJZ2yDnR4lIASUD+/VP2NoWtoy7rB0vIfzbojfwxAp8WuHT
  1101. -sUTxXd52c3OB+673OlOA+GAg2FfFjR8REojsTbeip35/KmFMpafazVRn+E0c3MfP
  1102. -/iS43UTlcxewRcDrx/gRplmgO0+CLgLstZOon7Dz0msypeSArhX2xEj4tJb/ccKd
  1103. -CR/IQl8q/ULQsHX1LwRj0u9doAlkqgIQdKXou4+EmD1jKF92oJMZ+20AJCqfwYQY
  1104. -9HlCB9SQeCRUtU/fHkAZLPApze6C7a1r0LVIuM6iolWyha5KJ++mj84fAagwy/ag
  1105. -8TU8kHTLSGPYeg5G/TAbr1XU5kbbqfWfQFMK1xtdZd1BaGP2cDC2QGkr2ot1SLkC
  1106. -DQRU+LJ5ARAArDftuFPE+ZhgJRuJK163fsD15aHPfv5s+h8kPFv0AuwVs+D75w3y
  1107. -YGfaRtlwSvK+8EucKOoHI1AQYjTG0dtKJuwEGhQ2qsTWUKe05tEAWu0eN62MOZ/r
  1108. -Awjxqotj4TeFksfyKedVAYSizD0Xj16fizeWFrfUBNND4OgUgD8KM79oRchtzKBE
  1109. -HRBP27JksU8tQWc4YcEJUHV66Pji5OCiXxHXJ+JpqKSKeCrVvrvro+pwsY1I3ARA
  1110. -F4UmLxCcb4GnNq+s76cb2K7XJtWJu5FHeHOsef5ped43pYs35UXI+EvOYNs39XI4
  1111. -emMsI0KmuLME2LHO3CJNBirwRFxui27axZk/CSVE1lglnbb25n3QHvbs/31ASCCT
  1112. -QKZ7+Gce89iow6yG4MkN5W4hLdkGAyNI74b6yAUfugSqPLNSj3YHvVFY3y1acge+
  1113. -H7xDO/owRN1kbz+9VMJZxsxB/oZEyEVAE0szHxXbMBhqOME0Y3O6UBrXr7z6R8NG
  1114. -S20RPet4kxCCTLZOvM/X5FtvimgR2u5qRPHs+zf2VPXIRsJsM3zq9EvmePryGM3r
  1115. -1rEAvYagukuyt68lOWgKP/2wB0/NIFAs69b1QSJS3U4CQVIs2h84Ucvbh9gX9Y0B
  1116. -LbV5mxvDDfC/4Nhf4yMfH/CwZDLOUsaRAjCv/lQuN9mnMz9aYnsPha0AEQEAAYkC
  1117. -HwQYAQoACQUCVPiyeQIbDAAKCRAXVlcy4I5eQec+EACi14L8Vp7tw3tDm/Lrb9fM
  1118. -LHfoOnZiDCGaXhiXqckbTSogp7hU82m1fIy4VwY7DWbs1iIq7QdDJMBuNn174Qd3
  1119. -ZPxHeGwBbR04gEsHkbjXBAA5hMacLvmxYFiPlibz+AO4orUiYu/vlEXhXoFCjSlB
  1120. -pw0kUG8W8yQ/RyE7ryLv5/bT4LkwUWF7/+gdDzLUy1VeaPDKmBupKVSbEACe4QRH
  1121. -dUUqE3suKoJ/GylO2sGtFW8BM7+CffX+nvc8hJWzXdYW5InSh0omYJIypIgnQ1gM
  1122. -MhUdu4gbtYwo44Tlax2mTSg8vSVboYO6pBZVX3IEUnjRHLOCZVZIBFXIFdRrHXO8
  1123. -TTkzx9ZoDmZ/DH+Md1NDnS4QsvFbRO/EeDRQAI4cgGhCc4CTrrJSQv8jtl7x8OTx
  1124. -fnDUbE/n8pLV93j9t1Gd07h0VJSmYj3AR7PiefHS7s2yxS9oOqRayGBqrJFzd2gS
  1125. -+oXvUBC6pUvM68NgNVCKH7HmIM9tFbqgy8kofTsVDkq9TEJRO+X4hn7UDNJhTjVE
  1126. -AVRUdku6CJR6wj3RPCbERSNB8uabuv1lgo41baeepLn+tJNO/4hilJ0zvEoryVnJ
  1127. -ldZ73mHRRRtXoPRXq7OKuDn10AvtYX8y3/q5z6XhLUePFKM91PO8GF0J6bNWrQSq
  1128. -Khvd4+XHE/ecjLOPvLweAg==
  1129. -=+hz7
  1130. ------END PGP PUBLIC KEY BLOCK-----
  1131. diff --git a/contrib/gitian-keys/aschildbach-key.pgp b/contrib/gitian-keys/aschildbach-key.pgp
  1132. deleted file mode 100644
  1133. index df06e19..0000000
  1134. Binary files a/contrib/gitian-keys/aschildbach-key.pgp and /dev/null differ
  1135. diff --git a/contrib/gitian-keys/bluematt-key.pgp b/contrib/gitian-keys/bluematt-key.pgp
  1136. deleted file mode 100644
  1137. index 2389d46..0000000
  1138. Binary files a/contrib/gitian-keys/bluematt-key.pgp and /dev/null differ
  1139. diff --git a/contrib/gitian-keys/btcdrak-key.pgp b/contrib/gitian-keys/btcdrak-key.pgp
  1140. deleted file mode 100644
  1141. index f00dc72..0000000
  1142. Binary files a/contrib/gitian-keys/btcdrak-key.pgp and /dev/null differ
  1143. diff --git a/contrib/gitian-keys/cdecker-key.pgp b/contrib/gitian-keys/cdecker-key.pgp
  1144. deleted file mode 100644
  1145. index 928a74b..0000000
  1146. Binary files a/contrib/gitian-keys/cdecker-key.pgp and /dev/null differ
  1147. diff --git a/contrib/gitian-keys/centaur1-key.pgp b/contrib/gitian-keys/centaur1-key.pgp
  1148. deleted file mode 100644
  1149. index 71a42e5..0000000
  1150. --- a/contrib/gitian-keys/centaur1-key.pgp
  1151. +++ /dev/null
  1152. @@ -1,30 +0,0 @@
  1153. ------BEGIN PGP PUBLIC KEY BLOCK-----
  1154. -Version: GnuPG v1.4.12 (GNU/Linux)
  1155. -
  1156. -mQENBFTjy20BCAC7q/tpPQ9tdEALpDqe8kpVAT5ysOJDLDeFEE1J5O8NuDFuibiN
  1157. -XYkb2nAt4Vdr23in9z0LAiTSgr7znndnab/rOSn6pXbXQfLTHrSnAeClTHVQVPSq
  1158. -m5kNg1vWvNxFtIpZ/fGsc6LLmIHxdgeLn+NOpvNx7RzF/N5ctX51vMxMUeDq3daZ
  1159. -tLneJVRj5tXHRJcjW62cyiNFasYAZ3JC8wjwzr0SOndc7kygbEVCTWNkTAGd1Lax
  1160. -KSJW6TjhBPK7j+RljS5nfx/Tf+OG4AoA7/53593YL7Shfx8rwWVIeF4nS6efFnuf
  1161. -eIj+aS5haGyFvNgw8DE7QUCrPiUxeA8wuXu7ABEBAAG0H2NlbnRhdXIgPGNlbnRh
  1162. -dXJAcGhvbmVib29rLmNvbT6JATgEEwECACIFAlTjy20CGwMGCwkIBwMCBhUIAgkK
  1163. -CwQWAgMBAh4BAheAAAoJEP+V+qlxaXQF8r4IAKnE8D9AOTdM/YvYxpCeI6ndEUUs
  1164. -8NcotpbIBJ67vr1Dsot7Ee0PrmIYOiInA+T81lPUDecJYrnemVefhquiyJ5VJ4/d
  1165. -z2zUKBfxjeOsj/PHgcowVxMco8fNEWQa2fZX6X8RVADIsUnIIwpRFVUcbssK/3xJ
  1166. -k46vjWwYNQywht/ZgFBesOgywyz5GozmwrK6TixJxKk8M69GFz2fHhJjp1bxDZuk
  1167. -Rs3YmWeOcCasoJ6GbvIboKQSPHGyEOCqIuiBL63YMa0n1FU0ooDteNZ04eRinIhc
  1168. -fo9JC66fQrUFn8CmmRTtdZOrZ/efYjQtfLAunCkzSM3p6DE9u4Y7d8E5Ar65AQ0E
  1169. -VOPLbQEIANhxtouZuQmw+k89toBWXw75s+csxKHKZuhw8QntaFyFYq3IOnIeV1sK
  1170. -PRENkWsqDInjEM8k9eZ6pnS11EQ1rrFffss+mprTbL3I4S489tJETYZKHrmmox7h
  1171. -ustRi5eXBEmGeKW0mqpb/9r4okpTaIfs+EJ4C9jj0ghWkqU0acyzanJiUY/0R46F
  1172. -vPfGfHnhZ5TAl3eiL0H2JkF6taG8K1XOLemahdZHE9wJh0ZFWnDDkA1l6j2rtYga
  1173. -jEi/ucOp5GkmumxbFiVgponDBqBpsscRrCV6SbZs9gz3dQNgqe5A3CKGZRuVCY6s
  1174. -djRJelgqCF5+dV0fAT0oF3C/3E5KAgcAEQEAAYkBHwQYAQIACQUCVOPLbQIbDAAK
  1175. -CRD/lfqpcWl0BUSxCACjEFwQSHcfZINWD+KdNMayxyHQlBwsEDX+xQkgnn+/Q3hW
  1176. -9VI3SSSfFV3ustlUa3IaNHwuWzsrSqG6mLG47LAQ6vPAWVh723gVCpyJf42Oms/e
  1177. -qeyn0f/PT/6RuNMXQeHbfddmRp4PFjyKOms5Bmf3oi4t4JSvOS4yABBBKzhDQYC9
  1178. -e+qv6Y1sDYpSiCxstQLzIHKiB5bfZ8Szfk09EyyLdqLGkiB0MFhHoXWwQxKiLVc+
  1179. -xNFj2a/jw0rQVgN5DZgHBWU5WqvS5CWIczi+2S9MFI26iBhCn3urZToaaQ/DObqC
  1180. -qmekFrJ/GOj5vB1Mm014lWjG2X3EovLZ1XkgWI7W
  1181. -=vtNZ
  1182. ------END PGP PUBLIC KEY BLOCK-----
  1183. diff --git a/contrib/gitian-keys/cfields-key.pgp b/contrib/gitian-keys/cfields-key.pgp
  1184. deleted file mode 100644
  1185. index 6b0bd24..0000000
  1186. --- a/contrib/gitian-keys/cfields-key.pgp
  1187. +++ /dev/null
  1188. @@ -1,52 +0,0 @@
  1189. ------BEGIN PGP PUBLIC KEY BLOCK-----
  1190. -Version: GnuPG v1.4.12 (GNU/Linux)
  1191. -
  1192. -mQINBFOHTh4BEADdKsRvmNhX+B+bcPsgMkp8ztwJA5g/rmrOlHQpKOOf4P2tAr6w
  1193. -FmXCChWF9Iq3pDFQ0t0iq5rgisFPyrGVT/VToMmH+/PSLTyIdAlgkRYDMAPsMAFV
  1194. -MaADH4yiAgJ3cdXtysjaNQV5O25ypqq6/obUjZJD5Enn6b/UgHe2+7LTmTNsskOx
  1195. -5s/WPPht79EY1kM4JQfmDx68CsmqeSAlT6yeO3RQcLn/l46cfXiwzMO4h1hsZS1r
  1196. -pgciRp0EHK9uAjF2rjqt8v4SDxwyTnwfpBBulzvH9mBf+HRXWzoTMR4sC/oOZext
  1197. -hKAH/ex47BxN3HU3ftNhCK2c1xcU1UOGSjbf0RdbwuSCxxa7mktEDumvOxAk9EBB
  1198. -+PDPv7jO1FBK3rsJdscYQIL0AiRyO49VfNLARa34OqUi8pOAxKBQ9plO02W1gp7a
  1199. -DVBPI05TZ46Y8dTR2Bc1raAgOyxnXM7jfiQG2gSULiKAJAI4HwOiodaiiHAxDaIo
  1200. -a3mtsmfN25TZUQuA0I0BvHbJvLRlVnyZm3XVOcwReKJpZJV4qRhd3XNrERZdz6ZK
  1201. -cAZnyC/X+Uzo4HfnVSsJk1GpIa4seYyrVCFfHMiAA6SkgAUFbV26KCOv4rNR2GlV
  1202. -l2fVhu1RKOEUJ8nRcEqf93SehRVYdI67LepIPgmIwi0KG4HhoTbIHDAKWQARAQAB
  1203. -tCtDb3J5IEZpZWxkcyA8Y2ZpZWxkc0BiaXRjb2luZm91bmRhdGlvbi5vcmc+iQI4
  1204. -BBMBAgAiBQJTh04eAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAcJJH/
  1205. -6w73cBTiEADIGZSueBFmaOTJCgasKGguHns/n8P94EQBZr07rrgN99Rzp85WvDUN
  1206. -Qa72wj3GNcAffN7aZlIWv4g+fjyr9AzHekjI/7iwwSYIfjfTR/xRUW7czRfKAOrK
  1207. -iwpEzgv440i7PBvkS/AhNdUNkm+cJvaQUej/F2/O52qDLEpHuzvjAUUWlSeF9/oO
  1208. -AjM9dfC24L5k5cVwQvH9noxk3EyuE7BuiGE5a+kKiORrtxiHeUG6GYQxuqrPucLU
  1209. -fI67ETyXa0YSpYm5/O65BKMTMpmkMvv1JC2kqqsYTrO5p158CrKzq2xvpuG4ABsb
  1210. -9KwICUGW31Ndr6TXwQJFa1b7VK4G1g6M1DFkVTOLJnEyOwgYxsXrV5QFpzpAOAji
  1211. -6KcxNGeow1avAFYbqjjLgu9UNuq6b8du13hjkQxVs2NAP1Kd/u2ADwxQHMhZGVEC
  1212. -9LIcLVSP9ShY6fR8m6fwSlJfpiV81uLNVD8KIyvp+pYTQ/FnxoPhPIwalYquBZKi
  1213. -0u38igW75IzZ0fYvJgTumE/8ofSVkutVtrQb21eJclVrJGMNweTlJcJhAWdKkjDC
  1214. -e6mSj8GItKV1ef+eusXSzs/wPyTaqgkELvvAOZdwUq3kobQErE5HOuPEOvcwuY96
  1215. -DcxLexirCGW5wCUq7Db0c0dUjQwzzb5OTW2jdnPVR0qxi29TnOJ2aLkCDQRTh04e
  1216. -ARAAuJKpI6NTCQrjEqe9AYywN8676+fPS5bqXkyb/iub6MXeQdwpH0K42lXAaYMq
  1217. -ow/0aLlvGWCHuJJGozoOWpTzQ+VPbhpdARoLCop5fYTpy8Q17ubLeeODDtr6jtDN
  1218. -lmg+9PBIErIVUnUS2wNZuJRVsfwlLaU3T2v8kQnQ6AEbl/QwyWW9nB8rAWBu6Hvs
  1219. -VdtcBmtHSr9xAGBGfW6rSVhTitikR4lWJPdNJxI3pLaswpLIUIQ1rssKO4glljcp
  1220. -C6nhMvRkDLvDFvDP9QnmwY/A4ch5S6ANPrhOjQuu9njjQ+/ImrJTjAXqHwg5KdTc
  1221. -NKxufgvi9elOQ422o0No3yKdRoRA4kdcUmqA9gNZDyX0ZTd17aNqc42Zt3aYLJ11
  1222. -bLZZp0qnfhkmhbsBZZtaLNkuF+RGPWysxY7KPMm+nHn6f3Wpr18E+T02wi02r4nS
  1223. -HOQI+gppDqy3Vq3ZZNoUZynctiLZVHkqi+WYXqfD2tEn8UJKpht7jrZlNgkHFgT7
  1224. -T0/U4+JmaQ/HltE+IexAIH0GP0Jt6hmRoZimdoy8Q8NY5t/fn9CQNJm5InrHvooN
  1225. -aFmZMvzGTGiTqBqnA/7k9FCUEG98LK11MsIssY8YE/F6HD69R3ISyRvhUbpFvhD8
  1226. -c6zOkEKngTWvyRevrDrDz2yoZ1+T1X350+92rbEc/8WyutcAEQEAAYkCHwQYAQIA
  1227. -CQUCU4dOHgIbDAAKCRAcJJH/6w73cAakEACv4EUEjtFjqnGB0Lru5FKs1obWcf37
  1228. -c4a5yYvOw58dkEZ9hsq34qWGLT128n6R24KEG+3O4CbplAD5Kt2eAPracbPHMAn8
  1229. -TGmC+KjiGlBR5xCY9dD0fn5EbRWOa+Fdcj1DpneaqMl9vLnBbqGp7pa/MwSOc+FB
  1230. -0Ms2rcGJJMNHgITfP22eCf6pvf/xq7kKbUJ3Kjqdc2hWlRMjC/OOeITdrgycfDk/
  1231. -AOzLNqk5q7bYOxna6rWDLGSkCATyQKaBTVK7wRd1VrIhI4vfFqy+BWYXyXJ0pxjS
  1232. -eaCDwbWHX/KW+0qLsmHxFMAyHJPjs8LEwK/DRbmWhe1HzPcBKmpyjqlkuxPjAdSl
  1233. -hP4+IBvVNLf2Kh3uFHehk9A6oCYZGe3lLfQnOxIantXF7IROTmiZZsb+08w6cIXE
  1234. -+r6kWG6vP2aCVtzYNfY+2p5xfg3yMxcxENJki1WSCOq6WVf9IWFzSJu+0+eazD3L
  1235. -3QpZoSX5VvT6x05C0Ay1ert0Q5MyF84Eh8mDqL4PhpWtQhZMp8SG4jqFVgrhM4sl
  1236. -vWGYXGns4tbnNPiiksjBD8TTvG3+mt48sNJIpHThjdWJSZjllYG7jV8oi7HrX8M2
  1237. -LOwWWLYxHkqi9wpmrWHSmniex6ABozcqrb+EgSMnHuSd7glmOJxHToJIudJbKG5D
  1238. -MrD0ofsytfy1LQ==
  1239. -=DE4h
  1240. ------END PGP PUBLIC KEY BLOCK-----
  1241. diff --git a/contrib/gitian-keys/coblee-key.pgp b/contrib/gitian-keys/coblee-key.pgp
  1242. deleted file mode 100644
  1243. index 8efbdaf..0000000
  1244. --- a/contrib/gitian-keys/coblee-key.pgp
  1245. +++ /dev/null
  1246. @@ -1,116 +0,0 @@
  1247. ------BEGIN PGP PUBLIC KEY BLOCK-----
  1248. -Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
  1249. -Comment: GPGTools - http://gpgtools.org
  1250. -
  1251. -mQINBE3zxrgBEAClsDj56PD9OheUjteWspOstSGxARKo05jeyK3wSM+dT7GIysxE
  1252. -/0vyI7JS4GdYtFFIGbaPQRPgE+fs7BuSjQ5THHpOzna0lpxzE9lEmR1n2IntUpSL
  1253. -7u2818Bu8HI5Tjjpw5VbCWjnbPfi2CfIoOgHUngRHy0cDBE86Ty/OmI7+2CwV0Ns
  1254. -+Neo4NDJrMDmlOHr96+HZst33JKyeVJ+u8GzT0m3ilupGi/8UDDm0IDe61ZxAFqt
  1255. -9NQyIi76rp8rD3yP/yH2PimmSjnFNiIhTAG6dEz97XN3pvzEkgBbPtd2c857SNb1
  1256. -zBGrORWBeIDbvHKGVfMPL6mt0MRTkGDlI3kf0dNooxNHZrtJNWRe3KeZpSo2fJbl
  1257. -vYojpSqfZmGch+IJbC2KAqowfIzBuEVnyifoFQgS7gi7jBUHVYLamdUSY7cHRgCW
  1258. -Qn/xj9liagk8QKS5L13q8rPDi466M84m/hp6HYMuSA9mhqDdp/JHA03lxHYOMSkf
  1259. -QM5sZMeUGF9sEi/xaexV/KC9tzqhtmHHjn7GS5bwj/FrESFpCPaZAWCXzIuacmJ+
  1260. -lYAxf4uiBcC0qe4mU9AffmhYnNj4CCtW9CzpMP+gI/s0rdvgWuRgaE1LBTzdYFU2
  1261. -aVi61d8QY4PLiAsaMxm8gS/fwTnMSktLYhI4erOFa95+MVn18fVtxavgpQARAQAB
  1262. -tCJDaGFybGVzIExlZSA8Y2hvY29ib0BhbHVtLm1pdC5lZHU+iQI4BBMBAgAiBQJN
  1263. -88a4AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCCisH5TvJgU4KLD/4m
  1264. -gbHmYlLqckM/wBg++pyf0ccnJqT05KiBD5NA0tNyGbcy6Ea+ppACsoFbr6zsSkhF
  1265. -2HvKms2bZQrkZh7eCd8BxsQfJ1IiW1cZBa9v395ce0Xb7yyqHd1OhXokyhEAVgFo
  1266. -lI1UP2eerkc/FGUGE5k3XPmMlpv1K54GGMozJNc7pScBR48e/cNQo0eizEKzZJH1
  1267. -d1fqrBVDyXMOEtkJyuPemCJgMmQ0heODCX1HxmoyuSmqtLSkjJOziCNGy1bbXpdp
  1268. -G/imbRVQNVJCURDsztu17HHBMhJeN/xkGn830s3Eb6lQFkSMMtgwNqHbZfGflOSH
  1269. -bfxvbFsQeqotlwED+Rzbsb+Xoua6I0SANPQVhf7gtlL7cWDOGTMsbbhhpSOI36/F
  1270. -Qs51vItjBrWD+uYB8H5Cv6vkUvxVvn/70pD7pwyHwF5iHGfqvqCnEay0N5IMEuw2
  1271. -VgpCBpcZgWuAFGtmMpEmB/N5D9BBRUiWpI45aQTs9SCIGOR4dAJg1M5pmdy+GIyD
  1272. -VcTO9o2reqAbEmBc0uq3olZfVV81JvABmQ7KX3QKI0UaQGFCUqeL/f84jrNiaO7S
  1273. -ye0pTZQ6pomD4H94882kTyEtSR9YbsvP77/+bBv/gNUDd93Nn22IYSe0Hrg6eSAJ
  1274. -GZR05xghFRlEtGfuDy8kEckWd6CjLdG2Vk+noKmLJIhGBBARAgAGBQJRoHvPAAoJ
  1275. -EGvd/o5Uoqzxq18AnRksV8DKJTRm9vBFVxUn1x7YJPb/AJ46ujshfyV2/CRqri1W
  1276. -Y61SIJNfLYkBHAQQAQIABgUCU25gWwAKCRBvxMn38b6P6jrsB/469FbknpI2CB77
  1277. -uXuvphvuxP87rsYm6nO76gYpJ77mD0f3g3a5jAKHMBt85RkN33s+25Mys190HEua
  1278. -1sdo0NPBJL+Ox8kid9Z09Gc9Giga1ANYILCVL9kZrJbNh3BidQop7mSs00mmM80d
  1279. -6C2qqyuerjS7z3enxd9RW/5uxrbmUkj0J9ocFHDV30V8BbYuKlGfz5ZItcnEHtPV
  1280. -0TnryWrpuKGonkIQ6F5xbMXLguIXZePqrc0eqWy3tsBhEHo1ajTNFfWZ8VFY9/Lu
  1281. -hiC6VPA4mxVFgqdpIegS6lPsjvhEGo0HUmtceL3IBQ58W7ikYRP0opteZY2B0zXT
  1282. -MXONm2zGiQQcBBABAgAGBQJR0NtFAAoJELEXnrc0fcENzt4gAJSC+XKbSfVy82TP
  1283. -mK0jTazJyDX5E8NaxgigwqsvOwZpPGdOfTO67VX6MMBBPpmFv1S9/b3opMbGdBI1
  1284. -fbZWIzp1/uuqOQ/NWVJIi4c3Yaqapcd0zvozxqq3KfbjrIOUj1rJVBsMus0jwvTd
  1285. -bHxN2ei2K7jR00sW4xfx+ryfItMKRNUBW6ezeLbnSBun/9y0ghs14pBgi28F7i1m
  1286. -P6DA8l0fFfxMe6KyQmsCzfHb5Ze7Nn9Num9rseowhO5IoW6znNBY7hFj47Y6k2XB
  1287. -xGKu090vLt25vMO1g06yEqLuzOnB7GmwwBCi9ox/nXcrd5JaDlzcad7y+kPRAqjW
  1288. -KSyOPIEWe4vSOtQuVA38rvWdXQBRLTc/JB2XNO5vEaErnFqOLIu72mOkijl2r1Ww
  1289. -0/YsdIcY+u++w5SHoN/92RWeTF+kljztEdK+qPPbk7ATkpUwhYacu+Yn2+PVWuJ1
  1290. -YsWGvDH8hlE1OJgk0lJtpKeWMaTefxIF7Xv6iUiVgjWzN69onGy37v8ds4o0rsDk
  1291. -aCyLokHiOc6II0np08i45Ac/w0IPQAvX3LRJKcLWrqrvlEBfDh9bMGBfkcrumxi2
  1292. -y69nDioKxpfIIIGHtCqXwijWb5SCzG7UGJ+wjmz8jrdJH8wSHbeLdJya2hyabcqu
  1293. -RTm2DBe4U/V9n06oayZi+VY3qrQi114b72RQqzfMIaJoeqQka91Vu0zDLHcoyQVC
  1294. -pvI6R1pJ9/xGTPUYO3Q9MRW3gkwfwXZoAQblaCNbAgwmUPYqenvdR9JrqOpuGVTo
  1295. -z2aYYojFsBDcZTJ/O8UTpUU8NLgHT27LQnQcJ3UrSe+crFBpfSLESweumIbki8e1
  1296. -5Sf4OOqBUTtoFvby9h+xkHzIWXlJRVvv/uqoHJ5bNGYBAUmgDilW7qREZAbhBlth
  1297. -8ThoYurzyniqfIlAQzsogYF5EDqJCZM+9NMzQeDFCKBQm8auev5JgoRcAX85uRcO
  1298. -wm6dhxo0qH8mpzMiDVhdzetoX7fJVwJlIM6JqKk1DUEY0p/+SjuEEzuZAkpH0XJW
  1299. -dgXOLbMC7/QWslBaMtLt9FiUHrTKXf9taPhHF9qpdUhyjR4trJUBZ62xp8FgLsxk
  1300. -xIg33HM2hlA3CZM1apUXSNHNIyic6B1PCPtH0Zj85Trxr1WVdP3+z5jJQ6qo5PUd
  1301. -hatwi55oM9JNGSETI6y2D4rub7KQbzrLUa+qFatlOrMNs+kQSgVWkvPlytAUdYpG
  1302. -zwbvuHthqeF0jf7asqsMueiUw6SAUU91yQPdofBdOWmv265niEiFMkQET7AVw6I+
  1303. -ziaPB1FL/2eg6jg6LBOo+27eEXqFqXirhp+FNsI1qNFXXg+jr1KOGHP5rFS1WiOQ
  1304. -Pgs2W2qJBBwEEgECAAYFAlHbh3sACgkQvQKUJCH0iJ8U1iAAmmn0kiLjWGntxrQi
  1305. -361hwIMBiymYTDNf6itNaHoRQpQ8qRhaIuxq0syYasF1zkUN6aJLtdIlHzwPjKvO
  1306. -YXgtTEz6v4uB+9xl2UPp8YGys9mA79LEkmmOlLB73A65w9Gsp/r7i2nS8AO2iQkD
  1307. -qtJkMsl85d66KyAcgMU1yssyH3MK/0DXfqxxw9BU+56p9vs8kHR5IuBv1gcSc4+8
  1308. -GGbcVFb7pcuBIy8Qes6kpsI7+EVyP/KBOSbDtMgigXLN0Buv13V1fnRbDdrs7Lhh
  1309. -B/E8FQnZ0jiYdUk8re5hU7XiUZkpjOXENaIw/ZR3IXod0SfjTRi9h49xdJ0SflBz
  1310. -zhzFEsrCEcg3phnAsyrjUj80MKZF6iCDujFJ5iGhDvrXE/PiueX6PPAn/XkznthN
  1311. -LhsXs/Z1flHn+L0YsmUmCZnFEUZCYWhMczdwEpEXdvvWFxFXdvbOJl1hJ1JIg75V
  1312. -wMZ09jINMF4Tr0UKqOi6YKRRkhhXP2iZUc2H5LvX8fNN3WHIQDiSdiBkjTkDnWKY
  1313. -ixsyg+wXC32YYHvtdr9h/hOGTes1MyW5WlaglCHDaChsHease2TRk754GfnM/sey
  1314. -hyIfUcQgH2Ac8iDag046RwCzCUmmDVGvcJ4/cxqn6G8iTiH8Wlyw56/XWe07ZJYI
  1315. -4cjqu9KOubAcO/R3UJxOoaKCYwiz8SFMITtE2t6/bdUqMRkmaolYnorN/0dpw0tK
  1316. -Ao5aZwJVwSIxwczjTUc1lANMY7+QY4G621d86GX9VRzCmOtvXL8QjKxX3Au3fcp7
  1317. -DmOvdnPx5ExrXn5nevEsxKLHp7mBOWoomwl2IFTGOJpSxaeU7NMK7ZN2rzEw9YjO
  1318. -Uk6KPT4ZkdrSkQShf39s18Jf6dDCVBzAZxpwJgM9PZEv4Qrqwg/ilRJa0ojjNHq8
  1319. -ikm99jYpmn3yuc7vjbae3SXjp5Q7UVhX5T1j1oQCuMtdWBOIu0wMFb5k1g6w5G3I
  1320. -NV8Ok/5NyEBNM0/bjOC6e0QzUVa+kssgtY5N684NPKDao8EiIRZjTFK8lZNA7BJX
  1321. -49HgJFtibf7jRxVYWyKqUeb/0A6BOacE6Zh0tWf4owyjkNW0kZB8j1y6+p2o0vku
  1322. -5ri+4O+sFk2OPFdXlxtMv4eUpV8NYmhbli7Q0HH2h8148YEkaBxbHXRrvcUIIQvZ
  1323. -mAJuEfZCPeCgWzCUjMmxexJfoC75VlEzmfir1lDAYLpVbbpGd332yKeybMOKQKwB
  1324. -utJvAYLVbzHOpwG+/lpiZGBu8odH4FrQxfiuduJAHVBQ5ae+Nf/kRrXWtmsLrYVB
  1325. -ApmEGlbYq8YGYE3odm4XCmisAR4/34ZCdq1m+AbYfDt769Av3nfs6GrczUhGTLuu
  1326. -OWSYl7Qla2V5YmFzZS5pby9jb2JsZWUgPGNvYmxlZUBrZXliYXNlLmlvPokCLQQT
  1327. -AQoAFwUCTfPGuAIbAwMLCQcDFQoIAh4BAheAAAoJEIKKwflO8mBTSAcQAJiSy/cI
  1328. -f7Qw8od9rrfvtlXpHUbnFeztwT/RaXMop3v962GojHAInNuiHrcFubINqkwrHMwo
  1329. -MsVKb+3tEgs88yXGNMvcJy5lQs0ee+OWNwx3On8pMBR0XwTAkrZ1Um6zuS/dat62
  1330. -V0gtnm1JgFxSF4lHDtZUvIWGwxToNYuSON73VEUpKIPVLLOT4bbQj/TuoxaJ+rZ5
  1331. -3FxaOfvWVnnSJO+Is4zzo6uadY0VMKcd989wyGeE2x0suWuVID/VQFqdTUO8p3vk
  1332. -QL9TLKJIezKD347v4jzeLdOghBHlhBRDpKUjPikLgS5074IwsiQ9HzCl3zyJTjL8
  1333. -R4YLvM1QLGW1ZB1DDbIwWZpmk1ZOrhsVUrMrBt2GHRB4xaRPnq4EYRu0nlHnQvuw
  1334. -1ZZskA4bgDGLf/yQZCzb64lGvxTY8DMZJcQUv75ROPRRFRZhC/qfJEtL2zFccH/i
  1335. -pUQJ/Ze2zERWV6Cn6TymIdB2du+sBafn1oflMatcNqPLY2/iJ7gMRSOPCPIFrv8E
  1336. -irJOQ/OxRSNIrrNND5Hj7uQZXHb0EcdMP6UsrDTi/yZaW3ma4EfuTOfimSlHtbx3
  1337. -dPzkWNWyv1SEF30GYK2La02zEl3fwFXkqD5vzkuZ7pa3hWQ87n7obRDh+UTOoZ2/
  1338. -vh5mbEApVt4eTFQBHouXgxR1KexM66aAmWyKuQINBE3zxrgBEAColGLJYSaI+eJE
  1339. -QTEkpz9S4+7Tf/qoBo5mPO2jOOP77ZwLLpYsMkMOtDWhiyMer6uLf49XrLJltCG4
  1340. -CNMbUUWIMhDEDA+iXhFOU1PljRBvzJfNZI3sWs/42/ieA32ldSjEuVwGPRa9V5DS
  1341. -zasLunhiYl5E9AZOjpjjqhM8HO7cTSShExlZcKgHf6313SKm/qJeFeC24BRu4aaZ
  1342. -RKiEB9w6XBP55vu139QmCt2EUXYKYPAgtOUnzUDqW+V2Z6oiDFHzFu0/9DtQyZdW
  1343. -3anVxudeogs6xy+GNbMNFG9lu+c66qvhc/GLCr9CoHWHvB5T4hyfgKy0knO+j5AW
  1344. -oEnQe7+adQ/6uGGyBtxzP5DotbBSB7OB5jDyIrB2uroHnAp7IONc0E83afxyYAxW
  1345. -ws00C2qsG5htjP1dpSPpgcHSGvf2BWTpz8453mXNrY644RXyGsZiXOJOwfa/Ttoe
  1346. -K1SA78Pj2LkQ13ES7Y6GX2zR8cqKlAwFmXKMk76X8J6hb9h4rYgSzHkJQO9TjCq7
  1347. -05eF66K2Z76ZC9A5QE19Gea7Tx5b/GkpvYtOt/gx6P/Png6z8A1oGGGLWevSUxHL
  1348. -TrBZTnjmeHQG5Nx+po5zuM8BxRxFGLn2NI8UxgdpKV0cZOX+p/WVSUoC+DNyl5fy
  1349. -xBKMTgeqYAqYNh7UDyruX5E+tlYF7wARAQABiQIfBBgBAgAJBQJN88a4AhsMAAoJ
  1350. -EIKKwflO8mBT6cIP/RFn8rgRK1IbJsBl3DJPx7yHmavp52t2vN+4ZHqkhnpzbEuF
  1351. -T2nWSetUQJ5J9LHoSkHoHn1yGFEQctlvNqR35xX3PKHrCYv6XNHkUUj3pCcQPP7a
  1352. -enxqzyB9tNgyz8DqbnXNbqELhPvs60ffmsEXgq2dNO+/wbpPW1+Yd6F5Q2X1g1dl
  1353. -JufFpFV0RTQFaCviESMV+lTgFAONEpDK3wnByLukABLVKVrzq/xGly6OqeP4Rh9T
  1354. -vSYi/x3iqv+2wn5XZ5aGTIqWHVFbFfwqCO4US4KdVXodubegED529TfwMzgDBfAD
  1355. -C7HNtrgEBBs9mLT5ypv9xvyJxoMNf1ATfKucRrRDbtSwZk3sh2LgZgXb/AAC9sZi
  1356. -9E6OEhXaWpx+tZNFon2vfzIcpYQzC6rFezRGAOP2asTVqdmrtJDClHttydASNP5A
  1357. -KzLoc+hAmNdpMxaTnAwANVKtJggMoS+YyINISiCFNDli+qKkl2VYXa6NK9GZGiwO
  1358. -VrIAFCpt1F/R+/aY+gPO9Cu+ZuJY/XKSkUqrupqrXgc1KAtkfLEc3JuirG9rbJWD
  1359. -LR0kStjiczm4zW3CTzS4UwF3a5vPlMyftAvOF+/895E8HzrO3lpT6/SwUDPUTEmv
  1360. -3ktcq4L0ZiX3uBiBnagbi4RREILfVk4vo5kBKxymtUB8mUtVL19rR0zwINuZ
  1361. -=teP+
  1362. ------END PGP PUBLIC KEY BLOCK-----
  1363. \ No newline at end of file
  1364. diff --git a/contrib/gitian-keys/devrandom-key.pgp b/contrib/gitian-keys/devrandom-key.pgp
  1365. deleted file mode 100644
  1366. index 7189812..0000000
  1367. Binary files a/contrib/gitian-keys/devrandom-key.pgp and /dev/null differ
  1368. diff --git a/contrib/gitian-keys/erkmos.pgp b/contrib/gitian-keys/erkmos.pgp
  1369. deleted file mode 100644
  1370. index 9d3f060..0000000
  1371. Binary files a/contrib/gitian-keys/erkmos.pgp and /dev/null differ
  1372. diff --git a/contrib/gitian-keys/fanquake-key.pgp b/contrib/gitian-keys/fanquake-key.pgp
  1373. deleted file mode 100644
  1374. index 9c03ff4..0000000
  1375. --- a/contrib/gitian-keys/fanquake-key.pgp
  1376. +++ /dev/null
  1377. @@ -1,63 +0,0 @@
  1378. ------BEGIN PGP PUBLIC KEY BLOCK-----
  1379. -Version: GnuPG/MacGPG2 v2.0.26
  1380. -
  1381. -mQINBFFlV7oBEAC3dRAS7gSWQ1fV4JySD0HMBOtY+Y2oCX8vEuTI4atGcxbwXr4/
  1382. -OElRYhDK6Zirk8rMoKPxmr8OVek5LNnY3gcDffco6NXmZ+wTstQm6oqUxFfgzznG
  1383. -X/ExEVuCqiaPAwdWSKn9tC1GuOqRFcD+p2zmxw5mNH5XdsqaPSEGsKESY1IK+dMv
  1384. -K+YUrfrtexZyb66wCtupYziEeag6iEK/i2x2wewOji6IvtI+wB5FO+YMXw+LKucw
  1385. -PoHUOxjoz6YX3s04UxFaZo4R8x6J9XnJBSB2E5kfsSAzz3xR+zuapXY6H6mo/grq
  1386. -nr3c6ACcbAHnMWwQLYvWzde6iwswhyl0whebsajJH7Rd3G4c1U3L/oj4RwUFmZYU
  1387. -5Prs+Q5PepKAJfBeWCXZtUY2BNFCFj7b2H2NXYFR92Oc2GtoHAYACNeP070I9d3m
  1388. -IeuYhOrOckkunwaijUczq4rb3n3Vaq6YrdwZIzs8fALwc9Th98jj2dCUq0fljpSh
  1389. -UQFnPG83UsNkeWzUSgw+lBeEQqgOqUQQ293MbgRg0mJ8q677Iv+WaFqPKZzXxkwT
  1390. -QCCXhjcBmUKgXIHLFcbfmkR8pCcCToWXBD8CU441cBsootDD7SanPHbpcwZjt74x
  1391. -uLrVoCIyaju0T1jSrsPnm2A/8VkWLSCh1WRAlbjvMr7DwizGnRtzTiB6HQARAQAB
  1392. -tC9NaWNoYWVsIEZvcmQgKGJpdGNvaW4tb3RjKSA8ZmFucXVha2VAZ21haWwuY29t
  1393. -PokCNwQTAQoAIQUCUWVXugIbLwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRCU
  1394. -TTX5rD23agJgEAC0ouDjufjCMHL4DkaVkOnFbHzP+nR2Mq7pcjdiPNIt9tj8B6cI
  1395. -PRh/E+tt2iEJJ4lzlfj0uEqjqexmSBaMgY+pFb6ESg42EPQjRQ95oBoyZfp+uL/0
  1396. -KC3+Hh+EgmZGIFPZy2HneVfusiBUz2/YTOoqFkzmHalJe9Yvl2+dO0SUC7i6TUdJ
  1397. -+ugSr/91hkjQC52LXgHzurH4zOz7ZjzRtZgUIG3oOx8mtEDf46eJ0IUsr+tWJqOp
  1398. -ce5xFh6nkKfS92B7YjGJ4YrkBHC7F9vmbrtIeuWiaxGzVqhHFmLvQe+4xyOpRgHM
  1399. -kcyD5uJNmSMO9gT3udut4hd0yUKg5rdqaUzqsvv19eNL/pZ7aBK2aDAK/yAi1T7X
  1400. -/nrhBJAU49zg1JRS6atRnhKSyd7wRSwVPJAXfVuelHsUgenSdLmSBxRha+9mL6Lb
  1401. -bLK/Dij/0r2fyhBJx4pV6V1n4BpHjv5ivkpgCvOupx8wx3PIxZq/rx+hK+ZBe2EQ
  1402. -7vq8rmLfBkSavHWyNxXEKWQed+mFS3d+Qsoy90bi7gQygIYNZOIBYwsy+qjCZ3om
  1403. -LwkzRjypH23ps7WmiaoenOaCjRYooNL4qtQwNVaDGYwvbMnXJ8Vb4/2j/Riz7+Ui
  1404. -BBVww+Wd72Fml/OFPDFep6HG/PuwFB9m5hmfSzrA01TIdjcWljtTDneufbkCDQRR
  1405. -ZVe6ARAAvi1IAxn9xKQCCqhsoKOiXNbpnmf6lYnoEwGtgI+0a0YQwtzm39P5T8P0
  1406. -esZ65/Re6jCCHLc23/urFPfW9VfrKPmNJncyzlx7OopJ7G1MWdRLEUzwqSaglC6x
  1407. -Zb4r1xR6eq2lBX6CAa5Q+AuAqkoGCEiYBpTyKij4sXE0c+Y9nIDIZhru7EnZvpL3
  1408. -SQvxzFryQLbWCGri0x9GKXZ2ZcDM7jRi/P+iX6yX6sVvOvyKz6NW2BI5OmpI1JbJ
  1409. -3fIXt/R6Wl2xpAFL/pxtYTYbfL6277HWtLDTqIkkRFKh64JdkH8n4G4m6VNUtGEu
  1410. -qP3SxtyShauxY44WzR0YX4rag6tU2Hks6h1JmyF8aQTBAkdP7UrQ0oxZ8f+iG9n6
  1411. -3GtTxgw2NyrqVMx3kBLm8DipyslbA2wCeZLrW6Co0j3pebJsDrMP/3zcmbJqRSLq
  1412. -qnkcxA4gn5j/N0oe8t26Y2WjovndhoR0QQxw8D/BKoMXbl0lvvRAtcnWtyG0COut
  1413. -AGB2PUbGdAX2Ky+uYKrG4uhu1edfV8JZVvB7NIQGzM2P8F9PrDRz7EtG6z7ky/pq
  1414. -HQwRbqwLWGs4QpQmHZchFmXH7pHmLC8i29W+xYhdeUstvx7oESbunICGrPjJOShJ
  1415. -G4191Zg0m/M6jeWV/v+piUXe3YVrgs42UWFusm5ZIduPUfgqUtkAEQEAAYkEPgQY
  1416. -AQoACQUCUWVXugIbLgIpCRCUTTX5rD23asFdIAQZAQoABgUCUWVXugAKCRAu659c
  1417. -wJUmwaduEACCiiRpBeKF5fSaM0cTb97hAHVQJL9Wk3xvA49YuROsSwtCzq9v+js5
  1418. -f/fE+QV/dIQUNwifEPQk8MqUVKpe1lIXwRp23GinzDAnOhfWnECqrMdR0dP99D49
  1419. -Zb7Dd4LDvP9c0mYtnX/78qQilxWmXhzDXcunnPsfCqsrduk9hMwkjmIrWFeSWSAg
  1420. -BEJDuZ4WLuqjni1udth0iZtZYrDaDgX/RWcTFW8QCc5hLsCRcInAxb75AWfWq6i/
  1421. -s3Ibg5tGm4+UfqGbFPuNyy6ow3ggqkovBp6ABMxe8dAYVXSmM2tKWZXBb3L6eho8
  1422. -QKKzyoezqpbQ2YUaYZ8XAdLuumXCtAHKP3/DI1JBefE0mxi1CXjdLK9sE5OO5KNt
  1423. -FXR8Dnot5C4BHrcaF6Iq2sqbhPxnhcDrEwv2mUgruD7n04LKIztAG0A35rcu6A2i
  1424. -IUq/PsXjS/5rX/p4CeYvnTTspXkhXgkvfhWz1cISXyfcNTWBKwOsLW4lY8bi05cv
  1425. -4Axl88tTg2dNYXIxSK7Jtu1YCEsZ8uaT3AAiTp1sKAOcRX8hIOTmPPxMxbIm8yg1
  1426. -jl71ovsV5rAyuVTUouFnljXyuLWXLotUOkmC6DjJUuRaxzt23/eByJ45x94T/A2U
  1427. -iT1oU+voigQGARrDkApXlgSI4oekg3Zgq57y6toV9F7o9A1PMtBq3AvDD/0as1K0
  1428. -wCRZIXinSwW2F6tFnVV+z+vvE0i54yHaskkuJYZRSQ/yJR1VgmW/BtAr7ooXF7l+
  1429. -9g7XOH7D8T28h+m4ABLN5ZDOxfTMZuV5Y4MnELh4dlBIfKGG2kjmW8+y/PUqMMGE
  1430. -BYRmGOD1qtWvFYoZ2ss5yrlvfenRRhQbIYSRz/YiT8OTogaNcYNpArUwT4z+05af
  1431. -kdxx0AaqauHqKRo/XTO5GIZQ6NbtPH6G++2Ie+oP8AyBWEpL3rvjZpzn7jxTBXMc
  1432. -MOMmhnb0Go4hD+BSphgDTZOgMLOLcorjb1Ct2VnajxPZD0aTB13SCgZjJhs9j3on
  1433. -EoI3gTHkRgiBjMBNtw7iaAumIRgrDwGzyuIL6bbyfDnbE02zxCqkYP6P0u48FGLs
  1434. -E4U60GrYSlFxa1MexF+HIPgqWsTOv4D2zXEJYvm1XEu1VOGQUkw7J5RFTDxHgkbh
  1435. -qvmkZ492iW2IC4L9hSdSqiZ5LhD2JwpgrMt8vrCzVitkjYQnXJ6WbWYfCybPsmLb
  1436. -mfQ03i9E+a50UC2SGDf8e3oxImAbbXLP/LyI7oczCxyb0EzcQlIIOtBgl3gI6KAh
  1437. -PTRQGeHCzIOSgUf7B0ihY7qiDeR1OshvTY0wdykdS0c+hzwuS5TZvfY4YM7Tssvt
  1438. -XwbdK0Zpx/oDtRHpuDMGKJBV2LWAZYkEbFsmtg==
  1439. -=3o2I
  1440. ------END PGP PUBLIC KEY BLOCK-----
  1441. diff --git a/contrib/gitian-keys/gavinandresen-key.pgp b/contrib/gitian-keys/gavinandresen-key.pgp
  1442. deleted file mode 100644
  1443. index f81f44e..0000000
  1444. Binary files a/contrib/gitian-keys/gavinandresen-key.pgp and /dev/null differ
  1445. diff --git a/contrib/gitian-keys/jl2012-key.pgp b/contrib/gitian-keys/jl2012-key.pgp
  1446. deleted file mode 100644
  1447. index 984f555..0000000
  1448. --- a/contrib/gitian-keys/jl2012-key.pgp
  1449. +++ /dev/null
  1450. @@ -1,275 +0,0 @@
  1451. ------BEGIN PGP PUBLIC KEY BLOCK-----
  1452. -Version: SKS 1.1.5
  1453. -Comment: Hostname: pgp.mit.edu
  1454. -
  1455. -mQINBFYhRd0BEAC+2VU+8+f9RTPLtl0C815oxaOCA9Tle13xNER8NjFrVwIuFQ64nO8Fbhd5
  1456. -KEEARuMS/lc5G6IV0QxBpDGE1sEjPQXrA6UnX8SDkNGhmoAsV07MP2XlglN9qqYUEoVD7ueh
  1457. -7Cp3A9rFjg7wcMJCPQDP6lZY4cPgYlE1C31TCrEdAsVVTQg+xIYWnhB92VxOJhk0N0h6xtCQ
  1458. -2MOtYDjYcBndQ5iK7L5jy5LI89YVRfbKtWqWZdwRlgj2JCLeXKauXBI1qbedCJrz5e8nXcdq
  1459. -Zt9TXSHo/XhNlqvsLiqBq4aXNU3xRkrvfcweZ9jR9DjyQzefYFGaiCk37R4qLbaqQRm0luUi
  1460. -zkCegIuTv44e/zig0im8yPAIWtGnmBPSy4MpvvWiVVb+jHikdQG1T7g9kF6gEmj4kj9UseWn
  1461. -asiq+kkSNE67vLxbuZDfA3QhavRMJbCNEY49/IX6urIsiCLFbe6C7JVWvJ7d5l3MAHE8Sut+
  1462. -ytjX7z7OLFt7YD6loxGAdopEUZm50xs8PswKDajlzWGFXjDZdzQA1tb2CpHUtDkAInYDutR4
  1463. -qA29qtxaBswozzUYiDptGSkBqD1Nus7UAJYkwe2EjeszNPhmIAQXGWx2yWplPOJkZWDuhQtr
  1464. -DXZikl70q0ekIJ7bxkpMO8xUuhsBCS3Wn6GAtySy0XTttmItfQARAQABtBVKb2huc29uIExh
  1465. -dSA8akBpai5oaz6JAjcEEwEKACECGwEFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AFAle9oRAA
  1466. -CgkQxSQqGrOTZRck4Q//W/uBcS6LuvlZsoVYA3jmJInzkQx5DektEa0kSYysV+bJptyYrYV8
  1467. -RsQoNLJCkEh6Nk2rSvA6+dcHFwHhCQdYkTKJuUT8fQXhMF4C7G8iXPIjwSVnK0wa0c0eYtr3
  1468. -m6YPFsxfb+VTI/eQlu40HP3fWf4JN7zDXlz2IarC/GAsFlfZaXVpuSmCszr1uX+ywz4DYB6e
  1469. -X0FuZk9fVYp0VERg+iAybV4+dqM4ZQ0Vu1cxLzrIPH2LdLHICxg79OMzAD1MHYnzkqajO0eI
  1470. -blaZCc/QPaVv2bSi42WTeJJIISN+WrpeTlz3aoqhz7eGwKIckJAygnfVhYSCX7TWcaBTW6SB
  1471. -wubLTfGJM2/T+OrXvVfeGAxLDPcFwpDDLkzv2u3cDbUbhf4i2+X8Xh/51yPRhi8EwIhJlaAR
  1472. -CesE+iMHHvFV+ifdrqK81U9B9uiqN2xS9UBcXcJKmp9zYkPvYWfvT+D6QmvWmQ9p+EQLm9dg
  1473. -zOZM6sZjWV6WtKsJWsaLQpqjC/iVnqbJoUb5g8S/vLJTT1KaTc0aTxs0v2jBFbld/kAu7Gfe
  1474. -8cGz6ZWZfIBydjHFAYxCqPG0TYoQvy7eA01Djly0SPJH9PhYPBfznU91ZcaqWCCxXlp0PgCy
  1475. -woMUiwP2kvK+HWTb4dCgbQwFNChNPkZ8QAsZuxGyZd7VxdbLPYkW1IiJAjcEEwEKACEFAldF
  1476. -2iMCGwEFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQxSQqGrOTZRfnZRAAtR16Ns89cP8T
  1477. -AzEvw55RtjeaeSmb0mw66KT/Bzzis7aWfvebP3Yki55MygHJNu+Bb/LDBNpYlJCjAoMCdLTc
  1478. -+aDYCYZkrWOLQXWBTqa6XFLeexKX+gpKrNB505n00CWvVDVGsHJZ0Ha8CDZATIlj3e4owKVQ
  1479. -jMLWY70MNwT/uc7YkSd38/EW5BkA76eE/AhHanqB4cWKGSNIiaq8OJYBiGNfb81Bz4Ly4kmW
  1480. -VGgshYJPQpnMQDq713WZINT9Sn/NDfCrdNjFjHHxJjymZ7RoE5teqYOw7bnbA744VFxmYMrG
  1481. -DrWfrTb1FORqltr4VHJnRpFIXv61DY4+eoTi1Zd5aH+ehpfDH1G/3UhPxbmM9wBsfsgy6dMy
  1482. -N2XLmL9V/eHs4lzbTCyQwuiCCu99Vsn9VWcqsXGtv2xxsR3C9PYmvkm4Z1KqasKPTvRvZ7BD
  1483. -0Bsdg2eyBq1m7HTK/gzSh4aCt8H6HbIz6MwO+POaAuHiZPOiESmLk5gG7wmE+/It/5vfEwDl
  1484. -zL8+5PCCZtoRWaW7lyiezpAYjUq81SEsVsAqlrtIyvJnG+wATCdUHRN6GNtfZ1aMp0i3Jei5
  1485. -ST7LGAqVF6MiLskTbmIGW+P8at69orUmpA3vcvGUiSqW5JXXiPJUwUZxNAPxvpOh4B98tXfp
  1486. -8kxmSyzcHR0a2Crouh+STPq0FmpsMjAxMiA8amwyMDEyQHhidC5oaz6JARwEEAECAAYFAldF
  1487. -tGoACgkQmE8QzHcWn9Kybgf8DVmGhfIlQNvMH7YIg8hGrA/Q13C+FiHG4k2RQsd8vD25Sehj
  1488. -GHNEsh26TxaF1XNC/yANipXyUkfYRkweVwRyJ/OTTivCtZQ/Ct0hJA+lDSfLEWm8pdiRGdio
  1489. -McFq3Uy+KGBTbdlGaSsMbfCb6hunlGnnSC36X8yxnGwGPduZDlnKxrxey+eYgAN/ivC3bmRi
  1490. -gVBAgDJXOBszmINGqg1T98MSe2ph7NxvWF9mF9JenJne/juThFMf0khnalQB7NeagX0UmS8F
  1491. -/i5k5JgB/YVP4zTWhiAeetzBIfiQ4GadHyW52bNT9P6Rz9kKFA7xT7Olod+KaRr4+f8/6MCS
  1492. -rgvpnokBHAQQAQoABgUCV0SRKQAKCRB0gQsBI0bJpko6CAC6g9o1t+/ZexSQVGqVGyU4w22Y
  1493. -+OmLlx0XFYPi5ftZ8jjUkhnujis0i/KS1oreBzg0U92Cs3pWe05eDwVcwyTGJbGR2DPRM53/
  1494. -q2ETdzBbOPrSaOjaGRrMljPgu32kaeSRQbtPt+OIhvPuHATVEaHdDbsbyAQzCgpDnA2yvLIZ
  1495. -wqFPIpX+zkn4tv4DRLOHa8+2loFMX9B0dKBDy8JrUDDt8sZ7dzoxEagUxLWgDzlQ3SkIyYZz
  1496. -1Kk9RCx/TxQbDSQsGGpPyhEU3MeyCRQo8klDIxzBI8jfASnaxMdn5hdFdj0/CoEMTlHr2FVR
  1497. -Z1ECKgDslJ0GwDhZ4HFbXnWcNx5aiQGBBBMBCABrBQJWpym9BYMJZgGAXhSAAAAAABUAQGJs
  1498. -b2NraGFzaEBiaXRjb2luLm9yZzAwMDAwMDAwMDAwMDAwMDAwNWJiZWZkNGM3Mzk5OTE0OGRm
  1499. -ZDQ1MjA5ZjA2MTUwMTljMTNjMGVjOWUwYmQ4MzUACgkQf6sRQmfk+gQcZAgApPqnaIIE8Q5s
  1500. -ruzua50RFRmmBtQys8sM95ciWYE4QaTXUnlhHl4QR4z/TQTRSBqXpdHQ9HBWrhFb6E0ykDEV
  1501. -x9zdEt0fvtlhHx1ItrZetfiA4PwidnyoDKs//nt01RGreKSMDGInaQVEQxvEW+A0fwvcCdE8
  1502. -Mh3LcIydohfqUViB0c5zb7rUmize+2Kt4Uth9T+ooo+UE87pHSJcxlcPOv6Dc7KeoUicD8Dw
  1503. -WdsT7oxAMk9jj/ut4UNxxOEp9Sa3sFN20tHMqyOZwnl22Py0y4ayJnceawpuka/bx7samg/2
  1504. -uUrO+dNKXObNtrebP83+8UFHOo7VGhesuawgwNjWW4kCHAQQAQIABgUCV0HjEgAKCRCGD+uA
  1505. -TmaTILHhD/9tumyLLIMuVH0hgBPk/S3BxvQXfzgMt8xYyKw3kmGkJpble9RGYWTcT+D9Dagp
  1506. -ISzGlxo9hh+I8fArryQjDuiLN3OMxDmN5ctatbVTSQyXPHOLZj6y5X8mA5gKfZb1EvcZpwoS
  1507. -3sUdpb31oCrmxtRVfYv7G1PaBYGf/XILu8mwu62VimhYlK/RrNZHNeFb4mJiLFviVFtAN98s
  1508. -uT3lFT+BA/RsLUO+ogNcJEPQ/2Hhg93qUuKssdHKC8q5hLozTLOxepG5JjrKUS8PIXjicsnv
  1509. -ui54VPkrh+8Lez7ezh1n3SXIWySN4H2Z3uFNTkgheLA7F0NhwVKPl9TDsEaaJROrbRFVc6aE
  1510. -l6IQ8Z+8Uw6IifDKg9FrKlPoL9+vBrjjK9mE6E1CdLE9kttK7dHRbtCIx7TaiWIKwq6ihmOT
  1511. -Eo1Ht2aq6Jg2KMCTJMQQN0vFtgUrAJMzE+hb0q2nl8VUWe44z+WuN4JX9f7sVXn4Vw6q4hfJ
  1512. -7J4hgv5SRNlGRjHZzyaJfP95VnDIzKq0V3+fRGziIvA4r3TVcIVF2bvKK7H66zdOczhB141k
  1513. -UGNuDsIqTaY84uk9L7lvC2jymeqV+VZu6tgxrn6OdyYd91Oya9bdduj1oycqX21pNUySkCMj
  1514. -cXbDHl8EMtQVdctS+zF/Zu1dyK3Jhu2B7VyrdlMigkFBTIkCHAQQAQIABgUCV0b2MAAKCRBr
  1515. -4s7RSpkXvBw+D/wLaBkcs9iXyVMGsFZgBhJODxz9BWSHfmNOsbvLSoPHCVJtmyshDBXJSruU
  1516. -dOpPST3fo0T2TLdrL7DnP3nW8BqRkAoVAExZenCpT0p1oPaQj2rV82AxVjxc6syI0e83Lmp2
  1517. -USAqM3CPEvPBUL6yzmQdajJWfNaOM9XtePSsRXPGuT3gH8rZojFH7Ay+pBbZ48du+Pfm8fJD
  1518. -M0heKIBQ4bOR4YTiV9t9LxOFzzt+MtEEixoyBfA56YQUaNfvjGr0NGeGXcwbGvtj7gt+14M0
  1519. -KJI0TTZWYvWbXDkhgmY4bhLbEcH6a8v3428F56n8TAYYzqD6XvdqiC0tFZgSeEAalaiNIohy
  1520. -ZY/nKvZI/0lpfVBN2ozAFGF5SVUFkLUDgUzxJTnTacTDom5iifU2jcDWccNtPMNJCoufAYEk
  1521. -dTQ9g3qtLypAEwW3PY58Cvfu7a6SiBFvMprwgOHBa7JVPPOkup0Dc8F1vtzxG8gASd8dK+8h
  1522. -+yE0vGP0aCDGLrOT0IgT61LsIbg+9I13EPdTLaS4TflEncoC7TNy9kyuwmiQ+ObEl/IcMj1N
  1523. -uEF3zp8HNlUUURN9GTI5Xx+zHXO7G1PO+wkKCKUoHLLJxMyqCw1TFIFCcF8PnJaGSfgNgNjq
  1524. -GOZzar9AJY9djlNBgp73mYc0noRgxn8qYnmPEZPrZdbZIGTqCIkCHAQSAQoABgUCVz+PLwAK
  1525. -CRDAwHYTL/p2lVR8EACqVrrQOqc+5512G2TzTHw1IKasdViMVi5iKeULU3POL2bHpmGcVWmT
  1526. -slPB7TNXgGj+fr/ni6P5MceyQ8kgVKfHRfH6zF+VYIAD8qkKESCbT/Wlmv+6ACKV/knl9HXs
  1527. -F/Pa/b7wOqrvdF7qo/NYwzgMghu3W/FMFET1KdQ4VwvysYUe66xmXARClT4M7+Awo0yqsWHw
  1528. -Rk3uTJLE/GeRX7pmQQRqX2ZbKswXvWE4ECR1IlSphN0ul59o2Lq5ruNzvptnajSMJx7HHczI
  1529. -oOv8QvfsCWaVE330C7096nZJrxECo5va8JYLZaeWrc/BMnp8ozQ9GsyAtidWi6upO8mzxYNV
  1530. -5NAUuvCU9KBg3DRUxgAvoY6IRyiEV1XnNt5fzoHXHQJ4wmR49UWJ/Nz9+ZT6ZO7SzgYJCASM
  1531. -/6XGfvuIPb6FpGZFhsleExacgepOiVGMsZ0FYXOEVhgOCBSJkAPCqe/igDXlFCDugHOvQgFc
  1532. -RPFZOFxgAicrafyFKZ8HmZKM6wxtUDtgNJg6ANUTUA74TJjs8lU2H4BRvF1bfeTdjn7LI+Nt
  1533. -qmwN1PU2TGCLvrLTMWfVjoIGELkaeLhLCPAN9XSOQASzksFHKQ5AWJ38dZVtdLu08IW/AKHo
  1534. -e3lzLb67C/yJKmHoKioIacOdFkDQ8dTlJ6iSk8KlAGXb+6wZcyHlKokCNwQTAQoAIQUCViFF
  1535. -3QIbAQULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRDFJCoas5NlF7GyEACZ1w44RKCkiCyU
  1536. -aym4PjFz90YcXP04V7uQvMoX2Kim5agmjTXxJq5Xq3CSiVTL42NLVU12KPARCZjTe50jSLLv
  1537. -DYXifb12nDd164JDD7hYlMio/TxqUrDOkPDI09Ac3dKcaHZPoNFBI8jJLX7v906i7J6BTzrS
  1538. -IzDpK/7gc2Z+XdAFyGUGwM+F2tswVvrkdzkl0UVwkSYwklhiHw19GIvxGvtwXvsvWzKg2t5z
  1539. -1CxJFu/kTbsoy6+kMD2dPwaU0w3DOlYnNnWhTzuQdPqN8zzBZj3BHeJ0R0zzPQOUmibQvDIx
  1540. -f/PZo4acRt7/EapKgnanTNnHs4v0+GA+I3MpxBd+mGtxrrnsMRGXIvzeckhuYBvGPvNFoHNX
  1541. -vrDbbyH3x5N1o7tpDrzXAQNkwcN+lVwiVx0TkwOfgseJVMTpEEyaGElc8fOdlkulh3i4Nfl5
  1542. -w2b0+3IlSFdBMSUPQtVzjMIxTEbE1pfr35cZoAnhwiGq4ueycN4o+4IUQoHqi6exSFyuakiO
  1543. -E8NnmoyaaEyj7MJWjupLzl7Wggx99BblYSmz8SCNNV4vwNgC7U5KQOpn539faK0I7/h8V/4s
  1544. -FJaRzFMLLoaWUkGCMSL/wTkJ1w38OE3I5x7Kl2W6jc8xRIxrqzE5TlF+Cnkz7HHTi1KZztRT
  1545. -OCSFcmxx34Qh/TKavjCMAokCOgQTAQoAJAIbAQULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAIZ
  1546. -AQUCV72hEAAKCRDFJCoas5NlF+DZEACN2sYVaoY752e6NhbKz4IeD56/zEP1x4yaUPvcbx3g
  1547. -93i2oimghVnJWvwqxESFU2MgoXsMiLeuTADOSP4iP+DeBpB8qSuesHyAdyDRFq/w1qT3pKvT
  1548. -mwPNXpTha9pHQoD4+/+pBwL2pR4l6MZ5+4iXJQFQQtVOhLfq2KuGuaPro4yBiyQX2eKCim1a
  1549. -dNk6qtyRkFYlOrJRPqZastfNEb2Yc0DDUFLTzjyNsRxhwUd3DdOtqO//5XMvI9q/fc5wpDSP
  1550. -zNzLoSkJM4V8TTg2sS23wCh3AZB2C7wnmWK6EHGNosFL5hJ6jtW96O5KwL2b/cvIv/+v214S
  1551. -AhVblvhxgJ4zSQD2UpkORfKLbyp3wwRe4PFzlJWAPM8tjnLfGU4ACa+3tubDaembPM+Ft8Id
  1552. -j85+HgE0W0s/eEOBTqxkWZr7blSKeiH4u3b193aGMIGGjF2SgGAORES76er8KPlPk19XsXzK
  1553. -msO84zRT9JckcM5eCYTza2o3c3ycNZN6dkEAmhs8vzDWIBzB/L4galO8M00Vtck+EIScXNKV
  1554. -SgZYbFb71zcKYT8yI53ZS04/1R8VAMEblwmxiTYscrjBoCcfEKEghYgsuICXjazFyXndI+m+
  1555. -Qx+XcLbZb4ubala+GlD4YwGaAHBVCIWHpBHHSH12Z0nermU0WRB4rb0uvewxqNNXoYkCOgQT
  1556. -AQoAJAIbAQULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAUCV0XfoQIZAQAKCRDFJCoas5NlF3+p
  1557. -EACzVNajdKSJAdCgKf36HCQ0TwkYeYuR1lWwwYzw8SPwjUGukSgo4P/recCm9HyT+AKO1vBc
  1558. -+vgHTPECH3trDjWFg7bcL9P/zleKqvPuKGUIYihnXZmLLsavPBuSBmu7L9OR9jgSNY18s3Rl
  1559. -/uQ6boOEKIP6gKREpBTJi3EUKWx/lp9K/nlCwTGOUP3sU0vhQTM+p0XYH2lP9ZeXBhKv75dj
  1560. -qXn1fF65oZMzo/mKUCsXahJZPBrobwtcI4bdDzlDlcC5pC6SngrCJIzceCgsAkfutFG/H2MR
  1561. -TyArvswpuZMpdniBbgnQDLWZ2bkP6qWBak9Z/80cXlSYhO4uP+rdvKMGxiobZj3YQ4u+8zqt
  1562. -GhI1P7nsOtnmEp+tVWjriVrCCrSiSWE9vYmUbxw/So+FKfdQxVJ6ER1tDYcQQf+6itykJulU
  1563. -Hml3jFaXYMVK6MnsKNTUvB1dlmYnSuuNUMzcwVQCrcxgpkDt7A9sJK0+PI+3HmViiLEN6fFX
  1564. -0y25mmCi7aUQdgtntiaM/BroHgA+qceKJFDQrCYVJ2ecbrAfEWo6TimRcC31V/DRKnuZAb+Y
  1565. -NvaSFFO0UQojsnCtSBBfUFY6zg7vZB+hGccduqdsMCuUvrBBOYcSjY8jWOuxZgSgkqc7YqZ2
  1566. -ILPj+9Q+9H1DIwpmb6titNlijrYNItB2C1KodokEHAQRAQgABgUCV0UdVgAKCRC9ApQkIfSI
  1567. -n34PH/9coCxhWRgFd7S57bMX4OeG8drxazbrq/uByZVlkejqrZU4qVgwGWe1XVZXmsoI3ISp
  1568. -hNBCE1ut94+9GdRmxtXVAWS7owFLoJhXWV71vq0AsJQJAF1qIZgQqVv4JfIcaT3lPw5aSSuS
  1569. -bD+NU9xVnkx7ngARNxmrCSGuXWBJXSz+Yr5mugFROJJn4mn5+Zov3Tx9OYR7ekB0ojVQfdIz
  1570. -yWJefZ+pF5Owc66TpQMd5qVdHAvcO16WQSOY5YeQc0AWPPPaUc8SKzqzBMCQ+XBASrxJDmWR
  1571. -MN3NagcpZDQpkvXOmgZLJagsNGxF/VTQrfg2etGnDYBelvKtNJ0IgcPCDF97mApo8/Mis7G1
  1572. -+fVZFEMSLx9zH1rudfbN3dBxy5FIm/iL1iDCA9bhXd5LV3eOqyWse7PvEE9gjoim6CVSvtWS
  1573. -6vSUBGGuIpRvaF2ZhROja+n582TkGu4/9Xwp20Y+xVxoxum1uJgvooJkt71K/lFOLa/GmcR+
  1574. -fsLX0wsutyRZFQvGpps0JAxso8u9RjmR3t4n3/dSMw916GLdxO9dI4uo07ComVjZyT9mx5Vw
  1575. -SngFFUJCLaMEKNYpKYGsL5pvQkr/aEFsK+PwYoBik+dSI7KAHeIhy8n+OrOUKAts688eULpH
  1576. -GyFgYGDOQTWfeko3KZMfqdHIjhGRtn1Lopr7sbhDmSfF55C9FBJUo8cobMc7RCgYAKUjm7pL
  1577. -L3tq8ui4ENuRdsgm8b8f8/T6t/Q7OQAdc5Zg4kYkt5Bre9BSB4expcEfqLeIwqvRPBMOYJwL
  1578. -2AVwU6S+gYsBUmy5DcKU3+Eh+67+D9ITH428CIn/9bzRkwY9XfskdENZyT8ciUvtoG5u+GY/
  1579. -tCR0kej74nlX8fMmXOTsURG9G829djbIEy+vKNH+qPFAOiEyauJOuMdc0Bnb73WlvYHPUHMM
  1580. -QpRu+7dZqDmnUX4QQWAFCAvZRrEy+9ZLwNDzFRptAiDgwrCge0ROwWamhYFv5b6uA54vTjdl
  1581. -PgakBXGVwPklcrjRipGw52rIr33x3BYzaEGX1/bQDsDMT/jMDLaRvLc2c5JmuP1qQ7M9vE6l
  1582. -cb/YUeJQP/K5n52xEuo0eJ3MDfgZ+YCHYChjiMaQJ1MnTHFM85YKY4QJeLViZfsdPktW8Z5B
  1583. -4YxKtZh4a887EAX+fx49GK976U/S4FhWp9d35yOg6gBvElxP6rW6lU5sJnppu+OA+jAWgjSJ
  1584. -oO7PfwAn9pbg6Sy5PKpNtoRkucp515w9oaHbrJefGFEAaTXsAry0XQfqJGUkEV6wqCagZQhQ
  1585. -r5dsdN4ONhVb88qY312bPDNsRKMQ8d9GiTb6tkzK+KB0Z9ROpTXQTrPuaM+YjtHJvPUoEVnI
  1586. -J+60uQGNBFYhRscBDADLqt7/e6v9+A18T3IqK+kGqaOrR5TmXeJPn2G8qvtL7oYdRr5i8T0E
  1587. -GxrANIjhQgs1BfRgZPUtFrbSYLWiQFflIgSlbOhmHJtMxUzBLZkeRTI7pUECJ5RWiM/ddAcV
  1588. -wMCIG9btFGEnYFT6/0MajzwcBiooQHzk/+L8T9rXFR9NaKIiEDwN38e/qnMgblC83xd+swhr
  1589. -IvCk5XUboq8EglvPJRVS8vJDJKJk7INzOsDHNirtvWq/zHAcNTPJSXqyQ+pt7HVwVYh6Iwv0
  1590. -RjgOdn2XepvfUGGn4QfJ2/R6xyUzlcpCuJKD+Gyck4uUJLjnP9iGoY4KgPxDFdQnvU2EP8dB
  1591. -H8C8bJMNw+vX9TUMnSUbvvzAI4R7U1p3Qb/ytykdJjrpFlH9Z/fXxLu4m3SZTDYky3UFHF9t
  1592. -2AlqV5QCpiM1AAwNvwt887qOFCeZ/Sc3312l3OTBX92tVFwsMSe6kOuR4GyiRy6iHMTSBuNR
  1593. -Phw1zQO5SwgQsxMCkbwpAKDMnL8AEQEAAYkDxAQYAQoADwIbAgUCVuLrvAUJAa7y7gGpwN0g
  1594. -BBkBCgAGBQJWIUbHAAoJEO6eVSA0viTSpx4L/3XahwQPCK72SkEYJbQcP5VLIxWMtYyIKWT6
  1595. -M+eC80S3rdmRipGLLt/Cc+4mssWVovQTQksjB6KELkDI9IlPVDQuc7BuoIefWz71F8ih0b+/
  1596. -ozjwTPgZ9862ZjBb0qqiArvgXB0jH/A4hgN6HitPstFpYE1whc7wnX6//ze75XHpNYplOJkp
  1597. -AwRXxU4lZ9KZMITodWBRi8sI8HoMj5fhpV5p3WRrIo5K5eUb+X3gHlEeUkH/FBdl3Ug3Ktl6
  1598. -1NnFjNkIGEhZpn+OLm+oWi3TFU1imVGRuDUxz3pf6HB57x6IH/JJJbFRX8MOQDlnO4TyfxEQ
  1599. -SPOprOMw17nQ/tcpWD94ET5OmAIOWq/r12qc4XfbqbpPf4Uf8sM4eC5B8HulArGyK+KqM7ea
  1600. -iUFLIwcvf1cVbK15VuBttJpNGSlf/9vt1CgUyJWGKBwzvyqjKYGLrJerCk3Xcmg240mEQ7B7
  1601. -Hl4QRQJWJsVF5SQGtigadZvC47GIs5HH8hu41g6+xMZgQAkQxSQqGrOTZRdZJxAAi8CASlCn
  1602. -O4TUJYwFZwz+fiu5Ss5VN6jp1ilQY3UsjTvnzGbhUjjsjzA8TLikBt09yqho2cxwD82lJhre
  1603. -FXSy9AMupP3qopOs3vU3WA0lr7nD4o2vB6/wxGmO7N71vh2fdq+zgv1/R+SnONLN7MrBVvuW
  1604. -gVJmqAoBojRpKg5RN5z345TnKaCRg8QQXXbJ2TIzMvDIqu0SciqDBCmNhM3/c/XHsaSG/4Tw
  1605. -vPTpNKBrzjJXLkjmA7UeSVzcxbQn2M8l7e4AtS0SHj0rEITat1shfthuTFZocd8r3wy733wh
  1606. -ev/h5R5mF/YIsLZy65huTX+s5zE+Z4gkprpLk+VY5/djbItE7RUpyMPmlwbGIiagNVcLhUyH
  1607. -O0JUt12NTvRzWS1IgFAG72CSk9wQKvONi2l4Bq85SCak//NDxfY0anr7mf1bCKK0CAHI0KDS
  1608. -z4+pwBnG6nfhvdlj+3jvm0OUCYg6i8fXgBryD7Qp62P772s+maD2QaywaafiZUi0KVoDsv29
  1609. -lBAWdLGPJ8gIqxLEGGp153SWyKeXMF9cMSHc3p8ReHzX8aDMtSZOWSFwZoVemViqtQiWR070
  1610. -8PhHaHk/qVouErZ0B/ugpq9YdlCnTZhvmdUGINwqJVYoE/ie5ORZkIblH3rrClHUg5BDcvKR
  1611. -J3lKy1xlfqJOm/g1mkLEjgJeloKJA8QEGAEKAA8CGwIFAle9oT8FCQN9jeYBqcDdIAQZAQoA
  1612. -BgUCViFGxwAKCRDunlUgNL4k0qceC/912ocEDwiu9kpBGCW0HD+VSyMVjLWMiClk+jPngvNE
  1613. -t63ZkYqRiy7fwnPuJrLFlaL0E0JLIweihC5AyPSJT1Q0LnOwbqCHn1s+9RfIodG/v6M48Ez4
  1614. -GffOtmYwW9KqogK74FwdIx/wOIYDeh4rT7LRaWBNcIXO8J1+v/83u+Vx6TWKZTiZKQMEV8VO
  1615. -JWfSmTCE6HVgUYvLCPB6DI+X4aVead1kayKOSuXlG/l94B5RHlJB/xQXZd1INyrZetTZxYzZ
  1616. -CBhIWaZ/ji5vqFot0xVNYplRkbg1Mc96X+hwee8eiB/ySSWxUV/DDkA5ZzuE8n8REEjzqazj
  1617. -MNe50P7XKVg/eBE+TpgCDlqv69dqnOF326m6T3+FH/LDOHguQfB7pQKxsiviqjO3molBSyMH
  1618. -L39XFWyteVbgbbSaTRkpX//b7dQoFMiVhigcM78qoymBi6yXqwpN13JoNuNJhEOwex5eEEUC
  1619. -VibFReUkBrYoGnWbwuOxiLORx/IbuNYOvsTGYEAJEMUkKhqzk2UXmJYQAJ4fOk1J7qOUuMZj
  1620. -gidORGCfejuuzKWT/dPboHeUzhfvZ01yn6hM4lLO2/pVQTJ//JWcHd9pCs9YiCMdOHiAV9h4
  1621. -+drXCcwENpwZqzk56TvfRRcKkWs5h6w4EAIKpNA7dRJiEl3FVDvZ8RW7Woydrxlpe3uszqg5
  1622. -ullPREj7Rn6kPX634iyx0FWYOaVO/jSRmdM7A9U/o0/VhHoENZ3st2ophAuGvnDcBwVU2oal
  1623. -o+UOMvgJxyCcqeX2yOz/Zdbcgl6yMDlmxAD4ujCqnZ0bM3ClX1BCFPj0miLg39fx4TvIpD4V
  1624. -8+da8H1jGOJZ+bzn0kNeurZ7FsdvPh/QsYz1MgxI0Y6NW/WhSLtWeq5J0ik+8HhblOBVKNlQ
  1625. -zoLpIay6cUicax23kQF9zjjwvadkUved4YUWG2ndmo/8iwSrjDkM2GO+YWbTm3Ciw3s0ZK3p
  1626. -RyeEKmPBU+C6keMBxxy6J/6ft9b5/1ZCDfnr/9feb006snkApbuh9AH+5U03fMN6x267sxot
  1627. -Pey/FYN4/LaZqJD7+24jGIZdW3XPmtETzAqncnTIiOhLu+K0KoDQ+OCXLypRMJfURQ2XT5uD
  1628. -M5mregBIAWbfC+AqF+R7QTmEaa/cZxzmeiMjj6C2VqiKUtyt52VXwL2F6te+5FSxaeigCZRf
  1629. -g02/go5YdwJAeU0jB4V4iQPEBBgBCgAPBQJWIUbHAhsCBQkA7U4AAakJEMUkKhqzk2UXwN0g
  1630. -BBkBCgAGBQJWIUbHAAoJEO6eVSA0viTSpx4L/3XahwQPCK72SkEYJbQcP5VLIxWMtYyIKWT6
  1631. -M+eC80S3rdmRipGLLt/Cc+4mssWVovQTQksjB6KELkDI9IlPVDQuc7BuoIefWz71F8ih0b+/
  1632. -ozjwTPgZ9862ZjBb0qqiArvgXB0jH/A4hgN6HitPstFpYE1whc7wnX6//ze75XHpNYplOJkp
  1633. -AwRXxU4lZ9KZMITodWBRi8sI8HoMj5fhpV5p3WRrIo5K5eUb+X3gHlEeUkH/FBdl3Ug3Ktl6
  1634. -1NnFjNkIGEhZpn+OLm+oWi3TFU1imVGRuDUxz3pf6HB57x6IH/JJJbFRX8MOQDlnO4TyfxEQ
  1635. -SPOprOMw17nQ/tcpWD94ET5OmAIOWq/r12qc4XfbqbpPf4Uf8sM4eC5B8HulArGyK+KqM7ea
  1636. -iUFLIwcvf1cVbK15VuBttJpNGSlf/9vt1CgUyJWGKBwzvyqjKYGLrJerCk3Xcmg240mEQ7B7
  1637. -Hl4QRQJWJsVF5SQGtigadZvC47GIs5HH8hu41g6+xMZgQGxeD/9ynUFUsAd8UnpvHN2tTzPF
  1638. -eKb1MPBzVaW0IfA8IYZKhtm4S5yp/dNpt/eQfTs74LkXN57i8576m72I5g2jarVtJG2mB9bv
  1639. -5RQBrOerWT1LxQA2Q8SMOsazUIMJUU63LH//mSPHOAkTVZPFew9y9voiMYA31TcJriRYDJbI
  1640. -jH3GuMRAEJYA8GiY7/HdZHnmDK0SfdOMIprQJEn6G+I7MwI8qCvb2eGLfAM2Dwq/OQ7GtLIE
  1641. -fbJqI/aMPhxQHc1GsberuWYnBJMuMpScWVUJufigzpO2qQgr9VjJAAdPwgh5YfURGXHoa0IE
  1642. -Sy5BnbYBcdkgq9eY3SwJUx4XhlduzEu3Z6imR0tcgaM6wIIyqCwlup0jo8rNWZ+NQmdI3cqs
  1643. -IPqrKn3vRXXVT50Y12EiaWbbrd34fmKWYBNHguoEj9BEW5jP1axM43MAXzsMfuLQhJsabrF0
  1644. -JWXsJRV5gZW3iNl2D0H0fTKNqBCXeLqGPsrCnmm1m2qlvKvpJClwURC56f+X5BDq5lMvL76e
  1645. -2FxPDUJNjE3UxzMQjOacRztiTst7xKIhPZEHVIQyw17bkDhxspavwU6gOsFwXKEuuwjCUyA0
  1646. -pLAH+dQzVzCRCRP2ltg92gjf2PtwdbwtiMg8t15Q3Hd/hb0EV6d+xdzYLPI8KhOe/8znmK+x
  1647. -4weSvG7GdRvb+rkBjQRWIUhwAQwAx2hCVcoAXcFPNXOGMp8kzp1k2V/gUdxL0VudRnJ3746p
  1648. -KoJpVjSxEyZLMEPPrNJoyhlZ8+HZHa+HFG1XoI/0re8M6DvpuZmCAzCX9Y/N1aOpU6PRSRc2
  1649. -3B62AvUUuzZEJg+6syc+CmP4dJ+bMxSAvyaWBAgTc2KyUHPJtpGYkpclECb3ufyOSYiOkJzN
  1650. -MeJIsTXt9hiE5isPbNxNokX+sl1ZbKz6LjUt95T1yrb5jtWnu0fhvFXvgyQ7/ky8XHMtolPc
  1651. -Ls+CN5NtPq5ZhMJNe33g4X5XoeUPqoyOL5GjXFxWuXKGRNB8lksALSz0jr9r1pLhXmJ3F0cs
  1652. -4Pwrykee4vcJ6jMzUzLd2x2Nh3sxNd2x5Z+Qfyaq+IoYRUAajxvlGZRmEXwCOtDy4dsn7V+c
  1653. -ZJvzzoi4BChe+v8iGSPMHD887qwIRWmQafPzFL9mSfzlE+K3RFVful564ozalQVPJn/ATC+Q
  1654. -r48obFOvcn9Zr6Yi0K9+BTRHJyXpAxjyJPe3ABEBAAGJAiUEGAEKAA8CGwwFAlbi69AFCQGu
  1655. -8VsACgkQxSQqGrOTZRfDTA/+IUaDihDRKveNGdIiYNEw70b0Z2iGLG53kUN8oNQxlSEPuER5
  1656. -s0HaTfTFtOUU0S6ibFtucnVsIe8tDv6AUY2qA0QJDEiMjqPxcvhPVlgZgMM3mAovdTMn3rSi
  1657. -DqHK18aV1yp6LQBQzoFhhfCvi5Uwx/24jq3fH7YDlSVoc919OJmu8b09rUE6nxXW7RIrwPox
  1658. -RMatzaNCKvgrbf3tB9nfZ6etknigVXaW8fcQHNrTyig0pfhcge5Y+QiufxSoaLZdmyYVVxE+
  1659. -PD+nvmxVcH0Tu6OPM7iuQiVW23Y4Wr0BoUKMX3nVtnZ/cu0KDKmslLlSIVCxP5Pst47CQVE+
  1660. -6eeu50nVBm3N7irdbHzymE3bBWx4k0ZbV5rCIr+Gxj7JW10rzkG5RTl1qwBNtgnSphs4ZRIh
  1661. -Z274mQgpdARX+AsBFQSd6fS3KIq9ZfQLchyCBSN89Zpk8+BfQTG3urGjcAczvioePlEuTVf4
  1662. -ar8s9Gji5bW+inyPFhfJDmtQsQ48/w0x57zFjv3SDibirE4X7sWWat0dcNzt+kQfF8w0//DV
  1663. -fOoH0MDdOzVs9a3cuOtHyt+hIziQ6pv+N+PwQ81ofE6pp0mphDcQU2yApljo/9uTNurQNkvc
  1664. -3DyyR0xjAN8i90JQbY1mNrjaq+dXJ2R4DysQVs2kb3K2fpVKuRBvheCe6uaJAiUEGAEKAA8C
  1665. -GwwFAle9oUoFCQN9jFgACgkQxSQqGrOTZRc0yQ/9Hk0ADSWmmggcisR+ONFze/3UWww+hVdc
  1666. -5qvLaTvVayeoTqsDpECoZT1gvrLMwUZ24cWxgc8Xx6QuNaFX0nql+1iaGpuyfo1sgg1q7e6y
  1667. -z+d/3MvnsfB1i9g1tlRSWsbziljaqH5B5mq5hhYm5rmjJr4KbXCtyWu1XlaVOFRcUNsUipnG
  1668. -jdqrmHfbY4mMDhBlCcMly8eKoWyX+hSZ2TsK5ryApK8thtvv3bANJnmaKXD+5kdrXkaW2u/s
  1669. -duVlW1ad1oTDEM5y7m1LqUMtVZUHdLn+f+XGi0t8EKMW2PQ+owkkEEiQrIrArXXouhl/b4fD
  1670. -kqozjE15eoBCghQBauo68/HodTGDwOBUTFgKc32g3rKkumljIzfYtsZVUk7XkvT/D9bsiHqP
  1671. -R7M6m8FU+PDXRX75c3z/fp927AgZpdd6sfQygLX7JDoSZa5iY8nk2MOr8aN7vBIIiRm3k6dY
  1672. -jOlpiaNVNfVYIl7XJ3k9F5Kdf6g8rNnYezphmO6+HvnEWnHYa5T7jPhFFeQwRWYK1gLSXzft
  1673. -hrFrYKkLBtfUefPFOUp6/dMeRMLoXGW0TxN9pGem3Ovf2ixM9ti0BfKPjcW+GEtxgU9DloLW
  1674. -oezXNdQPoD80xdYZuCV4NsTstrP5IeUkTPefnxOUWS1XiwfEDhpv1oydL0MnWDYK+jXacpVT
  1675. -4mCJAiUEGAEKAA8FAlYhSHACGwwFCQDtTgAACgkQxSQqGrOTZRfcZRAAvGiCvggMlw339PE6
  1676. -coJxLV/PWIAiwj7QPtjWXm9aswHSMK5mmQ5/RgfC/11oV9QBK3t3eknEGcKhJDkw4xAB3aYd
  1677. -kp35+mC6CXtRnIKXb9vyznGqd6DW0+FyDYj9/1ynuwmKnJnAzSDr7j3rpYbxGkmVBGwLfK85
  1678. -psidexuiK+1chvNHFrT4bwzSX6lB6808SQYO80vddRgjiZySs8JxziKSFv1DhsrgL/QCSlwq
  1679. -QKcImQLRHvVqF8hBTUwSMbvGhmLVHCyekayh/rNtAgDf2163BYRMZfXZXxIOoNsD/bCsJzir
  1680. -BmhwDY/9WhO8VDY1JcSD8V7zH4mLE6QDLllLVhyV330zsn14gaV6GC+q9NBqlEdYlofGXluj
  1681. -HHAbg4V5SbWMzeJjsMUQDSLuSLMEN1GX4bHiY7amHRv4fyEtGLyDp9WaT6wn5CHoFC92GOsK
  1682. -NAxTJw/kIa0J1O5cnIuS1fbymQtt9itbmSUHNhLcoE9Vg1V5yl9000bFLhKK5zv6cWQtEP8U
  1683. -thTSJGHtnZ/zGC+oDvDbtyaTfa8Cj80IuGO4CBojG3HKzt/ZI4g2Gi8fnkYLgI/tx2u/c0/2
  1684. -WzAP5sEsGyiq7MvcPBV87JVnzzJvgxm4+lO1DVD/QKQd/NtrVJ8jXcuc21DE5o704rnBLawU
  1685. -f4U6Tde+ZZx9WgxvAMi5AY0EViFIrQEMAOQNgIVvQxcVbDNdOVhBKw9jbjNq77au3U8AKwRI
  1686. -tinVpEhkLwhPcYMh/LuQBFsY/F1xxP637p1tHfaBe2fRWzrlftR0DgI+YUEFi1hxEcGeIDgK
  1687. -hvGSgG7sE5aorXYlxD2YiWGUqtDV7Z4Mnk8e16s0EmrXxTiEC8yIsD0F19E7fiQdwdkjfw9j
  1688. -T+67m830tgYNBK4VdtHzw5fGJaBCRX4/ZaRdGSZyeYV2D/RZeDKD5MgZBj6yT6KGeBalBRw4
  1689. -sJrbcz9QcxZcKQDxqSNDa5AXQZXxQLb4Y63ngeWeFWMLdcaqF4CPo2FwMaDJfq7ZChXVmqE+
  1690. -8B8KgwXgVmF6MlwNnWCGPFMdY3gwZ0RHJO72l4ZZ+s16jAEKMBPhfTkJ61oH/y6Dp+TGMbAQ
  1691. -2PZjwDvLq8VAxPg6uNyQV5Uvo8mzDWVnbZGgayHXu3cPSE/BZ6fKRu/A5oD8ZkRR/UKMqU6j
  1692. -Hwfse2bgdH5NbneLrd96i6O/AVmaFtB/vtdwm0pq2QARAQABiQIlBBgBCgAPAhsgBQJW4uvd
  1693. -BQkBrvEqAAoJEMUkKhqzk2UXDUAQAJni9fFq+77ry+XckqGJlqhxbzPIEVMCBs2uXNw9vTWG
  1694. -SXDyUUZHRgldiFxLlEji7Z4wDZEzNU1TDJ3rajUfFK8q+89146mC51cBqjj5xZ5ZBNs0t6Rv
  1695. -ABhujscQYbhDL5MHHdbN7VlJSWEVotV4RI1WeSptqR7Fcb6F3iQlFbGvJ0l86hfIDi5uNPTR
  1696. -TIipKfEDhoXhFeMlqx5MkotX1Xznax3wc7tpVJhxoEm5iSKS3CvnC9046Sfg5EjW54iNdyPx
  1697. -GzzuFGouGt0GM+rLKWe1Mxf6Y2Ob+lqVl4lQeTz9mOQazFIFkZRcT2E3NyoiB1GFYiI1bUjr
  1698. -FWkQhy/0mEav6h7Ot18ZcSiIYYpW0eDjvgryejf7xKUm8evUqpcYAwK2coN0EKnq5SxqUhYp
  1699. -vYlpN0ARlrUPehJOq4yyzp+29+COm8V7X3DhKO4JdGNUxZHzqZ7FwHES661wqQIYAv7yEEUz
  1700. -ChHAtfJI/72NeOA8Hn82AgYWyP6wkqIQKvGv84atkxPsZQmMvd9R1pVABsf4ZrP9KvikO9dm
  1701. -YJOF8VxMeEWYr985fVKYenO0l8QDG/KNrz8wMXd0oTTp54PYQJfM5OTtUWT2ubudaaZDtRbC
  1702. -fc429ir3YOGRAbSvIxE7/XJLqso/WJmWUkUUNnbo4PNbC0PQqzu1gdyBqcIfuJR0iQIlBBgB
  1703. -CgAPAhsgBQJXvaFaBQkDfYwqAAoJEMUkKhqzk2UXy2cP/R9HTn+6b1WuvpZ7fK4zyFSM5DF1
  1704. -86pyLe8XKEzxOs5zSaJRs3bziVdWlTTYC4f5D3TQH6NjlD9KThpOqIX2W90dfLYiRUDVzZtk
  1705. -Qs0gM0U9RGYoqP08oUhdoy+Qe19y/f3yaEsUgpZ5WEj3IaOBnwvsFWQr00t8eQLRPZxc65cY
  1706. -JLkHuB/S+PyQy+BATFg1JepM5Ov4oddcRAyk6eD/fnIhb5hxZGipVpSCZiCCQbrXEKbCiWP+
  1707. -LJg+N9cmRJ901tx0eEKDH4JxKxtQybhHtAV7IqrFWxHNJWDiW2gcsaSMVRi+I3f7Tq88GJdc
  1708. -VGjxwzRAySVZ529ZEJydQKfa144P20NL0HrIdOiHVgJgXrL19+uyaF+7wTqV+B8z8HNl61zh
  1709. -ZZpwYchKkq7X73yaOIt6o7JuUCdpYqei1a8pdNrhKyqOyqzvXlUevaRlNO0uDoUKdpLOOWm7
  1710. -cHuksxl1ZyMRr5v0e9qtfekR9st2+9RQYW+8ZbY82G9XG9ywpOpjKYcUYg9yZDxHmLaGPozU
  1711. -4GCln7sIwAkG0iQfQDWF6PrzOvlAXaqEm19Z/LFsyALTHl5cAE8K0a/5qQc6hnLS9Dm/rZug
  1712. -mbxazVhVszVkOzC2g6qmaJOzou2x3LFzT5PUg+VapVnFcmpFDx5mJMfJ7a1AyVDiv3zj/9zF
  1713. -JuP1GY+6iQIlBBgBCgAPBQJWIUitAhsgBQkA7U4AAAoJEMUkKhqzk2UXirwP/1V1gt3j6mFK
  1714. -Uzx3GE+Mb+W4crfTJY+r2yYhgUEK/Eqmp3qUgtJGv+sRJjgi5LMwTBhyHCQCSVujSBT3rKz6
  1715. -e6eVVezcPEmCSMyCV07GIQ0AlAWbYS7/ENGZx4EHlA7dJBDVYnEoLKbKmRu+v1pFcK9jPrkK
  1716. -DwhRGthDm8qod4WxWay/yhiNlxcikeajI7+0ON7kfTPHeogxGD3wXMby4kosNn6QlvzKFHsu
  1717. -srfr8YdBxQ5lIXPZyqNTs58oDX/1bM/SyernTZRNGauSVFy+sKiH/LSMWJsfnOT2sZ1AbpRS
  1718. -khWEIPUZjEWFFjh7vxO1T5MHPq95HSPv6bj8whU+7KOrIkMuDBoceemrzcTXmBMYc181FqCx
  1719. -8RAad4CX/oKDD23HKQ7bO/lJYdhIQb+QCKVWjdOS+BbjdDanS2EyGog1V6AMWcR+WhPdzO1W
  1720. -mNhk8D5mrUQysjd5JrAzZ1w2iw1I3e9o02Zex/zPSAUmpa00hzN8pIZezX1I1h1mXHqpYKP1
  1721. -EvVdUEFsshVmjRNAYsKflXFWRxqQGlL0PSK6vHGlN6ZvkoS4qHRYV8zoPBivIyTcGLuRORHG
  1722. -sRlAsdtxbwFYKeVqd/Yw5cocrw1C7ja1OpBFdL8kEt2kzOTAwdAebvntf0GY8TEPA4dYUFmv
  1723. -Ww8nn+QC38ITGK9hVF+eVkuR
  1724. -=j8C/
  1725. ------END PGP PUBLIC KEY BLOCK-----
  1726. diff --git a/contrib/gitian-keys/jonasschnelli-key.pgp b/contrib/gitian-keys/jonasschnelli-key.pgp
  1727. deleted file mode 100644
  1728. index 3831eae..0000000
  1729. --- a/contrib/gitian-keys/jonasschnelli-key.pgp
  1730. +++ /dev/null
  1731. @@ -1,110 +0,0 @@
  1732. ------BEGIN PGP PUBLIC KEY BLOCK-----
  1733. -Version: GnuPG v1
  1734. -
  1735. -mQINBFSBrDIBEACrZEqObmtlTf7fOKttE39qqisFfMg0VeEPS37uETMGYsgTEvzv
  1736. -kfMsXCGsGFLQ78XsHqUeW4uQrtpJH3nUP/Sua1Q12K3lNKTSvVQyEpKoPJwXZahp
  1737. -jm6GA1ApDxZ/KlmxyobR3X0urnMYNZobl5IKJXlxoKGl4OkGNeFlh42pCXZDnR9n
  1738. -1Y17ZcDdybkWcqPbDAz8ilOQcFMhDBFg3Di3IVMAaDZP1uwWFb5vx60YB5NhkOpF
  1739. -nZUH09NJx/7u7QdGPSHOdzW4Xo1HUYtYNDkdOvgZtxpbYEFIaBtVBURMUGwAFagA
  1740. -3a6qaGnCBWEQftyISLiqcKqKqXudOg/cLa1CAiQFkz+IBhY9BCGDRnB8Dcae6EGI
  1741. -Djt2lqZTuMSiheTWeNFMGBioHfPLedcwae8KflrIBC+hNS4ay6HJdIc03WMQ4JKK
  1742. -At8Y8CRLym30/RlqZ2v8CHYqg9Ddlz3+g5JkRKaJTQwFRcX46/tAX+I2NZ8Ra1ea
  1743. -rF5cRHuCk/oaw5ZXYhj4zJO74rjAoSewAARlrTMSM541atJU1u6aWT7rNiF9QKIj
  1744. -i8vEufUxN0YfdmvDD3OXwbO7GnfWXS4sPklFIRACp+Y4ib+QnRY0/qGE0yh3RAG4
  1745. -r/dyIQ1m3z7Pc9eyPKAhE4S7SxAwoR4yOqQ5NAfZXgFuqWzkW51gkQgGzQARAQAB
  1746. -tCtKb25hcyBTY2huZWxsaSA8am9uYXMuc2NobmVsbGlAaW5jbHVkZTcuY2g+iQI+
  1747. -BBMBAgAoBQJUgawyAhsDBQkDwmcABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAK
  1748. -CRAicOMMUic59iKUD/93DF04C3lptLjtrhyd4wgpBMJV8yzagGyG+Wk0UR7elQw4
  1749. -F1MIvEtIFpuGrcnNfKcqeGGmnnKFTeBjkmgcYvej2fW9XlRA1HgIS0t0ttDv8uVX
  1750. -vy1xVj1qISB+17EiftxJjCOl2pZFEVpLQ7sSgqnVRMsCS45ag6rioGxtq1j3ifQN
  1751. -TENnJWhzOXvwzZhLgsyWLjeYvTDbzfAQLpZFowAMibOwu6ObCkn4dhaW+lI3AnPu
  1752. -76pLsrOljqGvXes6o2d28vjqMrlmsz2xVEJ4bnRPUbLv3bUl6t+19XpiMj94ZCZX
  1753. -/kvepzSNAs+aYvoldFn0/8haU5wIDXO/zgXSlm4KnhaDf1zutVq/Ng6TGb66mZKc
  1754. -RoiGHnnuQ45e7VIXRfOmgbbUTUIg+h4YvgCTR8dMoOWpd5AL8lZ3bjYVi1yFd+p1
  1755. -dPfrrnN9Yd5ojoZBSrV2j1wLgv7jRIeXL5dWzeAs/JBzltAHWO+9O6NsYXtRTUky
  1756. -eQa+oBKG1OsEXf63k8PgQf6Nw+di3gy23tKEiCz8lbA2MtekxaZ9Xu9CSEEPIH7t
  1757. -Aoki6Ey6rD1NUZQPuxQ3aCUTRE2JK4b6nPuAsOEv+cZL0VxNENpbedtGPh4aAA8U
  1758. -9yvBykWIjRS95k4NDVKIdzhd1geJsUJZq4BKh9Atf/kI+Gb0sqq2Lrf8a1pNX7kC
  1759. -DQRUgawyARAAwLiAxqv7PsdtJg8tBO+dAnTYtAtBHn8g5GlXtorymB9Aqy0Nzpd1
  1760. -de27dYlBdlWdHZavMh27JieZ4rk++74SMAo0PACp6FDnfuu2PmJZTr/Bzvld+B9+
  1761. -lOZrMWwDIVSW1npJGUjF1rjgPjvmcGo/IreVFpJ0A33J1p/qsYZsLTXTDDoz0fq8
  1762. -3XvwTlkTOkuk6Z6LPo2feDHYydUmdG+9MrgIMpidvywRHRC8nnkix/aX0S72kZuR
  1763. -qvWwSVs229gtfuWHfvmaQgbugZMqANla3ZYdzExhIIizu7qQPXSYfhsCoywWE2So
  1764. -9QXZIiVJge2P/hUr2gTiRNTfmhupDeqb1E+i7x9txTrNc40gbTu3qs3/fjKIWrXw
  1765. -Dy5tuZsviLQnEQtY4sEnHl7oL1crOuIHjZfgZfoZ5CK+jqb2b0B9uIm/SMl6Kt8S
  1766. -m6ZtK0QTjtUSIputPEYdLycdOpWDDtAHrWkTlRzKJoLG4hsywBAgQe7n9nLf7Zmi
  1767. -DhXyXRKyJuuuG5mt7UZhjW95loFFVcGXHIxNmxVqNb1YaG3kEa9PdQMoOc0hRZb9
  1768. -77yaGfpLV8Vo4CB1eAuVU0UdNRyChrZK5dKXBN/0uZq5HgpI1GiK/C3YUuQI3t9p
  1769. -zeJYD3jPGYCI9xxLaqt7whoOILPmZ1KW2UfXTvcMgBUMkFpZrqhTGscAEQEAAYkC
  1770. -JQQYAQIADwUCVIGsMgIbDAUJA8JnAAAKCRAicOMMUic59oqeD/9SvgUx60AhyCPl
  1771. -1G64eII9M2LU4vmHj8g6wnjh3xaWXvlQU1xnz/5I0XrlbHm31ExEHK+7Zla4AQ/P
  1772. -OrJhMNZh9oes3iOh+pAEn/vtixddM/oiivLBxMcIzq31PS8lZWrAjqOX/FFYa8GM
  1773. -NZI0bNWu92J7cL/bRVwsIVUXh2DkUu7wXwicNERYkKDTBaK7FE06C/hIGTwmENlR
  1774. -b1+H7e00nzWqoHyd0fhG7d8RaF2IF95YH5+r+aS20cHVCTI/0Z32FmlnCA6QlkZx
  1775. -JZiXKssHLpegeegAOOR3t2keB5rN4J/8KSzIEWUG5sjXkshMIM7w1a6urc/iE9PW
  1776. -YGgbG7Wt1AcEO5cnU72DzoENrOxRKdFLZWemLbncLPTY2GERPutJgDSYvaxmwnQy
  1777. -eGsnRIOmAMgN9+8NEs9wZnzrYpkvk/Vw1FwNcCCUYb0ZPYoRVRhP2UXYm7OxdKdk
  1778. -zPXfS7Uqs9oto1FiD7iomhtBs+RW8ndaO9wHGoCn2/UAD9fxNIkTQvK61amyjGX3
  1779. -gdwrOwt73I+wjgt78jmZsKfnPWYnOIUg2/12P4iB6KhWD8MIIeFLl9TFfZ8f06WV
  1780. -WIUTcA4cgSYgGOScxB0En+B3LDCkmVabu/JzBedT9N8rXvgdywk2UR4vKqiyJT1O
  1781. -9ArEfToN7J0gclhUoadr0im67BGyMZkCDQRVXu6kARAAwR/cg0kJja6u1YToEM+g
  1782. -SOOPZK6Bn745y0cvf6+YFVefLcManUCyI+/DWZhO+D/im569MApbTz1qdaLE54Kh
  1783. -z2CtOJBlWP8cjlnVZ95hBK+Z9COuk60dXI7DySRn3DVryNpYjRCe+8SBTQJSj8b0
  1784. -JEk5VVYPYUOIc3L6g7LBL2/ycxV3LVFTQ/A9LGBev7y2emgC7lqkPPoDU1vJeO1N
  1785. -4G0nFsIxuml81pfgi/2aMbGF8l7LVAI8qMc0c4RAjL/yTPzVX5qq5+zAaXMcyhgy
  1786. -yqOvlXlCG9aisnmPCEiShxmLvGfGdPmi+apxZNUW3384vVcOxzl1VcU6sVZT30/a
  1787. -Jaa8RxZqC6S5kOr7uPO8CD1wB1rXzD8SA4Adcq9SwOkVE7QfnQi6+BIgdrsLKUfg
  1788. -2vBjcgA/IsLETlnp2792m3w01OKe2/w9Uq3N45lWVTNVx2UcbWAIz6bwWoMDJ1DN
  1789. -B4XQHb5Ag+VI7lIGr45Ep4ohOfIcpBCMa1WVGyTYoQFc66mPZ2MotADOHtgGpm6v
  1790. -ZyJEp2qWj0at+tDepf0bFPHmGGhVj+N4HTBWMzsu3sLCAh3QWStr+gkffUl2CsdG
  1791. -Y3RL6kVkCCW0o/o+V0mc8ZV8kAtFPyYGllsP9HEvjeXkHg+DAvRFZhSPI1mxGkGg
  1792. -gZlEtHqZ9Lofoco9wedCJPEAEQEAAbQlSm9uYXMgU2NobmVsbGkgPGRldkBqb25h
  1793. -c3NjaG5lbGxpLmNoPokCPgQTAQIAKAUCVV7upAIbAwUJCWYBgAYLCQgHAwIGFQgC
  1794. -CQoLBBYCAwECHgECF4AACgkQKdS8tkFvU+ytjhAAwQqTK7pSjSSK91QZAvsV+CgN
  1795. -AzC8AydcdpWAnJpsE+nw76snAexMctDfae9uPSGSVM9PAgouUg2YJxNd9RzPCv7j
  1796. -vx3bevO3ArNZxvdKSXffPVzt01j53z99/Ltmev5rpIcNQk2nqL3iZaZ5O7Vxre8k
  1797. -H5KxncFCUxlnX/stLz9WOmnIN1X5qVq3lSzh8xvm7DuyOmi1Z94GHCW4BHN6wxtX
  1798. -nXqYeI45jPcbuJWC8P8qtNicZ0N2XLjpAoLSvQ68VTrvvLN0X2HT9Ol9y5t7re8J
  1799. -PEY52TvrPCLYz4hQD0fPe3w14LkcdbWTjJwQ3Y7KWd67SOn+l8VDPj2jT0yDBDG2
  1800. -YazByLqV29SgXm9WsfYXYF4FB9NSApbrAmhTWVa4K4DFXrLvcIpaIR4Ii3JQZDag
  1801. -2tO1VTgxF+10S66qrwXwawBbGfDVchWgSi9T1hNn2wgLypsLN1ZDy7ixPCD+SHHd
  1802. -xgTN8yv+/WNRNZ+LtUKNCIBHQmUBesNfN+wOrvOoWPAP6XjlUIlA2RIH6zKcNbDb
  1803. -a4jjx1ENiHAlapVxzPTQiTfj0TDRXBdjboiswXfkN76upHdgdMdeFz9hiH0PSbxA
  1804. -TmlmA7NrsENHLp89SB/gnGT2I/lLP5/DsoN3Qv8GCoy7aUNDT7abi1AeoBVVye2c
  1805. -AL3d+hDPgOzJHjf0eJGJAhwEEAECAAYFAlZFyF4ACgkQInDjDFInOfZtGg//f4xQ
  1806. -PvS6gQdIosesV458LtIUnrqdPx/8PGnIbkObSzjevEoj3RQ+D7PHvF57lj6m45aB
  1807. -Tr6huXC2RQzOIjRXM9dYi6SVZzQ1xnjMep72ylVYawQS3VBeuQbhU2BgYTeLa55+
  1808. -0sHBA/hX9ufH7a3UvSTgvssX44SH5mGg2h4I3O+4cNQIDf/G7xkzkJKcQmATRmIR
  1809. -10JaaBKtx4JVNVzCWTOpEqW6/QA8X94LapK8Rh/mhKyd38v3CEHI7hH0ex0o2mOF
  1810. -kAsPY1vvfxWzGKMolJp1b/1FPcb7Fl+nCoqlfnv0cCnZYsQvYXrOs/1Kj0anv9yR
  1811. -iutEp2DyaAnhadadrFpWjXQNUeYtFlJ1aC+6HO//uw2spKFqcQ4tTvu9HgHJO1gn
  1812. -GTsmDskwXqHOYNvH9QjtwlhPhOWQdHgLPrWBiUBvkT9H8uoNRGWg0VGA4J51IkRh
  1813. -0ZyoLmRgejpj7SOpwLX6gemprn0Z4fgohKyj6z4/Bop2gliXSPB37qdun6M92g8m
  1814. -SkxaEXF2ZyIXdeVRT6Xgp+zoGDNbMG3PlhZiFFCvH3Hk8o9zAz/65de6D+14EHYj
  1815. -WBRKfu7jaL2RSwUSRwRAAYKwu6kgRy8G7+4SihuSHT2k/90il6iwpzXdyY7qQXWG
  1816. -VxfrmGWZLYT0u7d+EZ1pc02UKYCFptlVCIZtaQK5Ag0EVV7upAEQAKpWFoCqFFqQ
  1817. -5xH6+TFvbUFWBb1dWy89GMXCkmqAsoy8Ss2Ru8gNuy7Xt4l1dQhVpN0QWiuVGkEO
  1818. -f2PmXQhnLquaSz7XLZjjdO5E3kYzcwOpIbb2TCWH4QQtHEotowRslQAXAZ53jN9u
  1819. -NIEQHCPPBNocj0CLQmZl+av1MqRJrRcYzgkPIs34mBo6iVoRrD5CkSohbz01BMWJ
  1820. -ZLk0E+JvalML7+ttiwu+gI90uRGiKEz5xsDMtyx0mAcAm+/EjcuQbhGrD6p7dLKv
  1821. -9nuUU/T743N2LoDTBMzvX/JXjoQ/uS1nzuiJrc/vYHqy9uucgviuYWFH/Q+LhwMr
  1822. -6tjJYUiN4JIQ85OLvq6g71RnpWzy3ce25HL1YWbLNuzi8ZKIB/sL4LXG2iTwwSFk
  1823. -tVjfAc4zP/VWpRC5VbxG76atRkPLatgA6b2sawgQ6L/7XB5Wd5F0bJc3ndwPBKos
  1824. -FFXgzOBgOkI6kYERQo8h2GzWfU8LWxl0a420ZHEfUZoYmitg/evA3v+23FrCMGg6
  1825. -2cdNzU5/mqsQ5HWktTQ5BZQZyn5UT3zpNCOVyeZc/ezzGXcWbEXOLQwDcolxjatL
  1826. -ED3eNA1OMQD8S++FPPGCukIzCyYiPq49zJCTMCWd3qTt2Bwea9xOQnoetCTU9goX
  1827. -/eEGj/1zQDAXCGOVgdd34VrOX4qtpmp3ABEBAAGJAiUEGAECAA8FAlVe7qQCGwwF
  1828. -CQlmAYAACgkQKdS8tkFvU+xj8Q//VNzFYM/kyHSa0xio4e8vBZA2vmR8IEUmtOSR
  1829. -zr487Z8W1dapGxR7OLQ52oWdRZVpG1B5rCuJtsWbjdY94Y8RpcO6FBemneGebBhu
  1830. -UKc60qwEanYnZva9PEFNyBzpj3xk3Ms7K4O2dZTcXPGj+hlep9Tjo09sklqbKfgW
  1831. -2fCUu2EKXWwUrnZ2LZtb/Ya8WPCrsbJFk+WbrLhWt7jIsadVl4AfblcgBGb8aN98
  1832. -GxnYOh+TGSMJtq1NSfchQwLHrpTPYm4McAwOBBYDdA+ik3//eLbwRiX9szFk658p
  1833. -+4LErMBJAKLreSluBkqOG3AzT22Hdffvl8G2U4WhPPG33NzWomb+wKohjjzMVUlx
  1834. -YRCO57wkURqEW9/+a4riuBWGQqqRsW1wHEMu1lYdAhLJ5f0s3vO/fVe43ktaXNjW
  1835. -6k+mXDlIdKkQgQ736sBk3DAUc+YcmWmStPr1+TtT91eC23GLWP7gVDnNGEOBOscw
  1836. -U+m1bEOJN2duAMJSRK7U0r2ipmRKDcwK9XmVpJcTePfB2l+T3RdHEZIOlaTELEX6
  1837. -WJfpU4Kc1KJeKdp+l9gf2JD8eOZAlwxA4r2wxyzoCVg1Bk3XiBfoI7Gl78Wysp+/
  1838. -ChQcErPJWEUglBfrESpqmjxH/qSy6yjyNmd4Az2ii7IzWILfuheZR4drjHQj6mCA
  1839. -S5rowLE=
  1840. -=ZVPf
  1841. ------END PGP PUBLIC KEY BLOCK-----
  1842. \ No newline at end of file
  1843. diff --git a/contrib/gitian-keys/jtimon-key.pgp b/contrib/gitian-keys/jtimon-key.pgp
  1844. deleted file mode 100644
  1845. index 88d0de1..0000000
  1846. Binary files a/contrib/gitian-keys/jtimon-key.pgp and /dev/null differ
  1847. diff --git a/contrib/gitian-keys/laanwj-key.pgp b/contrib/gitian-keys/laanwj-key.pgp
  1848. deleted file mode 100644
  1849. index eed232a..0000000
  1850. Binary files a/contrib/gitian-keys/laanwj-key.pgp and /dev/null differ
  1851. diff --git a/contrib/gitian-keys/losh11-key.pgp b/contrib/gitian-keys/losh11-key.pgp
  1852. deleted file mode 100644
  1853. index c618cf1..0000000
  1854. --- a/contrib/gitian-keys/losh11-key.pgp
  1855. +++ /dev/null
  1856. @@ -1,51 +0,0 @@
  1857. ------BEGIN PGP PUBLIC KEY BLOCK-----
  1858. -
  1859. -mQINBFaRLhEBEADZ1XK726ETYbG/g542NGQgrDoZv6K4E4JrikhpK2vw7Kv/yxXS
  1860. -pDn9mFDYEECF70M0OB8lMzDCeRUI3MbfHo+4A6in7M+0ribaylLC7g6DLez00rme
  1861. -UH+5bAn20/uz45ma1TWrZsio1vVQhTumjhFktFZl5+qXIMwckk8WJ+8Tqs9NdOhe
  1862. -jWz0MLzyGpZn2TALIZ55DLJXRtS8AuAFyaN7rN0tbW36IAp/0Tqsznu7+Al/w+Hd
  1863. -Az/LHbnJwMV9JumVE1fy1/vdw4TFPHGqefatVsG8UTL4gO/tGKqTsQwVg/Y5J398
  1864. -V3E6BJHbTUuFmZGyuo8hB4GpeMD2nvSblyNs9vycm6GwWV1GXxez6azhtWC6gDsT
  1865. -GnCvxoz5R87VBin+Q8LV8EFt2FmhrJ6mwGn8G0QEeyh9R/Lo48Z5awiQOvqQPupD
  1866. -8crEYe4+ta/lfR0nowaXPDJ5XPBqM3e/5ZTIZWo9xKdjPGTeFIBv+0TXJwJJRB+R
  1867. -Xkf87wmfCpqJFYLGZDC0zMtCQEiwVbuNjl8db2X7P6lQWZ1H7A2rst76dOgBPdxY
  1868. -edKuzqfhMJ+1kC+7ogIvHyTrVMHxYgkX8O+G1mQvtOXTZoxWz0Hdj6KPp1+uN0In
  1869. -wUQCVGMB7WOEwT5QPGPlwLepSW8Dqcj8etjFCmhQS5uty7yl2tEOHHxhUQARAQAB
  1870. -tC9Mb3NoYW4gVCAoQS5LLkEuIGxvc2gxMSkgPGxvc2hhbjEyMTJAZ21haWwuY29t
  1871. -PokCPQQTAQoAJwUCVpEuEQIbAwUJB4YfgAULCQgHAwUVCgkICwUWAgMBAAIeAQIX
  1872. -gAAKCRA7KmMVzVGmcyrAD/9CWRn2pO68hUu+sFVssl600wiSlxxVtp6DbPuOJuqp
  1873. -h5LHFAcbSayf9NQ2kU+ROxL+Nyt6vMEx9E17aqHYmjil336auTDpYX76xWQ6lSPC
  1874. -07wttOo+fLntf1WdZI+EjVG9vBPJbh0ao1hTwubg0JExj7099B100PYTSoJEbF4y
  1875. -XZEhSZmqZWSkqUtz2Wj0xLHGxJZMb+dngMw5ln59FnEVeGBz1dnAdqwDvkv5wkMh
  1876. -jYpQ2s04tRM4jpAlTPhSGywduDvxPz6QrdfSx8rAONe5w+uvVvoq7yCYNt0hHWlL
  1877. -gSFUx1gzbbkZHjy5UCxW32avkp7thEEpA2LPYjSmgKLQcI7xlavS0a/iI6yLC23i
  1878. -bz8l9SexqkKqs2ls1gsNzdCeIun0S6fBQKFwhJz6pXKlORaoWrXfd4RLjQUIoT9r
  1879. -Q2mO6x0/ojEJ2tI3x84T9ubRj2PZyCctkiZk006lC2GcI+3+sSvhvrWKqaTP39E4
  1880. -ztgUZiUnSDqVX8bNyRYIl0gbUhrvQRUsUH0jfB1kYlIRUthEBmu8fwxsqQeX8mPk
  1881. -VTzZUFjc82mHncq1LxJ+nm0M3w7EwTCClnPu8AmEmLVKoyZpwPzHraD0KnRjwssA
  1882. -W/1g8D+QbNbSF2IIZowpeeEitYIRUifp2CcazAooT63Nn/o1LYhy//kpiX3A5aC+
  1883. -2bkCDQRWkS4RARAAtziZmA0EZ59K4+PtiNVGMpEUbwJ829whTBS6QLSBNLmpP5L4
  1884. -NhIkfM+hobiqjMMEOz4QAGvYGPDnsMp92hbvjg9fY7h6WaKuzFheg6ws6oFms1wS
  1885. -4iscqbPtv3h6SW/uCNlwNaM1v7mnDr7ixGjX6HK4BjGX8FbxwaKKB2RV4r6dHoPg
  1886. -Ek/3chJ9iiABBK2Mkp7podb7VZ/0t/OxOceSsSMav3RKTje4J8rzs4eWjE+ELlWX
  1887. -avE06jw5iTuQ3WTLF3Uwmmu6HYC/ya9jdU7mAEWSuWdMS4RFOdaV8Z/hSQIuDpfD
  1888. -5tH3N4C1zBrW6VXoQ6LhMxAiuUw5OWpIuNy6EBVDdyO0jRKKaNFuWQRNQZOmstXH
  1889. -2m18z6PREPH4y3llNbz5MbBhInV9eoaC0W5X8c6CILI1HVJSq15zH6L0s2tnUyKx
  1890. -sNLeA82tGp1pm2pkodcATm5BVdPyiuLQZIRMMhxs5/+G8HxeDuOz1anM3TK0CORq
  1891. -9sT/UjWG8vFITOrdi4UZCwbLZiJfihg143DbrSK34vmAcBLUG5Az5cwZ3yP3u7nj
  1892. -1wG35Qu1C8JlHM15mmtujFab+0PwfCuVzJRJAkeuOXIPNnTcTLv+7Mle2jgKlr3g
  1893. -F96fu2pyL0P1iGaz+bDFPIFaT0FxBjCpp98jFVJ7BQ5v5vyJ/mp0FW3dav8AEQEA
  1894. -AYkCJQQYAQoADwUCVpEuEQIbDAUJB4YfgAAKCRA7KmMVzVGmcxwmD/96XIejRuGo
  1895. -VnIgy6wbpwMDWK36HxknTWZTXvcJT4VUQYs2ouI9UoqkJ835Hj/1UxUtPbrL7LUS
  1896. -gLQmag6agamJGwXdlIsuJG55qsoxbGHT7KTiMzRqYdi4GlS2tMh5xpzBOckHUF/9
  1897. -qAHIKTkml93aAz+JFNHaDKJ4/8vu9Prcx0/dsYZNQ/qNGhL36hyCHraJYr4H1QMT
  1898. -TQ13L6kz+DEhVJwItrQDg8s/oNsQN9SdGXT0NWFiKEKfg9M98bR2WqFLPgJCsxwY
  1899. -Z7pdV2yuhhuDug0FxwxOpOnXcmEmUe5z9FcBv4FXI94+JiGKyxJfypvdwkqkJn/v
  1900. -EjhrmcXW34d9v0wV8sJCpALfbSZF7Ujl2vs1mqn0qaeDL7hYxquY8IJ/R3/zRaLn
  1901. -oOX85Ho/dU9aiDatG3E56syJHQUqfujGnH9oqHeHMcUWxJCGxcfQrk7dHlgeyk6K
  1902. -VDYlMntwsU7CO0dWGQ0nA825K4rzlYUNe+Hu5skiJrJD2n3EhMnaj24UiOg/6t5N
  1903. -uufEE+4QAf0I+z04RjbYWL07DLN5DNtOYfzjxPwBHd3BIDLZPYed/+BgdQXKB9vF
  1904. -xruQcPgF5pvIey1GJhDfU5kXsaTAIq65K9cbelCZKe1v8847LRfEKge2aaiEm/Ql
  1905. -VmOTAm8aV1oZPiPawSXApIaX9kGBDrhv4Q==
  1906. -=lf7y
  1907. ------END PGP PUBLIC KEY BLOCK-----
  1908. diff --git a/contrib/gitian-keys/luke-jr-key.pgp b/contrib/gitian-keys/luke-jr-key.pgp
  1909. deleted file mode 100644
  1910. index a2d34e7..0000000
  1911. Binary files a/contrib/gitian-keys/luke-jr-key.pgp and /dev/null differ
  1912. diff --git a/contrib/gitian-keys/marcofalke-key.pgp b/contrib/gitian-keys/marcofalke-key.pgp
  1913. deleted file mode 100644
  1914. index ee62650..0000000
  1915. --- a/contrib/gitian-keys/marcofalke-key.pgp
  1916. +++ /dev/null
  1917. @@ -1,69 +0,0 @@
  1918. ------BEGIN PGP PUBLIC KEY BLOCK-----
  1919. -Version: GnuPG v1
  1920. -
  1921. -mQINBFZu2toBEADGuBiRutibv2SlW/A7vBGeGA0n58coQaPkmi04QGMeGxdZyvad
  1922. -h8olkPO1q5B0/5E1olEjs1YquHTjSjerLz8nUg8K5OEu14KtCGvFbmtSFW7fOUHD
  1923. -/u+EykJrJczqcJJ31r4B51L8CdS1ODdBbinQRlTjtLq+pE/fJAjHI3iQ2E06vkpc
  1924. -BRVA628fZKHIcd6uXZBrDyAcKtqq1TITlcYoVlYbvMrov9bPz1NW3P6pgnO1S+UK
  1925. -RfkhG+N3bC8ttsTXo0aevz3klaVFEZ4Oo4N8TUcYoYDTZIfu/Gk23r0hBONI75IE
  1926. -pbF8u+r0M5mpXxCHqmrUgmU33CBTeuCZon5r0iEsweF+ldh5rhEOhXWxHcUUz62S
  1927. -64XoqzuOlorpWzIS53oyVTZcH6XszF+iLqSuMQCgOYhF/u47rt3Vh9D+TYJcnvGd
  1928. -0ozRuajLIRGCdVlKt212ER9QLxZ6BTOePbb+g99I2DOx6heSUDzwXWKTxt00Lr89
  1929. -LyBFa9kj2fI0BNuzx9XI0l+GK5M9xkNi5LwL5gaLsPCJHEEPaG2pcBIBbw6hjIka
  1930. -L1fgDWng6MQ/eml5JsyA3G3J07/xxoVPaN9vZ8LLO9BEiz7e3Oss8a3Mw+SfsMcH
  1931. -mJJIFT/CguJCxW3FeKs16XiDpO2Eg2WRoMJMB+psdfgo8e2q7dXIE6kCtwARAQAB
  1932. -tCNNYXJjbyBGYWxrZSA8ZmFsa2UubWFyY29AZ21haWwuY29tPokCOAQTAQIAIgUC
  1933. -Vm7a2gIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQNkiogvQxa5vgkA//
  1934. -Q200J62bnplhyuWMvKmpCNFG7lTtLHmwVtZmvBJiHsRwe42KRWKz6IaQgEHfBMCU
  1935. -tSra4i2KY47j4s/kyTgWeQooH9Zxh7c4EMeyOrxpqPmnKF/0tFnDyk9SCqbrrUQ+
  1936. -VuL9/JrZ3zB74GtRikvWXS43cuBheKPZSwdGrGWtP74Z48eKXa8mOZtDfQJACqpZ
  1937. -lF2Hv0GOFKDNfaol6BkANpeDv3orhnysY5TqE8iA4VuHAL2MDmWg68Rb9sjPoj7U
  1938. -TIYyeqiok/R56SkN+WnGGI7l4+pk8pBqhkjZUjVTEEABR81Vu+Rn8OxTqpKu6gW3
  1939. -YACXnk/kXYY4I3Ri63eK0BQEeZ6Q8nrPhqHYK7fzlbwwL4Id5bDJpBZW+a6Hvlw+
  1940. -zQXpObhMSxtDJZzEonqq5PwJLlkLPU4sbS1tuinCdAII0Qz0Tv3Nwvcrr+KWiNqr
  1941. -vf1ed7CecDcQpSqHfhhibgykLfdAJGNpGxyA4yhOUHax4TbYZctL3ZYXRWGrF//z
  1942. -Gv33w+8DMb3zM+BP2SBR5D7MFTqE2X7bTn/0pRnfYObjgU7+pT0bed4SyEY2mnqb
  1943. -ikPTKfz/g+xLL46lMaJKLgBdS14A6+k3qVUDaBNMb7crSQlutmU3fRhNYq1KW9IX
  1944. -vEI7YuEfMa6vj4rLW+68CKYBu2pNBSQZ9LHedx1UM3u5AQ0EVm7hJQEIAMTDtNiw
  1945. -0WJUO8T7G2vA4WFHbvBoGM4CH9LaOm0JpH3L0DQ+XD5EWGICwlpkoiQiRPpGSmSc
  1946. -KAbAgtfS+a91z4GSWEgL+q9HqVZO22yQSeCbtbnJs44BMJzgMcVxiFOc0JQU0KPR
  1947. -zrT2TtD/Z4ryOvI2nuepv3aRz0RSQEsBnhMx/aNIV9YbRJ0YofC8BPReK5hQ6rYT
  1948. -V2C4P0RoPCdjeGx//0Ilg+xTbPSG1urSKVUEz6UCT21MaCBsyxN5Z+Wa2K9F/894
  1949. -y+TsWMQQcUYZ57DXFHM1dOkfDYorVATNOnv3dIJEjQDU0dYEE0yNUYG5nu+UjluJ
  1950. -LG/ZTiXhkNQla+MAEQEAAYkDRAQYAQIADwUCVm7hJQIbAgUJAO1OAAEpCRA2SKiC
  1951. -9DFrm8BdIAQZAQIABgUCVm7hJQAKCRAtfyNy5Q/hN0XMB/94V+GgGRgCxvwdAT92
  1952. -RCatOJcf1YJuw1aKWjAiib0FVeChZebZYqW+jwvMkXZwxlVFhcpFlUzAqCRwcJx/
  1953. -QoalF7u2yTL6DEEGcC8bUKrhtXQch4/D28BWJAJlR/7bItdWMIuw4WV/8s97t8Ca
  1954. -Fn2Fc1T6/B20VclsxoeaAoXZUcWG9YIKRbEaogt3LxsRjgQLZiIicjRl0C5YpYDt
  1955. -JvnENKuLwSRte6gKkuUi7Xw4iIP1aEwTTdZe0km6If6pVPwCK1cU9xMpsMftT1Fl
  1956. -NdK/dJbfWoYrS24U30XvCxsFMogD5jJ+PiXUoXDBjPJmDiXrGUDR+je/RqsUKBH5
  1957. -zyKaI1oP/A5Dq/EU5ceIfMPaS8iK4DjgwKdh8zuprDQ+JSf4iD1b/HHlwcrXmGFG
  1958. -4uRO0X/V0ybIdYj4U4qXRm2FTA20x7MDEDW0i/cJQKNrVZC7HQnvrdG7ggG0KVok
  1959. -tTvsIWJTmpQ3MY47rTtWQrmRdiiSRWeTFyE4sPUy3XpuPA5ZKGF5vN7A1p1WYSZH
  1960. -gl6NBv2vp3wjwplSpYumzh0q+o7W4bhdy9+BR+K8l5a9LKyCrwL92XKLqp3iAyvq
  1961. -RdbCrTvfppYtNwJ06JBww/b+aO08vTFY08eYbMTOVxNJUtzpq+JUe9QHOzbBNCv5
  1962. -viIVqNRJEQw8ITQQ1AjgN3iWdnbVQEwYv3D6VNkpzDpZD6tzOmJwwbRc5rISCVL3
  1963. -DQQglc7BYIkcI47QHBdf979H8EvA39U4yFHW3DfApHBl/gzHcEbb5RoBYc5yb+02
  1964. -U8xGHxGJ7q4h40N+oLCc4S04gepqtCeIQ8cgCPjRdPKuP8o2O2wzDYvqr3RlzM1M
  1965. -l+GWmv+3em/RWwhWggDIf/XhYkSbC/USJuPjQEYqJRcpx+60HYV7Ro6/RryOoLUA
  1966. -0ZXu6IYs2qT+KEcLQ4D1XKNb0GFnHW+3SXqehl4qI0zdPUOLKpXhCpThhC8BlqV5
  1967. -O1aP/5jnogwcW1HF+tUc4h3nwrgvcajrikjffdBIrUidoDVEN04WuQENBFZu4oYB
  1968. -CADQwtiaFcDxMms3bNyRrfaIA5gNWEhoTRFNXMKY5SacsavamWzlfNRBIlYMl27z
  1969. -oMZK4hpxH568UKhwQyb/qLt7gI9hLBOdgRaWZuOCghNGX3MQCBodDLXTahnvUlXp
  1970. -pXnUOtuQmODPjTDIjNXjcsZUUzSJoanQ+Zt8OWPBYumrFC9Xw5fFRcrNmSbWnllx
  1971. -Nveyrm6mlOydSUXq8D1vh4vkNGtQ/0nrFuSTBGsl2vY+ClX4o8iYunaHmhEboqjp
  1972. -BMEC4WdBql6N5CI64HQ0e2iGXVSTPiMHnpqQlnaOvx3gdaYPW15hjISgjPb6ygdp
  1973. -uyGXyPRa+0X7TlTtGXLLcoB/ABEBAAGJAiUEGAECAA8FAlZu4oYCGwwFCQDtTgAA
  1974. -CgkQNkiogvQxa5sE5w//VrTdVm1ak3RCtZU1D25D6yiSMKZ05j6PDyJfZNI/QubJ
  1975. -5Qq/VKzITa4kr50LNnM/wZzQPxEM5K6HyA5Wk3tt4IXqmqyZ8VUS+55sl1b5Tg6q
  1976. -NSLc2qXmY+BeVGmQZwke4nY8wvTNI3wGDekJTPd5a1rjkw64l8n2Xy5ErVaYlhkW
  1977. -8KyD96PTKhsJgRqGmAtZjJ2i1e64oR/VYR1B9daghGzueV/uvdhD5DxH7UsKSBUZ
  1978. -vb7lCeOK9Fuvs12/ULgMmymFxSvKeD5+etGUPsNA3gRpqwNcipp0QNhiQmm8nRq9
  1979. -vH8Kv9tPmaXL2JHWJB4pMXQXX/DIww3I2gaFfHL60Dr120Ddte3uqdG9KSYQHz7s
  1980. -/bH+vFsvqr17CHflA/Ogto4rfrlL5qo3SaJVRQwI5vhA3Nx/K22WeH7l25Mu6mAw
  1981. -kQo0c76fmSvOTpvCVC8aDvhLlm1nF1ao+dq4QafnCrKU3PTn1SlkZ2hwfFzRy/Ru
  1982. -Vdep6Xd2M3tux3O82UoHLF7Z+4G+NgP69h87rMOSikszRsNiCi80xO3aT2CU8Yt/
  1983. -l3sduhFP5TqvfKjTJAK6EfUIukVC0JEL8ktpYCyxb9tN6DTPHEhCJUTXZI9Y60iT
  1984. -ZIrV7MYY51HatEEJKhpUtLeYSyutj0ubbETfrt2b3cjHNfQh+OLEVUjaQwZXKdU=
  1985. -=GC3s
  1986. ------END PGP PUBLIC KEY BLOCK-----
  1987. diff --git a/contrib/gitian-keys/michagogo-key.pgp b/contrib/gitian-keys/michagogo-key.pgp
  1988. deleted file mode 100644
  1989. index 47bc404..0000000
  1990. --- a/contrib/gitian-keys/michagogo-key.pgp
  1991. +++ /dev/null
  1992. @@ -1,59 +0,0 @@
  1993. ------BEGIN PGP PUBLIC KEY BLOCK-----
  1994. -Version: GnuPG v1.4.12 (GNU/Linux)
  1995. -
  1996. -mQENBFGeqJ4BCADb7SI3/+q93gIvN0AGRg9Mtz73OLIOzCHeeoyn+tp7JcYNzxkQ
  1997. -9lfeXiEfn72Sh8gHkLtLIqr7HlIMo8DxSS8JPRVjlJGkNyAW4SeEwN2wNa5OV8k0
  1998. -N4jBa9a1csFyCyrEkPKvkUpBkQDvNXjNxyEhHwyZqPanKxy6NXIHOJji8ObOMQXI
  1999. -T9HwJrpjRth3u4uKG968JBTEyAXAmkt0Zidl1Ykgzcedk4mJSE9uZCW8DjSv2wML
  2000. -XcQz8+dYsoskT3KRdkowLHxAfj1BNyNc1+rKLghliM5vSQWi+Lbhi1Bxh4sY1UwA
  2001. -lKnAGqrnAGyIvCtkwTq5QI6ufF2ZY44bvVgpABEBAAG0IU1pY2hhZ29nbyA8bWlj
  2002. -aGFnb2dvQHNlcnZlci5mYWtlPokBOAQTAQIAIgUCUZ6ongIbAwYLCQgHAwIGFQgC
  2003. -CQoLBBYCAwECHgECF4AACgkQgsXACWKOzwzMUAgAuqUmK10xE5C3lUym2f72z0t6
  2004. -a2NM5Wfjr9//Y1/okC36C5XAMEtN2UwckPzzJ5p5D5y5yzwfZq5Jd8Py29VQIMsV
  2005. -7FbC1a0H3D+bCyX+JJ6FAmUbnWOQ/+mydYc74RvD8iwjePNT6kziZNv6dMGctJTl
  2006. -0alwjtQYgyGkeYKnIxbcyjHX/IawLUrunb/6mSKun87T8+NM/omfFCTc3l8TakpM
  2007. -0wyNYRiUkIfUBvB8sDUU3A80qKN/hqRKvlFu3+/kMiAc9ZYQrbmsB+sYWdmM+4zw
  2008. -8NBw3yuYzWyPuoa4PR5ZmS9F11WLMR5vTRCdLudAqYsWu3LtV6vAIvlOUa2LMLRg
  2009. -TWljaGFnb2dvIChSZWdpc3RlcmVkIG5pY2sgbWljaGFnb2dvIG9uIGZyZWVub2Rl
  2010. -IGFzIG9mIE9jdG9iZXIgMTIsIDIwMTMpIDxtaWNoYWdvZ29Ac2VydmVyLmZha2U+
  2011. -iQE4BBMBAgAiBQJSWarzAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCC
  2012. -xcAJYo7PDA7nB/91wAiaMlU5nHLUu0anhNQbGvUdFgKK1zO90S5KzUdJcY438jcS
  2013. -UJW1az8l9U9JBRIfPRYVhz/Z1TAJ+dCzD7D8BXHFeGEr0zNOh87ly9aB5du7dpN2
  2014. -oSBD6wLcJpqxt4h+XjSS2CX98/2ZIJxXENE2KySaTXP39Xl3eNwvJTUBA4XlcMey
  2015. -J8KMp/IERli4H0O7vRyLgu3yYpUArTqAonzG1g2lfB35PQJfeInrRSniQ336otnZ
  2016. -A8qwJ63kfUtWVDRz0g1fnvtiLGPivDJaI5hyIaUeJPaXU1+sg7YNroDu60o2NGZh
  2017. -F+0IjHlvRfzzA+F9Vw38rpSqR3BmCdjf6Sv3iQEcBBABAgAGBQJSWa9/AAoJEH+r
  2018. -EUJn5PoE/hgH/1T2dAthVucA/hzY0nl4SMjbg+dzNlYBq00Qwx8DRKVjk5et8+kY
  2019. -oPI3DGILcr+ELnxNekeMv9WQBBtJanUh1K5ohZ6ohoR7lG18LXf5HCdspflB5Me6
  2020. -LMA6iMryEP6gIs9GFuoGe2YQavm58YrkqhcPu34dGN7kdurfEXLvDfVlh5ZbKCsP
  2021. -Gyd7Pbz04SpqykgK1udiTsLVjc70Xhv+jAMqeaCugDX6TLEwjVmZH/xsyKk2Uh3V
  2022. -Oib5FXADAtKH+vSqqhFpXrw7R/NaBzvCbas8l61DFHiUg1/bo8vsV8MtGcyZmzXJ
  2023. -C5Gm0njtGOil/g7JF9siUrpxs9Yyt/h+T2W0W01pY2hhZ29nbyAoVXNlciBhY2Nv
  2024. -dW50IG1pY2hhZ29nbyBvbiBHaXRodWIgYXMgb2YgT2N0b2JlciAxMiwgMjAxMykg
  2025. -PG1pY2hhZ29nb0BzZXJ2ZXIuZmFrZT6JATcEEwECACIFAlJZqxkCGwMGCwkIBwMC
  2026. -BhUIAgkKCwQWAgMBAh4BAheAAAoJEILFwAlijs8M+1AH+IU78ARblqTnJeSl0iWH
  2027. -mEsg4IBK30Q6/exDAcqOEm1Yc171uw2WnGmIvPYOQqxrRTvj3LoQ816dU6jrj6vY
  2028. -s+XX0R2hxy7ILh17D/3UKnHcddu7rmc7pNEqZeBXaMughqQaPOWkAIe52+qK5tsl
  2029. -sWllzTYE4jo29uZ3dAtDcKEJjBo/pIXnu1GOslE1+V4X1H9WDlwrS/JXHzyDQAjt
  2030. -maPR+3gNesDanhrRmrnT3ZXW2ZVd3vGBibhia8PWUhU1uwOH23ySWXncgsHH0Zad
  2031. -UMjd4w3YliZP/mLn2ghAxHB70IO7lgAgN3HYZeFoufP3pcK440A+CezfQiRcjHl/
  2032. -oIkBHAQQAQIABgUCUlmvfwAKCRB/qxFCZ+T6BOq9CACItsrUZPKGeWSTkMHknMrV
  2033. -K5vxIXJVCBb+Tppc0Q/J5p4EkW/RFhTwIP2zw8NLDKMh5oO9md4LXhvfIZkqQJFo
  2034. -6ZtLa3Vf+Kj7uyxezBo4QHA+G7tDsRGaMKVrEMiyLCwS1+hg9VaNzsf7zmQW7mYE
  2035. -vTLMHp3cVaSU7Mh2Dl8rnAaM/DpTUZQwZ+32Qrb/Z4HSa4f278iqoFpjEbBE2KCr
  2036. -vT5yEVvpCZ4lwSgA2a+uTlRTvVV6NA/kpsxU64tmhuEOjy+ToDqJ8wv4mqvWZxMv
  2037. -C6OhfVaXBy3U9gG8aQV0ffXGs+TbCtv8ApHd6E1/AVk0oyZGJaBVrEl688bBIWd/
  2038. -uQENBFGeqJ4BCADFmgR7oEGkFFB5qXnuNYFq1nUGDAh0dLNtAD3J6EMxUZEXdmp+
  2039. -DQHJw6/eDRQaG9EbjNZheycbVUoI8K2Y/Z268HQueGuIEIJv6cZYXoXdWCbDD4fn
  2040. -HMNUX2wNlpDqWxb7PNUEtfU9hI3gmHGlr5OiEh3iV06uiZg4n2rbWPbj45m5LJzv
  2041. -wpCrUA+pLcl9Xjw2cajaSTjdXHk9gvXTCo6s2ZS3/3Q4l+xuzZp1MGNzPQHASMKs
  2042. -wecSJKkYg6W8I5WsVlPd9a8oQCc/Nfz7BPw31MRVR/SF5FAMqaXx5uLwghVdHB2i
  2043. -cLURsOtJlCfP8W06gB7yS+MH45Jq/oxBRiJBABEBAAGJAR8EGAECAAkFAlGeqJ4C
  2044. -GwwACgkQgsXACWKOzwwT4wgAy6ICcnBZ9l2jSu+ldy57F6jf5kpKZgB9NV8V2mMA
  2045. -NeY1wMQ4VTVpU4t3s4E2LYtGNJNkPQVHbt1Pf4dGPasvMPaHMamgwgyqgYixqs0x
  2046. -D5PdKzVrfnjwTTr/ZAFdccSPmvy5/hbY0geQ/+mzdbL07+xaT58JIoG5nySDKhmC
  2047. -VeOvhDZtXMVAhEWBDPEgh/H9sEuBgMgZrzfE1j3q802qiXeQs6WtadWlQ1RN9Iq1
  2048. -ZzIi6u9/BifEIRI0pO/WwKOZdXLTemFUoakoe7uT3A74N96t0G9LZVihYbEoO+Pc
  2049. -5IaHPBV5VLeR3TB1LnnjHVf/Fwi8cnGy50kNWjcbMyEDag==
  2050. -=jyQ4
  2051. ------END PGP PUBLIC KEY BLOCK-----
  2052. diff --git a/contrib/gitian-keys/oharareidryan-key.pgp b/contrib/gitian-keys/oharareidryan-key.pgp
  2053. deleted file mode 100644
  2054. index 2c83a8e..0000000
  2055. --- a/contrib/gitian-keys/oharareidryan-key.pgp
  2056. +++ /dev/null
  2057. @@ -1,52 +0,0 @@
  2058. ------BEGIN PGP PUBLIC KEY BLOCK-----
  2059. -Version: GnuPG v1
  2060. -
  2061. -mQINBFjCAtkBEADKSVwMdoPzhEoZocADNvVxkD3FHktkwy0CJzqfjxB8yr0vrppL
  2062. -v9jta/xvb0eg58BXkxX3wkJ9o4XUEUqxwH4GLuvL4aDlbQbLgxxQ1PaQNhKTkVAh
  2063. -2NG8cRX6BPqy46appqZTbK2oU5xkV6OCQZ4xEdBD2fRHE4ndfZIrzAbHRgl7c7eO
  2064. -VXXh5GEjuMKeK8sOx9/KtBf0rqBdugEihoXojVmQJf/J7KmiKu1u6vLd3vnw/xnQ
  2065. -OADUoMyWEu07l1dSPEIEQ0/Tdzkwk13QNcpAXBptl6cupt5c6D96mzMD+qYn105H
  2066. -IN2QvSSol0Vx1uQ5qSVGE1oxu9kVZNpbtrNUSRc6DhAwGuzA5jRo2mjN5KATvEOo
  2067. -NdOXfXgATMKsTikYwMulSgSFruJJAMKBiGSnf2hzPbMxxybFYHTnD5zA2XP6Xi9f
  2068. -2EusrYAdlit86py1z1jZCIX1Woo6H+8dRotQbRtnesq+BTkoY50iyq4WyTUQuX3f
  2069. -X0DR5fs7TByst/OuqoQS5wVh1poYUkM5D2qzAfOF/wglPltMCmt5oVmaUKmYBDDd
  2070. -MI6D51h8R5FomCavKV2mJJHnN/ENC0JYP/9zZV8oEfB5WUabnINpI8qUBbmHf/Id
  2071. -7sWAFInbAoYl49l03X1Qli/TRiD4ntjNlCQbH7EynzI1v0S3TMwy2/8q5QARAQAB
  2072. -tCtSeWFuIE8nSGFyYS1SZWlkIDxvaGFyYXJlaWQucnlhbkBnbWFpbC5jb20+iQI4
  2073. -BBMBAgAiBQJYwgLZAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB1Uu55
  2074. -U8MCr2HTD/9YOPNT1cAkF3bsw0QYWhXegTsyC6KrJVpYuJ4o/VPP2/sJMjUOYTZw
  2075. -6SvYkmvTOmupW5r1tDMGuLn5FoTeMtlMin4ZB8Oir65Sf9Fb9sWzTHk0/DmHTRUM
  2076. -iefit8YFAXciPlEBC4Y72txUMgfNAOBl4HJ0MctJcHDyymp1Tt9LqmCsy8T729Eu
  2077. -padjyvDyIL/WE4+mo5ueRMksCn4Wd9Pc5X2tRjwITegUBAhzpxselZWWZkId9Gz3
  2078. -R9erC8SkaH3s5EQksx9JNeWoYbqXkyyp5l42tGKqrh7mInVaEddIUkLadkZqYtiq
  2079. -nDHlQwsSS5BTC5bn4uvUTyLQLskydW3isiRdc+Ea3e093dCO25BGj/aQSJpeEBk5
  2080. -ng5fQAyFzH3cXt1i7OCfznSstWA4QpYGp/73QOwzC/4xLfoyax0nH9Wl4Qn4MDN3
  2081. -s9HRFi/24r4/AOim0GPXPyja63uIhWT+Z4ikEveM41HHp5fL+SJisQMSpd+m8Bwb
  2082. -koCQRa0iVU9Gxe6UTh73G2mLQtQXpLOiOin8AXKDooMpnyxRWXUXW0yjb5ldkhlP
  2083. -izjyZzELnqxySClu28/YWcPlEf+aUSbHs63SDFkty3M8nd7QDade73yk8GmZ8a9i
  2084. -460exTSv92mVDZdk3ZMSc3uupdwLQ4pcBT4eNI/a18CY1sUcbty9JbkCDQRYwgLZ
  2085. -ARAAyucakQkd/RrwTRMWOk+txtVFPq8emmA99yUKRu0592JJc6BN6W1VjxfMGLeY
  2086. -fybHr7yOkvduVnzJy7WLtvKJWE9WC1vU/Fumsc3VW0SDxlbNiBXN8wGW43O6SEuf
  2087. -DHnhvoQq+XEf8wVWib1FAGS7mHKQ83pgiL6R+vAGoKDJW8UPxcos7V+WwGrIpM00
  2088. -DOa1+GX41unUdQd/T8ZuQdpB5K6eKEHw8nszSuae6ks6m3qipsUgVjESzNUvzk0u
  2089. -oqSc1fWNoVeBipPbWy+6Ix2ZT00hXaXBLUAKNU999lGPUDkQhL+/eVSeWce3sXj/
  2090. -xY7OEJbYTaXhLvfaoCFl1b0iioUckiY6PwMSNU1/GhHZU3xDr2AM3jawvk9rXXyB
  2091. -gY0NQIWfmA1vZ2IqMfb0iwHT1iPtCp45HEDgjZeuJD4143gB7sW1R/4h4rgGh92f
  2092. -21K7giUkxWv/U7CwRwgBr+gZQWQBfjc4OxDaq2rupvptgo/n2W6Fav/jChcxPrnW
  2093. -nEsZaRm1iIhXZu04m8dBPeByjdC96WG/ajKln5amcwhr3n98N1VAI99l5aW1QsBA
  2094. -eMNVzZ+ee17lZETy4FAEsntsf5xET8FhzPvxDO8sZdhADhLVmZ3VW7OEbRi10DLj
  2095. -5d6GxcdFq2jYxJo7DlnIK5qiPDoqSl0GSnFETzEQ2uhsyYsAEQEAAYkCHwQYAQIA
  2096. -CQUCWMIC2QIbDAAKCRB1Uu55U8MCr+tbD/49wUlBImMxhjgC/9lYBiX4T6JK5bWp
  2097. -l98+oOk7bgZwuKR+qUDTJlolGIBZXA4fYDHkfvkaEH10zDG0iHDWIyLS3wDV48Lx
  2098. -c9mPQ1iVgxkfEk7s4X3W7Nv7Epj/JfMkKLHcMs6bZppLM9qGiO1TTMtSijQsYW27
  2099. -b8+eKxHNLuUnw1lblWdxZ+NzPeXaYDyHPUTuHbw3522WdSz0AeGb3j0v5pCt0G+3
  2100. -QaUERpnsdaH0nqwROpH8qIZNVDrQAkyN76w47YMR5i00ESX/uzxeX494mtfJvHKd
  2101. -qXlrIU2ZateRAPgaZOyLnb4s8ZdNSE3tGpcWxDesk4wEKclSIeTaeeqvqpo3BbKy
  2102. -4VmM4s323w8ViqB5IQjip/J8JA+YlG+sI1IsuZbuEvs4mb4DBHbQZyxgAp5Pwlni
  2103. -B/SrbDNjAWRmTr7L3H5PxKsIxV+ARYS6p5vSptxxotViEQlKcSL4flxeg4W6RhBz
  2104. -uKdSXlw32rxYA9ejel1Gm8wwUqRqb24Ntpw0ky1C4MTPV8shAYPlwZSm4YjHQ6xi
  2105. -ac/mIDCXy2ESnwKWJGK8YMxIPWiqy36khN6qFzd8eZ/8T8y+3KBT561h4bt4UoUQ
  2106. -aL6zFmltW6Ac/Wcz0/GX2BwOjozlbZQjba1ku6r7JBB/Z++xyCAw1NlhJuKGr5Ii
  2107. -L3GQhtqZb+1qxg==
  2108. -=/Urh
  2109. ------END PGP PUBLIC KEY BLOCK-----
  2110. diff --git a/contrib/gitian-keys/petertodd-key.pgp b/contrib/gitian-keys/petertodd-key.pgp
  2111. deleted file mode 100644
  2112. index 5ee82a6..0000000
  2113. --- a/contrib/gitian-keys/petertodd-key.pgp
  2114. +++ /dev/null
  2115. @@ -1,1901 +0,0 @@
  2116. ------BEGIN PGP PUBLIC KEY BLOCK-----
  2117. -
  2118. -mQENBE+Xo6MBCACpPhm2zLk6G65vB8OfG04VyBus9Ht9jHhI0rMQ6Orai9luo0Fb
  2119. -CPZGljnpi9GSrm6nG15aDtG84cjTVatJ3wmoAPDmcq/QPTaeEAY28us9QN4Fsqw0
  2120. -emJqiaQez9pd/5BYtOSG8vLZpAxXfnOgDH/YK6u9WdoX7/RgTAltcoGazmyJHZHj
  2121. -VzB5OoZzakuWDALdHAw40i3RO5KpjS+BetQPRH0nV8dW/56aZWFk8scIhhMWTEFM
  2122. -5GZ2d0qz4lyfxqoGdpsDYqh9iakWz8ppFy19BC/XYxQhAaGb4abdQlw/CZ0ShWzW
  2123. -1RnlLJpAp7cC31mR541x+EJjPW9o9+JrUBlVABEBAAG0H1BldGVyIFRvZGQgPHBl
  2124. -dGVAcGV0ZXJ0b2RkLm9yZz6IRgQQEQIABgUCT5etZgAKCRDdsyENsj3FZKT0AJ0U
  2125. -/S+g910beeD9CPR1RtF2ILYwPwCeNJcpAqVCsevAc1GH1ApTPAYbJ3+JASIEEAEC
  2126. -AAwFAk+YK8YFAwASdQAACgkQlxC4m8pXrXwQhAf6AtJs0lYO6QJsiJEP8Q6KIibI
  2127. -Ca67s4Qp8IztYGCqbivWCgairYOu70ZMcxDqrsF2c6mzgGC1GsszW3u8FxxtHFuA
  2128. -c+FmBgAAZ4cE1T0z7w0dhCT+Rg7Jxk95x5WExyh4yN3SBXxZd+MTctXjwBB4bo4U
  2129. -oxeeU4PK4mZI4Jx86YYO6FVaL2C125LNj7oqiNJYx86Msuorx9B543ymYlcNZO5A
  2130. -YlfHkOszb/jP7rs0JxrUCvwl6050gnj38hOFk7qT4XMxf5wPtRBzZWjbtLbmlXRq
  2131. -6x9mLyxA199NAj1Sfv89hL2n4QouCMh72fmKU0B7pZu0gV1PfGTXzlVC+wX/mokB
  2132. -IgQQAQIADAUCT6lvSQUDABJ1AAAKCRCXELibyletfKV+CAC61PnPtnEBFFa5Ms1D
  2133. -Jk/v/k2zN5VeW2i5lVCiFxp43NQySAanZSLfpm69YvhX5PEkq5h3+9AmvRJlhbZ7
  2134. -b5G/E1tQV8cxhaSW5dYAssnBPJ8LLEGm+Yi+ND2DwQzHlWsneP+YduAexLB65EHR
  2135. -0LYYVdJXYG8gCV71bFWZ9EPtpYDdisllrgcLoBndkTmUOvWKvlTQkbNZa44V/jwh
  2136. -ZxfVSgl39vXnHrKX8PjwG0SdCV3cCE0NtiYVAtBQu6bNb+hJzQx0eZalY0uvCSOx
  2137. -A9jSksnzXuDUsKqqpwN1PVn1xqRndwbeoXIjGJYr9vqve7ZUwABrsOtvku2DlaLD
  2138. -7MFNiQEiBBABAgAMBQJPupL3BQMAEnUAAAoJEJcQuJvKV618VUUH/RkCcZIytqnj
  2139. -+3VIYiHDwbK0SR/k6es1S885Am0oLfTV0iQN9XGsHTe1PTdGjYPM/Xunm9WhJc0/
  2140. -UNzJ6vN9M2qExcAQDM781F5TBeJtjToGvl7udlTtTQtQWVnYL6pPq5SZUJlwAG/Y
  2141. -RKerl94RlxjA3K2EmCn0uf0AGuydctU8Ep3RG0Io0CymlNMYWS8ylx5367okjDFB
  2142. -qIi8rbKkATi8holdnro+aDvO/z5d3bDzipWxO7TD2Nz4o3xLXv1aBLjXv1sq9G1s
  2143. -Qm2dNFK3mjPQOp/dRSXIcXHLyKLo0FBRSxOoR9ivr36JTy1+A3f/YYXge1eXs8Is
  2144. -GLiy22ZTrEeJASIEEAECAAwFAk/Lt1cFAwASdQAACgkQlxC4m8pXrXyRWggAt6Cv
  2145. -RDD1jZAPCzaw9iuaAWc4Pxnl9ZuyhnYl5Se325lHcD1Pa3Rva8kVCbM+iCxIHk0x
  2146. -48CaxOs+wEbscmiReqHRgxV3EdKFuIO4+ZCnXc7ff3tvUZ1AIpuYUa6mva3NClqI
  2147. -D0EBN7M924yyEywmKxblY0tnzWp4VFOVwPEzimh7vZp6t3+bIutvzuuPlmlim7Ba
  2148. -tmpvi/v74ilonQYSA48u7tBQCqJHtj49rqCEPEUI2vbjgFzz/jUIdYEDbFgHjP6R
  2149. -dnnGjPOce2m0/v+/76a7MXBPzWQEgPaPWlFiqdDIWkv5Lo8hmTCsl5KXINqnilHp
  2150. -TIYG7c2AyYsPdcP3M4kBIgQQAQIADAUCT92BigUDABJ1AAAKCRCXELibyletfLd6
  2151. -CACMN975+GuqVz2rA/mKrMc3TjoMAz+7da71Qi+RlOyhmQDw35i8HStlTGyxrZeA
  2152. -Cjs3kdIEHG1qPbK2ZeKnQNKh4yBZario0czPaSYUavRLXeW/6LgIt98HUp+AAhB1
  2153. -fEdKZ9d2aDRNubpGiLzksuM6rOzdmhw1DLeeFHjTJElcPdX5/rF8dMHI/kVOHt82
  2154. -chmdMknEN6nXKtKypaSI8ykOWgVLgKt0TBcrVXLEVjrbjrkaAIYQRIVFmD0d+aMm
  2155. -Ar5ntbb1e7YYWS33NhNbctxw1OSZOX9jHctFZ+/DO1sfzll/xHOmQou4pbyOoL4p
  2156. -QjuDhfR+nObm3T92PibLqDHziQEiBBABAgAMBQJP705IBQMAEnUAAAoJEJcQuJvK
  2157. -V618FP0IAK06KhxMFZkqJVJUu7BHJCqACSbOZACxudGm4DiJyGeV5kmko+6UnvaM
  2158. -Wa4KRL8uCkLJM/ooWCKvUCrOW5TZ9bRUzxdy9KtPpqFOfDJjieBSDJyL/+3YDEQ4
  2159. -aueS8uC9lCDOJzg/JcC2WlCU5GTRYoFJz2DKq98eUeHTRYUWRvE4NIiXxu86gsgw
  2160. -Qaa5oLmoGinz1onog1y/aptWb/qSDsbUuTZHCvwYWZcKl2VkPeQJEwSDFnLrDHww
  2161. -z13dx7avkaJd7TTOn3u2WKVT3gSx6yZglVY8kBoFsZx1AnHfEd1CDe/GwA3vjnNR
  2162. -47HqHjkz94z5cDIW9L2IuVo9i8LtO4qJASIEEAECAAwFAlABGg4FAwASdQAACgkQ
  2163. -lxC4m8pXrXwEDgf/YAYELlvcJ0AEmKZW1mTfVQAjUVrgkOK/ZHjtxlsJTpEiSPhN
  2164. -DS8rKaxhP6naYfkNvIECQEH4mV7WvjyDAPwgYGV/GbfaUzIl4XLXMB4ZcusW9u1U
  2165. -s+4DigeN0UWmit9VFfL4VGYvMYa3XioewZC4ZOQ/+IPhoSW8myDS4FqnwRDR28cM
  2166. -wi5aBNUwLsGENhhhJ8iO/8GZ2gYvfKxyIQed2UbelyXVEZgswVAvjXsV4RS0sP6g
  2167. -LcOQZo2OJqaAoUQARZlvqIcROV+bD8zIKgniSQP1bUaJR+jZ6EEkMS8ECdLMtWOu
  2168. -V7IwrJA1NILyUHu8H0RKV/fFbTgD8+5MqB5CcIkBIgQQAQIADAUCUBI+JAUDABJ1
  2169. -AAAKCRCXELibyletfEDkB/4vdrwZ0dewV/gWPdQtQLXD1xTfOyli0ywKfuIfTEJs
  2170. -woqRbJdFHZWq9qs6lo4HSMySakcl3bUHMvcdCZ40tTB0VKGj8a560gwKPthblXa3
  2171. -skc+sW5p5/3y0oxY5HJmTc29trVCD4rRRSma0/Ue89dtOUU48K8CRo5+2Rcp0gHW
  2172. -Hj7yauQsD7DJGZ8pAuueodJlfQYNL110rp0JsduVO0mfuVPxyVMO7ISb1DtjiK4y
  2173. -Arjh5L7mibwBxZoQo0SDu+5E1nn7Ucjv6Yw+YtDrIa8CEF4Q+hekMPuBUEHqIXY+
  2174. -WGH1KzYrEoRCLrv+INfoiz9b1hIRqw2Fag9Jg/wNvwwCiQEiBBABAgAMBQJQh2yB
  2175. -BQMAEnUAAAoJEJcQuJvKV618rRsH/R6OQ/TSkr4F/S/oaDXOFS5okSz1QYlZ72NG
  2176. -jr6H4OIXwjEommaT9ZUmI66HGbryCAyU/6GO5wu3REuzsmGvNbjYWe7ANk5EpVdJ
  2177. -84lqwdoH1XX+OV4Z26InIKY7gegF4gUQJaiGae+kYotvAaqUVS9xxYVM3I/si0FP
  2178. -rkfJExCw28JbLP08g+pDgI8pQd3xh26FzBdNPkp+puimo9m4JxuJFRLrjCgcjnKX
  2179. -S/GqNoz3NGU2hcPYyq85RP6+1ZEi2BK9Z5iMUyyJ8KUqtM3/pSzuS861Z/p6TXCr
  2180. -NA+amkchTulfXIzDb4HNlmZK2iUGUY3aNMIvOwy4nuML871h1XCJATgEEwECACIC
  2181. -GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJPl7LDAAoJEH+rEUJn5PoE9MoH
  2182. -/RRd6sRBGr4a70YoLXrpemZmJOSWNsSDAz3BLSDulbtDsHKeUfImPBbVh8UmLeKi
  2183. -ErxJLbuEuYn60A5oqchu7MP3LqAQBsGc8xpEKOC/d6fGVnhYGku1jL2dm4TH+yUg
  2184. -+z+MxxkbDbX8rwCJttGWMvZ4rIoag8LB6KcgcBFo/HVB4uArKdxYDc2jQQypUDGn
  2185. -j1s4wLqmcdCmrWWzhtk1cwtSdZi/PJLbPvV8BJE+Gn/rinVC0HmwjB7pSCnr8y4N
  2186. -RxJuB7M6cgcxihPWPc4MGH6XGUE/NQFNS/LJYsx5zqD3YmSQKiVz9W3ywSyi/VNk
  2187. -rE4FAFy9xgDXkzODf188z16JATgEEwECACICGwMGCwkIBwMCBhUIAgkKCwQWAgMB
  2188. -Ah4BAheABQJPl7NrAAoJEH+rEUJn5PoEoPcIAJ3559VgDldVQfpDQOaWKY4qvpcD
  2189. -8ERvUVuRm0hIqP8CR+hptz2POWoGH6FtkvS3T9/QajEhAlTBv41fqndw6jAedi+K
  2190. -exuUci39usIykjudXMr5B3XfWlqHjQFKtT3gXJNpzLK+EMUlF0EdR6Se9biH4W5K
  2191. -tMlwueSaY7Vr7qBAYQ4CamX4yy7nzrVMXVeD6bIfAtBRko9A2tPjhfBvb/Hol2YJ
  2192. -U71CxCF2iWJws0rRevynil/J39BwxGNPkmhlcHgBCNmk4eKAmF3Jt739RDoiZahY
  2193. -YGpxqs2pvKMkWT9O9Iw+v8MR4PjpcWvwzIybjUDlnMijFBigKBfIwv6Ds8CJAT4E
  2194. -EwECACgFAk+Xo6MCGwMFCRLMAwAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJ
  2195. -EH+rEUJn5PoEhAUH/12r7KmApbZJTFq8vbkaTX/6IH5Dzj8IM7ShMa16yvyqGzFg
  2196. -Fbi7JcxggETqSAmI5ER70sLNyNhmwKwotGPKCS8fyTJssPaM1yEu6XxJPDS42WDU
  2197. -X5MRFANMxmgF4tCkuX320SZkgF6qe2Bgze98HFgWkIdFouNeV/iAyAIv2U3WClNR
  2198. -ThPoW111NL0c/VMKMqkxmy5Wm1YACILv2e7imcN3ApxHLaUFiyclRbAkAMUJ4BHH
  2199. -p9M9PEQ8lfqst/XFWlBgyD6z5oSR/xiERaKfF6JupAVO2Ou0ebgl3JLwWMd/xbcU
  2200. -8J/GH3BDGkwuwOYAV4sCnwQoL2yxCndT9BQNbIuJAhwEEAECAAYFAlFKdFQACgkQ
  2201. -DuQHzesmWwa8RRAAnZGnmCCzBhRaDoamlJJWprZYnilvqi3IRoQTOMZ8mCgUBWoF
  2202. -kdb5rgLLPfy3N8hA0SAIQYzFeG6VxmxHO/iM/6EptIrivkedQXpTDEusz6l8/YSk
  2203. -TQ3Y2JaEf1mnvyo8psAJesSR66QyovyqRe61RJH7jABcso8A3EJ/lRqbKu5dU6I2
  2204. -/6wiUW9h3lhxZ5SDv4nrVbfRChrjnE4ggFfLSFo/ZyWEgOr3vk+KsOrqya6mipI6
  2205. -WJAcoii5egN96Z5wHbqB4rPh3u7Py4TDGBTQmZZSkNmwpV1qX/pvrYqaJ9z1c3RO
  2206. -dqNxYbTxm4fGMrCvWTYVt5v6o/yAkAkxXQiEl0rlyhpNBWiC/WQChaNsaMpY5ir4
  2207. -8t7AkXagLt7gZYONe6PTMEscr6q48alNbi9W5s/E8jnLTuXYwlkuCFKOWgSCJC5k
  2208. -RARgyAU9XwMgE0nqmHMrgoYNIQOOSquW2M4SQTbcyYa2TPDTQAsr3soPG/qxeKNY
  2209. -WE1rF0j7EYFSL7dv6iniyYGZ+kD6r5Mr9W1sELkl4S11Oct59GlOIapOb81VhN8F
  2210. -HBl0GW9aPk5XVcsbyEaEuUpISJ2Gb0vhQfXQIbmrVDwo8IGksInSP+Lu932fcsmU
  2211. -YWqMDOCiaqfsNIeHHaqDEIRQ2pVRzoCVQ4CFixHPY+C6IOnKheTWTIaJh4aJAhwE
  2212. -EgECAAYFAlFm1W0ACgkQA3Ye/+KdJEwxqxAA0ZCB4xFvte0qPURfDYtNzBOu/w6o
  2213. -KGAqZ4MG79zwozoFdO4SpaDADW0hQtXeeVKeb3VyYmhNEfXLsEhRBRPp/PToRqZa
  2214. -XXE1fJv/hwjzNSxm9VFIGLwosgFMRTFYzSt29wYnyqyklLB49FoN44b1wxfY2hih
  2215. -L8O2yCiKZBLvyH2PF1/FB4Dmjm7Ku4ZaTVj5QGcFc6kJEYnn1RPT6EMNS0J0IsAV
  2216. -vJouSb3WmojW253yzHvgl+cvBNxp46Mvwd8VH4IdHNSSojVPNbH2EQ0rEkTpQPcG
  2217. -zYoJXBp6E6xoHbJcDmHjo3oe6Kw6IBbYXolk3FPyV9olYFuYlQP+8x97/yu4c/aD
  2218. -cUo2GuyX6zGspr67I7P/Z3+3OHBHnFbxw4ugWNuAMJXlk/c36ny5Hlztvw44R52+
  2219. -+YO0QoIGFJIOFFy+gIunoLH9N7iGOnjJ/X5mz1a1hQMozNRFDHpGRpoBMW6zEYRA
  2220. -8oFWJKX8K4TeZZer/CsegoH7nh6hcH+YgoZVGxs3OSL/xCYwmsPDA5wgashOSFn5
  2221. -e9XtpZaeyuTVM1QfGIeSJqQzfrcQzs2nWlyYl+oBsCmsjeRbvft+3KjuBOtuj+Au
  2222. -acs33/hRPrBWIopI1DMAWwt6nI+SD4OGBc5LE/tUTKAiG3Zy7icnrMVnsoQEzjOt
  2223. -/Si2YAgw/oP6LkSJARwEEAECAAYFAlF6hPIACgkQRYKxTiY2GI+lyAgAp2Wsu/6t
  2224. -Rdv6quPBe7xwJvHwJpnezIzGg0c/bo4G4A8S0OlSlw+8l2hNyhUbwcP6UlH6atZz
  2225. -3UMtfnINqhEPaun2nF1c+1A1/YyHvAFBd5+zXnWGIoU861jiom3ZY+Vps7Ryeh7h
  2226. -QHvcTY09YbWQFlP9MGv+ehZPhnQJZthYGy2x6WmqW/wVfkch4+0CRyGSaW7RPMt6
  2227. -vPwELGpuw4AR6zn7PTbLPinxtRl8eIrbJNT3/ArdLrs+1dwzFMCRP0/+qTUF5VdZ
  2228. -ylcWgXM+2pNRNmAkyNZWAO/f/rdPS4QOj0J0i74W2zoUn0Vr+Lj/rgfePnppHIBZ
  2229. -9+Oa5twhvFlIIYkBIgQQAQIADAUCUXgvfwUDABJ1AAAKCRCXELibyletfEW8B/4g
  2230. -WjwjazRBV7k0/6i1fpLdSufM/+B1dV+GXIQnMydWdYaYbHeHb7vGuYc/Zq9zwm2R
  2231. -+pgLKliyVuJOOZTHLzJr8XDaFEQJ1fF6He9MUZ98aqa/jbxlPGRWeUUMlol/vHIu
  2232. -vSs0LnH0skJy44JXTE0PJr6PQUByiemTIStCOEs0SNGpjBXf8oU1UUcSQP4q7CAm
  2233. -BDbK8vPmsrCX+uQRJWauNdB1zx51/LYclNvuEWx+nJ5mHJthcehI3f+BpMNEvELF
  2234. -p50LlfBZj1uCo4c+JpHtICNpidx9X13xBC9I/m8AdurIQOkKvbnBUWDV80DwLx05
  2235. -e6KCbunuzSy31iZwi4EmiEYEEBECAAYFAlGV1rUACgkQrIWTYrBBO/r23gCghaV6
  2236. -xS+6mgOqV9w/Exho3S4Xv/UAoIevuGMmyLxBZpbyYK2HMpIhz948iEYEEBECAAYF
  2237. -AlGWYBEACgkQQ493Dsj6Uli5egCfY/8pnDZYh5ihMaOQh/Qnd68EprIAn18Uhp0g
  2238. -XaUqd0WvTEIj2Ivc0iBmiQQcBBIBAgAGBQJRldWHAAoJEL0ClCQh9IifGssf/ieh
  2239. -Cr/EbGuf6R68FlWL81epld3gaZNMwA8gIXOeRfqpSzB29tr8Sg9PUyaPyqM0ZPvH
  2240. -GzXRb9T2O0ETOCouC6S75FAh2BVavWGoJoa/g+Nxf2PkzeppxDb4sYl4vMBSJ/b8
  2241. -56wdqgU4Mr52RslAGHO7fp3RvYd9FwLdGD7+OHh0Ih1MIpgFT9xaF4B/mHx/o2cM
  2242. -R4BadO0o+kK9NZwBQJK4UeoMf8P2LOih0QbUKsOKNWCC6wD4++bj3Q1yOa7QyJ32
  2243. -iXMpf9aN0KpyU5+DM0mkUIpPBnrqqsoFYwXYqXdg/8b+Mb2E7TsHhlynP7Vs7Iq3
  2244. -DVv1V45khUrcY2kZsqCYC2FOLngT/f4S+XbzvirQGvJjJECmIdfLxAW4uL3on04r
  2245. -st5NE3LOtlT45VE/Cd/cjAusDtrF5BAzk9nccL1B6pPT8CaL3pvSx2tCtydWTvNg
  2246. -M889sPO3jOj5NyWtZHmRz21gEE+qd2LxxzSa/tYVH4iDh2B7T+/sd06/2ElZdrZO
  2247. -oDfJN2bq49Q0qo7DcPYca1oQxGjNVI+5P9zL3enoIE2J3jZyfzu8MCcG8pNRXdJE
  2248. -vlCPQ4zZeWAAayCD7Uk5zml5YZN4JMhPZJBvifYArevN150bL+fe9R6iWAQNDouj
  2249. -wOkG8GFONGKG0ZGXQ0loqmc3ycCz3V8U9YjtkR+GfH40gpqih5yf2ifjT5wDmvDk
  2250. -QmrVMGd343V7S6CVufFgbQvPym4fhUyL+WS4EcHd4k1TGWI4WAm/TADthTV7IRHw
  2251. -BSGsRbgvDNIR6RczbQ3j53l5j7ReYKP1yLnPwiNC3noPewqGephy6gH3BjYCtYZt
  2252. -Vq4+OeNgCLi5fhy1xNCeqto6qQlbms7hw5YKB/x12QnsdgxGV9guuKYiJEOG37A0
  2253. -qdmYOBkHt3TfZWlLCDVRaHvb30eGSKS01aHmK4pJLAFYVgLw/ggBjegj6AxdnpT5
  2254. -NQM9uWCfwZ2qa3vBPaw7FYhjcB/nSvpZ9I4dC1F3lffLucgpg73p6OO5aU6w952M
  2255. -hGDMKBGovbG2hvIaqs1RwaKZNtZZcBCXfIsQnGU11LYs/3w8cSyxWE/35HlveXW6
  2256. -+YBXHIaY8nrJCQHwLlmRj7w1RXVODBy75iUd6mYURPZyadpVfTKIpFkddIFPLKPl
  2257. -6QkByMAno4dWS/p/2/xek9zBnhUhBjiQ+F9+rbF0K5LswiMK/BwzB8UXOXeueZXH
  2258. -H1vDCDOBzrDit8bgxJy8j2YGT2Vq7ThMnhSLLC3hRcWJAz+0rSJ51OxWLS3CQGgQ
  2259. -lmMOc2Wmz+K7JKvat3eZesBTQEZre6MpxXiebna53RnK/jFlEiqeZqPDWfry81ew
  2260. -qzDnWaQ/m43L0V8QVVeJBLEEEgECAJsFAlGVbM6UGmh0dHA6Ly93d3cuamVuc2Vy
  2261. -YXQuZGUvZmlsZXMvb3BlbnBncC9BNEZGMjI3OS1jZXJ0LXBvbGljeS0yMDEzLTA1
  2262. -LTE3LnR4dD9zaGE1MTJzdW09OGM4NTgyZjI1Mjk5MjRkZDY5Mjk3Yjc0YzM0MGEw
  2263. -YTI5YTFjMWQ3NWIxODFiZmY2MDJmZGRkNzllN2YwNDk2NAAKCRBOH3mapP8ieSuD
  2264. -H/90vmcaUOrfHXiDON3WzGU9lkk2K5GEauttX6p2gRRhzTqy47zUl5Wu8KWetkft
  2265. -XOf/4yhPwDyFzCElArReLBg0gM4vgCAH+jeZqSWcMvgv9M11cA8rSF7aRLdpPfR6
  2266. -m4RwS8niwpvInNG4DNCQxqZqSBB6XDyrtmjJP6PNhJD6Nd24nMzImyJ7QB1JrSjK
  2267. -lk539GS7fgEhhrBh5nKhVlvzzusvAc7MKysUCMduQrRYbkWQxw41OdIlIZMc6ErC
  2268. -SGEEKgrVB4xFZR2DNTd93PDggjHTtvXKnydCZC1XL94qvvHMmSagXfk76QwtHBG8
  2269. -099QR60buDGLnZvyDbR7H5ts7UPbIwIRWA0v/p7hhT9PRRLLVuK1oLUa1gEN/IAf
  2270. -Hgs7Q02RqW90W8NW73e8YDgLXvZ/l3+3ID1GwkeDuGaCCMjAaxMQO3YYy2M2H/aI
  2271. -EoaTMcRv2ILtcNgAN7cEfDO8Hx8jr98H9jlbtW1SYRzc3EvXVcRFwvlaAmnEb+aq
  2272. -glgZiXUxNFxFWHGWi+6mVzvfg/JTETYGaEr3jEEHka2btLJCVEUsOQ/pXJwjaKpq
  2273. -mMdBjy4neeBbjZNNd+5K/FGpMyEjWWaIVbRBG00w0MKr2862RQHOzca/cYJ8vaK6
  2274. -+t9bnCPoi/mXMgSOtDj90LzCWx4BtTTRAc/EYSm8H2YWOlD0OGAEr9UUptCP4Cyn
  2275. -U0mBgIBdvqrPXaqfHqwyOy4vQcHk/e1b0kN07Pd5p7R41q+yYZ5jb6ZJFYh57Wrd
  2276. -IoEX1MLZRbw2SIHWpQaI/zSYeG1cgZjXEegXFSHngWqJ26nsK9wjbwhq4P4bFH+w
  2277. -eMFp5Z7BnhYRQz9dORAn7Go+cMMT/c4tvKxRFaY3+/v4wV3t2rIcF5HzdmVslCTy
  2278. -mRN+/M0fOpcrHF/GzN3aTla0fpZLLJnqmF43s1CqluPFW49AzQxbZufzeAOWEIHM
  2279. -s3Tw3CUml7+xiJ/2zXed0wcdyaAPTxKQqP4s9BDgeMbAUl0MqvBRtVWD+jMy9f5z
  2280. -BvOxZlUeQxYhDln3O7ge6PQLqgbPcqVRWMonC928n2QWx76EY9pgt9giCohcpGPM
  2281. -Ziron+rJKnVsVQGO9GmwOyFD/7auSS3Ml4/t1r73BMKabNK2+AQ0LEx1JFzkENaA
  2282. -Xe+MxpoW2QrXM5dO3+gsKIvekRVbeMY4ORYisLHudI7Q0kFBMgwTrO55FY48ykRG
  2283. -13376+wmvlLjEm35DE2YFlfMISe40MjBlwzRid5f4/hebytbQ5IocFcN913M4AXr
  2284. -cOeF0hU2JkAXoHY+UaHCkiRBAk7s7aEdBjsml9s5KGCQbMvUtlRaFyqt+ywhbSlL
  2285. -Wlx1WA90sNMY0NjwqQFwcM9riQEcBBABAgAGBQJRwcjtAAoJEBQ8n0HY8FbdcB8H
  2286. -/A2HDTY9dvsMrYr0RPlVrdyzL95H4+49fxSSJBVya6kYJQJiAmqrfJwIgqOID+yE
  2287. -uxvkhSraF5n/j/5o2y3tWc3Q6GDJcH2nYC17mDmHiWVa0Xep/gytNfbktZyUAO9J
  2288. -CJL2z4EfT3I0pqha0hKyUfd7bLU2Fy5ShGN6hHhiObBIBp5j9mWmrQnByAwWwQfk
  2289. -aVJxJcddBHruHctti4SFFnv5G+hswTSP4XQkNCKRgz93/UjXkeyAPNzHynDOjk+m
  2290. -J70bDF19umiQbsw4E8XyrakgyXCmQX4jD57bKF2SmEMXCLf2jdO5t9lRdFCSz94A
  2291. -5wTMD08zws3/wvMV4FltDROJBBwEEAEIAAYFAlHwdocACgkQsReetzR9wQ23oh/9
  2292. -GcctkEep8L4wD7aXyfE+ZROz+2+aCRNhktoftIce6EoGFtROaXRFiQEaqdjlcnga
  2293. -aJTMFFymjViC99gbQjjoFyEoZgyHIL+sGZe9IDg25aTMkFQ7TANRACep6Fm1m1uD
  2294. -QdYowHWSwvPWsXFYrKHFmETAZkd5gprLC2oLDZfcRt8SAIySqAnASEFe3rnBjZzl
  2295. -n0Y5IsyJQEpt+2zP4TR+qgtdNnmjAdYAnckmiubYNj9ph5y+HI4EsKIun+eyv8Aa
  2296. -X7Siwlvt9RLpzUTG9KRsCKcq1zbU8kp6S9IWsb/VSIN1KVFQlM2dl7d6Hjg9WyFi
  2297. -SEMp0UloqwB3Iy9b5WSYFXHjjjNcx1qK9Xf7DJrjztLT46LLj9H58Utllb/v+o2A
  2298. -jHr/xWjwQdqk8H2x6vVWhuTI9DlL2xL2B4lJAM08Kg2vCBoT2nHH5lfsoYzzRZ1Q
  2299. -/ovuN1lx/0CWGB2zK1daDrOTnOUYfCDqqJGEH87VZV/B/uJnjy1OoUxbZ9kU3ICr
  2300. -3M3zZr3QqZq3kr9jIOM7yeEIsCOR2W0PQebWEcRqzRX+7SOeafMpRq5LoFuht2A2
  2301. -oPrG/uahs2pyH4cDwsQLh+o8XyPuVOgQMxeispd+AbLi7OsuFnx0sBDyXin8qSsx
  2302. -+2urpdB6jjZjLzRTpmn8l24RQidZ5rPxLbd4HD6pHuGxyo4u9rOclL7WHoJi19ZE
  2303. -U9Qb44F2+8hObKp/n/MVZNorZPu4dycgidD1yvT0WVXwDBGFXMmNUDNtwHQs4S8F
  2304. -Q2tJhlVe2sAP4wcR3YtskyqseguZK8X7IXbP4sgbwDsrBW36DG6uy0ZUJqi3FuQL
  2305. -9+wGYmpZnX8GRiajWxj6kpB4FtOBa/5dOVdR5XiejyfC1aVTQsxHGK2rosP9lKVH
  2306. -MyX4PwL+13TVMLC0bUWwneRn8aMezid9DZqIO59qSK2dMKamF2YixsXJuOIYqdXy
  2307. -8x4iY0EfTZUCCRG9vCs1p946IDlyj3KkxMRXy1xWOkMT58j0Rx0iKnEKKIhoT6rm
  2308. -pucKLasuYy8vajy/qtaaJQvirbkTp3h0dEom/T0DV6Hq2r5KtW//5osO9LrfUAUk
  2309. -Npwo0WS08V5U/lsix0ZCArXm4SVjBlON+YJhARbI641W2OF0oKdBBR/uKPSd5fCb
  2310. -FbMKDLgqmgbGlAWKHx0gou0oIW3yT2HCLyjQZhFJIDG3O7wKGu1Bna3kqgKiDhS7
  2311. -5ecZEZNIk4o1+ONu37f9IIDSriHJfbAIEzSj/Np9b57fo9AXaOXPm3HJuI+kwwIQ
  2312. -NvD7U+yvR8zrU2k0J/F+UUs4A9je+jg8+kVFIIlGWFx+6EEWsqEWzD4PWLfQBrjX
  2313. -VeFnpczVzMlGZE41RMKlW4kCHAQQAQIABgUCUjJIiAAKCRDhZvoRVxE5FnSfD/4l
  2314. -4bVSmoeJLLR30heCqvQTews+0maCsLiU6upl3BwQKxlRi03OrFxlTnpJ94bgzhZ/
  2315. -ek8j/TDpo72b2mr9wzHl5IAldO9QQDQefxQrSf382kbkbCz0ONnR4eQfGXajYkq7
  2316. -6hogZPYXrxTJUCS47q7F3RLxvwcxxJryyH/UIGqxinSaGa70jh4H6TiJTm9PFf7P
  2317. -5VxsCabp7EpM/vfKogQIYIFhZx+5xNKV/p2nJCMD+Kpl+lPSDEgXph7lQOceDSTQ
  2318. -mAXbPkVjQM5u/PRlJZICQ5Pgm1wltOqWcgxs/4fzrajQZxfg8Q8E1GPy7Wk1wrkQ
  2319. -2iIfnZc8aSg5pNMhjmChNja/H0mOuwAp/YUoP/9XoX3cPHA0xnISg0KPaDyGIWH8
  2320. -cmgDa2OT58c/vKh2Mw6UmkLieafbQJflUgyMrnlD3Ic8RHcsrfWZUA/7Gm0KhOg/
  2321. -QlDGkm/hqPVMD5MqpZckAWXVNvEeocisxjUoQUMyAmtlHTrGMksZbjLnZqKs4pky
  2322. -u6LYzxYSlt+L5ZN62pNQMBTkV874Yrz8ZZIjJvuxbmL2aGrOWFQT2uW6WGdOpvk2
  2323. -2zOardDjel7XgqFq9t+nXV+B6oR4Kg/wgCMhc1ZfOEZ8wVgLRsZ2TcvCJR90yiCc
  2324. -j7WAliRT8MNqIFJ89Fe1WtqQP3dhObeieWo6PFQ75YkBHAQQAQIABgUCUlm0vAAK
  2325. -CRCCxcAJYo7PDG6IB/9ysUJhzIM5sJTMgzif5L00tdblhqPgy0nbECsy+TtspQMc
  2326. -uXrfPLUQpbN/AYz09HamSIQmBwkgEctOA96GlG9nF32WkT/zZcycj30dG27XWuGY
  2327. -aOr4mIjb+U/zFAMvQcKa8DgOjtzBMKh30Y3dEhnvMKMzmxy/pBGGSVU0gD2eFWR6
  2328. -oxG0GVEsYAGBfGOnjU4g40essxHcmiwNToYQX4A5O7T09sQqtqlP4CUkSO8DA+oK
  2329. -G4w/y4I4Sc3nEvgO7wzg/zLxy3C2DAzbQy23ea2dK35IkVqkk9aUuT64JEs6/aEO
  2330. -BrtkNlByeO+8u81GGrEKxLOemrepzHSpZ+ddYsouiQIcBBMBAgAGBQJSWdZfAAoJ
  2331. -ELvkzMTyLzm1AQgP/RI77Zbjto8Ql6a06iV7G/Bets+JpJd5jr3APXEETFzrKuon
  2332. -GdL2d0SuNYCfG9e2RG/qNUuOsySzHkV1MP0dw8Vb26za6vjZ9T7XQnVccL11uQ0Z
  2333. -3QwP3HlnsCV2ZAEVaBMVXa1X/osyV++RycSYT35cgMV89pa2mc4cz6AEJQWWcyO+
  2334. -FEezmeikwiutasdRMDGsJS+zQXKj+lgfZejKDBnUYd08U2BMEoiAKdhaE3rCMYK6
  2335. -5jxVk7m/1/2OCisQ3V8ZwE9kGydZ1ViLDRzHKuuWiTe98XhICCwfAGoAahx+Gd4y
  2336. -La7/ZRojW43yTPxhsd7PreW8DdmkqyYOY59LO5BHyKr7XpAMG6ikeZ5JkNUMIOBn
  2337. -yUwt+PEV8IhbKT2pAWI7pdJHFVDCXjmf8Z163khwsRPdx+CcbboOT4G5AnxUm9/J
  2338. -dxU5do4BMmnfq0jJ1brOVepu6f51bhpXAduFOLxtFTBvfciC5aYipPdBMXznlTkI
  2339. -dYv1LLrq68SP4qxPAjOtatD7UerI133Fwj3cNHhWC6ZX4N2jg21erAKbZkijTDyW
  2340. -xPlmC2rjxns7gMv0y6IDvu+E76YDgu1Bh/sIcRLoDQdnlH4WINs0mqOTpujiEc9x
  2341. -cR12DNgM05+62f5wm2xsVHFAI5CRk6UIo+eOCryBuD0bs/Z4OI5MvzqNLJ9hiQEc
  2342. -BBABAgAGBQJSWiaIAAoJEBu11uOrln2o+QoH/2avWNs0Es1UZMhQ0cdKylEiiRJY
  2343. -Ouv0oQmVuVGu+5yjsDSIi2cVoCAs0f35xo8RS3L8zB5o2Bq4+So3OR4YPr1SVwGX
  2344. -9OKToRQTjucN6hn7i+dZewrc59WjtfejeNWwpOHnHZbE3fpUIC4SM6UM2SiKv9j/
  2345. -RxCWQKijmEQYX2yuOfpE4uETX/COZcK2YtGImNZBkZRDYh0Iw66LCNDHEU3pQl9m
  2346. -30z8HwbpVZzwhjhqWjsc/YEh38pULL07aDNnJ+Tvwh/5jzIdD0b8RPT8/84/33W0
  2347. -uHrkPa9jmIOpKwxZxvRVMyYxdL5+Q4z9nVfyqxVolzPKd2Ja7+Wv58t/2cWJAZwE
  2348. -EwECAIYCGwMCHgECF4AFCQhuLKAFCwcJCAMFFQgKCQsFFgMCAQAFAlJiNm9eFIAA
  2349. -AAAAFQBAYmxvY2toYXNoQGJpdGNvaW4ub3JnMDAwMDAwMDAwMDAwMDAwMDExZDlm
  2350. -NjkzMWU2NWY4MTRjNmYzYjIyMTczNmIwYzQ1ZjI1ZTAzNjVhM2QxNTZmYQAKCRB/
  2351. -qxFCZ+T6BBKdB/0VGRiDSGFvbOIf1I4dMH0JY3bctB2DoD/IH0bLj6j9YeYSx5fB
  2352. -gNuMJkd10FvISFwPGEXGo+feC4LHZ6AzaK91VqHZkBq9MWWHLf6fVj7/N26NE0EV
  2353. -lB+Z8xuVHMd81mkKqC7Kh/gby+9/oF/FCQzykOY/Z2o0SpU+GIzOAZzsznd9o95m
  2354. -L4Jkg8XBKBvczotCqEm28uA6aqax1/WhaYQvLaz/vbDimqR/WvIL29PUVQEXSUNB
  2355. -1WqOHMvNRBna5kNBxIbMxcyC2WL9JSGb5SILC4Akkzblawg9iWNqcuA1m3p4OJaz
  2356. -daP5JiqFlZMQUni1EOHoxurR0+tEZEaMJXMviQEiBBABAgAMBQJSa2veBQMAEnUA
  2357. -AAoJEJcQuJvKV618smgIAJkTHXzE12KgPxpwzQWbVgPVGnXzHzzbOdxuZh7yWNwi
  2358. -ReWk1g1H4uJIJo7RzLI/GIE9jONw/dLUwhFhxu+9bIHNix+5Ry0BVlxiS+KvDg58
  2359. -SEp2N51zWo6q7d13WvrnJb8eNQNW2cB6wC4VEqTSzuISO6+fCXMLShL7vOP1w2nO
  2360. -DVO6WVnd5TGlxalWbq+WSv+uepxfdwZUPxHtDegYTJTLh60pdDHcYPERZfwmvo9m
  2361. -zCQo7QXXiWuiW9/DGJZL82tB+v//ExiSePI/3FjDt8m3EhMYQnM39z4eLzj9XLTe
  2362. -mP6Lnn6xGi44u+nKmy+7gO0cywHlG7Oq9cukmZ70mkeJASIEEgEKAAwFAlKDsysF
  2363. -gweGH4AACgkQHN2toLREzdrbdgf9ER/0JR23pewJYTnx9LzXzQCe/E7pFZmjDyBH
  2364. -SW0xtRo1AJgVrgC40yN/vPVIU8k80RLTPIsOnu4tqrtkL54SL6iHRAXVSH63EzK+
  2365. -dpY+rz66tmaMOJj5H2iWq9rkDVg9k4RqRLxvKFJX0s5BR0SQrRTwOFsfrUxPIf4t
  2366. -3F6Xf/Tcf/sE47APTKQ6hpmUG021QnRV+vQ3Ybjgq6CUlQ7GhJ+bYmGcM05rlOof
  2367. -s7ngKy/ck37BPpZjg/taffeDQE2cAGeH3OWCcQwVvQ9ouUybKMsPEWTKh57LrDMI
  2368. -lJvoVnM1eiUaTVG9jshxlt5nS78p5yhbPsuYOJL0MR/UOfgZDokBHAQTAQIABgUC
  2369. -UpznRAAKCRBKaNzNVHBZpktrCAC1vevsh730WZvnYUvkmx4guaKEl6FxLRPcjvUx
  2370. -Qo92fP2qNRZNg2Uv83yAJmcNi5GnjqQCxK4KsjChilsjK3IAbzZ3b66BgHzbO4Lq
  2371. -FZAOqefCVXbYiLeEe5naYTBxgNkuDyLD5juEgX926RmUCU8NN1kCqyYsYuu4QENg
  2372. -5vhpWAPiigY2Uran4d+27PtDPxeLXOAtLglrqmWDyiJmUKdN/5RxEWfe4/85ufML
  2373. -cNXI5rfn7tBNzWme1KvfelgVcOcAS0HKufPfECc0dZU8T7QbopomIkP9Z0PE6LZ0
  2374. -C3dw5MNUzyjcy0uJa8RqcjE9dKUD1i0ekB19r/P+VjRRhcodiQEcBBMBAgAGBQJS
  2375. -nUWiAAoJEIYkYeTUGg811+IH/0r2dEZjYwELTUy4R0YBOBFQJ+gZ53UjsKTYFl/5
  2376. -rbiEJS1U16uj199ZjT/tOn0AjkJR/WOydvvqRM03m0pWawQ+TSGq6fEIwdsNZqMC
  2377. -35gWo8G68dBG8spBEXjawqTuPVcXum+bLVLWtgiP0FGRXCrV82tkq9ZR+fD36Ich
  2378. -QFe+LxHU1ujZXBBIyTb6xDAXxp1JcpinePnxZahXUyco6SFHOB31KBgPk7gkdNAZ
  2379. -YBglFw7ec/WWKFO6CEeNPshrCjxshfCGDCao3LBm1g41J1ymgYgcpIkVN840P7vS
  2380. -DqT9cKLP7z5e/zrtHmVCd3Bqe++AwWQ8sjVaZI5hoDnCxj+JARwEEwECAAYFAlKf
  2381. -jscACgkQyRCzVY2BZdOO9gf/RLmYgw6tN1bSaZMHJFVslNdajC0XveyRQ27vZWba
  2382. -D9nJdDgJwa5h8F1b9qtmHZ64iKocuskesAMXdRGbvucRnP942RjdeJngOEm0hijA
  2383. -fW0BN71tw1p9c2sZ/5j8LcF6nVAOtgxwgpEZXyE7+N1gVIdHNHGZgy/tUjqu26Xx
  2384. -YaUxnIIFXbMKrvNKw8nhADsYtbbavEmeNZMowToLw9e4BNv2Ha8HQFCFbVZkOynl
  2385. -a+zoLkCSYON9v84aidQpw3qSqx05WqLymOz+rDhuNKK1TfYjv2LXdm3MIpz+pZyw
  2386. -B6kOYV3DXhNsg+X0cq18IXF6TLewrJ+PPwuGePb40JzJQIkBHAQTAQoABgUCUpzr
  2387. -4QAKCRDmLFQ5uKm3TepFB/4gQ9T/Ojr6nMQ81j1wTQJwv6Qg8YqziqfACIoSUWXG
  2388. -iNMKYsuhlv/X8eN9Z5qcVkms9eAMHpX84D7W1CxrG9oEdQVttq69grdoaYiypc2R
  2389. -d9i4tDkCGaVf+C9xvzmJL1IgSV1YUcKsxwdgSqzFfkhne1qtQcoHXsnWNlpesF9Q
  2390. -Fqzzw7oHB6eJ6azHY3FzsamambMVpgoFjdFV0EZhMn3qYQ1nu/L1cVfK7nD63C29
  2391. -/w59ftWinEgpnaSbPmcPfFKRvb+w5NffWEm7F96rGVWRcQ8KhiNQBWXk9vtPMdHq
  2392. -4HrF28baSp6ZQsU7hdRXX4A7dxJ8u5b8DqvoDUDS24dliQGcBBABCQAGBQJSn1/D
  2393. -AAoJEI6Zuc/FoN8GXIUMAMzPoan9Ifn73pnEhlmx+/E/ZBqyHe0W8rvv34CTITHy
  2394. -xSR5kg2HjkuLkz+r//afa+YJDkl0+TXTqOOAkuAH//QrTsj8+FOfBbhTPkQsvFqi
  2395. -wLMA4NBhkdl6oQiAzlOjUan0KnPvhLgy1X0hL5KD+Iqia/WnivlOV7eonjaK2bZX
  2396. -eRssn1Z4z6l1sV6ygNqAgWM7CMti2v+BQ6kzk1VVlipru8+tp4y3VgJ01G2K2ieb
  2397. -+fW0qWqwipc0f2cTeoAVjTvnVVFCbf7S3Dn5Cpqbwts0BiqHQEJDsh54NK7RU04I
  2398. -z5llAP+TjCDKhYDvg6IIe2VNrFxr7xES1WcT5Z9XIwUOhHhZuR9VApFT/mXbA2ws
  2399. -HSrDVkFhSlhpC1LdoRPkeIAYNBu6cvg3rQyAim5OmdwKBnWaEG0C6l11b9DsfqOW
  2400. -IWs+3ARoWjNvi7/gIjLM5MQ2Xv/Cwq1oQJCxOPd2NbD188WnJkxgEu4dlKQdAZE/
  2401. -6+/3AOaKDi6YswLH+NmlHIkEHAQQAQIABgUCUp+JCAAKCRBkfzWXiao8miOWH/48
  2402. -8WA0zBvsgIJ8FlD6KwbKMOT8wvNqo22s0vRREPogvA3YFdp+gwarOVtozzoNzq36
  2403. -ZEy1TESVlpJ9fFGVFxfR7MyuWB35+SZDi6J/ItjrqYracq+bnRx3q458nP95Xze4
  2404. -qI7e0YWHqACWlqbnwr3xZGPoEYzKshTynga2MMooX7RSABk7ZV0j8fEvrmrSwhOj
  2405. -N4S6Ow3ej9LJBAwms6JdSuOnx/+VBdbQ7oKGRzQgD46On26WlV0jH74pJSDXWLQ2
  2406. -CrSxz/ftEtZzdqofIbDYhr3PMe7xah8UzJuuuIV/kvxZTHDxbubSTQHTsOFhqCJr
  2407. -97Mw+grT2IKokWyrHKRbM0W6yw5tAuc881iwF7t67C8/WbenkC/KhceN8JC8gZgW
  2408. -fDgKsxqMuXCg929Ps1KIxqH1uMIOuM4jo71UmKoLh3JI7Jyp6cI4LNq6nSbXn4Dd
  2409. -DmMW8x9e3LU8HZyizoixW+JDY1W6LWWNCtpmJa8iVg8jS7SOAehsc5lz5dGtUEiZ
  2410. -c4fL1kOKAFsj424spEGJxIwrE8F4Y2DOJFz7lRcQ9n8WAT+TAFSfUoiu8X5qrnQA
  2411. -vppk1tT3TADbCFHMFdSFJ8QZMPmzUZPDmrBFFXrZx0vCm9uND6s20cJYGlEyZGAl
  2412. -Tk7CYchDLHi6WJ0zztLGHXW/Xc8SL3aRWSGr2fjNOQt909QIKm9g2IiIFdbVNKmj
  2413. -ai4ku8CVPSob9NxP+FfSko6oE8pk1ivi/9NBkJKuIo9V7eLDqpN2PyaQfTWmy94t
  2414. -WXPLnxlYbVdIV2NH+ygeBmJWzy5P65Q3n91+NxINBobV3tnMNIGOS02Jftgo3TzH
  2415. -ijh3VMBr3zxilN9ysGPHDFuMSMI7dCWKDXgP05X/Zmvk2O63cUDts99mL0nCMmG9
  2416. -RK0J0pbUpSuFfw4r/rhiwSxrM3narbn1XSAAvuaiLrQtMvtCowWkqlMJNAtgFQqJ
  2417. -a6nPKyFtcvx649minygO10K8/2lUy/QJDcs5zahEJ/lws99tqaV0RB8uz3f/ERw5
  2418. -jH5eIKdJzrC6zgCP6ZT3VC7RNlngoUXV0b579a+ziVLu6kU7KGr/8Y5bLQo2qZ4X
  2419. -FEIrTd/gwj0yFw2NlejWVF5kifwVSgA9Ft1gSpfSkhqmNWEUfCWi7eLTD6DVb2gz
  2420. -ewy6FfyB5Z9C/tPW6Jd4u3AzegK007wgzSf8ZJ6YdI5VWLVoFPZTO/zci1HNTWcc
  2421. -DWNvKJeEIlyKnpZw7V749PlABjvDkjzl9zab0cjuQ9mJ0jqkyyvXOxW7o1YiLANx
  2422. -51l8dvqw/VfXgMzcOyT+M0/4VtF6M6/SYA+O/cT1ox4AutqDMOWavVDm4cPLm9SS
  2423. -NJ16ui6cFnzfxaoQsAUyiQEcBBABAgAGBQJS+Y1SAAoJEHrQqRxAvQCReG4IAI9b
  2424. -0XlPZyCOy5VDI30nSJl3FclkOBHPVAB8Lrg+v4y1InSf/uSS7IrXPimVSwAAM3P4
  2425. -CalKmTU42zg9Khr2TyIdtoSkD4aPkpxMQGOLpKCIFJlg3M1Y/sh9RZzlx28CCS07
  2426. -+tlZ/6Bm9dnkzmdN8r2NisVGxHh6UB3pAj90gEdVWTGYru++QY3ZPYVNv/x7Rr1x
  2427. -CWt+J4RZ+r75BBnjfSoNpuWc/wWXhlP1P/+j7ybtm4Q/Q83q68tjO+qqJ2IplNtl
  2428. -h71Her50PP9lNwcOmquFoYLS2DYfjPWMVLhujrOV7YHF+cU1CJGJexs5o1mjqzht
  2429. -icNIKkB0Edwbx+ZBVrSJASIEEAECAAwFAlLDzo8FAwASdQAACgkQlxC4m8pXrXzv
  2430. -ZAgAv80517fIe3nn/EQ1M/gvop/m9izI2mc4dRfOtOfzf4aLAlqSFD1EDt4dM5zg
  2431. -k/hSk5D+hzs2yK+AcUXEVUgzEf0wGe7CA3RK3yZNrrHqtNPhHGH8LTb9QhFUZL2d
  2432. -83KKAob5ULEtqNgB+DJn/UWziQ7vyAHeR2LcXRPTTU06JzNTnNFTjQKmIYIoPg1e
  2433. -JxqMc8K3DS6yr0IDtwKw3JHyaCY76wo2r2SJb8v25cGFfPQXFZgSfWadAT510XPl
  2434. -Gv4nWkoAPkoLQM+1TefSbEV8yAINZ9E+hiZ5O8phK4cWxrOF0WSBsjmiMJIHe0xQ
  2435. -58lahdYOvKbDCeCL/ukqa4XgtYkBHAQSAQIABgUCUvnmdAAKCRCQnB4bSJrWvNTq
  2436. -CACb2WJHuHb48LmjqxHtCltOiX1bqUd4XM7urACyTIFpzPpbyNww46hCleKW6xul
  2437. -nvZZmcC7RREC9IxAu3u3P4wkxUhZkNAiOQTJ2ZMRmvSiNPZGF/CIPauLUQbfwJg1
  2438. -5yo95N8XM8vcF191RrllAmUif7C0k8ukMYqLrcG30uSGvVW74zhZx7MzosL0XFOX
  2439. -VWcOf487jgqGuC3L8Vy5bmJMEK7zCGyYnmjmHBNd/dAC1g8zclaJm6Yigh1Jpsdk
  2440. -JvF6AcTKdxXHxLyyg6TAzxiuDooYuiAHwnL6jqvo82KuLPZdf3qocf3FjP9eAbMZ
  2441. -W+B3Yk63HojazU7h9+6BJIp0iQEcBBABAgAGBQJS+v/xAAoJELwN6FPCfm4zgKcH
  2442. -/36QAxvIhhX7poPNCwVnrnpaHpVC4MCvZjd4bKqp8lVrZCryKbMkpfGugGE9FHF1
  2443. -svLPGJPvf0ywkc3UyJx/m1bbgWijHmalzts+2MNoDTEH7jGikkfe1Lt3SudyYtBR
  2444. -IAarDuRO1PYACkJsasa9uOGhkZ3ttQtKxGQGf7aZPtLAGX61Ai981QtGMbHgjlyH
  2445. -NIbZB0yvLyP3P1CKj0PtnJRmi1OeqWfWmsa/MoYd1ivKZZvpthwVcRxCeo5Py5iw
  2446. -oXygraGsVx8IWqBLcAX6ne4L1ZREzkzwMnh7tBd2nhwi3qRSieLOeKo8dUmytIkZ
  2447. -lrkmrQ3l/dHvrq+SPI211cOJARwEEAECAAYFAlL7hGgACgkQakzoN1ov57824Af+
  2448. -MnuinzqvZ7pvP3+6Gtr2YkXZNj8s0TlAZI0+ziGdJXzc0yGMry6XynJltPjhtnCe
  2449. -tJ4tWSHc88Ardi3VqLrUYUJj5Mm6qVj1QobLDaih4yaZChy0TrmGFLKd8PT4wI/A
  2450. -2fWPGRwQYCWtgcz3NLmgV+Nt1XaofTRDJHk+hmvY1c7SgdIOfNB9hRcfTWPmKr22
  2451. -fxw+rMyTcY8Gy0g4XKxhsNATa9rrJvXxgBqOznXjIEpRw+1SzKj5MzP+y45ZLaMj
  2452. -tGfVFRIj9Ojy24te+ra8GN7OdB33D2mZdWhr+XQWTjHQGHGqnJEZG7QEEqLwydC5
  2453. -REeNId1YKuH4r+grqD0zZIkBHAQTAQoABgUCUv1itwAKCRD/tTl2knWVi+5DCADC
  2454. -3CtdnOYpX1P9zt1XGPPmInTsDYOjHvCmurJTVL9TQAEytqhQQFBlmFQqFiNgCZ3Q
  2455. -mqvRr/k1DpsNwKIkERVMAmEncLPWC1+ZdlJ5aGQZpX7H2jcDH/6LItKZl6iENxJV
  2456. -1uns/WQuIsPcDTD/ca177tAkXOcMIBQK1QJvKq+7lfcUsqIsv72Sov4FCMw+C+eg
  2457. -b0INnpR3pou8RDbe/LJqzAw55puvp0yDja9WB1XMoiV+JHulgnfaJ52L/4pZhjT6
  2458. -n9BdxrBQ14xNteg/pH2GWngjkHjK4EPDMjCyLxePfkPkJMs1ek2+H3pJuIvKd/kX
  2459. -VOBR3n3vK2yOiTkTEV8UiQEcBBABCgAGBQJS/V/9AAoJEP+1OXaSdZWLrWcIAJ0h
  2460. -peBNXREPb4kkfF+RpT7HWD0u+i6sWb5+Yzt+vuRip7JkVu+7FDefLJ6ke0nEu6xJ
  2461. -+HbAmZznOjnAg3o8M+XD9NIJT8Z5yB+ikQ3AZuZ1bJfNC85++oKGq14xJSvcA/4f
  2462. -hLdGNmj05ijBMYLsdzDL+Wkdl/69sultxs4nD6mhlw2epZtiw5qj4dgbzz7p6O78
  2463. -3pZgXBvy5UFxgxx8hZsjDAayodfyebFNSLXC06uVjafFbtbQZc83UfJAxwaW0jF6
  2464. -cl0n7nquGPk1TNMVCHOd9VNCdhPlFJHctUbIv0+HNrzgWCrmN1JzP4BJZsIK/Oqs
  2465. -j1SoFdGwxRWpSNwgO3WJASIEEAECAAwFAlKOadAFAwASdQAACgkQlxC4m8pXrXz8
  2466. -wQgAj0li8ga7DxoPNue6DzfKUbXw/LqjZUgs+d/MlHiEXS9hEMBDKLAnpDVIwSQl
  2467. -Ldu7UvanjpWK5UVj4jTMnNKjJXHRlFc1WBRrehOFej6tob//cd3czFKDG+IewnQX
  2468. -OLI7TA3uP5rg9PikGJOUW7wHUwunBdQl9XpLJe2XIhR7BAC4ppYl14OLDXM87f4J
  2469. -grEDv8po/xdY+s2ysI31g8/v8mg2ROromZ12HMrsirqyVb+dyNFxcQi9U9ZC6h8V
  2470. -00G4+duTjJt8YpQ/DYybVpMmVa40ePV+Z113OFZn9JdKs3p0kSi8csyLyItyJ62K
  2471. -c3/yfspKE3ZDrd+FVJ/VJXUIXohGBBARAgAGBQJTGOluAAoJEHc3YWR7U2QV/1AA
  2472. -n1bPtu6ZiSp+10U6yMmEvc9jWGlbAJ9tSDXgb9k3bFr1scJJ5kBsFJLGJYkCHAQQ
  2473. -AQoABgUCUp+JYAAKCRCkTD3TpUjY4lRZEACqIACFZ0JHma1seks08qGrOYAIJxd7
  2474. -VS7Pgk4w8/kYaoXePs+F2Liaevnd06aCytJBxa32yR9fsgoPwoF2I4tRMCBn68Sn
  2475. -lw/te9SU7M9Prrf8Rq02gEO7a2kqAH6ZNcUHdQDw2U0Rj4ArnZkHUh2Ey4TJwVUc
  2476. -tZzeXxlpgqYRTBLNaJyyBP53N8A+nHtpcqJYdxDYMMdTYVNs8epvRMcRfO/dWnnR
  2477. -lnco1ptge3cwm7E1/zX96/7GTPDwvtWseo0PF9W6wbaWTNm3c71iDXJbNbcVWdFt
  2478. -BEJZBhHzciyN3sysHEI6IwGzmmpAKpQJ2foXpYhxy1LuHBT3kW7dq/mOnr1zyjkI
  2479. -eLSK4eqiWzIAePoJfeQUbWkUIAdSSCYXTNAb9dV0rdkn8vZRZvVS+suHDQgMYtMu
  2480. -pq3Ne5nJCVwrmfnzBj8WVKkPgShMgro26z6bFVIQX2dv8B7EXIEbut3DNeySZiaX
  2481. -YoMZRADPHhwO9BLhFwllSEW0uHIZSbPWkQu4e5cbvMPc1PhIB07lcPSP3VKXNSEF
  2482. -62zX6r1puKT04WHiwOZgeW2iGlIvGINawkhD4q0mGl2gsmD9dUEpkskAKKQI1BIn
  2483. -v1qxGbXYZ3mZpStf+w7FIDOOA6pQao/h8yLkcZ6K2Bya22vp48pAlT4oEyvm3GpA
  2484. -1X9/4W7wqG2EZYkBIgQQAQIADAUCUviNcAUDABJ1AAAKCRCXELibyletfIlwB/4v
  2485. -gUDitIgIRGSNt+g+Gl74DezowmbhEQZTRPJH1Uqs2nCr23ESZb+8ROGnY1yYiC9e
  2486. -jfpAabE6dPdfHqZq1XHo9je/LKq0zvaOWa+VKUScpQH1LsFM6K9W0lWtUwkFtZPZ
  2487. -eGHvYVgMoZvyq8CG433LOl3vuV2XMiEH4Qorq90INCugf0Hm/fXfw2x9632NlMb8
  2488. -dcw2J+4bEMYabBdyd4eTMw8MhutcmD1iWP2D4GDcf3wHLxALM/rmVyHMCQ/fEYp/
  2489. -ST1T0tiIS+UIEs2pZ4DtN6NWMlJWiu6BY4ZObSsiiEN/5HyX0uEqujAgQ3SN5UZ8
  2490. -oDA16dec1OOhoEZ1phxHiQIcBBABCAAGBQJTLdxQAAoJEGC0MXHYul9Bl7AP/0k9
  2491. -d6JtKAllAkACankmXWjNdzgqDJMES9rqiSITn3e5l0Yz6L9O62E6jg6j6qD8YAu8
  2492. -qxBcHNMjbfV4EjXxxFVvM9yEcdLWogrJzQ/ZTvOaiPKq3QMX908/g7gCTsjp4zWt
  2493. -p34mfDK8SelWAvboTbNEXZIQe8YlR17Wf4/DGeJOMFihmF159D8sikXV5k/EMUXs
  2494. -L3MB/m8MfDcHumAOfZiUhmIILXhlT3cCw0AOkJ97/u2eqlM6C7t5fLGC5k9tM1Aj
  2495. -A73s8bKBor1Hxjlct19o54/EpzmtLjg/UVdJJyXhvAFPxXay/Ucf4Kjf0gUNGWNq
  2496. -QJYWPINBDjZmPPvhFHniitgGFNT/kaP4HnmDRUPT1gGTzAlbVSMknBp7HKxKui+E
  2497. -HTrd6+UCh8ichYTGaKhq1yCMNjCC1FTqbLbY2o30pRn7LCQodWwvHZb+H/3LOmA7
  2498. -ok2IM7SlGYfLZAQ/Aj9UguCab1H+YaGZV6x/SSIVwXtQURN+c1Cr2JVtkfEI3dzi
  2499. -bx81TStOh6zWlhLVYYlorYM11kv1dMpOljokNAsdfOyNbtEI8C5M9Bt/VuCGYscj
  2500. -UA8gq2WX+u1Q6Afxdg8jGK2sMxZF2iiJ+fG0qvLX0Z/WIS5jQxhMA6cdrXnJ5687
  2501. -HpXDmlaUg9kdoEohKdLH7Gg6w1NWYFz+m2tb2gnkiQEcBBABAgAGBQJTPNquAAoJ
  2502. -EPYiSHm2lQsiBcYH/RdlC+JjtI+QJLvupWv3SvwATvDYat1FqqHze7Qp9WHfWrph
  2503. -SvXZBLKZ/ZzBUtzYLLAV3LP0Y6ZSCLuFTUfAkoqTm8E0ucKjjW5alFgSbPrCdY9D
  2504. -eH+eu33uZbD+TRkEmzCDPoFay6xL7ONMBD71JgW+g9Ztz90hz2xZGo76163LRX80
  2505. -lqJVuM2ECgC/VWbcyfcYO23FcwEb0UUAznPvh+dapXCl7cHgvSMXlUwUCqhQclnp
  2506. -/NPyMkUessmV8O5wOM36pkVG37oJpyoDSHEORELdX7NE47+X2iyA/k3WGOQ0BJQB
  2507. -47FJZMcVfbigK/9zhrvPlGiI82FYmjFno4FaUhWJASIEEAECAAwFAlM3HCcFAwAS
  2508. -dQAACgkQlxC4m8pXrXwQLAgAvbu9U9o0nRAk8ZTDTIap7s3cch1lw5nTOZFhWl1A
  2509. -ncPAYiEz0BLqS7YBeWpKKr38sbVuvpgXBo4vpEpRIY4b7TUp4ydYJMTry8XeErrZ
  2510. -M4my0bySels7CZxowsiaLoonTwceMD6OtE2WKa/4gSxMsLy4nWLxViJ+0ZDkGUJG
  2511. -vChC1z1QUKz4A8+huD+1c79HbNm+TEXx5vRsYHesVaIypbSr0KxP67RTySTSaNPk
  2512. -bOt4jFZ5b9HamQywDpScsN7elSNSVGVJPvCmlEUFP49eDxFhoDd8cFAZuqljT8Ch
  2513. -cinkvo/by/bZ9vTbP7GltloXtgKJfmrNWddzV8zOC+W5CYkBmQQTAQIAgwIbAwIe
  2514. -AQIXgAUJCG4soF4UgAAAAAAVAEBibG9ja2hhc2hAYml0Y29pbi5vcmcwMDAwMDAw
  2515. -MDAwMDAwMDAwMTFkOWY2OTMxZTY1ZjgxNGM2ZjNiMjIxNzM2YjBjNDVmMjVlMDM2
  2516. -NWEzZDE1NmZhBQJTPx1GBQsJCAcDBRUICgkLAhYAAAoJEH+rEUJn5PoE+QcH/jdh
  2517. -L8CN3KyejH7hJJc61bLiudILA1viZ0YI90UeoyCqzb0QAlA/teJd7Ieu+f1+kX84
  2518. -5rgICRYGZj3p8HJIzc+q2pDhlYYlB3u5fP/U0WiS6PzuMVvHEo7ifW56M67cDh/+
  2519. -bxbNszMnMaYErZfPL/43Orad5lpSPjvwxCFDD6WAQ17qAORg/dBv1rj7vtVBFvMg
  2520. -C5Sp09BdsotN1rlDyvv4SyuCK2IHvup2BEh+3tXLm5DnuoDu8C8jdCgOzRxqA1n4
  2521. -QYH+ITl2DLWD9LrDgFIAEUOuWA2M24ck/OSSKTpQw1YxSTC8f3OppYGjwVdW4uyR
  2522. -vvr97s8q9ONuEIyl3DaJAZwEEAECAAYFAlM/F5YACgkQIuNMkI8Cy6Jq2wwAlLGW
  2523. -sUgLsXCDdzH/moB2XOqB42cSxUAq1Y9TASdyvWs6mUsmvWib7JuyP663JvFIEq/6
  2524. -IkgiNSVKf+P+Se90+loz5dk55we2/bEjUTk3WC0yFvuGPr95wU3v3dQieD9Hj58k
  2525. -x43k0uFzzNDFt2Z/ZoxDxstqkUgDoi9Fvo4sBCL9iih+ZRnrxZvoFDDp9bHuVeYG
  2526. -mxfikzx/PfiuOXDy0GV9b+EUYjoFIGf0CDoKu1LxVAndAB8QY2Z3v7QztNOJdhQh
  2527. -Be4i7vCjUBwJ9n/9KKgC4BZ6kpmFDTDFj+/YUMti+XO0N7LxDGKRbXD7bLNB5QLW
  2528. -2DLzYg5gRN1+atzyj3Sixcc8zgm2chp/v2GgJ3gKQz9CEyKZVX8eT2iJFQxUISjD
  2529. -3obbl3+KIDfQnahv2WUSs9ncWtAq/jGz79uQzwsT6BKsxppFaELPRWyUZnjRtI4M
  2530. -nPwYmXae/u9IB3nDfk/s2Vq7L96ZYBMnnnygJQpen59mIAs/ZA3lvdud2LggiQIc
  2531. -BBABAgAGBQJTPybMAAoJEIJpXKCOp5VTbVgP/1KaEAPrhvDBaItMEm5uyu8nk+bC
  2532. -U0ak2cj2b+QukTeAhtrkj1sa78TD/KKjAPcMSMxWJNyypC5+mT0/qlVhbxYd6TZs
  2533. -WW6jR/XjCvPbzSyEeUnt7R7SngpjfyRC93fr+oT0ukFLf13fYL5vhtd72S29oifz
  2534. -GG+/ik62sSJqW2imCTPVNoviR61xIZ92G2Q43QZMBPADWJbHH0Lo/YhbxcPeInxs
  2535. -JYeTF8kO/yUTGiO1CWHx83gmVWgtw/IB+99iFC0M0tZPBajh1aK4KwwTw/WGVW9O
  2536. -VINm6S6Niw0UEvE474e5P47fz9KL/15A/JYqxpbowJSJkdE1RYPf8TP+AIOPhSky
  2537. -JiZ0YKWDbAZjKsn4ySA9TrkeQ80WZeaJlLS4p0QP18W/KRKUWcry690dkfMJkNCA
  2538. -OAb+mW6c9sLFAUcQtraCryTaTKmbSFUU8Pklfi5FqIEC7MxIsMY0KfuiDYi6hVzT
  2539. -EAwgmcENkcOXEl10pLuXtKA3oNT34elI88sBaNGtSmsVCVN1ItmxGIxtl/unlD/H
  2540. -BmZ6gB7fmX9NXbi68R+3pqSM+RKahIDbcg5KoEuFkMMzUkzmgIaXlMyFG7WDxPI8
  2541. -mZ9+dN9THddQ14TP1EP3tWRNHZZ8wNm8y5OL5+Lr7OUSR32rMDBKQ36o6JRsIwQs
  2542. -IphQUzrgVZun5n7tiQIcBBABCAAGBQJTInByAAoJEMIYUlgZ94RRCPAP/iGwt33v
  2543. -vnei1XL7YU8lsQ2JqyBspoW29ZCXSpnSmSSUE1CoybdAaa7tTxufTvCJtqUQPLXV
  2544. -Wu0oFFHwdLEm/NGOEpN0aFKj9p3u7b8Rlw2sUm/a/7Q4eyXrWhv4/JpnoIN7Cq4w
  2545. -vI7tiXE45I8Vpzsx9G7qqMgGy2YRUOP3s9WBbLqFf23AvU/EFW2A+HBvmuTsEl7/
  2546. -VlVi5o+B8QuQDXiEBkuOLdErWzQYTtJWBNEl5DpeJKvTZdC90jBP3jgtA9AvCVrj
  2547. -QBabrENezzTF29OwYVVuCoP6tvIRhyePoQt11guT8vi2q4oYgwiKhmR0ZAaaYfIX
  2548. -p4zPkgSCmyhcjkwRq/KAyPhemWcQUddrWRpkiRZ1j1Dii699m6LSqX7uISjRaGNW
  2549. -TE6RGseTNNMT8X15BLpa0EZ+hML0cVFzU92WCNyMcZMx9z6+oi2ntqGkF/CQk+VV
  2550. -q4I1ZciJzdaVStT7KNUjLt/vQlqfZbUzw7P7kG8Q6iqRRzkK0yDgEKHpxsZkGoeo
  2551. -H9Di+sb8RxpS+QlCI3I2jMcC9EWflhGtxe94ucbA98drM6ZMxzEAj5E59nXoD/K2
  2552. -i8PVVfRSd2rDLL7lL56PlNZpz1HXeH86kGXRzIucM1JlabM3I+GVpZCTucFiGkFa
  2553. -AxJYEIwNOMz47beP2/4J9ttOiZ7Ex4/HQ6QziQEcBBABCAAGBQJTg5KEAAoJEO0a
  2554. -ZQcAABARPI4IAJTM0C9eXIYJUCmf4RAk3rsMjVeVIWAIyLXlUCpkmYKqiRWlH9Wo
  2555. -OOsTm9zstxFqSM6ZNX6eE3ZxMyXbZsGYahGbHoWqVYbavZzXwYDiJrCM7PLEQAW6
  2556. -qW/Wx8/9aZKKnoIQirPU3KZmhbjs6q7sl6Ze/J4emTJm+fLUx+P6o55jgt24uopo
  2557. -kCCZnu7uouPgvWy66b+JCEPz6zzSIBQv50YU13IigydzqQhkGCjFl+I3P4qTJ6wO
  2558. -8I151BvpaL04AsKWRk+IrCMjMmpXK6WMGpQjdqKqza1pdvNK3JGOUGJ7mtw5vRwC
  2559. -38EXVznmrmg54skilHeQkOLV8UN3bzmySx2JASIEEAECAAwFAlNaDqoFAwASdQAA
  2560. -CgkQlxC4m8pXrXyUPgf/daLzMlwjTlmMqtXMcgOWLR7CZesMQIuC+KrKur8uD1oG
  2561. -EQxKjk5XPz/ByIQc3p+Y7/sxSH3fFYPI8+InuvDjbJQXmWOWvOMU+0w5aNg5HK/e
  2562. -kpqG1t5323a+DBWI2ui+npQwXplVjRPH1PrXuDgQnUvxG1+xy/cWCA38mFPyRpHM
  2563. -YbDdLuF4qyH3Ff93JwEXNcPO51UGtWxDSjMPAK71OA3m6AvVH6kTa+FM+GiPCcza
  2564. -3+W4oloGqiSbYI09m29mhF4E/593ZlJ7eViRbHUBT6e41cfycivKx0yXR2Q7I78y
  2565. -U9ujA1nyydyeQPKEBDojykUl45tiCGEFUkWtgJjkB4kCHAQQAQIABgUCU4itMwAK
  2566. -CRC8I2NW0Evc1swAD/9OY6ThJqOJpeMaQVVIWx5Ik1YmhFu+9G2nrJZF/c7RQI96
  2567. -2ugbnVG3ZbOjFM2hcOnE+OFl0LJJjrtNfhqc4o5n+HPv0ysr7M0N6vgegH1JN8nU
  2568. -iVkiepfE2GYkUK5NkzWMB2BRfJs7JXeYteZ0Cq0Y5xn8SUFYlJZZ3ml/Z2vatcom
  2569. -4fpxvkLMG/cZdzR666BVWbmQuC2Wk2taW4uV75VyN8bI20z9uAYMszKGNX0JWJqc
  2570. -GbYLEfmlmu3hD6NiuX7LL61gVXc5wjP0DOa8abwAyn751peaCKs9OAsxXPg4wOuh
  2571. -4rY/5dC0pfA8G53bCadDiZqG9vPKP/p6WtoY62YL21wVZmXupNiVeIDCopAEwIkv
  2572. -SS1JQvQY1474VFRhHein6JC7csZfH37XjjlnknI6vQAunhccKPa8ko5Evu8eSxsX
  2573. -EoX1xAxYVFiu/I8SdYKGWMz0Yy4c9LMAW/Ou/OdcPRRbDroAj9VEYsPyhuQrT1kE
  2574. -Y4YJCeRBOK7ZpaG5IFoOP7lgX0hcK6VWGHnbvOnF8+NeuryIFQBoSV7maNhDYSav
  2575. -USmzwi9gjZFnp6CR/hnH20lauHvwzTp2cGBGS+UMHfI0yN46L+Jjo1r9dUboqmR/
  2576. -kZxYQd3nlqEJBYW/7eiED/stf/E02NHW9QXs2ZfHOiDdDZMIFbjaAhg1YuYDRokC
  2577. -HAQQAQIABgUCU8KMsQAKCRCDgslcKQI9+WwdD/9V40Q++4vtud893RDMucMHfRso
  2578. -lnkI2QN83qL5tpEHnQFnWMuSlu1GELObZ6QyNdarWHvW4TvDe7dbF6HssAaK+P3B
  2579. -oZvvCxk7qQa789DW7RBkaaovW5dKyW2V3e8hXJrDl4aKXK2amzpBkX02kXz3ZB8I
  2580. -/+GUnoZZIHAlNYm/6lkMbCQBfIdqPukuJNlXjR8vdPZ8uLVJO2VdtctP2nTfaIxS
  2581. -QTDuD+7YLw5BWrGEXSkKBuvTILttgMmZpbfNy9nkejvB9NtlaneZwOqzUZjDuijB
  2582. -TzuMX5tqD2FYkQgwOTXQOSZzyi8OdPKVS1+/wOY5Ryo1jEkAyzDUfEEXLNk5GHGv
  2583. -MfTqcxPB9CUh/rIN94KiI+jL6nfBDShnhuCZlNtzADtNy9nunBt71CBIWSIPYz2H
  2584. -7rdN+KFCPmP9n9FNT3Bx+esN9Zc+YxLZ/Tv3aGaxdgifYR6cLjeiM8+4KY7dg4+i
  2585. -Bnj2nuknqkVQGTLDDfC36OlWj5+cBTUOso3ThcGlwhRsD1QtstVkh1zrfsnEd6Bl
  2586. -ZZPafAtsqtphBEnWobBevon60nOKXn2WX1uTNJMvVkj+3G2/RJOGz6JMUU7NXLfD
  2587. -LyCL9LNUcSss/gkqn9MTb3NyYJfHj5fbH/Ha4pIeV7mmoOZu9eSCMQOo/9Uo+Q19
  2588. -xgppySgscGwyVFJIoIkBHAQQAQIABgUCU66hKQAKCRB0VcXjwM3OuW1bB/46KjAd
  2589. -XmRP88iW6r5kNrexv9vN+xFl+p3wLnhEC/Zc/SiE3fgRjanUf1U5RBYvtHXmqIfZ
  2590. -jyFo1lJQq0egQkfhyCsXTvsmsupH8Bkw6SnWFCryXbg3MCTICbbrNuE1tAH1ESSC
  2591. -/H2iZUKoAppLRrZh+ZK4EifyPOjO5QkkRLSZ22GH5w6hvvny7vrhrDbwL+PNSXwb
  2592. -KTieb24Hp6lRLUS6JiyDmC488rC4/oNKfr+f+i5tajy/rGJWm7is9Ctz78AqPhy6
  2593. -PdKKcexkZ/0TOyycolSzAI/OLDE2KqhdmW0MmBHxxsTkRMzlwIoIpOV2JnXqRNOh
  2594. -lwHnBHzQi11tWiHliQEcBBABAgAGBQJTt9mIAAoJEN1A8liqzgHpaJoIAKittxrh
  2595. -HwDkZAGDjUpHaJTpMqTh5VVTawwewQv5M8OCIaCWcL0tyF2VkXyWMDJ6CQA7Ei3A
  2596. -cXYU0QYJJN0+m2ZT9/P90LQs5ptKCfdgc8wMk4mW85D6ZxT2qo70vH2S8/c8akvD
  2597. -BFsYGsFRiAZIaxr4alBFRadBW1B60Rg2DUFbNmH30yct6rhLpUIaeSln1oY2x7Kr
  2598. -qTP9r7dMM6HV4+wr9Z5NwZHChrX+GEC6+m4HKTK3WTDTmuiHtEPFcE1xX7XGlQTm
  2599. -S4Ny/n5GI3NPV1ci+zC+gJpn8gzgCdI7fs5PkcjRyhn+IZvRuxfG95ooTQ/5DcQw
  2600. -BWmmtgcan5Wy4O2JARwEEAECAAYFAlO5FPYACgkQ6sXr8HqpwqPIJQf/UddOpOXU
  2601. -Ur5AkWei/3+XMJTF6LLqdDzPRRH95IoL40sn+l22FahSq6zcbEi3ktFf5vIj0vlv
  2602. -u2k5bVUKShXMilye32ddeITv2DNisuRYHkY7pHL1kMvdFu1CiuCH0pZYHIaBI+Cb
  2603. -NmcpoY5RB4dl4WiwtAxyjz7l+ytWzq7qWAjBgUDtXhQojT7sG7gg9TZ7GMpwRgWu
  2604. -BFFGNYifzApT6IZkxWh6Rq/DhvlS5jcqfF70pDrO5ZYJbbpb7mjtEf/qwEIAvTvw
  2605. -VCua1yynn5RGAQQxOuxHYi8IiwiKEx77HviNRYIs11jbjGFQyJQYK/EkQDjsPMQy
  2606. -AzUVFQjWPzkcMIkBHAQQAQgABgUCU67DBwAKCRCfMYAseWQvJVOMB/sF5wN+K6db
  2607. -rC4u5A6Kq86wXya5TQfk8E/pOleNKVNoiBuAEi2xNfK0aNfmXJORjJEUY8LCuC4h
  2608. -VI5Di6K+UpbpauuKIzJvZdp29yXs827wZwudRHDlwJFlRv7cW3Eg1s5TJPIVPZgd
  2609. -mpjgofkv92ceO2LMG84V3Gpn9n5zEE2WPmRi3bULyJqJeFqe/Vf9m4xI4ZyocYlV
  2610. -Wzj8Zh2LkQkQ/bmx8xiHYtns3IhXriFY789kxvzHKC8PbW0NxQf6nOjL2aSpHLgD
  2611. -DXmFCWAIDf3pfGsKQp0OntyeGNCnTBRmJjH67ltDe2AgNLnLud1XSOTokgU0uO9y
  2612. -KV4kWoem6zO3iQEcBBABCAAGBQJTvv2uAAoJEELoaioR9I02fZsH/3tOpaptnALZ
  2613. -q+Nfe39YZECz0+W9LFnTr9lsC17QXBu94lh3U4p/SXIhEb+BsOKiBp4L6qe0wzmS
  2614. -GJNbP0V/zRvQ3wT0XCYYlW69SOY7vBGwUbF1zpRHZhD6/UUXiH24SAL31EVsSAwS
  2615. -zdJ6A2SIaLvn/b4OG2CJXVC5/YdXdzvPwoYDb3Av+drTppAm4gfwzSQRy8mcmZ7t
  2616. -SzbC1ZXgZjJkRFsnA5WhGF4YzAGo50lq9TAlO3zCkYCduhMjC4eE1yCxU6P+8Xgo
  2617. -CTentqODwUHaxcdWY/NZ7OuIoC7sBdHUc+NHyGVP/d34hh59sasuEx7lDTOtfSG0
  2618. -cylIdZM+3EiJAhwEEAECAAYFAlO6xH8ACgkQogy+sgAMZRXYLBAAo3MvO3yCD3gW
  2619. -v5mNPSpC1KrmpcIrIu7gUDEgv0YY6C5mezeRXwpLiPNZPeewg+glW6qr13nRBlPi
  2620. -ZaIQN5JRNDESPkTBC4k5c+QiV38zcqlggkzCv9sMP25wxoayI26w0GlO3/X0wsVZ
  2621. -k8/x+corjT5ZAeT/9Go1ZUGyn3hYVp8voxbZoOfJYTOtLXjQ1i0JrDulxp3DxrCE
  2622. -8OGMIVGpzejOxQPNLciEUtq1NN9QESHpXTaonTWjP8ubT019fO+qIl8Uy1h/ElzA
  2623. -ztTZq2gDuQ7//xQJ4R8DbDP7j0Qggpsm2Hso/Rg5ruSiX+1qBF+COhm16Dl7zoxR
  2624. -IO9+5RpanXm7g0qBcALCuIn2aQOMTtB9bA59I7fXsBMv4OuHr3bpxbcktqA1BpHz
  2625. -y4K7r98opgGpfZb1YyiEw6pAaW/VwQoV/cEQsqopuSmSngXtvFtXLPqAMkODi4Wd
  2626. -S6/YySiEUkKdpe72jHamZUQwWrXc0CQ0M+YONXlLizOVDGCHj+itHx/jqsA5KGnZ
  2627. -1X6/UqpwZLBlIJyO3JSXEjofIN0u7CyYspQZRpowhJA7EuGYCTCff5BJ/FWvM0yV
  2628. -Tk7yw1LXYvSbGWMWvwdbExADiWY4Nd60lVxFkopID+jqVF4ggCdGtSPMpzEZvdx3
  2629. -RnaCJS7A0Bq5zGKbf6or5u1XL9tf5tCJAhwEEwECAAYFAlO2mOMACgkQFtVCxJ1n
  2630. -Uejg4hAAg6WtMSU2pFsgEHr5rXHlQ4d0SKSsEPgFV7Fi5Rr/PtZQahJ5o9xVNg1o
  2631. -kW84KipiFJaPH5dzBkRjcZ2CaN/61jlK8DNXg7+ApIXWy/blcRhR6lc1fYW/jerE
  2632. -5QU2ImTUSxKGUYT/2HCCdsRBk2EWYBbk5uDL+h6KWnY5ZY03bmazYvEdw0/AtC5/
  2633. -VtpQbdw4TUvssu2cBXUnoijMffXmETZvNuhGmyVf7uy/Ha8PDAAQR38UJkLjytDJ
  2634. -hmdKNQ0pk8yzQ3z0lxjM00p/kmtv6LFRVvC36u9NmeNsmo8vY+WdeRWEM4mEhD8m
  2635. -pVT30Sp1LLpNuObkwzqH+vw5ejHh+NKpV2zSWQXl1MqGBc/kVqH7bM8PQff5SOfo
  2636. -d1eO5wUX1Xm5tdwnpvdfMc9tTosVouOWsf+sITyhwtvnr1Ph5pjbfHeyrEKHh7pR
  2637. -JkhOPd/CS8sUI3VKNe0mzhvydCljCfq/pcfBcJxrKr6JhCo0NRihhqL6IM6YFYqE
  2638. -WP6dBT7aXtxAeOhkn5/oHmVmthhuCwHC2Q9fGNwaiYmnYGBCDYS+AOo4rbMy2IKM
  2639. -kyqVgK6b6/wT8RHGJaz69MrZvuotx6Nsy+UaV6Ce0MDVNvWN0vo2SgzqPNDWq5yJ
  2640. -TnhbUbXxd7ZdlDc0y88jVDKyfi/BvsUe8u2uWrYOROiYl+NlCXSJBBwEEAEIAAYF
  2641. -AlO5Y+wACgkQrs71RuyLAmARpx//Xu2RFWxxhBSmX04zkINjZiEdmz0LPfr9Tby7
  2642. -Skppefe0k/s/t3EyRCHAjI6UOFeI3zpb1Dojez0bLrCqv++++t7Q2jbBPa0GjCI1
  2643. -pMVPz+nJPrfZSOkUpgzbH0CDOCrcQMFGyAka3L54sC1AcDye8Un/4pcBZ/fWd70f
  2644. -hbNtlSKqjXmpI6rouT4uowxSKQzje5fwzqsJZbZcYWyAeAfRdkCiT1Gf44J9sxMo
  2645. -9vQ4BrSUkXwEa9pR9fROxcDDCjsHMXgL+Fi5oYR9OfVUOxUz5TGWAuxNg7Mv1QBV
  2646. -taMjLAYXZHRrHqSBaHWDmhT3DDzGRTEjrlvSjtgwxI10Gbk40bLpL5BIlxT5Bhc5
  2647. -pNcDnrVQiZ1h2CTc6hpCmwPP3FC6iOEqAcCH5OMnFIgNEb+1/cuY9f3HgcbXAX9r
  2648. -o53K0cuCnpuUfdR2um7648wngK4amzMkOMbo0qFPMuPz2VxsHjcjWbKmZiQKFaEx
  2649. -jCyPmGvKEI38JAh8BC+rJE4Eng/zS99rlTOeEGnGxgJaeEP8nmbrj1BgNyvXUsPZ
  2650. -LXItD9vmG+xu6+9x5shG6Q2LRRYx5NT6CD18u70pqPUsulrmWZohlyz/ikJnMvy/
  2651. -StLGiBFSWIawWraJMl+3Hba1U7eFL61qi9ZfJzrraKY06OtckboqCvs/7ixWg8Jb
  2652. -xaHGKbz97GVzd40rufoD7U5dJfeqOBzRrOro4DcTRFRitzslaPedzGaPWQVt+JJ/
  2653. -tqlmHsS55X8rmsdR51+Td84DDG2tqoNzWVrVPRwyWxvYAdO5ZNU8l6C6HhOqEUea
  2654. -+WtGWxzK6XqrkcmGlFKvCYd67+1eoHFhq7+SlAyqIqGH9HVhEJhvrpOUJSH6Eh1j
  2655. -B0wELOESdE4h1DO86lQnCAfS99ATIiG6gLI2tbUU5/HagVotMGDB82Xfva0JhJYG
  2656. -2d4Xcluu8276H0RZaQFtsDF9WRvvEH1DpR2XTZ5Eh+TxCI5gDiTZU3eIl2bHfirn
  2657. -qpkCPR73FRJBrUMXbbcqO9DFGFPoscfLLrkkmkI+ovUUGjrXN/SI7Wki6rHEcqhG
  2658. -FkWEyLEJ87LBZrB8ZzSH2DA/PnhbMeEY6/2N6F9LhFJWT8NLtEOuH+0KaD6MwHae
  2659. -+3hrjdhvpVhlyDfT3jerPRHdvkgZJEJyZ8hTvmqsms9WWuuiHwtXZ1reRPRYio2h
  2660. -lr145esKKwQKKI7z1qTpl5sT9m4FCUxtv8oB5tzoBJxo7gkV+06Gho18HXTX4nJu
  2661. -2Q/ZzWW2mHtBJimajXNVmBgxJcgv2vnFnQl4l4nKgcAmrSVY8xyGNFJQ5yZMyKnv
  2662. -k1297hDnXO/erG9VOu/x+4vyvym4d2dWJU6G1bT4/QcjXi/YXIkCHAQQAQoABgUC
  2663. -U8UOYQAKCRBeOpO01N3NixXXD/4mk0TGtdT3HhrwstIA492xmTOnudt6wCHP8s9l
  2664. -LwdiirLWIVhA6f+kBFVAZufiS0QGeY3gfMmuhcJwEyhBjTgsfE03SW663dQwRj0y
  2665. -aQYuzJGMxORkUMi3r3URRXQVdCigcjYUzaGYzXzUef82LH24eyNDBaiJrCo8s+Gt
  2666. -pqUuAyLJ3kxaCxjMCyxZfBMPzUBheLd9c0NDmBRSuaAVwyqXlavh6E6vSY2Y/syC
  2667. -3YLvqDWif0XJg5sJUBCwf7Ju6gFGrN/h7wy4up6SIoLVwR1prU1fZWaIw1X0mxSy
  2668. -zTtox6AsCZgWn/AjDx6zaEHrvV6RQxyVUUN/AmlfH3WYIAJNOOSll8fwIcIEtnWl
  2669. -9TlrE4uJySCydZXPUa/+zTk0AvKWuaN2E7DyRvk6fV/4dNb+4pnQPUz0o+FQjy7P
  2670. -Wf2R/eK5a46svLVl1l/TchW0IW+D52RrIPsQRMHz9W34F8vvTx6NpARIzMTXQMDa
  2671. -59Pu3tBOmZA97Wl7ZfwRXqUVIYwf80B+zmAF//DWe7zkLoGrJPis9/ZGrgNpL+i5
  2672. -Cy+D4sy4OZfKveEMWfl0S6TpG5VbvmEOxa9RRbMut/SaqQBxQIV2/gRYH6x1injW
  2673. -dwAZ8mPgHCOLXDY4Oregj8f9te4MaSgHrYbM++BjSmtGu18ibgePMsE9nB/kJDBi
  2674. -yhqy+4kCHAQTAQoABgUCU8WCwgAKCRCDZQG+nyenI3RaD/wIlMHp4pu47UD4Ey8n
  2675. -Mqonl2OxwycHhI+n+gbl+F5k52ZaKQ/by7u8dXIuBGpgckVWBSGN21tyiU4fXiyb
  2676. -x5riII7NkXB0iZfpC17qE5VWLC/GIPo/e8aT3LDFVe/0oNbfCldRa5cmN4HIwIXl
  2677. -VSHB7dXUqIskjpJAc+FfEXJqs42GamQQgP8PqV5VvNLxzWv4ioUD7R8usk5ZyvsP
  2678. -WvtkJTqnw9nCI78zs+iGkYrBpqAbC4ICmkDXWRJOimcXSXtlxzZxh6/+9X63Du8r
  2679. -LXaKFYgzqlj/NWkNTU1kTZq67HrymOlzQNUNOIzpe4+Z2sg2qEAQ9KeWeRXQbWbb
  2680. -uvF/O9rcxIR8s0Lwd7OFFTcDaU91HRSSVQRgC6oT4IByZkPjEjwrZwJhPPJNk7Op
  2681. -hSu5li9iZvlB8gM1HFHtHozDl00HZ/EN2yGAUwU2uz6eneszQh72lbyzGZLprgB2
  2682. -O4WlmTb6wlJ9nWYl8V/FKge56keUDJueGa+fmQ3rTA3nGdUyE9kWpAvEuoasrV6W
  2683. -WFSTLOFudPDxGI9d8Kg8SrwMYdDxm96Dj7fZLOlw/1seOQm1AJuHXlaPqefG8rFM
  2684. -cVr7tdB6VSPrAtmF2uqCkomHzhlrvSbKzCz9xu2Ibe0/2FPX/ZLyz3zzYL2hH8Lp
  2685. -mVIHOH5KLoGNydTwLZyGgyz4X4kBIgQQAQIADAUCU8QtCwUDABJ1AAAKCRCXELib
  2686. -yletfDFHB/9Rg/GopXG6njxhcBcCUEGGwakRltV/TOqXem3zcVu3CeEPGt4oVqw+
  2687. -BTpyNc4WwPmYwlpsAldMQjqVA0ZfbKy+EWFUGTnMBxkfVIPSNagrYOAtwe6qKHUe
  2688. -uBWfY54INC1gTzeSlkzdTo+vXjLDQv7JE1gIeurkhDkIWlUx+8qsfNx+JnEMuhZt
  2689. -O/uUddbxJCw5/TWqP/sdbVpj++K2A33qshwLZC45ImyHKWXSMEtDf8vzxd/JTghq
  2690. -Jg3VWrtSAtsuDm9vi7pkVGMRHa81J9A+bIBLymTZcdLx6snoV5+tJPZ6LuL8tjhK
  2691. -x95VZ+pwvgMQJbMOW1P9QG8vaOHIm3NYiQEiBBABAgAMBQJT1fnPBQMAEnUAAAoJ
  2692. -EJcQuJvKV618essH/R4hivDd6XuQi3AbmumF6WmTuFRvwX059UflrMw0XnB5NOa1
  2693. -tY04OvEYyeB4Xd5JeZX1c4M1lhgfEVY6Nf+k9E59oSii3JBlDy68pT+zm5GvKMWr
  2694. -hweNqGgZ5bytrgzWRFICkUqt5GAsRZK3iPLpk1Alh5vBMlEcWMlRxpjm0qo4Smhf
  2695. -T6mbWXAenMVbfU8nb+feX3QIaNwi98X7VqW8uQkbJeVtXWGr+y0nhqNhMF7p9+OE
  2696. -2aETLqrrV6T6cnvsXVCDkbjdZN7/k6Nz7+vljkNMgotkiaMOq0lTp4N/Zym9dH6m
  2697. -4YUu1vOh+lzN9rXNPjQdvxeNe0t1n1M9WN5gT9aJAhwEEAECAAYFAlK0eNgACgkQ
  2698. -hvvFGwuj4WSQGhAAvAq9Retogx1daVFgJNO/TOVdjHjGKwJJ283zN68BC3HRlXmj
  2699. -yDDHC0D3/Wevw2pZhlWUqMYTgEOjWVVqeZeePx6Oqs/NAkAqM1+K75WifF7ccZPP
  2700. -5VWGapcZ2vTT0wghr4w2wFdnoaWBZ/NEaP1AZXcqHT4LkGX/Z93PLMqeXAoGkA1a
  2701. -LKcdLIlDL6ZPfVplMNlox+YQ+KprpiyvAkM/iwyPOPJvhdV7d92hFLL0xrf1dgBZ
  2702. -NV6STeKfVwqpeM8O5V+hUpGJU2GsxbuKjb2tqwbFblsPHTSz7Vs/CxSZgApH7YOe
  2703. -ybHHfRxM/8ucCVsWtSVpCWUz7DvBkGLlW5atRU19Wsl3HhJ3dap//k7qqpt7vANW
  2704. -iILtwH5Z2qy7qVrzcMvLzUKDCctzSJmoUvsq/mCQoWz5XA2wcVbbONrxw1qny50X
  2705. -ha8WI75lK/PBQxw+yAaUVH4yr7g08p7+Hqa69VCR+ihSQv8heTluMfZxsezeBpkw
  2706. -fEJMTrZC6j8R5or9D3vGd8AFX7tLjETpzctJx2757UHmY+QRyDwdog0laLzjRLgk
  2707. -bf+FQUOSNnIdfp+l9sGGxln7Lqyh7VTW3IrkDEIl8XsAdGCdxmRorErG9Z03qpL8
  2708. -v32/3MhkQoUcQOIyz/DbQWe3V+aajrZj/isIZoa5hMdJbOs0X1A1AlrQjT+JAhwE
  2709. -EAECAAYFAlPadngACgkQi+chBy4YZL5pGQ//TL87RzgzJYDVhCVCIWkc+PH+9L/3
  2710. -UFu9MrmFN//ks3amHJCErWPlMMDww+3uHwBS8Dv95MlQsojFDj57XaJDyv+xABpJ
  2711. -00DlQiMasVX8NKvYJ8XOavf0oTza9NRbcJQOoBcaZSj1MR2D/QD+xO+on/zPiA4I
  2712. -F4+rUKdJ0W3nmPvguGbUDehncM5cnhwOeRjnDOEY3qyvq1qcGUgRQGHmWQdb9MPq
  2713. -pU7ltuwlu2vfGqZgroPm7YOjQUFeTSXNWUMXW7y/W6L0c8PwgJ1jx9e5InqRTo5m
  2714. -t1p/a0lkVgSY4Q5k8BMe7GSYYfKQ+bLtB/aZ6pm/HLdjTrR+4DjhLC+q853IiBK3
  2715. -flCtIGX/DqseC/SWzsE5InQ6PO/KUUGNvQ5OeoL7C8eWtudYdtnwU462RwRXYZvR
  2716. -2/WpH1DoTMhis+PfHn8jZ6oms7532AN6OsMgShPRNI7xxKaxQQAG4DULCOUT4hV+
  2717. -lDEzWIGeQoP+Y+XWrmPkiwszmkk+FbZ5rb0t8o7OUQ7lqB/I6mFKy7JzC3ISKUog
  2718. -c/nUw2D1i+1ebmnQxEYTKavLWqfVvKDkY+ITE2HJKTkzQ0saZTQYIhyge7BDmn7o
  2719. -hRIZ5GQtr/ZMfBDkr1xUR8xaBKXEsGcLn3gC1y/pJyq4mt4EVQEThKHR1LqLgib1
  2720. -v2LgVIwe5QvSTUGJAhwEEwEKAAYFAlQAyCUACgkQluKhvoHUeqKSShAAijtxj0Az
  2721. -Zi6o/EYgrWZcQy6ZuKSX5O1INDAIitP/PTYBk4vy1/pMVwDgOJnYabaeB79En5f5
  2722. -yfInaGKzdwwcfX35T3Co/a/WwGoa2RTQ8SESM4uFfXj7g+e31bhH6RWk+hOxJDlV
  2723. -rvs1L33tcT/tuxr8vl8pIo/zQiX8erfgxOelBSqJbsxA+tj5ASlh5Oziu+uyCguP
  2724. -fhhEz+Kmhg4iWYsKdZbhzgGruA7uyoVVaY01ssknq749RblGGG6/bcdvJbjwMbJz
  2725. -ZFVNWjCx1S+vrjsGIyI+xTEDSuNgUUGhAZP06NXtdaPnmVXmUfCthc07ky+S73O6
  2726. -XHQX2CfUxEdYtwWcIR2AjDoSVtnFbOcoNaLpBgWkSLf7RGOU6ddTTTgFB0VH6l+J
  2727. -JCOJk9uq/nVmUimKZmkfTdlSduQLK8YlQt7jDE5Os3pWi1ndAtXzDSyAaxYDsmmM
  2728. -Yu420WSclLJeRyngIIFRjuMfkE5yQ4/XJLY04RakucKYEy/Ifi8PdsszPCPJ2w4c
  2729. -4YkOM67RGc+9y0FnHYRIhv6LakGl6072jmLcIHCzkmoubQPv/9e4lZKDM1YpciaF
  2730. -USwxk/Bceoy8JO8lylKvixXfakHMTmYd5RnJRXHaMw9oHzuIMLMXcFo/2Z7tSMU4
  2731. -VqkcxRlIGUxllzdzbyuEKDcsBYMydfjAdtGJAhwEEAECAAYFAlQR7H4ACgkQ4eSy
  2732. -oShroyNU8g//UWIwig7aKTBiL0vdeE2UnhKOzvwYUGt7yr1SWTEjiW5WVg7Fd7dU
  2733. -wxkg3rqpFVp1blixup6DJihTbBaz2sn8RaCa5k83HX/V7tB/cp29W0Iq7M41DZmi
  2734. -ihA15t98iJ0DWPURxo+cRNjVogrOF/xANjY49E4sp1jbvfMH1bKtJkknDJaD5q3C
  2735. -CktbgtcEoC0P5KU2jf357biJKUgvHtr32gp4qtjjkZSzg9u0knkjetqMusxmzv4q
  2736. -cPsDY/Ov5Xy7UV73ep3wlZX/Ghx7XAahUJ1fk834v5j9Jbtnb9MXakhwqhRoAZmq
  2737. -qy7bGY7yGI47E3r/ugmNTsUwT74IFiNkYN0GABr4J5dlxSQLoe6nc6iUuMQ1K86w
  2738. -mzYtgbqYRtKvMxYfKNQyLR5Q1tFo3tVWiQWjDdgznUCvdFIF9ZMrxsNKvJa/i4yx
  2739. -CPUPm3qqApleFZPMtR4OyNEgBSQBjzV02hEo/PtZQ+qm3Y1spj7Llmrcszl8g1Gk
  2740. -gb7LBG8uJYb83jVOaQnW2TJzrM8x/OJCAnDq9FDAq8IHCjBSK1cLgqjshfWjY0pD
  2741. -wSm3XubFWff52hjNVp1sNT92JmwPG1+vt7aywH5ScKxxyyjgcEitReamJoiKVK/r
  2742. -eRAAe0HhEhR1Ly4bKQ7bL9sobc2quyPfB+ql5/brRUnQhWlHfzRG9nuJASIEEAEC
  2743. -AAwFAlQ6KzcFAwASdQAACgkQlxC4m8pXrXx85QgAlsdERxQtdrK4PXAp/0J/uaMR
  2744. -vUatM9Bt2CqD3KIhHtrjhuPJnXzu8T7Gy2qSKuGlBKnsIIUYdtjGwa/Muclro6Hr
  2745. -5zVj1Dnhk9kRdm9+iuTZL5QoJkChM0kjuY3/IutyvZC6y6V8tzQAr5crgbIczCbQ
  2746. -PElhh4qobPhez5achWz4tGMiQ41fhxi4ZRk2/V1tpFr+XQ8KnPLv05pw+nn4emvQ
  2747. -j2EwosOFJX+z/882JOcaLVhf2UefPtaZBOUvKST2LuKOvgR6Kal7On79di4fTlpq
  2748. -hOFog70FlBhy7X/k8Ofc7WhkRRJaO3U5dlwJo2tAurfCgEBwg2btexzCxwWkbYkC
  2749. -HAQTAQoABgUCVFammAAKCRDo4ni6j1yKEcYXD/97wyRb1cMbV5MXIxjesYghtt8A
  2750. -MKp7Yn/PSid+pNZlaeDUPyFn6IDKxnloQFnm06kXhLIsZRJXaWtKI1r9U5agPye9
  2751. -OxBuK/a3jwXbWyRuEEiuSzNy0C8rWh+vkpIwmE7VRRa9IPuupcUuhHr8l6yHz69D
  2752. -z4qXj8Hs8haSuYAueo+BcPzPFZq/cx3xhb+pRMo2TGl1k52Dg37P7rGHCI4bRDoU
  2753. -snaK3RkzYnnq6zbOsZgdrvmnFXCGgMdeME7WIxnmMF+ZoMtQpR6uPZFdiimKIk/R
  2754. -6i3LOwy+B8PFQme2mmHh1ksc8WUyWNFeGu3p/qEWPOsYo27xYoj3PXDwg2xirEjY
  2755. -ddaqSZF7/y4kzXMMln2tQ1kFLdylSmAiT3dAaEuxvfaJVFXTroHvsUPF5ZwWKDfU
  2756. -Y46ctahUQk7bvlDEF+LF8KvwS5zzV/wWyyIDINyoGe3fJH7xH5DA/YwXzCtME5kO
  2757. -Sxln1q0FK+4GxRBg0w6sqYpycc9wZvrj46oz6Zmco3g22xD9pLkNpdYaB+I1SdQZ
  2758. -3fPv5wh0AEffvl2EUxPRxd3rKyBaVudGk4NSMgj7lCcmBgjoPCkxaiomZldw0cAI
  2759. -NXnANmP6rUbZkxksZp+hcTltvAqeJl165NEBLv02c3AnjatgNxu+ING/dhTFBILR
  2760. -FO4vi17p2/pnf2Vw8okCHAQQAQIABgUCVIXkmwAKCRBXJYbejhNFJMy7EACPlffi
  2761. -CRTKSitdRPb8K/7qj2knl+9jRjXgCQS2Is+cD+mjdGuKPtrDHV/uB3yc6a83dlrw
  2762. -zibgk34V8d/dmQCnM2lULQnApXXoTLzBrwR1fQ4EAOWLmhrYdfIQ6cKPzKjCu0HY
  2763. -1kKBGEx+HSeNfx/c2d9AjscC5AMoIMcCCsCRZWfa8CeWJkxNCFQvtIkJdl0OYT82
  2764. -m1VFVTNNaLT4Z2jKeCV9odKCCqixJnIFmQLKvrFDUZ1UbsHqys9nrbxS/jPrpKfA
  2765. -XvEPKZjLqlNGnQvdRjae8WbmMl/qfhqttGGTBgw1DynNls/uLk5yJx1jBRI8TBiK
  2766. -Ph9KMyc4ces59QWdKcMAx2VRUbF/1BOVVudaFdABAzLs7KAJSQrUPA6nVh/LYoWm
  2767. -zlCJrekQTAw5Mz2YctldAcu6V8AdGkzPB8xW0SbDQTCVSgQQSUOJJKkf9hvdKZC2
  2768. -I43OKxSD3r9oW5s3jciVBRWPjNw4APlSDo/cA58q1qDXL8/7XuqEYz7YSugDx/xf
  2769. -YCQQaXqaOdlT681fjdZG61Bpb/UXfclEXU5CHVYs2Q+CJgP6Q6n3hUoKlI1mBrEY
  2770. -3XNocHOWtHr14B+gVSlU3vPHRqaXwUfhF2nLRac5E4KDl+LWyJ5WqFwl/TyDpSN5
  2771. -ZGB49JxYdd5hyUFvafeVjeIQk/QM8dxy6fvc1okCSAQSAQoAMgUCVJnpmCsaaHR0
  2772. -cDovL3d3dy5oZWFkc3Ryb25nLmRlL2tleXNpZ25pbmctcG9saWN5AAoJEOzpIdqG
  2773. -O5X341YP/0AFeqUGu/DX/ZOypiuDSvgu4fFbErICGsmGOx/I7Z/UZxJIIy8MAXAS
  2774. -QQ7xeV7xuMf2o+kxkSIaxrV6PaiOtyDlYW2T8jMGdzpSAxwqGMoT06CMY/6gmxuY
  2775. -gB/BPcxTouQBrpRdb86JydXJTOFpwjSDel7wX5BKtxezYy941/6wrPyCCANt7Ys9
  2776. -WfC/ZT4JJOeVMC9r3C/qY+ZFioUzxwLGuYmIksp7u3mN92U7Ieurb7GBJU9zA0os
  2777. -k+6fGDsYvdb6kMgBgIgAQLSRe8zOACN0GDrfCnwStivLmNgkaGTdMLbgordm6wKF
  2778. -FQfJHyvFYm9wwlP64WG3ZYW1F/eriKu9HAlQOMTM85oDF/IWUC+QbSnlD+BDYg+J
  2779. -bIruvP6Im+qnSMeBP0w+jEFgX+mHfpOh1VCWEQcruGIqO0PjMG9v3oJQ/SBA9EKD
  2780. -YODUtP3xvOc2MVvawevkrbSbWsly6oVwEcMtvceFBG9/lNC6RZelOfOJVgXpMoTI
  2781. -5zRoHaQUB7DDeeylUB47fQ4mu4KtmvGqyc5LHe1WM8VJbopteYdzY2md67cvj76a
  2782. -L3JGvxZxxnihFdHIfvByb/8IeH7qZS92a6N3LyIs/xX5UMnQb+JyZIVtsBwytpgA
  2783. -IaTJ5FTHktf09HtAH79Pm1Inz1lHy3Z8KsEvcDREZvp+WnF+pA+7iQEcBBABAgAG
  2784. -BQJTvaraAAoJEAPPSgqzx5pjzfcIAJJKUzlxdHOWxuoXf1zMdqYYbheU8uzB9zW1
  2785. -8SEmqkB4hThvR1wKn6+k9MjXS0RWrV+2KETKQCibVXnrXxhzGQMdoFEYkBovtBSh
  2786. -b9B8rQRdzorpixWF86JTnGKV5B2YIuZ0yK/QxFhDVlwKgpsPtULtIjZvXcSzUmK/
  2787. -tB8aqlBJZGXoa0mSI0AqaheI5n3bkCFIycnVWzH9FxVFI6F2ELhRDlIK00dA1bEo
  2788. -Wj/+nAMbBxrQy/ROfjjM7sB7ENy8NLwai0NB1qLfR2UYDgisbPaLGzAjUOzc92tv
  2789. -Z7E70wUnJEKVJ64/KiZaDOOxmILKakZISJXDuoWXw2deT3Ul1C6JASIEEAECAAwF
  2790. -AlSjCY8FAwASdQAACgkQlxC4m8pXrXyQrwf9EU9cleqkzKURvWGCWaXxUHW5QBeC
  2791. -B2XFBtg9Qmp76++Ymlx2EPJWjkbpSq41d3PsiuYx3WLDaiV4pZvOvVfYOPRBw8GC
  2792. -dt6Ub2DVXZfDtd6r7gEG6TpqW6z6jZZrra5Q/Rd1hSxeXmMniM23bJL1MuMvTncV
  2793. -jX71mQr1oVP/i8rTGRDgp9w/0txkWV5mKUMfnDmMLLWgfRGNOQqoQCBKGwd2GoiZ
  2794. -dIDYoWBVwCS00xK29POtdIYgcqLH5FQwIPn81DXP3pCOiaZO3Sc7C+W8X0WmeGLS
  2795. -y2baMTuahIMIAbDMRsPjbEHOp7wlZ/d4LO7MfNHUb09kpmKJ1Yyycdhg6okBIgQQ
  2796. -AQIADAUCVLTUmQUDABJ1AAAKCRCXELibyletfPY6B/9sYWNf0hyNJ6h3s7afwm8Y
  2797. -TZlsWqtYRYrMk2DYJHR9HkfrL8yN0IornIRnPUw4JKqCVz9u1IUgjyRs6kriwn2I
  2798. -VekVQEcLejOvZvit3dv83kV3SKnJLo0GhaiMfG5u1YZDhXEv9F0ttG8wQEPyduIG
  2799. -xIU92atvl0L3hnzL50KuhsAYefzQf2BOihuaYh02T6BO9QPrkD2TbsqmfeJ7CsoY
  2800. -QIkidk47gBvSDy40tJAd3JNe/0QgL4WMIaPm8HMzvmbTVpsN4px1Rqwlnl4SAB6a
  2801. -Klv53/t4MuFVeX6rmEf7BPgWRFaDJSEjYlWJffpDM7xWik2bHIZc8gM67Te+bhgC
  2802. -iQEiBBABAgAMBQJUxqCrBQMAEnUAAAoJEJcQuJvKV6189oAIAIwWUtzMWZBF+fHy
  2803. -n7eBKXSEeXe7yojBZa8X34K6qDMEbM2zBha8giHHCZjFbxZS/hh2j9YNCBZ/sP2+
  2804. -29w0GcO0JDXNyJPqsxDVnSZ0hWCNec30adxS9E2+HcAFc0K3CDiggfoB3aYtVdqZ
  2805. -AXSeyqHIlpN0Edl9Smyvhhz+75T4ETugB0aQQ5Mf5REaEg/AOzXewDpAcnC+ymVk
  2806. -Yqq9ZIZYFMYiZgFJbGaHF60BuR6bMD7aPF1/LJNETXpENvoWsiEpnzALp/GohWf9
  2807. -CIo4Fu4xCyg17r5NUsg9+6flmCOT3eR/7XLLzyiPu9WbWHXbgdpP6uBTZuEfdrK4
  2808. -5jefQ32JAhwEEgECAAYFAlL673MACgkQwICDq15+pAokfRAAhx890VG++EEp2v+s
  2809. -EF43qEOh7RjVXlC7gaJv/9Tpwrh/gON0a74m2ymsxSKOIpi/s1uwc6l1mc/kuSEW
  2810. -rHa5FABtYla7l4ORfcR1b4hRfALwjbiAXC8J+aTRlkaFPWj6OMzhgKcCT3nEzQxK
  2811. -2bL8ZO/rDzagM7NDN88lQxNFHnPlecr4fba+ffk19jrqwOCphu0iusI8HxkwJiwH
  2812. -ROf4LmalY3MGFSqfQIoaJu5zhDjpppalDmjO2l8tscV6+r3i5byZqN2dkQQ3XsOk
  2813. -Do0k54v4BmMTwXp24oB7tV6DvWHqffijRNZpYYJTKeAsbbJJSICNEklWREJx4NcE
  2814. -1tfXZQbjubOQH9AWjpkTub0A/Sv8hIaWFHRKAx97JeyNoAsYr8rrKxf8CI31Rjbk
  2815. -PEbHu+1xWKrmff84bi2J/J1+zsNcjk/+cegNjwCQYOrnOx1RTN389AhjZ7hV8QNT
  2816. -W5Czh1T9J1Re4AQupQbV5jeWV2jeZLZOM7J3Ef9YWtIQARO2BIFem5yHPnfObdP9
  2817. -fFpGkzp9S615AfK/XKDy7fsOG/PAZd+PLazZRp8bR04a/gnos8oq+ZbYcl+Cky3d
  2818. -kFM8DvUaF810HPlAGWvCSeLNmARMBAuP2GbnuClUf6yPD2FAv0h/HvGe0mPjZ0UM
  2819. -Ku8GSJ5GWTntqPJ+LxCRuXOdj42JAjkEEwECACMFAlOv4MgcGmh0dHA6Ly9vdHRv
  2820. -ZHYuY29tL3NpZ3BvbGljeQAKCRAjutNRyRa2fX3VD/wJ0hJPbrhO9lGSRmzmLjN9
  2821. -OqLRqxVVuupdB0ZtVoEhB5JXOxjj49fu23bK/z/fWNR6ZuOpnaXeTwnaC0SEcv+T
  2822. -K9yHEkcIWWs10h6Wmj+Ab4XwvmaMdzKb0GigUT5RcqvOaTlKtrzUOd83UQzG4a+G
  2823. -uXdRD4RAAH1iAqs4mp8qVNQgvGE+s0t+6OIEXv3BihHKBSppyM3x885z7xfALLdD
  2824. -IQZfYTX9xx/1eMtoNuMfvcZni+pdzhpchNy61wTb5Cf2+U9KosMOtSTdKkCFMyUB
  2825. -ETOrmLXIbc3OZ7+UOa5whyaZ8VQQrnqWq+WftAOTiWPpxG/DsrY1+utzhaYjFA8Y
  2826. -8l01I9JlKh9LRThQjGrYDx817NSUqStHZUUCy06QgBWCw/G//UkmytODmBSQZfqV
  2827. -9iAdcKR4ni3tgWzD60WSsGodwslpkcbPZw1b6qjzSRc+HLJpJNFi9k7qwH4Cb+AH
  2828. -NNdIhWwOszWhNKw/Fiw6LEfCrP/O51uWafueQQ0F7MMvxj9MKbHwoUOX5BFImqm1
  2829. -6SfrV9t4ad+8NZ095gwAJxQTUdwRiAV1UuXwZwhIc+DoYnWTQ/m+WVdtk/Wc3pie
  2830. -0qkgcr4WvHiLBt3yjeGuyS1OXjBXs+hd7vjj5j6boVWWUt4eQVBKkoeW66akV10c
  2831. -nya86EAdMdcR2/hvVVOvNIkBIgQQAQIADAUCUyX3XQUDABJ1AAAKCRCXELibylet
  2832. -fIiICACrqngenwN7p5ii1tmJN4eyMk++Sz9GVqSvEOFBFRwfZdZXTd6d4Sr4doVm
  2833. -Sa4M592BPpYZ3eU1xd0fvveBj8pYXmdJCOeTvt2lOjpjjh++9fTlPnrOhHacW1Na
  2834. -OjsFcAyWTug37nXq1yegShlVCo2/bDl0z/Cj3kL0W/Ck/hzyzpVUPdrpFeEPrDC5
  2835. -so2P8t10e4bb8STA6hLkMYEyjVftDQs2N0ml/48CCH9MpuduNXHjSjXMS/GXFNC6
  2836. -8w1eRluVmCsNoITqH37Tkj6+BUhyo0IluxxvsCrOUuOwmvvTHwZ6C2EObTtUphPQ
  2837. -/Yy/6Z2jPB0exvTt6MrnhUQm7WsAiQEiBBABAgAMBQJU2QImBQMAEnUAAAoJEJcQ
  2838. -uJvKV618jUYH/iRhR3OvceP+/ebyypdmtVGnBXTcyWZVDaztva6gg1TBoHK8wzId
  2839. -OLoEmD3wQZ9EBDuZywRGnHrgWlof/WMnhk4ZuheZeVFTgA5RO8E+IquIhcrkFBep
  2840. -Fl8LN3bFxJ8L+s50cgFVG8e0BG6dfqf8IW4M82bs+A6fwrji8u3rbjuuhXvG9R7d
  2841. -+fegF8nEazE29ykdg/pwDGsAefyGYWhNuRF/wZoNI9GiQUHmtsmRCUIHRuaGSZ5l
  2842. -eYjFChoyHh/W/GG00JI8OdL/jOh8Do82HmEDSDYmtx9/2/T3ieNhcxyllcUHeahn
  2843. -Uln6cHwEuFI0bzin+P0927cwxOEUtXDYYpiJASIEEAECAAwFAlTqOAcFAwASdQAA
  2844. -CgkQlxC4m8pXrXz50QgAoxezroOZ3HL+tejY+gRr/5LsOQgc//CdlDCOVkldPNX3
  2845. -LMl/I8RQytSepgPF4pxc4g8l+WWvhNp+no6z/TiiRm4kMHm4Y2PcXQ2YX335f7wR
  2846. -vcDZpUijYP6YbvDUwyg3IuKU+WlHO5ggOlDpoctTr6c6+z5gJsmy9ZxAkQyK7ZHB
  2847. -K4tilZ4jdUarL2orpiSQEnlfgV+zjP6maZygb85MBoR/2HQ3vI9ot9XI9ueSvR77
  2848. -RGdo+6bsvf+RUhEdrC/SHyX04mWvaB/xzYHpxk7rUfAES8A+vrkupzJ4lxnWIKXp
  2849. -cERo4l7pvfJRiAAvpLXSG2X2I0+oXwd3n6/OBG2ZBokBIgQQAQIADAUCVQ0a3AUD
  2850. -ABJ1AAAKCRCXELibyletfOOlB/93RjbZ+aSwsRTKjtyFf19XJSzS0RIQL6U50KcT
  2851. -3mrBNe7MLtt2S2exY1rbPCJUkkU2o82pxsrKg1D3sHIiP6dSkN5RiTTXWz5aFQs/
  2852. -fV0BihNvICYAkh/1BvL39T21a/cJqExvcG3JqBN6lb2NhbS6CwrRVop63wzVMDJ9
  2853. -VPUWHxkeTb+vm1Ucpc4+Lenuwq9rAliglxjJjghs7JxdReI4Mb1NEfbp/1mcKUEx
  2854. -lLhZMhmUSDo7lcmQ4jpRPvuWOHpdM9d6ZMDGvNQrpzTVVlcpGLKzfwUibNfQS4+d
  2855. -C4CweBhiQwjRHEoGYxpRqUhvtkuwloZfR2VoGdNDvmwbEfMSiQEcBBMBAgAGBQJU
  2856. -rjxmAAoJEDzYwH8LXOFOWPwIAIlL4BdP6UUCqktIiVtFpHpcLdwJoElOOlxmpWen
  2857. -tQH8yNVrHdHaHgNzG5KMQNK/9RUvVeOQZX4g0/a11/GvwcY5pKNVSD1Jev4GSthf
  2858. -585s6DyEGV/ptBYLLDFtSZdwttN+psNjCW3nk8cWY3cV0xZ6rOq22nz42puv9Q51
  2859. -TnaxBZk5kjROOetXQapW02twdC4k9tXLzuxjZ5w4zul9j0DFvXXIENHRMZVQDODr
  2860. -e9SkkzfvYyhqLMB5hFMZK7bnY6LvtWWM+aLZRa1B/j+thWwhM0JnCyKtqOXS8sGK
  2861. -rfpj7et2f66fi+i2yNhk/UBBHGwNlhYkeZG+ovcWTAtRjdGJASIEEAECAAwFAlQX
  2862. -PQ4FAwASdQAACgkQlxC4m8pXrXyvNQgAq8NazgIJu3cuGoIkel7tDAdPjFtQuznc
  2863. -pARNRSwVyG2jdZHOrNf76AoZK0NIqcenuKVyLe/o/U9+P4ufbBPajqnhSqEiu4f0
  2864. -mk1TWoJxWC2jW+Ew2ZLNu0adtoAqBE+FDCieAObUKF++4cxiU4r5npilADucQ4Fy
  2865. -UGLTA5RUQy4j9w0rQJ4xCAhzxBT/SiULlKQgEpj2XdOOiHSMS76fbIkw991L8ECN
  2866. -/1DiNDAzbExE2BwS0WwPb3KUiT0ookS91Q2i6mWaJbCa4iJUvK3i2YTxPpFb4N2e
  2867. -YmCCvKMLT4RC/2JQlUSjEozMImdYbFh1c0snzXmRatWK9THyyFuXx9HTt9O1ARAA
  2868. -AQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAQBIAEgAAP/bAEMAEAsMDgwKEA4N
  2869. -DhIREBMYKRsYFhYYMiQmHik7ND49OjQ5OEFJXlBBRVlGODlSb1NZYWRpamk/T3N7
  2870. -cmZ6XmdpZf/bAEMBERISGBUYMBsbMGVDOUNlZWVlZWVlZWVlZWVlZWVlZWVlZWVl
  2871. -ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZf/AABEIASAA8AMBIgACEQEDEQH/
  2872. -xAAaAAACAwEBAAAAAAAAAAAAAAADBAABAgUG/8QAMBAAAgIBBAAGAQMFAAIDAAAA
  2873. -AQIAAxEEEiExBRMiQVFhcRQygQYjQpGhFbEzUsH/xAAYAQEBAQEBAAAAAAAAAAAA
  2874. -AAAAAQIDBP/EAB8RAQEBAQADAAIDAAAAAAAAAAABEQISITFBUQMiMv/aAAwDAQAC
  2875. -EQMRAD8AyohAJSiEUTyuy1E2BIomgIRAJoCWBLAgQCXiSXAmJJckCSSSZgSSZZ1X
  2876. -kkCZ8+v2YQCyTC2ofcTW4QLkkEuVEkxJJAkmJckDOJWJuTEKGRMkQuJREgERMkQp
  2877. -EwRAERFr+RG2EXuEirUQiiZUTYEqNATYEoCaAgSalS4ElypCcQixMPYqD1HEV1Wq
  2878. -CZ5wZydV4gx7OR8w1jrX69UXMQbxdN+Dgffc5Vuo3qcnkxSwuRxNzkde3Xl3HryJ
  2879. -lrrWI2k4P3ENPlDllOfaM55zyPzJijLc9ZxuOPfnqNrrDWBuJHuMnuczFudxXI+R
  2880. -CswekKScjrIjFdhfEDtyVmh4ooHKMJw1ckYJhE1RXhkLD5kwyOz/AOVQf4GbXxOn
  2881. -PqDD8icYHe2RkEwerruoIdHJHuO4S8x6iq5LRlGBhZ5bSa5lI5G75E7uk1ouOx/S
  2882. -49vmEw5JJLhlWJRE1KIgYmSITEoiQBYRe4RthF7hCsrCATKiEEosCalCakEkklyo
  2883. -o59opq9S9dZIXH3G2IVSScATkay/9TeqL+0cws9kCtt1hdzwfaBs0wsPqbGPeOal
  2884. -TWODELc/5Hj4ljYN2lC8o5IHzMDdjA4/EuxmOPYe0KgJQNxuHf3NMg1o55yGx8w4
  2885. -OeN2D8GYJ2Whk6PtDVAXsy459oqxgO1bbSfSYbzAwwf9wTYyFbPHctqynKnjEisl
  2886. -sNwQR8xukBzgnB9opkEEAYhaV5BBxiSkMO61qSfQ4+OjMJrRbXsuUbvYiPVacXIf
  2887. -MA6ib6PynwV9OeDMyxWk06WKWKAj3ZPaaVraXXB3oOm9xC16ayhx2FbozVg/TncE
  2888. -yD3GjsaPUjUV/DDsRicTQ6hUu3L+1uCJ21ORmHOzFyGSSVFYlYmpMSAbCLWiNmL2
  2889. -iFDUTYmVmxKNCXKEuEXJJKYgAk9QOf4leaq/snAE56sQM9EnEL4haLHLsfSOFE5t
  2890. -moYsFXvMfW56PX+t1HYUZMSuUu+R7wobAwT3CgbicDviPjRIoF5YZI6EyiWEEgd+
  2891. -06C6YscnrMcXSqijIjyPFyPJL0BiOQZWoB0+pW1RhWxkToNUFBVZVum88V/QxGrh
  2892. -Q1izLDnMogqvqXgHB+o4tApJDRsaZLKsn3k0xyLaAMWKMj3h9JVssG4ZVuvsRs0h
  2893. -P7Z5UiXXXsoKA8rysWmNlv0uBz5bdfUI21gu4blxBvYtumII7EBpLDsZCc4mcDrW
  2894. -bKwp5UdGC1DgFeAyEcn4mLCFrx/iwgEtIUoeQOokA3HlWhk6PxO/orhbSPkTiBQS
  2895. -D7H/AJOn4ZnJIIKzTPTpSSSSuaSYlyQMkRe4Rkxe2QCWbEwkIJRYlyhLgXF9ccaZ
  2896. -jnEYi+uQvpbAO8cQPMau8l1TOQIBSDYcTLk/qOZdY9RI6M18bMVAu6g8x7TVMbuf
  2897. -bMzoaR+orLdGdGmrBc+6tMWukjJX1AfElzlRn4m1UnUNxx7SaqrKHiYawuP7hB94
  2898. -xQogaU5EboQgxqyA6qrcd2OYPzAqY6M6FleROZrU2eoQWNbtwEmpymxwODwYOg7l
  2899. -U/Ec1VW7Q7vcGVMII3JQdS9OgVnJ7MqhCbZq8Gpzj4lZxp+aWB55iCseRnkRhrCC
  2900. -FPvFbOLNw95Yhqq3bx/ieZ0/DnrB2jgzkJhkXB5nR0NeGXjJhmu1LlDqXK5JJJLg
  2901. -UYC0RgwFo4hS6wgmFmxA0JcoS4ElWDNbD6mpPaB4fU8als9gw+gr3uAesyeKV7fE
  2902. -LB8mF8PRjcABNW+m479Gj/s4A66MZWgoCw/yGDGKK2RFz1jmMqoPJE4u0jnLpmLA
  2903. -gQz6TcmDHThRMMwMjTlDSlG6yIZa9scyswyiFAIi2r0/m1EAcxvYPmbRBkZ6lHL0
  2904. -mhcJjHRjhoJqasjudNAg4AEMq1nkgQlriHw4oC6iJ36Y2OSB0J69RWVxgQL6KvJI
  2905. -Ucy5WPKfl4jVadkcHEQY9ie11fhvmKdo5nk/E9I2ksIK8Ga5p1AaHwVnd8NAJ+Zw
  2906. -Kh6gR1O74PyxB+JquV+Ov7S5JJHNJJJcCjA29Q5gbeoCyQgg0hBCrEuSXAkkuSB5
  2907. -XxpSviJJ6jn9PVebeWI4Ee8W8N/UUNaB6wM5iv8ATx8iy2tj+It2OnMsejJA/EFZ
  2908. -4hVWMDOYHV3qlfJxn4nIs1IBJZGI+xMSOmupZ4mM59oE+KVk4JnLbUK4J8sgfMT1
  2909. -GprzhQM/mWTV16Ea1D0wmxqMjgzyy6hgRkcTp6LUoe3AA9zF5xZXXVyeZi3UlASI
  2910. -Su3TFQPOTJ65nN19p3slBDY7I5kkLW38WvBwgl1+KaknlZx2GoLdn8Yg18QZG2tk
  2911. -Gb8Wb1I9QmuuPuQY3R4hbwGM83Uz2VhxY4B+Y1pHy+GZvyDJmL9eqqvFq5Pc5X9R
  2912. -6dL9ESgHmA8fcUfxmvQakUXBiW5DAQ2nqv1+oe2zPlAemJPyzb+nn6tJYLRX23Rx
  2913. -PRaHRvpqv7i4b5iWiQjWMuMnPGY9o9Re11+n1B3FTkRaeG82mZJJJXnSXJJAntBW
  2914. -dQpgrICqQgmEhIVcsShNQJIxKqSOwJcpv2MPkSVrj/UcinUal7XG4sG7EUr02q8y
  2915. -y/TgMRwV+J1/DlFd7lh0IbSBfNuKDAJzMy49X8k2kvDvP/uLq/8A5PnHtN36I3HI
  2916. -AxHrK8Wi0AkYwwEz+oqXgMPxLrljlXeHEoQWJnIPhjCwkvx9T0txDqdjAH8znvQw
  2917. -PrsBmp1h4y/XOalMhcdRrwvRpqddtK+hRzGadKG52Ej6nV8O061tkLgscmS9NyH6
  2918. -fDtIFx5CH8icLV6FtF4gwrT+2/I+p6iqB1VItTobh1mJ6iX3XmSFVslcfcXfTaS+
  2919. -zJUTsPU7kq9Kgj4buBGhUHPk/wDRHkeLWmqpChVAIA4AEa/SVfuKgGSmt0XFdSD7
  2920. -JhDTZZw9n8KMTNurIWp0dOpuZ3qV8HAJGZ2akFaBQMDExptOtSAKMCHxzCXHH0zV
  2921. -afxC3zF/ceDCGrZr7rQOHUYgdfpn/XZHR6jjgrWgPeOZVv8AXnQpckk08iS5JIRI
  2922. -KzqFgrOoUqkIIOuFEKsSxKEsQLkxkYklwALSa3dhyCJnw84tsBjQ7mxSFBsK4b69
  2923. -xMWPTz15c+2lGYO+lHHKA/xCI3MKSMSNRyW06qceUv8AqXXp1BBKqPwJ0LFBHMWt
  2924. -4HELiO6qhA7jelTaBnucpG3XgHrMe/WJXxxxEHVqx7y2HxOdVrlbswy61GbGRN6z
  2925. -ebrFu0vhuGHvM+WfbmY17DKsszp9UDwTMVufBkQ55EZqqGczKMG5EYUgQz1WuhM5
  2926. -lkzOZpzijUrZdlyR1E7zl/xOi7qtXc5bHLE/M0599XFS5UuHJJJJIEMHZ1CwVnUK
  2927. -USFEFXCiFWJqUJcIkuSSFXGA6mkgnBi8ooG7ksa568WgcNmELcQZ4lE8TDvGXs+4
  2928. -B2yJpjziRRkw3AhSxGR3OTrKdWl25SwH/J6IECZdQV5xLKa8/VqLF4I5h9NoNW9w
  2929. -sWxjn2JnRfQhzlQJ0NGorrCkjM1qpXpCKQth3NiIX0vp33D9s7Xt8xbUFSpBEzU0
  2930. -vpr+PqPVWZnJT0WbR0Y7SSBIldDORKPCkyqzlZLjitvxNRzvoiSSTkkypck089tq
  2931. -jLEkkIkuVLgVB2dQkHZ1ClK4UQNcOIVcsShNCESXJJCrkklwjLHEpupLOADKzkTF
  2932. -eji7ALO4E3GtSYywEWNQeznqR0AbxVazjaS34i9mvvtO4K+PoTr+RVt5UfnEzvFI
  2933. -4AI+JuY1HIXX6lDgeZ+MRhG1brvWqwmPrqqsc1LmHp1W/wBOQo+pWnPXUeIV9I2f
  2934. -syefrn5vTbO3Wqd9zOpqDrnEzazXOoVncEzopxxiARdrdQ+czLJmtsTOpf0gfMwh
  2935. -xM3ZyM/E1HLu+gpJJJp51ySS4FS5JIFQVnULBWdQpOqHEXqMYWFbEuZE0IRckkuB
  2936. -JcqXAhGRgxcMUba0Zgr69y5HYkrfF94w3MzjmYSzJweCIdMTDvqsEiBt0zWdRtRy
  2937. -YVdohrXJ/wDH2k9GO6bw4ry3cbDKT3DVsJdVSVbRLdCffj4hSQRxISAOYxnSZrwZ
  2938. -RGJu6wDMTNpZsAkxjOmqyXcKIXVjDL+JNHVtGT2ZrW9rNRz7+FpJJJXFJJJIEkkl
  2939. -EwJBWdQhMFYeICVRjCxWoxlTDQomhMAzQgalyhLhFySSQLlN1LmHsVWVCfU3Qkq8
  2940. -/Sl9fORwZiq/adrcGNWrEbkzMu9PJcCO5GtA95xzY6HgzB1NnvLhLjr+fg5Bha9T
  2941. -9zh/qWl/qG+5ca8noxqh8zNmr9szhra5xyYVWZuIxm3Tllxc4EPpauQTF6KieTOj
  2942. -SvtJTDdXE5X9TWW06Wu6okbW5xOqnEQ/qKvzPCLsf48ywscjw/xc2sEt5+52AcjI
  2943. -ni/D2zdPW6OzfSM+03Y4dQeSSVmZZQmUTITMkyCEwVh4myYKw8QpKkxlTE6TGkMK
  2944. -MpmwYIGbBgFEuYBmsyo1JKBliBTsEQsehOL+qL+KVEns4nR19oWraDz7zz7/ANvW
  2945. -1WA8bhNSemufr1FgilqR3gr+YGxM9Tk7kHpDRWygrOiRg8wbYxzzKmObtImwMw71
  2946. -g9TVVWTKYzXUWMe09IHtzLqrAHUMmBDWDKoHEYr494umT0IxWMdyKZQe5kvrW2pk
  2947. -cZVhgiRJVzhUJ+JWXiRoP0niVqL+wHidrStsSKMfN1NlnyYwrBV5nWe57cevp5WD
  2948. -DIkzFq7QD9QocMMg5mLMc2iZRMzmUTMiyYGwzZMDYeJFJUtGkMRpMbQ8StDqYQGA
  2949. -UwgMIMDNAwQYRDXeLJQfLqG+08fiWTUdN7UrXc7AD7nL1vjAGU0/J/8AtORbrLLC
  2950. -TY5Z/wD1Badg+oQH5nSco7Q3Gj1nLEZJM5WpLDs8qcidbcCOJzdcmQcdytR6XSXi
  2951. -3S1uOcqJtmzOL4JqwaPKY+pJ1gwM4WZXeVHGYu6Rg4+ZlhCkmBWapfDczdq/EDsO
  2952. -ZSH1O7o4h66wo7yYpQHjqjj1Sq0vHAhcBhz1BZ/iaD4kU0rgCc/xTV7a9inlpq7U
  2953. -rWhJM4z2G6wu0smsdXBKhxCHGOYNTxMs87ODYODmc+zVW6bUsEbA7xG985+pxdca
  2954. -x+//ABP/AOQldDT+KpZ6bBhvqP7gRkTmaTSrQoawZsP/ACH8wrnniYvP6Q2TBOeI
  2955. -A6kr2uR9Seelg9LTnZYpOlo2h4iFTAe8YN21Nw/3GNGjaqDLGDOtH+I/kzn2Xbzy
  2956. -ZlWLHAm5yzp06hrOAx5iHiC+X/cTljwx+IfcK1wOW9zMMBYCp6M1PSOQHGYfRerV
  2957. -LiA1FRosIb+Ix4ZzqQT8Tf4R2lIP5i+rHBhDkNkdQFzhm5My2TqsbT3h1ne0+rW1
  2958. -Ac8ziW7W9UzXa1T8HgzPXOunNemWwH3mt+D1/M5em1O/ho35v3OeOhhjB5GYPzZW
  2959. -8QHK3xxDhsxFLOYbzQB3Ci+cm8qGyw7gb9TsByZjJwWAx9zm3s1lm3Msmp1cFtua
  2960. -zk9e0yCc8DIiD+JU16hqHbBXjnqN1XrvDKQVbudZMcLdNBvTAWFgeDNmwE8e8w7Z
  2961. -lRgOc94PxCaalRd5579vqLnBaNUn+2sJTNp8xQ4/kRdm+5BYVYn2+Ji5ceoHg9Qj
  2962. -Jb4gXrVuQSrfImt+febRVCl369h8yDlVszn1H+Iyl4T0t+0+0VDBRBl8nMmKacEN
  2963. -856xCbhWODye4Kl9qjefx9TDkhuYB/N+psH3iobE2G5+TKjeprW5NvuOjEtGTTqw
  2964. -rcHqP5wM5nJ1F+dSXB6PEsHU1utWivJPPsPmcK3xK52O07R9Stfa11m72igE1IWm
  2965. -F1dwcFnYj8ztrstoWys+04ChSMGNaLVnTNsflDFJcd/TnGCPedIKHTI7nGo1FOwD
  2966. -zB/M6Gn1Squ5LA/1mcuuXbnv9iFGBmlDR7SmrVLlcZ9xGhoARmc7cdpNcpQ0KgKj
  2967. -c3AEesoShC7kACcbVa5d3qYKnsCYk1nqzkxbqN3pXqcy/UChLHY9QF3idNe4q4M4
  2968. -mt1r6pzzhfidueXn660va7W2M7HJJzCUau+g+hzj4g8SETow61PjfAFq4PyI/T4j
  2969. -VaOHGZ5jb9S1BDcHEmLr1m4Nggxio4Tueb0mstqYK5JX5ncqs31g57mcXTBfIzkT
  2970. -K2do5yp6ggTzNIFxufr/ANwi9pTLsPSP+wFlzOck/wCoeywXKRwCOoi7AHkQEi56
  2971. -mkPPMX3EmFLALt/3IDNZuOeoVXDqFbv2MTVszanJ4gHOQ2DxNq3vmDVt42k8+xmX
  2972. -yueIE1eo2VEKeTOZuzLvsLufgQeZqIsjI5gmXEJmVmUDE1+4c9yziV1Atd3WSISm
  2973. -y3TWhlJ/HzMr9Q1YDHa3EDsaLxmtHDEmtv8Ak9bovGNPfp9xcZA55ngDpSBmZDPU
  2974. -jKrEZ7wZjridOnPd5eg8a8fWy0pUdwHQE85qNQ9xLWHk+0CzY6g8knmanMjPXVt1
  2975. -ZGZAOZcsgjGRNMrxJgSsyZgXxK2jOZcnEB/SUpYAT2J1B6VAE4mku8uwA9GdtCqp
  2976. -uf8AgTNBE2hd7jj2+4O64sfr4grLWc5yYMvxIrfmspyDiS31LuA77gWP3LS3b31A
  2977. -/9mJATgEEwECACIFAlFp/+QCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJ
  2978. -EH+rEUJn5PoEtpIH/1xKaevV1VMnvroV0Oc8r1yk42SBrSGdu7ZL7myZEFLTthHe
  2979. -sRlP5aHcDl+bNiMlIukjTwzlfjPU+mOFnSbsaePMsElLyr2Rq7IJ/qAlWl+TqgiQ
  2980. -aCR2T+YhH2dj1RAnhp8hLQ1+rYq6R5BUXvOffB/eppYnepoK2nYVghpnA2xYpS4j
  2981. -CMT5oVeSczxKZYxUWORy4cXfM+e1CjiDjZJLho2SX18xi7lk0pzNIWoBr+dXstej
  2982. -1U/8yfkNkbLOZPgIudR0/ChuWPuQuTsHo/ovOv+SRADHwAAMGt/AhAf88NITyLjP
  2983. -D8v/Cy1Nswde2yhYdbWWGaHipJWmLsKP6fn+EDyJARwEEAECAAYFAlF6hPIACgkQ
  2984. -RYKxTiY2GI9mrggArPl4ruJdJ6+y6D8N0uR1DRG7Z1oA5xZiC724ooYSSft/AORH
  2985. -RMGrPgwxLH4Er6ywg3lmt39HIx2LBl9EXVbvgUyVWJxXCM7yf+3vjhk/cxq9jTgw
  2986. -ED2PvMB6xvJhRyLhFdSlzj9rE2pyPa2ty+o7NPQVszTjvMwKmAP3NaPv5BcvsZfW
  2987. -LM+fBPaU9pEf46IXfL0Yn9sDHGuIdvFLm+T4zAB45JL8nxeFCE9XVd6a0J7krnMo
  2988. -VhtJFjVUGRp0U/RoOR2HVe97kAK8bZ18ZtlcqxwXFcsL9+6EXfkKc8028hOMwmK6
  2989. -g5BzUTafEMotX1r4S0NSxLtFR9vKwpkOsv+8+ohGBBARAgAGBQJRlda1AAoJEKyF
  2990. -k2KwQTv6Fg4An3/EMOskl2vc8LRetlV9RLLOq24qAJ9nkLmR0V2TQUDWGaL75Fg7
  2991. -o7sJ84hGBBARAgAGBQJRlmARAAoJEEOPdw7I+lJYKOgAnA/ETjvW76myGGy4Ae71
  2992. -QsNWi5K+AJ440ObKFecn+122mWJ7iCtimWHhOIkEHAQSAQIABgUCUZXVpwAKCRC9
  2993. -ApQkIfSIn4+PH/9HxYN6LDzP9D3Q9xPmZqoxFt9LHXqjfy3uj12AkBnoJGRniXyK
  2994. -y3go1kT1wRD7i4R1PiDZ0mAvLU+5go1BKMnIqxs3vBCNuTTKC+fYIg9zqTw8n8Qu
  2995. -tLGj50GXET96RjStY0oux2gxRH4eWlTMp1/m2UDlv33K+wi2PGupGlocd31bi8mO
  2996. -0j0/gfBEs0Qjvo5rmzcXv+N482Ys5zTRpzyMODhgiLN2F0cthVBMcCcWmgAmFst1
  2997. -ayoVsaB64o+yKNyabpwJT8SeygIc/dX+higkP5F9IFVeO98txZG1d6K+/FL7mPs6
  2998. -ttaHNaVuG1hxZo+skV4Jz+ZP/oCjDS0k8JA9YELdYL+15FBbRT3PhY7LUaMH+6r9
  2999. -UIhF+rxzZc9vyiXZYb7Lzwy2bmk3XtCu1vTgztD55Agpcd/RKCVetx/Nz8gvIS1a
  3000. -re8Eqzx5mzJw1XxROotyEmRO0iIprIhqXs8mV1CZCZdYhpKXSXg7afS2+KkpS1YZ
  3001. -wlmyc/lW2xWlAzGTwDAp76lJ9rAvRSD6xsUTBhCBZQjVfdAVsLcSYcH7KXVjYRvQ
  3002. -8LQFjI3G3EhV52HqQ0H5i/OT4lqqiaeMxt8OjFjQxO0Ta9/Ukxh1AmmkXVa7SiyV
  3003. -qJddl+gfMnuR15mzLB781j9XvYOfDQ26yjau7S0p2nrqkEYQYVDAFMgJUOUQ2kVI
  3004. -FTYMHIjOSGWKx6wlgt+AHaAdElJKr5j6ycGDojMG9Q1LvJC9SWF3vQaEK49Ggetn
  3005. -SKmlSqQhr7dqr76UA4yQHH4/YD5KqQ4d6+Sf5FceGiTeco4JLFlTosgzgH+0pDW9
  3006. -+zkBvv+Cp7MBoZoaxQ0bJU5MX4IZlQSpe5eNOx95yD3mm23xPMSkmabN44s9venq
  3007. -Nls62ktRSuBnFwhdVzb50/H2D3s9Zg2Ml6OtUYTkmKDrmn7hdp9CDi+zg2iHHGrb
  3008. -Lev1sPa/NOw9LWxHAzVfMEU2pxa3k5xQKV9qF2YKp2uFf/H705Zp3v73D/wYAeCX
  3009. -RHdw5PqblnubayTRvc6OcJoXRxsELgsbKpwyUQhw1XA0XGndoRwB5fOyLhplZyyZ
  3010. -OCdeA+5tbFW00XUPKBjUoFQSnoXKYL5QwFS0XWs0mbAayFMkYotjZuI2TyphgFbo
  3011. -rKHJ0FQcn+9jhkIsOTVK90GdPhDjQhA+lnEAFhoVZNg8iK5Xt40i0rzI5qT6mhws
  3012. -EZBRExL6pjL8XZsjCyN9q89Wb3xtqRa/kcAyAUZGLIhQ7k+UtNjoTzg78yhxfFIm
  3013. -PIAuBHogw0SDNJoqVtdUlmxTPtJFnZBmzDeTfz90HuM7EDqMe3CY4E5EE/ZVnHV0
  3014. -xxEA3O5lKWdEVOHSnkuQnFStPh4zkk+FDhSqiQEcBBABAgAGBQJRwcjtAAoJEBQ8
  3015. -n0HY8FbdjDEH/iUpY23ERRZoBSHTu76wjsqKbRlx3E5+G9a4V+tef1DOuLLQyY4I
  3016. -KxZwVfv2Pk07O7NcjNvwm1ObrbOLZISUTlWoSbkIMw8Udc+Gnpt6tjROuljcWGa1
  3017. -wbekkGhx6kOdhhXOiA8JRURDBzW7du2ZaMTabdjjkLLYNFzlIvUqoR3cjhib0mux
  3018. -nH1tU8sg6Rtl2QQDjt2Mi1NbXpdmg4sJ4BhAlCndlRE4Z2L6ga4Z0BcrrSv5hoEJ
  3019. -BMwilQBrmJsHaKrWydtHl6Vhl8wRr2J026UVIlaQS08lYiATtJj82HVc864kRJh6
  3020. -5iJznPZqLYwXENKWEtMRLDJlkqWLqoF0QP2JBBwEEAEIAAYFAlHwdocACgkQsRee
  3021. -tzR9wQ3ENB/+JjAN8JKbSWHbe+q3fxTHVs3aILPb3ETKYGy7t0nzFyKEv1JXBB3N
  3022. -nEUA7vrcjKeJeeLecJvwsdv9keY4BRO7T5OSYN3zzL2imEnuDxqTX0QooTmD8gc+
  3023. -jCNF1bFyQew0/XTF5MNUqVFGM+pfmkRAoAPY+q0hrpAtdIgaLg0mTyoUiSe3IgQr
  3024. -Cs4mq+HdyG/+rb7/GTAjEQTozAowThDoKITYl3fvDUdhPrDwIZrUB6ruvmm+bPbb
  3025. -URuetUisMcBk2c3hzTCZItZgJxmlLQbw+T3DmtFHUMWPVTzlYgPc8QV/OIUm6Z4v
  3026. -ZzI+0MqmYnICiWgnm/8rJkMfKFZQ112HlI8etB1eAZhcoWbvd15SKBdrEcBpovni
  3027. -RZVal/T4dtoyVjlG120qHfKbDIZuzh+/vWI27drqS4Kibd+i6lt4HYXoUFRAxMRv
  3028. -Ts3OnZhOejBPaREdeL6oENqRLINswd9E2A8GM1w2aZFu8jqJ/XyLYyi7p7yXYCIK
  3029. -dBaAx3YPPfBwx9g1jrzwJ46LZ5xT2OyAFd1nEueVXYnKqIALr8GVldo4XwcIkW8I
  3030. -gnto7mwM1sijh2Kn7X/r00ZJiUtCpm7KB4EbnGfUx31GReS+SYvUygk+7IacAKAL
  3031. -mKq5AVh5qSn2baBzpdG9tcPnmbr33gOeBX1m2q971QBte6XjddR9WJVUm+e96mgf
  3032. -OlsdP4VTyr+8jByW6JqVPk8iGuz0UwefcOKAEC9/uv2h5DI/9KHXoNpEVK2cxK1r
  3033. -Ec2G2JQkSBoKTVvL8bk68lrBQosndKlw49SI4O0zKE8OPRU6CBg5F6gR/C22ltmD
  3034. -Cf/ZR+PFpm2xR4CnsqQ4TT3Sw4ITlbW9W4fouDJVzCvg7hTXrSMz8tsVoWPjyjn4
  3035. -KRmw6MVXLzCiC9SijxMba3MU3PgO+4X2ARaTTrfr+c+yY6Hp+IN588rKDRh6dAWT
  3036. -42zhETnc7wuf4V73B2VV/cpS3ARAma8JkcCaPTpbKxD3DUxAhpX3/aU4MZAzvb1+
  3037. -87e1c+A6kLJkIOFARSzHI5FMZ7yvcJz4koo7LDswhfaVYp7MC/9O9L9zM64R6Fpi
  3038. -JrHMRZKK4z52Dup5Xid/jqyoYZEycTx8oF8tf5tNNAD7dmhOODo3+MvOGPfH8hM0
  3039. -QqUaIlK9wXvBQJ5cOdrpJlZsTSUEjx5tkT8so5sKUTy2clP09zAThY251f4VDEBn
  3040. -q0pw5U8JSiQ5YzjdJ66jwWLt30+Ic3TGuFdcDHadOCqKle/3FvaFghiWWvRFSb1u
  3041. -tDH0EQ/LDnAgPuQtrMiqW99BC0WwBydYGHXnsnN4dsQhN1FgWBJnzEzerahkEk9L
  3042. -dkHA3Oy2nP/YvcMZirbiNfoUsh7xcKYbhYkCHAQQAQIABgUCUjJIiAAKCRDhZvoR
  3043. -VxE5FuD+D/9GTNPO0XAuutrAGcMcTaExHeiwtBpKR7SK6fpp4AnDeD8HdVN+1wrX
  3044. -y2APYLFaz1ebvg0Ffx68xRAvidEToeGJGh22t9Mwtku4i9jLZw3ogQegGAO/13sz
  3045. -T9c/WZ2U8e8RBaEKC2yAq4Prxr8S9FIshAaPY0tx4w46YZkFoJUgh3CQ+YZEzX+C
  3046. -hNHPEc1byPiGOI7SGiQVghOzb/M1wUoKXzbdaegw5/qMZvfR62Dav4R90GjFE5aN
  3047. -SMnGc7TpmyeWSlVeRVSlwh0bXf1a3X34zpYu+3sJziCCYEYC0DWKWNa4VCSgYLCj
  3048. -HVGGK5OmHwXvKTyAERJoSpLVSscpwLg/AP7NfM20754L+wujcFlwaXCg2cq0gJlN
  3049. -lKw77q2/SgTQOvNuTYa/sTOJmnoXUGPC6K8gSrso77HMFzYrY/3TU4usWhVbYpz9
  3050. -GVkFRwwLeyeDNDYrfWN4/81Mq2QqIAL98rIvNS3a4koqEG/t5q1pB4Cucn+Q25Yd
  3051. -YvEQptq3JhC9inZCGUIYiwciORiZirCnO6LxayUhNDOY+GLwld9pAn0nJ+0GLIJ9
  3052. -6P8BrYSHqG/p5upI7iLJ56HsXMJzr/xxO0AzA/E/31T0TTxpxDj4a66j0N0cjPZi
  3053. -oGrS5lqyfJHo8RNyzMbF9oN5oQG7EJn61qQunm6PorduBf/6QYo2fIkCHAQTAQIA
  3054. -BgUCUlnWXwAKCRC75MzE8i85tYpKD/47NWRJr8egw6nS8FXBGx1So7RdiadweNMl
  3055. -TRurtT5gx3bLDAocjzS8kqZ58LQ1t8RM2lTNx0w1ZFPXjperANwF7aBM4Pou1gAI
  3056. -+S9mUPvPEGiMCnJS5v5xz/zfuwpBYOxhKK3LyNqB1XIWYJJwK2B8cLcvbhX7kk7t
  3057. -jJdHGr3GoC/+9IOgQGDxd1UTYoIzw07TEmEr4lX+ymQPbUk05MEG7sEFG+563HhC
  3058. -gVaHyy9w2lGm1S6VrBU8R/FyY1lMKNzYoYRhBCQZlDMDfok8kUa0eV/wiQ/zB4BM
  3059. -gnQvMHMWtPP1aH1P0e+Xm7cy9zvQ2XrqOBTU+KVEbiiyDIcdwHa/2jKjoMWezdPy
  3060. -bc0aCRJuw3d0pvPAcnl/i9/1DdI5MtLC4krmOOYTBhPDG1G5hky6SvdCGq2urdRZ
  3061. -yi+rEQobkrNQZIsg7UnJU2YUEj9PurN1+rN+SdQ77ijpNpHSR00l03CNooNAycE6
  3062. -jLo6uKKijHvTzwlM9CW14rnwNR4WARHlnSFabqhj1Av9ODIKuLcy33+g/BUxAHtc
  3063. -wHruFLc1pT3SNqoRUQ6SNrl9kl8dkxWL1lOfturSxUYSJSRlDy8IJG8PCIdMuomm
  3064. -IwoE/kZ3eZo9wW+KHEOUVXRVhwA9y1TU47Edt+vgq5xmI3P6ALTqMkatyUmr1Vag
  3065. -xWZF2GdWxYkBHAQQAQIABgUCUlomiAAKCRAbtdbjq5Z9qLusB/0aj5qhhfqFA3+0
  3066. -WunBGYs+2zPAGuVNHPJyCey6pn18uOt1I7DSoZQocpwrLN+OofuTCe7+iY6porsf
  3067. -UUtbNtGLABvU/KGZYVJTmsVhWi+w8pDsKwU2iO5iVfVKDo2llnDDW4B66MGCAQ4z
  3068. -m2Y0dMTG6Hll0xqWvop8ITktzhgmlYcKM+dCDty8/do8ilQmd7JEpwTnrR8AgUes
  3069. -0XVGngtZ8eu4qFpMB3CAqmj1uvkTdPA36G6t8h2Yd8pgAbBlH28HvP+Kq5zEt5P6
  3070. -2DtORhxilpipWGIN3FbzCpXeJUYbRjg7DDW54vtzCHf2vGfxnkdsPPjfg/75gQNw
  3071. -om7vLpApiQGcBBMBAgCGAhsDAh4BAheABQkIbiygBQsHCQgDBRUICgkLBRYDAgEA
  3072. -BQJSYjZvXhSAAAAAABUAQGJsb2NraGFzaEBiaXRjb2luLm9yZzAwMDAwMDAwMDAw
  3073. -MDAwMDAxMWQ5ZjY5MzFlNjVmODE0YzZmM2IyMjE3MzZiMGM0NWYyNWUwMzY1YTNk
  3074. -MTU2ZmEACgkQf6sRQmfk+gSHEQf8DKna4yJHGd7sBl6viR7xlg/r+w5axp/Mvc/v
  3075. -cueybibEGKTiJqLEFdU7bYiMDu6D2pOnCLwEBspVK+1qz+ivzKO84W3xJ42C9s3I
  3076. -Ja3QG5FvIrYHWfwXD8VrtAWtiIx3C8cPsUzvT4QdO4+6ib7oHIzBuncSYb17JbNU
  3077. -X/6V+2MFHpYwwQF2JXcd5ZjI1dMpuPgthvwJSrk9kHTAHGI+IHPfMV2V9tVXkkWh
  3078. -8yUi2hIXzd8mhWA4wW4FrLp0hhhHr7HnqIjsuhMUbRm929Ko6lZEW7UXbrx3WftC
  3079. -MliCa2aLDMFOQKvnikJAne19fe3TRfvo6GEjPSrgH2WkcIXBRIkBIgQSAQoADAUC
  3080. -UoOzLAWDB4YfgAAKCRAc3a2gtETN2hLICACweYffJ8n6SIhF9p+H6Chp50KPM/7P
  3081. -m1lNQTJ2Hh0BqWuHoo5mIlfHd4Qx6SO+Qnc7OWVagiap8kyMW/Ij1gjLecuyeKYt
  3082. -ZmgKdhIH+AtGdzehfrIy37M8iMDg3GKSPJHWj83LYWf7IKXm9bFQf7y64Nis60uk
  3083. -qYVu1o4EqbQZ9yIzFUwiOIBxGOjJU7YQ48bp+avrQoDiKp3WM4ADTYFTLMvRopOa
  3084. -CLohwynraSSB5BuKkRTaPCXBwjLy8HTYPIOWqChzq35ihZ4s+7SFtPXrXfIe6NV2
  3085. -V+sVzDM4zLvzmrf19URntx0Dj3Alh+YoYMDzPjMyjCp5VSUPyoj2qDKMiQEcBBMB
  3086. -AgAGBQJSnOdEAAoJEEpo3M1UcFmmnL8IAMYcqnuFdkrwThQEXcf4GUd2+kDak88v
  3087. -6ir6JJ+2p+P5OldySTiQu+ks71fE8gT21DBxKfp/XN6apHfil+mgFYtiNpHJBF/T
  3088. -/KrcJpzNSBcSi5/ZXlwqb0Je3nD/ePA3djGwc9IRWYxU6wXd7qKm9xM7kaVmjkyy
  3089. -UH8Vg+cc6LpzMyOifSKrU3v6igdb9JJKNxXClZPaeo2ec6yG2tmiXhNrB1CK7jUY
  3090. -vLd4qhEgnRTLy/ClW6A6ybt7ji9mXRZ30O8FP1WhX4CPK0kFb60haSzTf/2BJyTR
  3091. -rGtdPThvDxONqmZHQDoelT1EGicepFoSwHqjV3eAgB63sv+YQHBGKeSJARwEEwEC
  3092. -AAYFAlKdRaIACgkQhiRh5NQaDzX8rAgAxBn12/dEDe4p7mbcAFAhzHlHf7PecsbV
  3093. -JBXw1njKY359i8/Q4RSnex4NiEJMba2E+uU5qzdPBUMiKjgAMzKcDSFUkewBXwn1
  3094. -dVuhTjvQVgCtZY+ds/CejGLog7x8cd5a21TTKjkmg4oeLCMO4FQ/+B5+FW855uTU
  3095. -fepMo0k17HYEEN0vtqUwDcERnjE89OApjCFmOXNlKdALRaOyAgvy6af4VSrRllxB
  3096. -jCbwatWs86YCkEzQHOMsthpHIWBQO5BsPfMfX0OmK44tNY9nfrlh4NRB+9mXMxUK
  3097. -hlyCmywuFE1vXObMmZovaB0vRHGmMeJr1YXfU/RVrugEuNUDxh4KGokBHAQTAQIA
  3098. -BgUCUp+OzwAKCRDJELNVjYFl01WAB/sGW1sQFUYMvmnXVnI8UDRbEA/3HbcHMbnW
  3099. -sABw286nuoBXdfhAY2ZPA7sXeUlxg2cG7e2cZP9wCG51KOKj9ryi+RpjKUka1q0i
  3100. -7aClOB5UuMl8kQ8hkumsPEBMX2CoidNtbTWE1QbkczX30aXgFqG99ohl9uiY11m+
  3101. -inZyUjFEk3aWHuINPW3eUmhm+hXpKs7XW6uHZHub7FiIVW/oZMcmIJ5mNxjIfW74
  3102. -lTZx0BUzgWEU5Mop24mLsjDqAl6H3wX71bm3NOba6iG1vYXqzYSYxIa9tmo6beYF
  3103. -uJsQfnr6nUIskliYk94+jFRoMUpsmPpAzrF+vdAXEkZCiZQ1u/qRiQEcBBMBCgAG
  3104. -BQJSnOviAAoJEOYsVDm4qbdN5mMH/jcmlhTmrARVSB59S1f1A67AG0YE4kSPXWh7
  3105. -MK5s6F3KEnGd8ZXu9H++iV9Onb8atMw3vaiy7Mon6cYVwJZdEhPtsowKe9CPKFTb
  3106. -kWCvMw23t33zSb3Al8MWdZQTB8RUYInwLHEFGJjq3Av6mC2200NQeCRBfnaQ3r9a
  3107. -9iP0H9QNSzmH/qW6eWbjmeLsIPcC0hjmxfQgR54Ez1k8yltpWXCKtjPYLr+QVLvH
  3108. -Vo57v1oMIfX7aRFgKDFSpHM0o4bcAqajV2DSJ/dHOM+OSLG44U4t2xO0Qv5HPEhz
  3109. -woifAJlqQ602CKdPVAhHOf1GXGG4vaTFrbsnFHRfacklLzgZt8uJBBwEEAECAAYF
  3110. -AlKfiQgACgkQZH81l4mqPJoiYB//TkRbdrEKfcmhYRqd2De8tomiri1ZatHcap7Q
  3111. -It7ZYL6ao1omyO7XmaP0+IASVtQyFBEE5oaNUQQvDf35FVyiOVc6rVoNHfAx0uFp
  3112. -8bZL+YD6PAaqkWi5WNJqPmTdX48hIHHtVFt0FRf/RRPlS1L/JtGU5pusLtDugzdt
  3113. -GjhBDsoa0ZkujoWFlLZ7xa1ClQjBjKRkFz5ewnRtHUIG9yQ3Y7DnSLS7zoeB6YOq
  3114. -QPeJXBIdVhSITkKnjIKgB4zRMXF2+4OJOBxSXBfimL8lylmONaC7K2nBuZnagMxX
  3115. -Vf5t0qSt+ZkSLCM0xQIxvMKbkatDTvr2Xoz4nxI3VJXoEZsLfd52i1tCkRiogopI
  3116. -xFnFXazRLeqtEbE38cDCw8D6WQwYSnjZQFMM43+zu1w35Z7h2BSTj/E9kjM4WmbK
  3117. -frPoxYdYEb94/rTWg/fGykCiZ5YCmdBgdxs9Ys5OdOixO3guRt9cTEywJBm0uQOn
  3118. -grCBKslw0NsIg5eDdpcdZuQgXaqylOF2XR8lCd7wawHgZvGu2lZTDnzUb8G1xxgY
  3119. -hnr0mYejZFoWvKDmN4mNnOb+A5w7RokoOskkm36X1Q4D2advCO363EOamp3fIjfT
  3120. -ueLjfRTwIqwTq4lLmNwPYbZaEsDvmeOuqjRVbPAIOWxnHTclWPbSakJmqhdUco+h
  3121. -bQdYWP0mUBE7GIW6LF0Lb0jbkXoW26lyAT6CEF/WuIkdBDxEkg5xFcaYNCwi8cwe
  3122. -uVajcsuzZ4eIXg8yMYgfgan2MEe9TT3knlIbEeq4lA5z9LgDs1ClBmP4erskJPzR
  3123. -GlimHHjKO52oZlHdcJidxZLRzPz+FPgWhSJ2CxpoauefSEqklrJ92545Z2jUHs9n
  3124. -IuAXIze6VnI3h7DKZ6ysoYoe4CFf8EH8wkYJVaDzJ2FFB+9EmEY45nMfPSzo9erl
  3125. -bG6P78gL1ofGcOM7wLdzCkX/19PCMRBp3iS24nX467Itk1i+7vwQvheZnIjMP8FY
  3126. -7iKc0jpDgbS7mPGPbQyQPzcpA88WuJzH0FOCwSBGRZaQbrt0QXzbNwBDNqSXBkzt
  3127. -HML3A5yd3fv3LrxFSAusMmV17wQLoBCa5lvGIyDZvzY03o72Ar8jW3ImOW9SAxcb
  3128. -cspFGH1Ao8IklAhIoGsRKnpO6rZ540hS5dnJt1JsDhL7yuME7eGdmlA3wvr6j1ij
  3129. -vXe8R6bnYooiI49FNOt1Gj0FnHZtMwDjN6WZdyiXn1sS+ma2uLn15FCD8UQLcEr1
  3130. -+OQRUZNGWIf9rxOfEDgDrA9xRrkqmQiiObkuz2eHRoKzcYeGq9Y4kisvm/BvODjZ
  3131. -aA+mI2SAOwaTbl4uONZzEqvioJX0ZQZkaTrBh/ysuIFOmx6huokBHAQQAQIABgUC
  3132. -UvmRRwAKCRB60KkcQL0AkRSfB/9uaO32B/1eBpuGibT0Td8wDnXlWgmftZLY1SDd
  3133. -dRqe5fgSfM0mlRpyM604BvEBtImtv8Np2YTgkWUHYzLLOpyhCCYrF3oG+AjJg70G
  3134. -4HeYajvr6Z2diEesX0//kcdVcKAangFxFBKXe7rUaRL4+/bHvf5uUt8v+YXRb4oQ
  3135. -RTuAyFNCDUHUgAzLVQPRtp6QbFcrbpXZ7q4hYhyTRil6MXcUUygsFNP68lWYKW6M
  3136. -1ObhJ2U7sWhyNPNdCS1nlhlYfnF/l31Q8F96g6Phv8fnTRFC0yE2Kivit8Q8upbR
  3137. -nfZLxx4IoOmfy5NUXs2bR2XefYqz+7V7eZBAJQGcdeDaD+NPiQEcBBIBAgAGBQJS
  3138. -+eZ0AAoJEJCcHhtImta8nWgIAL0lz2iKFHEKweJwpCPW79HnDI4j/r056JSmyTTp
  3139. -GfMCwIku11eeK8HpwduQBtg8U+aB/XAJR62b9KNXHy2DOrPNcGl84gn+UmZrSNn1
  3140. -Gp198vbk+EitUjvItVwPbL0a8mEdAgW1KoGvCt+PATdAgcKKivx31gzfmjax0beT
  3141. -fwLg/7YQLgP6e3Dwr4DSM48SdW0gMp5iWDlSKYLvrbuKdbeFTzSHvhKviS/TPP3w
  3142. -E+OVwOSSuGPiNSBz3cL7XmVlQycM0reIajZmfVd8+572smHUjChLc5Xr9Bdvs8HF
  3143. -qIzsd+5rPy0RPKHxKdxqmvIzkwm7yYRp2rJt6TVao196axOJARwEEAECAAYFAlL6
  3144. -//EACgkQvA3oU8J+bjOdyggAxKMM27x1g43zKHo5LYPRPiRyB2NVFuovTgpNEMpS
  3145. -50dcRK6DzOYVRDvS+V84KJrEwPpQoVgQCQ8C5p1HBtXQUo2J+p/oI1qG+LfXHcRh
  3146. -RBnY03OEUDJA0l5h1xaGGORee2x2mVBZTMaXDZ6rvxj6gisuKj3mtnM61V3Dbuws
  3147. -hckYjbQ7z4TOuC/UmPTBB7B1y5k0J4uDj36W/hrEjQVLhVnMtOdCq34kN1CWz6rY
  3148. -aqskcAAeeBCahkb1GeJ6MuyX483tblCskVnsRENFrS79W78DLq7dDPiB+hK1nfgF
  3149. -F8RYllsWP/NOFJAsS1qcffeJN2IH9oQZLZVxykWY8PNxgokBHAQQAQIABgUCUvuE
  3150. -aAAKCRBqTOg3Wi/nvzR9CACkCquU0nF2oasT0FQITXBRrYYAr2ndj0NjP6sBIfnR
  3151. -BH/P16z2tFz5jM0a5sXsteSGODiE7UFcvh7s9jAsIJMUN38PhiNuJahJKY7PNTFz
  3152. -xzoCmcEzwHr6JADnhrxc01mIR9VHUMkTC0NmD9IMzJs6UgsgcjiJFu1Gy8iXuEVg
  3153. -M/0qYNWv822WGEtOqz4W3BVT9sQxeXw5NEGIUbvUCSlt1GXQXCD8u8amw/v+wRdX
  3154. -LEi1l5T8KxwpJObIe5n7fK7rhc3OCOlj/epVgrdvyIuRLhxqOeAdm2HxCiNHXO53
  3155. -a0W4AuQfn7H8TL2alJrjyEl2kvp2m4BYQ9v0U68J2nhviQEcBBABCgAGBQJS/V/+
  3156. -AAoJEP+1OXaSdZWLojAIAJ5da9Kiz9YVrnqQ2m8EsK+87jKNV6XYh4ll/mM4Yrlg
  3157. -tEY7aoNl0l4KrWuqL0JGKaQYD8c7DyvorFMLO7MCk7FMwUVqQu1ZNCCYTWf2W0G/
  3158. -ToUeNcJbye7rILbor4WTkAobUj2h36/+/2uW6JeupgYSp7imujpv6w5Ws7j2AM1S
  3159. -i225S3MisQlFMvvF0V4q2QMeac+pTEyC53PLkqkawPr8wH4051FOio08RMySi9oj
  3160. -3Swz/iHExDAFYVratbOiN/wVZp19I1WeKHv9JhfU+veVmZTxfpaIGDIyQOTK3fGE
  3161. -1sZ5m30WIRsxV0feZXh/Z7E2F/PTGBWj7N4W1w/vD0iIRgQQEQIABgUCUxjpbgAK
  3162. -CRB3N2Fke1NkFfA0AJ4poWqAKtU+O/gsJNK/OsfXAf8L1ACfaOGLqmpmhsyeOwhx
  3163. -haVD8ecdDeqJAhwEEAEKAAYFAlKfiWAACgkQpEw906VI2OLnIw//aTG5xCcpHq+n
  3164. -CsnlbHsxSj+1EdRna3knbUM000Qy/Rz7eclxmalBeO6wnZnD2w/li1qRa5XpUuyV
  3165. -+5eJWCd6o7UTFbk/jI8pci3srx4CAwwewYDTGjziV0JUpciTrsUAQ3eaJAbKdQ43
  3166. -15Z4s8VL1xOoobG6jj2Kawlh+lVB22YixYS/689tSMpD7WNvUZ5xsp4WhXP1z8cP
  3167. -37p8eP9O1CFBtgHo0fNe/esfCnOofxUjwKbTVz/bgkAHtOa7r8w+2oGDRD6N0osz
  3168. -8PccGr8Z/UGz1q13b2TF0RT25WFNXV9oDaGJFcpLeAdpwhLerbXce8NnabTMculh
  3169. -jj1iqXgcDpHBR+/h75smWAf4m3HvGoAfdVLEEwVGMGnPVu3pj+qD5FhIslC5Ubn8
  3170. -B/r0RhOPqMO9ig6xFX731hOy68P6eGFDQ/cc7bgLZ/vmh2xfza6TSBsAtWbyTNrZ
  3171. -PCX0Dh3vFnXt+WUEst9ZpG+JpK4tkKbHu7MiSY7qh68pV2gHE6QvLCiaMpR7EJUf
  3172. -B21GEirnz0Ov9pKUI7xaB+nI7SmY+ZsuMQ6f6GGHWeF2iYNezTDJ/ZrIhsNdbdf8
  3173. -1Ce1kPC5dI82Nl5eH7bHXRFNf2o7A4idSk6mYXkK7GQ7BltZeJc16YWYXywj7Q6R
  3174. -liWArjg8Xzq70BHp5pcvcuKQg1gyJWqJAhwEEAEIAAYFAlMt3FQACgkQYLQxcdi6
  3175. -X0GnPA/+JFykUYbU/FPlYomyR1xPPzKRiKhd+98G37NsvUtw/pHfyTsQuom53r9m
  3176. -/lqtvanTJOgXMlGlcz9HcXJyY9gsoGJdkQ+XXyKfD80opUxzX1xmya/cT03AI2pl
  3177. -4VKCWafPwtTg8H9stdRAfAiw1VWZqoLcVDiTX4eorN3H822BfDtgl/WoucfVMpFf
  3178. -YG8MWdR5K2fKphPMVPoWyDu41iKKU7A6MRS+b4kKI1/8PYkIDoPVYMxKNDwKAbIz
  3179. -8B+xC72CiJxS1sjxuUkuw+PXrPYXgDzH2kaAFjF++E6er07GkCqIlRRzvdSrz4Xl
  3180. -Ma2KdrIKMj+EwIVnyKlLAch5BIa6I9fYx6jrCiqjNln6yjyMBMxJVfYQXEAirnp6
  3181. -Cm+YSafRdm2nFtptLmfhbfm6jz+EWW37x8f99LIdCLKBMaNvwFo9zU9sPqm/oTtZ
  3182. -6EiWjWmN2LTraVUAr2Ehj0Tdc6VttPV6qWVd2EpKffOJLNgKpju9BmU3VxnwB4Gu
  3183. -jsEuttUya1Z5fQAnvsCOVWP9Z9t/XSuJdkYKw7jGwUBR1aKzrHusC8q+Jce+EOoO
  3184. -Wlr3K4ZYLudgJpqCkJ+HNvCwL7kMse9d+BWtGef94ZNaNI5cCAqmIQ6f3fcGiavr
  3185. -Ar66RKTwkVJfCiKX4swXTNqrQd02A0XNsfKA5LuBXqK3dneTXEGJARwEEAECAAYF
  3186. -AlM82q4ACgkQ9iJIebaVCyK8rwf/VLZMQu7MHmmIAggoA2///mEuHPhsMR6Fxg41
  3187. -nhYNQZCZhi0wRxpiCpkLGJuEH9E2ex/jWPV5OR0GFhnINXs2co7kFqLZqY5zl1Oa
  3188. -CxgYWd/LvLQn4CmQzls+vrEfPlzs3cwzrvXr7R6/kz4ksTUfbF5Rb/wtNEugMywi
  3189. -bxm54CJZurj8p9a7oTnSqjRrXctsrtKCt38eKwMXEnKkekzaSDGpyS0nJBNSlRpf
  3190. -i1KGXaytFLS83g76TivWz68jui35X0hs4DCc0rjMPcWiZApvC5sSf3CyLMkZy6QJ
  3191. -IggKSBOcSOwHiaTdppt9GH4Xt/zXssB/l9tN521Ou8mfr+Ar74kBmQQTAQIAgwIb
  3192. -AwIeAQIXgAUJCG4soF4UgAAAAAAVAEBibG9ja2hhc2hAYml0Y29pbi5vcmcwMDAw
  3193. -MDAwMDAwMDAwMDAwMTFkOWY2OTMxZTY1ZjgxNGM2ZjNiMjIxNzM2YjBjNDVmMjVl
  3194. -MDM2NWEzZDE1NmZhBQJTPx1MBQsJCAcDBRUICgkLAhYAAAoJEH+rEUJn5PoEyDcH
  3195. -/2aGFPz7RFwmeUCcwUScDpXGBqUTLD/PeyQlQdR5k1JuoP4ufBAiveMGIqlUn4wq
  3196. -+Pj6grGsRppykMoSrTwHIeB72ONQNCdETPg/ojJ7AXZvwZmd9JM7SUaHn1ttjVk7
  3197. -7b2PPosORucNjOGY5I6R2TmG8mYXlzSgeJ+G70FJJfo5PWa00TpVH7JW/mPUia4b
  3198. -1XdOZEnrWuY7ZfzM4WvKP3Vzjy4DIb6Oqqz/lLvC5IFlhDGCZa1mqx3dU53JQiho
  3199. -ptM4XdEUP8B0qiPGgf4ajVz614olqF8CLRYgvMkRTfy9g6/kOPR9Wpn37yWB1h23
  3200. -NzAvjGKlPeFpT75/dumL0eyJAZwEEAECAAYFAlM/F5YACgkQIuNMkI8Cy6KoVwwA
  3201. -gHNcnlSE1QaYbi0RXVH9ZBMLMOHN/YHpMKvkDnX4KGwNzITqSQ23t7QLwEpENdLn
  3202. -b35g+7tYkfSptq/RHi37a/alT0l/u9sqZzyS/ycfTUgdpbJMJtVjf62wrSpw7HBp
  3203. -9rDnxTiQ1u9XXV9Z0MELX/d3RbwTL5VIY2u54oyUyNRxpsCu42RZGkvRmaygBja+
  3204. -Mb7RIWZZCU+c3xopSdzddU50Vi2cqmNCZSe48+k2IEunJgsZoQOAbhzJWO8p83/o
  3205. -tTTyfsXoVxYhwiifpVZnAM5URZYN9PnaDPzJhTyWiq9eVxHZEOrXZnLuXpxJNzG+
  3206. -ZQkAOIoeBsaiLwgmZdGl1VdRoqjM/g4lGeTDglRZMMa41oLjFrbUn9+INCDn470e
  3207. -L3t1hz0cCZhiDWuptI+VD8oulsnMXuYRzldji2E7j+AubZHioXJAHSLdKz0g6mze
  3208. -jNMLgnykjpmxdyea9NbFyfJPLVmr2BAJsHK3M91Ov1veimqRJJ8xnvAg6mZdH4gM
  3209. -iQIcBBABAgAGBQJTPybMAAoJEIJpXKCOp5VTxnIP/izRh3IS6mAF4Zb9opLqtkJd
  3210. -2xURUeUWaAQljpiIf0SujxgiTvOHYG27hSd2Z+yKqL/0EkowXMz7RiHubcww1cps
  3211. -2ym/Wnoa25npSn1JFe9m1TvOolAnPlNwRZqzvJ+R/8U6hDryEruLK9pFmULaql4Z
  3212. -iK2/JjtKDkWF7msKA1GiY1x5UI/JfoNtKxp2PoxgqpcmzjYqWZJwBQ8NViEa4cqb
  3213. -T83WmCFD3RrwTgr9NGEcJw17oC8o8Yb25D5aJdwXhRNu5k5msY/RG0xRZYVNn2tE
  3214. -VkDdEXpZywYSImpoZQ2svbru5kxnW+5E5Ix8yB4zXW0ZdqPbiAdfUdmL1E9myBe/
  3215. -0ngUmihmBlOfW3mEAvaBiSpSlPXW2ajINF/qy/kYd6uJWYRa4sFMyxy22YVvWJZ1
  3216. -8MkPzJmR1t8hAeNsGFVK8i19V5iEb0zJi8lrPR9JC3654g8/KxR7LwndPdfezUuu
  3217. -dVTrhLotNb1KP5quE993JsafV+4VADbk3xm0HYOGLUod9HVMjoVrNxLvUfwi5CHL
  3218. -ZQjCo4NmZwFZDNTBzORy8KpRru33BhHj/89Ump3RkH1yi14i4w79yoQHVBN0vwrd
  3219. -mbYPsvS41aEi6Uz4VlkPkXHrSbXs09h+LVrHgsOOj2FdRW88v0q+o/B9NFjod8Cz
  3220. -AH51Kuco2/Ad69cJi4PliQIcBBABCAAGBQJTInByAAoJEMIYUlgZ94RRZo0P/2l9
  3221. -cPoxIY9Pt4FuB3r6ECTHHPHbqoMAwjD6IrUJhB+tUAohXjHp6/BK9blTpUNZg2fm
  3222. -6L09vu6bLe7VvcQ7qemDqQViWf7hzDVcfKtNTzP7p6bH4ESBB78+SM9rmA8U9tyk
  3223. -yveTJZjMUs2bqgpVZG76Bqcd3hmHAr90HSKXf9/T2LKEsS8SI81p5Ippss6WhQWk
  3224. -hhg+NtlIZWx5TVrPS7Ctm7hI1z4cuUV4Docm/C1oA3mB/NJwjhWGujlBow9Pj3JL
  3225. -l0mM4qVchKWRY5i5ske0NMx7m9dk6tJj9/5ZIUxo3j+CYup52NkMxMTHbKrISuJr
  3226. -cQMm4/+6YLfvFeBdBqBTwSK8w6zOIhQMW6p21PSl5QSDZ0G4Cq6QNdo8XUT8Hcbu
  3227. -zdv6E+z7zJN4MJIrtrTlWgVa1CfbwrQHZxSSfWWmO8HwWKxCquXmMkgIa9exR0zF
  3228. -WRo03/N75BReL3wJo6nOcO2WQkLA9SCsWCD5uBdouFDM7rHeTZLB7pFubIUe80Vz
  3229. -CqjAwgBqkypTT4AvNLJ3MufrYSWbXbcHZ8Xbd0ok7/vUPE/N4E/EIk6VdPBfHXk/
  3230. -qZnzX1l93CbDJ10S6v9vBkSG4RQHDNHcsw3rm0UVwc+WDtB2RCrPMOZLn+1Khtub
  3231. -EY/GF9PeTDz06aSvx/2/ZQNmc3+GX3w7rDndbpQHiQEcBBABCAAGBQJTg5KEAAoJ
  3232. -EO0aZQcAABARVX4H/A53WcaXu0qghdWgTNFhGJcDG8oYhHZ++uJdz3gtdOZM+u+3
  3233. -6+yOdeApr1zJe198Qevq8MkcRFCqw8lKtZxYqBLSz8AM8GgLsG15RPkVcJNPQYeX
  3234. -szXxSS6oJPs6qLpf/Ej7pQpxvbd+lXe3RXXGa3Hp9n3t3Y6GWmI3p/xFwHMkQZZM
  3235. -kCi7GLaUNimhoL6hb6OPOpPEr/yUXg0ZBI0zDRc1WlRf3cI+8oSoKdBNTKuzJHEt
  3236. -1C0l7NZ1jqjXaM7AW8WQaMzxQBQKUlLL3StDO9m2hHfao/yGhAIPjzMdF08OxUut
  3237. -s6hEFDieCOf/ZanAMLiF9r1YB6T+Bri2l9ufwX2JAhwEEAECAAYFAlOIrTMACgkQ
  3238. -vCNjVtBL3NZkJQ//fBzGgEKozYT9femgY1oS+sRu3LW/wBEMiEo9XnsllF9e4LYm
  3239. -bx4St4A62N3TWiib1qYoi3KP09QHpwCfXUKA+TkJnynHNPLSdjUxNIYoA71Uy5HR
  3240. -srqS2CXBYtnmXmsYkR9wCT/ny/EKkpPAFvJPwJBXEvPiuSzjlEN7tgu1ueaUBlDa
  3241. -iQzbC7JamOJP1kek9nZ0KQqPx67KOjEz0iOkADfmTIyMJGwA76OJKd/JQ2FEViEn
  3242. -JK9qKc+zEAo+k4MBdY/50UxxfePh5IG/m7N4AaNfwOIY1npDD4N0pppsRrn4wnP8
  3243. -bLkBt6EXikrruGd3NSorEe+V3SlT9GrrgCpK9WS0+GDt47ghc+Hk9/qu2gZVLGsF
  3244. -UJZOBMT9T6kh+NpaAVOK1ku9JAGPdAJGeDi0hOoBIm4IO/RdRxUDXfqW/BzqHMMF
  3245. -EvDRpHIUyW+fkj3ghWI+ckdStdqtyF28d1+WJjyYEbRyV4sE+qGSmIKTQWZoG1qG
  3246. -9N4nAu5LUTWB549NN48Z6AHqzu7OrVYj8/vVaun/9d5KlCVU0EF9hGi5AUf7AKIh
  3247. -Zr8K9LWDYiRgX4PAzqtUwEABoQ+6h4K5oq6jx4fJiGYsGmaIM9cmJC43giF69cKD
  3248. -IKuG6vSPCn7BYUwLsO4nYp5ba/oef4tRGOurKKkZQBVAtzvoEg0HHMHDcG+JARwE
  3249. -EAECAAYFAlOuoSkACgkQdFXF48DNzrldSgf/VSF7gcap5bbmcO2tiBrVd0D0+jym
  3250. -bYtd9bkAFjpzoKjVUZX32/Fap4/fl2jKDv4kpd1NadC9pfkgUCVHDVaZQi28gFqv
  3251. -HDNBVp8cz8QezHGELyQ0TOatgG1WvhQgaeHcbvy/Ra2f+MoxwGdJFcBPkUA9swy5
  3252. -2G853BEnOrxuno33R3nVVqloMbB4VRAJp15Ki6mYoqNqJrm4DLApekYlzPiKALOd
  3253. -5ax6qLZtluamsHuKN7bJWrzKylFljuWdGQzvcCijBQ8OFkXMsPksG0G2S83RD0Q4
  3254. -ezxVlQAyD3mMGwxl8qDLLxmmvHBd5LRkSBNYYeJ74782Ab/OITU0I5vlM4kBHAQQ
  3255. -AQIABgUCU7fZiAAKCRDdQPJYqs4B6ckdB/9sHGrbgrPD226xvMBqdgKONvRbMA88
  3256. -DUKATyqIQ7m8majSbR7jFZEkaBLMpCkgNP6l9o92ZKcQfMslD/EbKI0pCJw8eSgv
  3257. -22/+S2VMEQteDlKiUNzNcO/yJi+Z4ZpbgZytxuJW+y23v/u94pt4D9Izh6ifxQnj
  3258. -xu0JU36Vw2SakYsjE06mQkTGtvs+PIjc5LTk1eiW/FoAFbyN6WF8pirTG1tykL4o
  3259. -9/VR+t1/fqU5htUfkKEUxKy4EjextkbqjUMQuTHcg8ocyKfCU3sH++YUuzpq6Rk6
  3260. -fQaAHY+RFxxi4CqIDe22P0yZeYB7bUMSB5R+alHFVtZYeFxhtNg/hCnFiQEcBBAB
  3261. -AgAGBQJTuRT2AAoJEOrF6/B6qcKj2lYH/iMTs6dCcie+KiAOc/TFh1XT+lAlj9vL
  3262. -a7KPUjjNhtfB2YcnBZ+zhLkS4gBCRsIFwBygojFhO141V39rstfFC5TcImvnIsFZ
  3263. -EwQArYvlxIUiyG2VmF794fa/lH4hjCkVl/cspc7p43UT9+hVaLHlax/VVR6k126F
  3264. -PFfK1r7lQ73LATuuh9dEaP/4qJhPa7CtDpCFhJnMb5Ojk0jRCSTLDddIveYfTL3k
  3265. -aGNCpGUPP51uAs9C9TZ8+7k39jEaLcV0NMNS4jmo6ZwZqv+vqHW0LuXPqYXjBoKJ
  3266. -ZtRW+SxggnybDzCxF+xOnhewN0lkE6BnA7ByARQLEmJIj7S6Reoyff6JARwEEAEI
  3267. -AAYFAlO+/a4ACgkQQuhqKhH0jTbUiQf+Ib/kWc0hoeKy07BOWIHFZYRYIv02IQY4
  3268. -+ov3MyufXZ3LGDWDkPPD7kaxAn0t0T+H9Zn42LTutgQvCaD0GPCBh1dnxeQZBnIP
  3269. -nDdrnoJCc8tA5EfXY2J+eFwdaNszmravIfPM6n0x23ZUnXEzHfK/bl8XrtpVZjqt
  3270. -sjUWU6D/mT/ZC2IJaoypVX26SzNWxT3HQ366XrMRW5k2daYZdSzUHsI2RjLSS4ku
  3271. -FeL6K31Kb/Bugm3DaJuyCkFzDEa4iqU7OIuam/TozuD6XNKPSLlP4g+QKG4B5lr/
  3272. -ipfYdIXkM7pYHUOPsjQ7jW8KU3J/vMxKEAC1ndg7FQyZIBnT39+79YkCHAQQAQIA
  3273. -BgUCU7rEfwAKCRCiDL6yAAxlFUVaD/9/94ob0xl1WCnrRwdjIF0319N3Jg4oVkXU
  3274. -3cugiIi1ZLM8wfApTCQwwO/U/y+XSbR7xaKbQw7lf8nMTqpYX5NkuKbViwugpIRR
  3275. -zAlvMSkrsCqzVfvTUpI6kbouMhPGP3xhIlaQuW3FSjJx7EeT7sJZkK0pk9QUeXwF
  3276. -Sihlqt40xHquUAn/YpQ2lQNgFdy3mFS216MW1Y6jPm04JdmHnNq5+5HBS0mnoMws
  3277. -rIyA/29jY8dNNrG4/r2jzL7AEB+o8SNojd0p3E8tI2FcBrgoKjWBl0Z1GALBHhb0
  3278. -xnl/FajBqEYOeLy+3K8w4AcMIbrrqaizAQldUyOJUJZSwukGT1n8bnE7hyd6nVdz
  3279. -avjRuXK7TUeqlipZ6ziU5wQXkkalre2MX9+AVhSZFTpP1iU+EjJgxSP1S0IoARLE
  3280. -ampj9xI7hJNINveUfOzIXf41BM7m3ygdBHu5WaRGVApDunMpGentCRAzt5h4dQ9w
  3281. -mpVY7hynytHEJ5WfHrQ6na58ExUzOredvsgJgkRwd2YXUe/mR1FunWJxRQKv5pFy
  3282. -TWwlavVpPQmgfJUQdk8QQXGwS8Aramxx38xTtv19ajpz14XzusqkyklkT2LsR8Mx
  3283. -5xIiDavnnoAeugda4CY6uRJnZBMBhik6aesXLJuy15fJcDDnyMwDkDj48/dY3BzB
  3284. -7V/OqxGe1okCHAQTAQIABgUCU7aY4wAKCRAW1ULEnWdR6ADLD/4oN4f3MMA7YkgQ
  3285. -M15xy8TgqfpKOCzppXuINkQefIl55F8bdsgaahg3LWBK6WF7zfqjNJfP6SxKz8AR
  3286. -CxUJXXoQ1QvxU9r8R6aVo8clA/hjfGg/tVOcLRnzqB4n3K0YENiuLP5hjwSMlYx+
  3287. -UmuU6vmq3vUtVZLcHToAecWqAEaAoluDgLj+Cktkaczzz7Grpd4dK1MAj/llHJbm
  3288. -fCN5x3muQ8woSQTCdzYoibKHnW7Gkge/An+NtI/EqVmLB571nKLRzngMwy4aimjT
  3289. -uA9252S3fsJpEOervIzUQwsqq03g6ZCAki0Q7fllXNKBMW8QLyJVn9xcMv5EYOa6
  3290. -pYmTedwT1iy6tZc7EYj5iHDfYP2GDvxW7vT6cCm2e2S1ld7/Dtdi4SgQ0+lmexoY
  3291. -2prA+dR//xJUqaiONFfXh5lTfb7fKfBtZgHmTwrPj8FRafqd6Uf5LBLxQZVb2aZX
  3292. -QY+nJgHdrf1pxozz/FSNdTtUI5EoNSOI47wWbR5IZfsYmc7yyrwQ/SFKnGiomGyL
  3293. -MC0cWskWf6B++ILhfj34NFW/SULvN2JXHNjkAtNAubnAZCeUV6ci+qnqLcAS7+2R
  3294. -rnbSMh3fvBaQpm9PbhtKZEQ2h0tLwSCMda3B7C8j96nVp0IFkvELMcNOvGKzEm3H
  3295. -kx/hedOqis9wuhr5np/zMll10rrW6IkEHAQQAQgABgUCU7lj7AAKCRCuzvVG7IsC
  3296. -YPBdH/0cOjwMmek5qwcPpPnoWfRp7xQjugxhei5SF7J7sW1BYSk4+qm4iTGrueZP
  3297. -XiAIGv/8rIWdTpoZDFFZPJkrmhPBV4bNbpanAYNnTsVc0N43jDbO/f4qyxDd82aO
  3298. -0ILXD394y3Ktblfz++/YgJhPWdrcU/samRdqFqkl/vBNjP033TpBjIOFo99Cpsds
  3299. -nwtL3w6sz9WfXempDc5MdMwXLN2DQLzmCOKaW7MAjRrTz5aTAN5TI06EdnWUGYa2
  3300. -OwU+PWOhDDiTFxPvyIG7kYhsPm4n9suNLX1pHxJ7eKpYQHcdgKU81ZKv2hyfr/5q
  3301. -xYBNKdcruOLdRrSNIQUcaCH96Hnsm/Ye3vS3QzD1XFyF9PBvkQRa0WJHDmljIvSz
  3302. -60qD1vekzPoX59iRA9rMFpDOOz7qd00YtXgr2Qanjs3sXNdFyJezj2Tc4PvbkcwB
  3303. -2ZtnWFU3LGiSwbklZou0bL0XiW/tbVLd30mPTnwHIolTsso71wy6ADv5dZ0qVzZn
  3304. -8+fSx1ACA3PoDFL6OUJF4WkwM7BGmRleVunYj8kxTEPmxq+EGhOo2pHTB4f5gP8v
  3305. -hQUDIy3k4pwKj1PWZY2mKU7Y4c3nR4UP6sBd6FMTUmzqMdxv49EFhmrWaZQg+qiJ
  3306. -xDDEY09doyUokfexrditazYE8afU653sJSY+3gf0UUoMTMxlOraJvACQNZ5QWgai
  3307. -0x8Jr3IPg7SqDPTEWWoDx7kB6IDIGJBfNytc/q/G0HwHG9EhSp0YtCKKdYlFyha6
  3308. -nhtHqpalvVBh1gf/ale8/dmbJpzZNTITsylzkIzMsnAu7WXhiMo6cu+2CaqGHbaz
  3309. -yGtkuo0kqz87fs3/5GktUHZlz3MCEV7wMCVJ/iOO8a5PY2uoiXJLsFDmXqU34sDv
  3310. -JqjsIcGhnq3Q58VbsDU7FJSB+e+xmOQhHBOPzdFKHLyPUcOTpqZlb1BVBPirigfX
  3311. -80O+AnDkdMDel/YYxurvBtMdw7W+z9V9RD+7ypKHBJfgmVpSPgwy9qXAeuXXbndN
  3312. -nualzz8EJDRtStC7WBIcsJ4ABMkfMaKRTX6C4sIjf3OqO5FMC72nQfVT0HDUaNOZ
  3313. -jxYCEdFHe8nbYdXn66/+QNr1Wub7nZBg7oVID+grUF70XDraER0PO5BEbYWbKsN2
  3314. -8L+GdlRHt6bhz20X6gBJWgU4m6uokTLY2AsxcgVcbCfrvYzSChQGrtzSsxDqixBp
  3315. -qpxXJzs/ZaVrIUO9YySY8yM7xqGNKa33j4feyHLUIZUatlV9BGvckTClDhhjtbF+
  3316. -ixMmbIvDpyaim+H9yZ0RKSzhDzipBAt7t6hsEIGJIVuH4FZ0nTEd+6sLJFM1P5De
  3317. -O+9A6xGDMsJ5TJPjFtspL60Cs/ECiQIcBBABCgAGBQJTxQ5hAAoJEF46k7TU3c2L
  3318. -vXUP/0Op92s735hz3/t1MXTbzdPH0NUvi2lGEPVQYyP4i0xd+9YIBFDg4gkqQNKX
  3319. -yFU5CTCSe9h/8TOiaeMdon8erPChrNFmunJCID5I5MsQnY++K2/Gu03R4RB0t/xP
  3320. -wqXPC0qG56g43/RlD5/pVcFwxpzFBROlUW3dcMlrnCAHa0B6W53US0bl7n/SyO4F
  3321. -U1+iUQvh0qpGovCApASE6Z5yrgkanEv6Zd/UF6flx/JuOV0PU2TUQdb4KqTkauEL
  3322. -80QvIOQ5fGBlQXbJKHpdvNxo3dgHttSqbH16KAV+vaXFYOYkYpgNv7lox+lxhdnD
  3323. -DNNYwIO5hYXBkLZgTyB5gEyWW+SXWPEk/9mUpGbGhR/bYru51hopjXkOaKeI4NyV
  3324. -UwFPk/r9bXE3U+Gyyx0gI4U9vaLz3xsNzu8d9tgjZPOeqApC1lVZDBQLTlB96lNS
  3325. -5NBFN26wj8XtLsiO2pCj1HEZpfcZBVxrnHkGTWCKflYhWJmKMl7egB1yhZp+cRWt
  3326. -Ml73VlIhLf0HUowEyr/NrEouLOHGn4kkaZyqa7mNtJJlqoei2la4NLzS0FrAWEhu
  3327. -VFA+lTzBQMxQZrRb+qy9f92uBKogXU/AEFALAtRwoHAAT9jbUPY/2Oxw4Uu0FF+y
  3328. -5nDnC1nZ6u82d+54/J3GSz3Vc8PTxUtPbuZim7xi6EZ4ZaVgiQIcBBABAgAGBQJS
  3329. -tHjYAAoJEIb7xRsLo+Fkl7oP/1RnbeTcdQnxD64TFlLKKJki22Wt3f5v8G4+/Xqn
  3330. -2D1f0JZfKZ8WnCKgKWEXUUM2EGsHdhodUICLISzK9QUHkVjry/GJJq5GuZoooYKc
  3331. -yFe7ub1QSJfySTg6cd6KEtHu+qlgbkrLeRAiaOWsEP441RfGiNOTXJ90TRKM+NY2
  3332. -sqoV3KUBRelAQTlT7GFsJIBp73rOSKTzCdjdHCR/tiN/pKYZk6DATVMwolaKLmng
  3333. -HgZN+D5nKS3/SDwoFmzA2HbN2hmvhziw8mTrWcXDAUnb1luGkZoK973Y8t3bX8Rr
  3334. -VGoZAxpxml3HILNv8MKObSwuIEDOb52dCgrKGczQAo/WpghksMvkRB9fpgWASXyc
  3335. -GfnsgSARG8oLI1VayhimWZk/TAwzwWhOxOQEZcbDm6lbxtzeDnVTm5gB3nwBdWA7
  3336. -7Z8fRgu3e4NnAk3LNVhi+xUdKxHGqxZUn83FSiHdKDNmpXmhTKWZF7Bo+Q9ulFUI
  3337. -WbBgttmKi/PK/8xLfCvh9VY0bOLq43lkUwHS2FCzoi5IBXXO4sS1TLGCJ8/H661X
  3338. -5DAJc908zqVIaUanOPY53gRD55xPc00/sccAsqvpaiR47wB7xbH4SuNrwBO3Zbh6
  3339. -22qBH/RzubroEdTOcfkvo7v56e7yJcOd4bm2tpyDtPwUlRPjEEAsODIQA8RPYcle
  3340. -RgmNiQIcBBABAgAGBQJT2nZ4AAoJEIvnIQcuGGS+KfsP/3wRX6QJJpGQdxQbDQ4r
  3341. -LhmLTtmvAtfllwI/Z3B4jOyQ9m/i8pvpcgC/mAZ1UJhAI5KrSP8EAOSfhFkEjYJ0
  3342. -UPsXgecvwXUtzBCGegLta9CpwTK0ny0etTDc35wVoYGGVyUkMTD7HtmlN90j+dZ+
  3343. -5uP8csLSYgmEPA8FPz8teyNaJBfSaECBK+J7I8BebXnDNJtI6m72y53JMnws26mk
  3344. -IDuPH7/zpH8M6zWX6tbwpSW8gqTjWlnl8l0ykWe4LJFEjUQ2jbmr09Oc3QjlOFK1
  3345. -kdmp+IBWOlMrYNFdyGPV29tBEGtOvneuNxC7eOkY3L3gXPDADJnyVyGJgwnnFiFJ
  3346. -tIv0lU7LDlZN2Oy02Gk+5YCyOqHMHyQdPNBylvW+1ZQ52iyNm0UYpaoNW6+vbCLn
  3347. -quieqH/Dx6WR2xd4k4IbiC2edVi9xONyOHXLp2b9ytYYrmhQbLE5owgpjYwQvMWz
  3348. -vOA3FcBwGMxVhy7hi9F9zLwTQq25+ABgVtyvf952JxVuUTbkvrlvCYkiPf0g773W
  3349. -P33NHb+7UII6M7TZImlcOqHprNqj+z8NwJB4Ht31aRIXwu2Wdamw5xBMwdKgbbBM
  3350. -wG471wgxqzYfsOXwznF5GsfZYqq8jMzuizX9gFTHDKDPinDUUtUc39hIcZKspGSk
  3351. -OcwGuS1sFlCFeNuxFXKVnkr8iQIcBBMBCgAGBQJUAMgpAAoJEJbiob6B1Hqiq+YP
  3352. -/10KcjSQUrbYopXsTQpIS5mch5VvA2nw0DCtbXl/SCA4Kv9I5EZscuoIdovAoESQ
  3353. -8hRpVqC7N9eFG8TdA/3t8dsv3MWRMVPubUUoi5fiDpi/AXfmfp+Fx1qX/i7FnaMt
  3354. -UK8Z1q2JPWDGOJra/HTb2BIyDmfFTTeHmsHV2dhAkQ/Ij2O/nULQx9Gv9JEKPyl0
  3355. -kou3EFbs8cxFkBjpnrHxoa1iwax9HO8p3S1zw0i2cb6sBguW8j596zNX3qmjhcJm
  3356. -NNpgPR0DuzNe0hM+jdxHTwK+NWO/gt+GOTAK3e4FmeBH2Z1iUMKEAT2OF1TM2BzN
  3357. -jOVNraAr0pH5SabjEBWl5r3sbU3wL4nEyMwYEMxSIK6DP/WUFaUgyy3fk/0OpKty
  3358. -X2zBRqj4tpTOo0/Ga9yp+cxS1oGfjRFNZ5uXXzerKIxaHmscgJkrW9SGav0lmd+G
  3359. -TkrV80LkeojAVV2I0IG/SZ+Brf0Q+owc+ukb2an1KAUbJPqlOQ3HLkNJO0HU2ZLs
  3360. -5ORMJvLPIjtD4A+cUrWcl+bky2pwV7zE+kPRxmHTobi9Ds9o3dC3upSBKf9jnqPi
  3361. -vvtbirAmQk6zK5u7T0mtKodH677uZrFrTep8Yn5yh3sjLA4di1+9KQjA3hyR8ssY
  3362. -wFVgYPrs6D5+CZWTKaLwjAq97b+sKwO+VqoVsLvF+U6MiQIcBBABAgAGBQJUEex+
  3363. -AAoJEOHksqEoa6MjNPUQAI31PfN3AqTmAETBQ5qJ1QdiW4bgFPB0aEmMfHEX7l6M
  3364. -AJ3Zq1ORU7o2P1pAwXDcNS4a2BQX4BDgtm2X234B0reiJU4//mfht0govO3zf/O2
  3365. -urOl67lsj1d3p2GdFbnInUvim7o4QOdwdZauAIg21ms8dDw2TLizY0GUouKO/AEn
  3366. -RKx0WH6/M0sYoAxlCixCFE2JlVPglEeYDNQUARDB2tRNaYQz5VaNur55PHGpSzNy
  3367. -pV8qUOB4PiE9YgkQ/FFDg4Fx4QRzjdgnoRP+xXGiJ56Q0y4sMqH3rCPYQkacYQV1
  3368. -zPfMfHOEGmmAA71scc8Zwbs6UeJXjdBUIl8jQ3Sr+NtNHNTcC4MIW7AMRwTxANmF
  3369. -/PCqHtw0z1zIJiUvGoLFr1V9gpD9Nn8Rc4w9rluGVTbRMEYULDtvUlkklX3iCLZk
  3370. -mEG480C4cTlrPmsC8KEwmOsS4tSAY/wWwwRDzWEsWfHFLj8z+f53SUDaadS4p0N3
  3371. -B5QTeJsctmmQxeJOKgKLmVshOs9kzvjScVBN5KBmDlzXrYBXbF6NAr6FbCyII6kj
  3372. -HGuOL96ycNDX00BQv87cbEDYJURoINgmKetgeK9HR/GDSbmYI/cqmqZeX88q7BPJ
  3373. -7UfO/xbOTE10mBjjyyE7fdYtdVPm2rgQuKbCQ2QRa6JLUCaLW1Df3lZ/rib2uh6M
  3374. -iQIcBBABAgAGBQJUheSbAAoJEFclht6OE0Uk5ZIP/jVb4lvaHWChT1Is5GiEcfuY
  3375. -s/npy65HLAN/Sp0FyR1i2bo1vO3WQZhrLHVe3se+KnRL6dJyGTt01mia/oyXXac1
  3376. -7gumkgbsMyw+PMsEqMiIw7NtaQs1eM0MHH36wJki29FhapiujdJm2KfcqDZb0FIi
  3377. -TBJhCAlE/I7z5Wp86NmP9WVCEKDoRc7/JHfSBPtVD4LbpS6jXrxPU7dv4T9d7Iyh
  3378. -ddcnY0NWKj4kmBPS7HHne8wIZ3uXvZSxZWxoKocVY1vsC4sE3o5CYKGnFkyDb57S
  3379. -e+S2M5C8ert29tMeN4q7cAnujRwfiHtgWZUYbyoAX8r/hJ58IVNNBWgajbQIpDI6
  3380. -W7OQJsOsdVWY4xByg2K/uhJPD33T5bIc5Q42T447WE03acsbfwZad2aYFC5wNyoT
  3381. -EuZ15dLysj8cwo9+A42Ks1dtVRhVgRUZw0cf3+2kiQYb/j0lP5x220bRcMJbdlLF
  3382. -lhaLlH83UBiV+lDtOi4DpkBvbHmo5l9QEnqDxTuEto6zVevvbDbbW5LfsqUXLUBq
  3383. -ivEL0hv8CPsX1iWoXntEqHdDiD/pge1L+at4KMXwV5y/JceTsHZOT5TrImVbeqGA
  3384. -Bsodm+PUeQczM8xLWHYoM0lWij22D5u8mV8GdQ0J609mFKkO0trj5xWF76EaHoMZ
  3385. -DX2cKafHI9nBUXcpe29riQJIBBIBCgAyBQJUmemYKxpodHRwOi8vd3d3LmhlYWRz
  3386. -dHJvbmcuZGUva2V5c2lnbmluZy1wb2xpY3kACgkQ7Okh2oY7lfcaPhAAqpnJX7Ay
  3387. -hrl5iwMw6syaTWPO3yge76z8BU9KNacxcARR9wm8jfqV+OtCfPvFBTFPZb2FCPJL
  3388. -8MX98bRe4Il8dqRTgciQ34zcCE1S/f8cOIv8AJShEcWatvVGpaLk+WWSE666D1b4
  3389. -ZHEDovBBf69jCdO4guNhLfQUO2TTVqsbvxbEFjwCCfdYDjSgPZp83xkaLwn7JY0Q
  3390. -ZDMfnvu3lHZ6FZ2nRhJaKrCUUfi7AfzOhlXn1B/vB3o/Sb1pw9zp3ZQTQ/WsdwmN
  3391. -M95PqLQCrsFfujnG3KBBEBwe8Kl+0eDxL74DmcAt1iVQt8ZeITiTEIzNNyRrD2Hx
  3392. -BKk64PFfhxVsV4YdHQoqhS03p9X6DBvkdpS/esa1b4hFQzaMi2LB6Q+WkCgZ40VD
  3393. -vyP2Z/tCTDTrWKztu0oV3GiCEj8CxypFr12TrpiUZykLnp7jhNdIqavUDFu2riRs
  3394. -1zZFgcLJXoSHgumg4Nc/UFqt3d3632FNhtEyaP7piTRS3ib97VfmTfNR1b1uUtuu
  3395. -4kpo3MLzkfkOH3Kni0pdsmeOc+nmwk5qco+AI9U1mgwfAVgI97wZ8c7pNOTs6chb
  3396. -6o8mLolx6dCCkYv52UcyFdup8VgcgBjdYUx3usqoabnh5Zd5AbxXMyGrzOmWe8u1
  3397. -0cVJlHI8xXlyBxNUXQWZK/CIrYrY2nHIOrWJARwEEAECAAYFAlO9qtoACgkQA89K
  3398. -CrPHmmOlUAgAgEXa2DEsLkKYRV3GgBTirsvMNXKIX1H/guafRh7M/SECVzwRoQIM
  3399. -h7B+3ZciLoZnuKAJlDzuMEivy37bzqxRGAu3bJEPAClb+B/os+5a/gk55RvxwbOy
  3400. -kFOd/FCwfSvzq7B0UiJWEXvAneYSMz2jl7V0nMGlxKh5jP5KQhqPbdlSZOWbQTqN
  3401. -jeFSLz6uSlFHBg6BwgS3K9+2Rosn7XSlfgmGM5CNLJjKcaEAVjn3Kdf07VLHYXrd
  3402. -8LLN0XbaSomWEf1Bm/rDKUZSd86AzL6oUEnXWvRyMAUR4kVoBh5rrb46zMnko2ei
  3403. -O8OcMoI5QNRZhobiU9cSqIg9KBIme50lwYkCHAQSAQIABgUCUvrvcwAKCRDAgIOr
  3404. -Xn6kChwAD/0TtJBehf3MnFDRy2xZlAI7bd/19hfD5yvaVzKXcYggqP0jvfpKrgNs
  3405. -TH6EzJnPthG9aAnukd3CbxhNMiTC0U5u7TaVDHzGPpen7Gdb1l7WV1GSRrOOdfEk
  3406. -DaqJodL6BXQNJu4S7gTwYKLXgwsK57Tx4zbjrHV9faDtIrMQ8Y6ST/HbNn1jhHqs
  3407. -Cms2Ns3Y8k54xSS5irT5sV8++B3pZnqJ578FQJmopuXtSrK+u2TgR96VQolhdWOg
  3408. -aZRhzvTKxHHJuBg1TWCGgrfGqQU1R/6VbOrfBsAJwOU6r4yfCiJqXl55HgHK9aUc
  3409. -TlCjLe0kq+h9AaILfHwbk+TFTJm6VA73YCh2QN4rvfiit8jl5QDuwKV2RBln8unr
  3410. -nzvSjwff//VUFAXk7pbPz/mvEdYPNpWlX0Y8O5mkZbe17Umcy0fDqkAiMScZNfGO
  3411. -01JelEKeF0GykRPrfQTlBwYcsws+jvoBCXxkTHcuDUDYIxSQV/yHqKVbfVPXbOPg
  3412. -LpfmkhaYp6phO/YXVcraeGqV2XUKINiU6eJRyZAI4UWA/KgigFXiknddHgucgLXL
  3413. -uzF4vNFZqwO5xhRmKpN74SZhgE5/unCezQsXF0yv4By2JtBmiDIZHbk3MRLiJifM
  3414. -WKOghoSHL3nGsboKZG2HePmCcZ9K3pjlKpuD3NX0tGZ4UuATCy2PbYkCOQQTAQIA
  3415. -IwUCU6/gyBwaaHR0cDovL290dG9kdi5jb20vc2lncG9saWN5AAoJECO601HJFrZ9
  3416. -xB8QANlST04D6RAQtM9nHBTW8yc+5o7+wCY/A3QcraBNPnseemcMC+Gu78jFBrqH
  3417. -0yzGLxyxV9olD12C7KKckdzzSw1I3rAhTSe+EWioW2rSSmu23EpPipxjxM8n3It+
  3418. -cHabJqfvNnfkKQdEUqyZGIF+g1F92yuFuYVtJPPUpSa27SWoK2RBHFLM+hdPhFg6
  3419. -DYPo8z88VkK4RAqY507ZUEUvQZJqKZehBcHOnLm+nVp6v5fD8nWJ1b3fKgnQp52C
  3420. -gKs7qU77kw1ECdrNrtXwc8v3rNGKYcgGRz6ovWHFVyRXtb6QMGrtbwddnbevksC5
  3421. -QUUj0KTwN6atVa+IoCH1DUp7/RVc3tf4GnEsTKHG7x9IRR9+zoPsxUYhRLUsxeav
  3422. -s+Sp1WjoXngB+jXDXqMT5ePJtSZe6wRy0lQ4ehdxc/ZVR2zlXaO5P/Ir90EELOZq
  3423. -McMQyEElHY6Y/CUSkGADXEgvfuom0tdQhZC/lm30KHObmqBpGplNWPseBwFErMpi
  3424. -wfxMkDsLiMGoTHEgmQ3sS4MLdlz5lcxc4VZW4nfyTHdUdQkat1xaOW1GGm5EntSQ
  3425. -7CeOoGVYZS1n09rshpPgSB8328I5PIf2pkd2RU+w8QmgAhNGfvbPS8TMwKxp/VP/
  3426. -piJELaX+aUmRIcYNOx3dxFIY5Jsh7nD4FFP/NMIshw9zy7vViQSxBBIBAgCbBQJR
  3427. -lWzOlBpodHRwOi8vd3d3LmplbnNlcmF0LmRlL2ZpbGVzL29wZW5wZ3AvQTRGRjIy
  3428. -NzktY2VydC1wb2xpY3ktMjAxMy0wNS0xNy50eHQ/c2hhNTEyc3VtPThjODU4MmYy
  3429. -NTI5OTI0ZGQ2OTI5N2I3NGMzNDBhMGEyOWExYzFkNzViMTgxYmZmNjAyZmRkZDc5
  3430. -ZTdmMDQ5NjQACgkQTh95mqT/Inkrgx//dL5nGlDq3x14gzjd1sxlPZZJNiuRhGrr
  3431. -bV+qdoEUYc06suO81JeVrvClnrZH7Vzn/+MoT8A8hcwhJQK0XiwYNIDOL4AgB/o3
  3432. -maklnDL4L/TNdXAPK0he2kS3aT30epuEcEvJ4sKbyJzRuAzQkMamakgQelw8q7Zo
  3433. -yT+jzYSQ+jXduJzMyJsie0AdSa0oypZOd/Rku34BIYawYeZyoVZb887rLwHOzCsr
  3434. -FAjHbkK0WG5FkMcONTnSJSGTHOhKwkhhBCoK1QeMRWUdgzU3fdzw4IIx07b1yp8n
  3435. -QmQtVy/eKr7xzJkmoF35O+kMLRwRvNPfUEetG7gxi52b8g20ex+bbO1D2yMCEVgN
  3436. -L/6e4YU/T0USy1bitaC1GtYBDfyAHx4LO0NNkalvdFvDVu93vGA4C172f5d/tyA9
  3437. -RsJHg7hmggjIwGsTEDt2GMtjNh/2iBKGkzHEb9iC7XDYADe3BHwzvB8fI6/fB/Y5
  3438. -W7VtUmEc3NxL11XERcL5WgJpxG/mqoJYGYl1MTRcRVhxlovuplc734PyUxE2BmhK
  3439. -94xBB5Gtm7SyQlRFLDkP6VycI2iqapjHQY8uJ3ngW42TTXfuSvxRqTMhI1lmiFW0
  3440. -QRtNMNDCq9vOtkUBzs3Gv3GCfL2iuvrfW5wj6Iv5lzIEjrQ4/dC8wlseAbU00QHP
  3441. -xGEpvB9mFjpQ9DhgBK/VFKbQj+Asp1NJgYCAXb6qz12qnx6sMjsuL0HB5P3tW9JD
  3442. -dOz3eae0eNavsmGeY2+mSRWIee1q3SKBF9TC2UW8NkiB1qUGiP80mHhtXIGY1xHo
  3443. -FxUh54Fqidup7CvcI28IauD+GxR/sHjBaeWewZ4WEUM/XTkQJ+xqPnDDE/3OLbys
  3444. -URWmN/v7+MFd7dqyHBeR83ZlbJQk8pkTfvzNHzqXKxxfxszd2k5WtH6WSyyZ6phe
  3445. -N7NQqpbjxVuPQM0MW2bn83gDlhCBzLN08NwlJpe/sYif9s13ndMHHcmgD08SkKj+
  3446. -LPQQ4HjGwFJdDKrwUbVVg/ozMvX+cwbzsWZVHkMWIQ5Z9zu4Huj0C6oGz3KlUVjK
  3447. -JwvdvJ9kFse+hGPaYLfYIgqIXKRjzGYq6J/qySp1bFUBjvRpsDshQ/+2rkktzJeP
  3448. -7da+9wTCmmzStvgENCxMdSRc5BDWgF3vjMaaFtkK1zOXTt/oLCiL3pEVW3jGODkW
  3449. -IrCx7nSO0NJBQTIME6zueRWOPMpERtd9++vsJr5S4xJt+QxNmBZXzCEnuNDIwZcM
  3450. -0YneX+P4Xm8rW0OSKHBXDfddzOAF63DnhdIVNiZAF6B2PlGhwpIkQQJO7O2hHQY7
  3451. -JpfbOShgkGzL1LZUWhcqrfssIW0pS1pcdVgPdLDTGNDY8KkBcHDPa4kEHAQSAQIA
  3452. -BgUCUZXVhwAKCRC9ApQkIfSInxrLH/4noQq/xGxrn+kevBZVi/NXqZXd4GmTTMAP
  3453. -ICFznkX6qUswdvba/EoPT1Mmj8qjNGT7xxs10W/U9jtBEzgqLguku+RQIdgVWr1h
  3454. -qCaGv4PjcX9j5M3qacQ2+LGJeLzAUif2/OesHaoFODK+dkbJQBhzu36d0b2HfRcC
  3455. -3Rg+/jh4dCIdTCKYBU/cWheAf5h8f6NnDEeAWnTtKPpCvTWcAUCSuFHqDH/D9izo
  3456. -odEG1CrDijVggusA+Pvm490Ncjmu0Mid9olzKX/WjdCqclOfgzNJpFCKTwZ66qrK
  3457. -BWMF2Kl3YP/G/jG9hO07B4Zcpz+1bOyKtw1b9VeOZIVK3GNpGbKgmAthTi54E/3+
  3458. -Evl2874q0BryYyRApiHXy8QFuLi96J9OK7LeTRNyzrZU+OVRPwnf3IwLrA7axeQQ
  3459. -M5PZ3HC9QeqT0/Ami96b0sdrQrcnVk7zYDPPPbDzt4zo+TclrWR5kc9tYBBPqndi
  3460. -8cc0mv7WFR+Ig4dge0/v7HdOv9hJWXa2TqA3yTdm6uPUNKqOw3D2HGtaEMRozVSP
  3461. -uT/cy93p6CBNid42cn87vDAnBvKTUV3SRL5Qj0OM2XlgAGsgg+1JOc5peWGTeCTI
  3462. -T2SQb4n2AK3rzdedGy/n3vUeolgEDQ6Lo8DpBvBhTjRihtGRl0NJaKpnN8nAs91f
  3463. -FPWI7ZEfhnx+NIKaooecn9on40+cA5rw5EJq1TBnd+N1e0uglbnxYG0Lz8puH4VM
  3464. -i/lkuBHB3eJNUxliOFgJv0wA7YU1eyER8AUhrEW4LwzSEekXM20N4+d5eY+0XmCj
  3465. -9ci5z8IjQt56D3sKhnqYcuoB9wY2ArWGbVauPjnjYAi4uX4ctcTQnqraOqkJW5rO
  3466. -4cOWCgf8ddkJ7HYMRlfYLrimIiRDht+wNKnZmDgZB7d032VpSwg1UWh7299Hhkik
  3467. -tNWh5iuKSSwBWFYC8P4IAY3oI+gMXZ6U+TUDPblgn8Gdqmt7wT2sOxWIY3Af50r6
  3468. -WfSOHQtRd5X3y7nIKYO96ejjuWlOsPedjIRgzCgRqL2xtobyGqrNUcGimTbWWXAQ
  3469. -l3yLEJxlNdS2LP98PHEssVhP9+R5b3l1uvmAVxyGmPJ6yQkB8C5ZkY+8NUV1Tgwc
  3470. -u+YlHepmFET2cmnaVX0yiKRZHXSBTyyj5ekJAcjAJ6OHVkv6f9v8XpPcwZ4VIQY4
  3471. -kPhffq2xdCuS7MIjCvwcMwfFFzl3rnmVxx9bwwgzgc6w4rfG4MScvI9mBk9lau04
  3472. -TJ4Uiywt4UXFiQM/tK0iedTsVi0twkBoEJZjDnNlps/iuySr2rd3mXrAU0BGa3uj
  3473. -KcV4nm52ud0Zyv4xZRIqnmajw1n68vNXsKsw51mkP5uNy9FfEFVXiQQcBBABCAAG
  3474. -BQJTuWPsAAoJEK7O9UbsiwJgEacf/17tkRVscYQUpl9OM5CDY2YhHZs9Cz36/U28
  3475. -u0pKaXn3tJP7P7dxMkQhwIyOlDhXiN86W9Q6I3s9Gy6wqr/vvvre0No2wT2tBowi
  3476. -NaTFT8/pyT632UjpFKYM2x9Agzgq3EDBRsgJGty+eLAtQHA8nvFJ/+KXAWf31ne9
  3477. -H4WzbZUiqo15qSOq6Lk+LqMMUikM43uX8M6rCWW2XGFsgHgH0XZAok9Rn+OCfbMT
  3478. -KPb0OAa0lJF8BGvaUfX0TsXAwwo7BzF4C/hYuaGEfTn1VDsVM+UxlgLsTYOzL9UA
  3479. -VbWjIywGF2R0ax6kgWh1g5oU9ww8xkUxI65b0o7YMMSNdBm5ONGy6S+QSJcU+QYX
  3480. -OaTXA561UImdYdgk3OoaQpsDz9xQuojhKgHAh+TjJxSIDRG/tf3LmPX9x4HG1wF/
  3481. -a6OdytHLgp6blH3Udrpu+uPMJ4CuGpszJDjG6NKhTzLj89lcbB43I1mypmYkChWh
  3482. -MYwsj5hryhCN/CQIfAQvqyROBJ4P80vfa5UznhBpxsYCWnhD/J5m649QYDcr11LD
  3483. -2S1yLQ/b5hvsbuvvcebIRukNi0UWMeTU+gg9fLu9Kaj1LLpa5lmaIZcs/4pCZzL8
  3484. -v0rSxogRUliGsFq2iTJftx22tVO3hS+taovWXyc662imNOjrXJG6Kgr7P+4sVoPC
  3485. -W8Whxim8/exlc3eNK7n6A+1OXSX3qjgc0azq6OA3E0RUYrc7JWj3ncxmj1kFbfiS
  3486. -f7apZh7EueV/K5rHUedfk3fOAwxtraqDc1la1T0cMlsb2AHTuWTVPJeguh4TqhFH
  3487. -mvlrRlscyul6q5HJhpRSrwmHeu/tXqBxYau/kpQMqiKhh/R1YRCYb66TlCUh+hId
  3488. -YwdMBCzhEnROIdQzvOpUJwgH0vfQEyIhuoCyNrW1FOfx2oFaLTBgwfNl372tCYSW
  3489. -BtneF3JbrvNu+h9EWWkBbbAxfVkb7xB9Q6Udl02eRIfk8QiOYA4k2VN3iJdmx34q
  3490. -56qZAj0e9xUSQa1DF223KjvQxRhT6LHHyy65JJpCPqL1FBo61zf0iO1pIuqxxHKo
  3491. -RhZFhMixCfOywWawfGc0h9gwPz54WzHhGOv9jehfS4RSVk/DS7RDrh/tCmg+jMB2
  3492. -nvt4a43Yb6VYZcg30943qz0R3b5IGSRCcmfIU75qrJrPVlrroh8LV2da3kT0WIqN
  3493. -oZa9eOXrCisECiiO89ak6ZebE/ZuBQlMbb/KAebc6AScaO4JFftOhoaNfB101+Jy
  3494. -btkP2c1ltph7QSYpmo1zVZgYMSXIL9r5xZ0JeJeJyoHAJq0lWPMchjRSUOcmTMip
  3495. -75Ndve4Q51zv3qxvVTrv8fuL8r8puHdnViVOhtW0+P0HI14v2FyJBBwEEAEIAAYF
  3496. -AlHwdocACgkQsReetzR9wQ23oh/9GcctkEep8L4wD7aXyfE+ZROz+2+aCRNhktof
  3497. -tIce6EoGFtROaXRFiQEaqdjlcngaaJTMFFymjViC99gbQjjoFyEoZgyHIL+sGZe9
  3498. -IDg25aTMkFQ7TANRACep6Fm1m1uDQdYowHWSwvPWsXFYrKHFmETAZkd5gprLC2oL
  3499. -DZfcRt8SAIySqAnASEFe3rnBjZzln0Y5IsyJQEpt+2zP4TR+qgtdNnmjAdYAnckm
  3500. -iubYNj9ph5y+HI4EsKIun+eyv8AaX7Siwlvt9RLpzUTG9KRsCKcq1zbU8kp6S9IW
  3501. -sb/VSIN1KVFQlM2dl7d6Hjg9WyFiSEMp0UloqwB3Iy9b5WSYFXHjjjNcx1qK9Xf7
  3502. -DJrjztLT46LLj9H58Utllb/v+o2AjHr/xWjwQdqk8H2x6vVWhuTI9DlL2xL2B4lJ
  3503. -AM08Kg2vCBoT2nHH5lfsoYzzRZ1Q/ovuN1lx/0CWGB2zK1daDrOTnOUYfCDqqJGE
  3504. -H87VZV/B/uJnjy1OoUxbZ9kU3ICr3M3zZr3QqZq3kr9jIOM7yeEIsCOR2W0PQebW
  3505. -EcRqzRX+7SOeafMpRq5LoFuht2A2oPrG/uahs2pyH4cDwsQLh+o8XyPuVOgQMxei
  3506. -spd+AbLi7OsuFnx0sBDyXin8qSsx+2urpdB6jjZjLzRTpmn8l24RQidZ5rPxLbd4
  3507. -HD6pHuGxyo4u9rOclL7WHoJi19ZEU9Qb44F2+8hObKp/n/MVZNorZPu4dycgidD1
  3508. -yvT0WVXwDBGFXMmNUDNtwHQs4S8FQ2tJhlVe2sAP4wcR3YtskyqseguZK8X7IXbP
  3509. -4sgbwDsrBW36DG6uy0ZUJqi3FuQL9+wGYmpZnX8GRiajWxj6kpB4FtOBa/5dOVdR
  3510. -5XiejyfC1aVTQsxHGK2rosP9lKVHMyX4PwL+13TVMLC0bUWwneRn8aMezid9DZqI
  3511. -O59qSK2dMKamF2YixsXJuOIYqdXy8x4iY0EfTZUCCRG9vCs1p946IDlyj3KkxMRX
  3512. -y1xWOkMT58j0Rx0iKnEKKIhoT6rmpucKLasuYy8vajy/qtaaJQvirbkTp3h0dEom
  3513. -/T0DV6Hq2r5KtW//5osO9LrfUAUkNpwo0WS08V5U/lsix0ZCArXm4SVjBlON+YJh
  3514. -ARbI641W2OF0oKdBBR/uKPSd5fCbFbMKDLgqmgbGlAWKHx0gou0oIW3yT2HCLyjQ
  3515. -ZhFJIDG3O7wKGu1Bna3kqgKiDhS75ecZEZNIk4o1+ONu37f9IIDSriHJfbAIEzSj
  3516. -/Np9b57fo9AXaOXPm3HJuI+kwwIQNvD7U+yvR8zrU2k0J/F+UUs4A9je+jg8+kVF
  3517. -IIlGWFx+6EEWsqEWzD4PWLfQBrjXVeFnpczVzMlGZE41RMKlW4kEHAQQAQIABgUC
  3518. -Up+JCAAKCRBkfzWXiao8miOWH/488WA0zBvsgIJ8FlD6KwbKMOT8wvNqo22s0vRR
  3519. -EPogvA3YFdp+gwarOVtozzoNzq36ZEy1TESVlpJ9fFGVFxfR7MyuWB35+SZDi6J/
  3520. -ItjrqYracq+bnRx3q458nP95Xze4qI7e0YWHqACWlqbnwr3xZGPoEYzKshTynga2
  3521. -MMooX7RSABk7ZV0j8fEvrmrSwhOjN4S6Ow3ej9LJBAwms6JdSuOnx/+VBdbQ7oKG
  3522. -RzQgD46On26WlV0jH74pJSDXWLQ2CrSxz/ftEtZzdqofIbDYhr3PMe7xah8UzJuu
  3523. -uIV/kvxZTHDxbubSTQHTsOFhqCJr97Mw+grT2IKokWyrHKRbM0W6yw5tAuc881iw
  3524. -F7t67C8/WbenkC/KhceN8JC8gZgWfDgKsxqMuXCg929Ps1KIxqH1uMIOuM4jo71U
  3525. -mKoLh3JI7Jyp6cI4LNq6nSbXn4DdDmMW8x9e3LU8HZyizoixW+JDY1W6LWWNCtpm
  3526. -Ja8iVg8jS7SOAehsc5lz5dGtUEiZc4fL1kOKAFsj424spEGJxIwrE8F4Y2DOJFz7
  3527. -lRcQ9n8WAT+TAFSfUoiu8X5qrnQAvppk1tT3TADbCFHMFdSFJ8QZMPmzUZPDmrBF
  3528. -FXrZx0vCm9uND6s20cJYGlEyZGAlTk7CYchDLHi6WJ0zztLGHXW/Xc8SL3aRWSGr
  3529. -2fjNOQt909QIKm9g2IiIFdbVNKmjai4ku8CVPSob9NxP+FfSko6oE8pk1ivi/9NB
  3530. -kJKuIo9V7eLDqpN2PyaQfTWmy94tWXPLnxlYbVdIV2NH+ygeBmJWzy5P65Q3n91+
  3531. -NxINBobV3tnMNIGOS02Jftgo3TzHijh3VMBr3zxilN9ysGPHDFuMSMI7dCWKDXgP
  3532. -05X/Zmvk2O63cUDts99mL0nCMmG9RK0J0pbUpSuFfw4r/rhiwSxrM3narbn1XSAA
  3533. -vuaiLrQtMvtCowWkqlMJNAtgFQqJa6nPKyFtcvx649minygO10K8/2lUy/QJDcs5
  3534. -zahEJ/lws99tqaV0RB8uz3f/ERw5jH5eIKdJzrC6zgCP6ZT3VC7RNlngoUXV0b57
  3535. -9a+ziVLu6kU7KGr/8Y5bLQo2qZ4XFEIrTd/gwj0yFw2NlejWVF5kifwVSgA9Ft1g
  3536. -SpfSkhqmNWEUfCWi7eLTD6DVb2gzewy6FfyB5Z9C/tPW6Jd4u3AzegK007wgzSf8
  3537. -ZJ6YdI5VWLVoFPZTO/zci1HNTWccDWNvKJeEIlyKnpZw7V749PlABjvDkjzl9zab
  3538. -0cjuQ9mJ0jqkyyvXOxW7o1YiLANx51l8dvqw/VfXgMzcOyT+M0/4VtF6M6/SYA+O
  3539. -/cT1ox4AutqDMOWavVDm4cPLm9SSNJ16ui6cFnzfxaoQsAUyiQI5BBMBAgAjBQJT
  3540. -r+DIHBpodHRwOi8vb3R0b2R2LmNvbS9zaWdwb2xpY3kACgkQI7rTUckWtn191Q/8
  3541. -CdIST264TvZRkkZs5i4zfTqi0asVVbrqXQdGbVaBIQeSVzsY4+PX7tt2yv8/31jU
  3542. -embjqZ2l3k8J2gtEhHL/kyvchxJHCFlrNdIelpo/gG+F8L5mjHcym9BooFE+UXKr
  3543. -zmk5Sra81DnfN1EMxuGvhrl3UQ+EQAB9YgKrOJqfKlTUILxhPrNLfujiBF79wYoR
  3544. -ygUqacjN8fPOc+8XwCy3QyEGX2E1/ccf9XjLaDbjH73GZ4vqXc4aXITcutcE2+Qn
  3545. -9vlPSqLDDrUk3SpAhTMlAREzq5i1yG3Nzme/lDmucIcmmfFUEK56lqvln7QDk4lj
  3546. -6cRvw7K2Nfrrc4WmIxQPGPJdNSPSZSofS0U4UIxq2A8fNezUlKkrR2VFAstOkIAV
  3547. -gsPxv/1JJsrTg5gUkGX6lfYgHXCkeJ4t7YFsw+tFkrBqHcLJaZHGz2cNW+qo80kX
  3548. -PhyyaSTRYvZO6sB+Am/gBzTXSIVsDrM1oTSsPxYsOixHwqz/zudblmn7nkENBezD
  3549. -L8Y/TCmx8KFDl+QRSJqptekn61fbeGnfvDWdPeYMACcUE1HcEYgFdVLl8GcISHPg
  3550. -6GJ1k0P5vllXbZP1nN6YntKpIHK+Frx4iwbd8o3hrsktTl4wV7PoXe744+Y+m6FV
  3551. -llLeHkFQSpKHluumpFddHJ8mvOhAHTHXEdv4b1VTrzSJAhwEEwEKAAYFAlRWppgA
  3552. -CgkQ6OJ4uo9cihHGFw//e8MkW9XDG1eTFyMY3rGIIbbfADCqe2J/z0onfqTWZWng
  3553. -1D8hZ+iAysZ5aEBZ5tOpF4SyLGUSV2lrSiNa/VOWoD8nvTsQbiv2t48F21skbhBI
  3554. -rkszctAvK1ofr5KSMJhO1UUWvSD7rqXFLoR6/Jesh8+vQ8+Kl4/B7PIWkrmALnqP
  3555. -gXD8zxWav3Md8YW/qUTKNkxpdZOdg4N+z+6xhwiOG0Q6FLJ2it0ZM2J56us2zrGY
  3556. -Ha75pxVwhoDHXjBO1iMZ5jBfmaDLUKUerj2RXYopiiJP0eotyzsMvgfDxUJntpph
  3557. -4dZLHPFlMljRXhrt6f6hFjzrGKNu8WKI9z1w8INsYqxI2HXWqkmRe/8uJM1zDJZ9
  3558. -rUNZBS3cpUpgIk93QGhLsb32iVRV066B77FDxeWcFig31GOOnLWoVEJO275QxBfi
  3559. -xfCr8Euc81f8FssiAyDcqBnt3yR+8R+QwP2MF8wrTBOZDksZZ9atBSvuBsUQYNMO
  3560. -rKmKcnHPcGb64+OqM+mZnKN4NtsQ/aS5DaXWGgfiNUnUGd3z7+cIdABH375dhFMT
  3561. -0cXd6ysgWlbnRpODUjII+5QnJgYI6DwpMWoqJmZXcNHACDV5wDZj+q1G2ZMZLGaf
  3562. -oXE5bbwKniZdeuTRAS79NnNwJ42rYDcbviDRv3YUxQSC0RTuL4te6dv6Z39lcPKJ
  3563. -AhwEEwEKAAYFAlQAyCUACgkQluKhvoHUeqKSShAAijtxj0AzZi6o/EYgrWZcQy6Z
  3564. -uKSX5O1INDAIitP/PTYBk4vy1/pMVwDgOJnYabaeB79En5f5yfInaGKzdwwcfX35
  3565. -T3Co/a/WwGoa2RTQ8SESM4uFfXj7g+e31bhH6RWk+hOxJDlVrvs1L33tcT/tuxr8
  3566. -vl8pIo/zQiX8erfgxOelBSqJbsxA+tj5ASlh5Oziu+uyCguPfhhEz+Kmhg4iWYsK
  3567. -dZbhzgGruA7uyoVVaY01ssknq749RblGGG6/bcdvJbjwMbJzZFVNWjCx1S+vrjsG
  3568. -IyI+xTEDSuNgUUGhAZP06NXtdaPnmVXmUfCthc07ky+S73O6XHQX2CfUxEdYtwWc
  3569. -IR2AjDoSVtnFbOcoNaLpBgWkSLf7RGOU6ddTTTgFB0VH6l+JJCOJk9uq/nVmUimK
  3570. -ZmkfTdlSduQLK8YlQt7jDE5Os3pWi1ndAtXzDSyAaxYDsmmMYu420WSclLJeRyng
  3571. -IIFRjuMfkE5yQ4/XJLY04RakucKYEy/Ifi8PdsszPCPJ2w4c4YkOM67RGc+9y0Fn
  3572. -HYRIhv6LakGl6072jmLcIHCzkmoubQPv/9e4lZKDM1YpciaFUSwxk/Bceoy8JO8l
  3573. -ylKvixXfakHMTmYd5RnJRXHaMw9oHzuIMLMXcFo/2Z7tSMU4VqkcxRlIGUxllzdz
  3574. -byuEKDcsBYMydfjAdtGJAhwEEwEKAAYFAlPFgsIACgkQg2UBvp8npyN0Wg/8CJTB
  3575. -6eKbuO1A+BMvJzKqJ5djscMnB4SPp/oG5fheZOdmWikP28u7vHVyLgRqYHJFVgUh
  3576. -jdtbcolOH14sm8ea4iCOzZFwdImX6Qte6hOVViwvxiD6P3vGk9ywxVXv9KDW3wpX
  3577. -UWuXJjeByMCF5VUhwe3V1KiLJI6SQHPhXxFyarONhmpkEID/D6leVbzS8c1r+IqF
  3578. -A+0fLrJOWcr7D1r7ZCU6p8PZwiO/M7PohpGKwaagGwuCAppA11kSTopnF0l7Zcc2
  3579. -cYev/vV+tw7vKy12ihWIM6pY/zVpDU1NZE2auux68pjpc0DVDTiM6XuPmdrINqhA
  3580. -EPSnlnkV0G1m27rxfzva3MSEfLNC8HezhRU3A2lPdR0UklUEYAuqE+CAcmZD4xI8
  3581. -K2cCYTzyTZOzqYUruZYvYmb5QfIDNRxR7R6Mw5dNB2fxDdshgFMFNrs+np3rM0Ie
  3582. -9pW8sxmS6a4AdjuFpZk2+sJSfZ1mJfFfxSoHuepHlAybnhmvn5kN60wN5xnVMhPZ
  3583. -FqQLxLqGrK1ellhUkyzhbnTw8RiPXfCoPEq8DGHQ8Zveg4+32SzpcP9bHjkJtQCb
  3584. -h15Wj6nnxvKxTHFa+7XQelUj6wLZhdrqgpKJh84Za70mysws/cbtiG3tP9hT1/2S
  3585. -8s9882C9oR/C6ZlSBzh+Si6BjcnU8C2choMs+F+JAhwEEwECAAYFAlO2mOMACgkQ
  3586. -FtVCxJ1nUejg4hAAg6WtMSU2pFsgEHr5rXHlQ4d0SKSsEPgFV7Fi5Rr/PtZQahJ5
  3587. -o9xVNg1okW84KipiFJaPH5dzBkRjcZ2CaN/61jlK8DNXg7+ApIXWy/blcRhR6lc1
  3588. -fYW/jerE5QU2ImTUSxKGUYT/2HCCdsRBk2EWYBbk5uDL+h6KWnY5ZY03bmazYvEd
  3589. -w0/AtC5/VtpQbdw4TUvssu2cBXUnoijMffXmETZvNuhGmyVf7uy/Ha8PDAAQR38U
  3590. -JkLjytDJhmdKNQ0pk8yzQ3z0lxjM00p/kmtv6LFRVvC36u9NmeNsmo8vY+WdeRWE
  3591. -M4mEhD8mpVT30Sp1LLpNuObkwzqH+vw5ejHh+NKpV2zSWQXl1MqGBc/kVqH7bM8P
  3592. -Qff5SOfod1eO5wUX1Xm5tdwnpvdfMc9tTosVouOWsf+sITyhwtvnr1Ph5pjbfHey
  3593. -rEKHh7pRJkhOPd/CS8sUI3VKNe0mzhvydCljCfq/pcfBcJxrKr6JhCo0NRihhqL6
  3594. -IM6YFYqEWP6dBT7aXtxAeOhkn5/oHmVmthhuCwHC2Q9fGNwaiYmnYGBCDYS+AOo4
  3595. -rbMy2IKMkyqVgK6b6/wT8RHGJaz69MrZvuotx6Nsy+UaV6Ce0MDVNvWN0vo2Sgzq
  3596. -PNDWq5yJTnhbUbXxd7ZdlDc0y88jVDKyfi/BvsUe8u2uWrYOROiYl+NlCXSJAhwE
  3597. -EwECAAYFAlJZ1l8ACgkQu+TMxPIvObUBCA/9EjvtluO2jxCXprTqJXsb8F62z4mk
  3598. -l3mOvcA9cQRMXOsq6icZ0vZ3RK41gJ8b17ZEb+o1S46zJLMeRXUw/R3DxVvbrNrq
  3599. -+Nn1PtdCdVxwvXW5DRndDA/ceWewJXZkARVoExVdrVf+izJX75HJxJhPflyAxXz2
  3600. -lraZzhzPoAQlBZZzI74UR7OZ6KTCK61qx1EwMawlL7NBcqP6WB9l6MoMGdRh3TxT
  3601. -YEwSiIAp2FoTesIxgrrmPFWTub/X/Y4KKxDdXxnAT2QbJ1nVWIsNHMcq65aJN73x
  3602. -eEgILB8AagBqHH4Z3jItrv9lGiNbjfJM/GGx3s+t5bwN2aSrJg5jn0s7kEfIqvte
  3603. -kAwbqKR5nkmQ1Qwg4GfJTC348RXwiFspPakBYjul0kcVUMJeOZ/xnXreSHCxE93H
  3604. -4Jxtug5PgbkCfFSb38l3FTl2jgEyad+rSMnVus5V6m7p/nVuGlcB24U4vG0VMG99
  3605. -yILlpiKk90ExfOeVOQh1i/UsuurrxI/irE8CM61q0PtR6sjXfcXCPdw0eFYLplfg
  3606. -3aODbV6sAptmSKNMPJbE+WYLauPGezuAy/TLogO+74TvpgOC7UGH+whxEugNB2eU
  3607. -fhYg2zSao5Om6OIRz3FxHXYM2AzTn7rZ/nCbbGxUcUAjkJGTpQij544KvIG4PRuz
  3608. -9ng4jky/Oo0sn2GJAhwEEgECAAYFAlL673MACgkQwICDq15+pAokfRAAhx890VG+
  3609. -+EEp2v+sEF43qEOh7RjVXlC7gaJv/9Tpwrh/gON0a74m2ymsxSKOIpi/s1uwc6l1
  3610. -mc/kuSEWrHa5FABtYla7l4ORfcR1b4hRfALwjbiAXC8J+aTRlkaFPWj6OMzhgKcC
  3611. -T3nEzQxK2bL8ZO/rDzagM7NDN88lQxNFHnPlecr4fba+ffk19jrqwOCphu0iusI8
  3612. -HxkwJiwHROf4LmalY3MGFSqfQIoaJu5zhDjpppalDmjO2l8tscV6+r3i5byZqN2d
  3613. -kQQ3XsOkDo0k54v4BmMTwXp24oB7tV6DvWHqffijRNZpYYJTKeAsbbJJSICNEklW
  3614. -REJx4NcE1tfXZQbjubOQH9AWjpkTub0A/Sv8hIaWFHRKAx97JeyNoAsYr8rrKxf8
  3615. -CI31RjbkPEbHu+1xWKrmff84bi2J/J1+zsNcjk/+cegNjwCQYOrnOx1RTN389Ahj
  3616. -Z7hV8QNTW5Czh1T9J1Re4AQupQbV5jeWV2jeZLZOM7J3Ef9YWtIQARO2BIFem5yH
  3617. -PnfObdP9fFpGkzp9S615AfK/XKDy7fsOG/PAZd+PLazZRp8bR04a/gnos8oq+ZbY
  3618. -cl+Cky3dkFM8DvUaF810HPlAGWvCSeLNmARMBAuP2GbnuClUf6yPD2FAv0h/HvGe
  3619. -0mPjZ0UMKu8GSJ5GWTntqPJ+LxCRuXOdj42JAhwEEgECAAYFAlFm1W0ACgkQA3Ye
  3620. -/+KdJEwxqxAA0ZCB4xFvte0qPURfDYtNzBOu/w6oKGAqZ4MG79zwozoFdO4SpaDA
  3621. -DW0hQtXeeVKeb3VyYmhNEfXLsEhRBRPp/PToRqZaXXE1fJv/hwjzNSxm9VFIGLwo
  3622. -sgFMRTFYzSt29wYnyqyklLB49FoN44b1wxfY2hihL8O2yCiKZBLvyH2PF1/FB4Dm
  3623. -jm7Ku4ZaTVj5QGcFc6kJEYnn1RPT6EMNS0J0IsAVvJouSb3WmojW253yzHvgl+cv
  3624. -BNxp46Mvwd8VH4IdHNSSojVPNbH2EQ0rEkTpQPcGzYoJXBp6E6xoHbJcDmHjo3oe
  3625. -6Kw6IBbYXolk3FPyV9olYFuYlQP+8x97/yu4c/aDcUo2GuyX6zGspr67I7P/Z3+3
  3626. -OHBHnFbxw4ugWNuAMJXlk/c36ny5Hlztvw44R52++YO0QoIGFJIOFFy+gIunoLH9
  3627. -N7iGOnjJ/X5mz1a1hQMozNRFDHpGRpoBMW6zEYRA8oFWJKX8K4TeZZer/CsegoH7
  3628. -nh6hcH+YgoZVGxs3OSL/xCYwmsPDA5wgashOSFn5e9XtpZaeyuTVM1QfGIeSJqQz
  3629. -frcQzs2nWlyYl+oBsCmsjeRbvft+3KjuBOtuj+Auacs33/hRPrBWIopI1DMAWwt6
  3630. -nI+SD4OGBc5LE/tUTKAiG3Zy7icnrMVnsoQEzjOt/Si2YAgw/oP6LkSJAhwEEAEK
  3631. -AAYFAlPFDmEACgkQXjqTtNTdzYsV1w/+JpNExrXU9x4a8LLSAOPdsZkzp7nbesAh
  3632. -z/LPZS8HYoqy1iFYQOn/pARVQGbn4ktEBnmN4HzJroXCcBMoQY04LHxNN0luut3U
  3633. -MEY9MmkGLsyRjMTkZFDIt691EUV0FXQooHI2FM2hmM181Hn/Nix9uHsjQwWoiawq
  3634. -PLPhraalLgMiyd5MWgsYzAssWXwTD81AYXi3fXNDQ5gUUrmgFcMql5Wr4ehOr0mN
  3635. -mP7Mgt2C76g1on9FyYObCVAQsH+ybuoBRqzf4e8MuLqekiKC1cEdaa1NX2VmiMNV
  3636. -9JsUss07aMegLAmYFp/wIw8es2hB671ekUMclVFDfwJpXx91mCACTTjkpZfH8CHC
  3637. -BLZ1pfU5axOLickgsnWVz1Gv/s05NALylrmjdhOw8kb5On1f+HTW/uKZ0D1M9KPh
  3638. -UI8uz1n9kf3iuWuOrLy1ZdZf03IVtCFvg+dkayD7EETB8/Vt+BfL708ejaQESMzE
  3639. -10DA2ufT7t7QTpmQPe1pe2X8EV6lFSGMH/NAfs5gBf/w1nu85C6BqyT4rPf2Rq4D
  3640. -aS/ouQsvg+LMuDmXyr3hDFn5dEuk6RuVW75hDsWvUUWzLrf0mqkAcUCFdv4EWB+s
  3641. -dYp41ncAGfJj4Bwji1w2ODq3oI/H/bXuDGkoB62GzPvgY0prRrtfIm4HjzLBPZwf
  3642. -5CQwYsoasvuJAhwEEAEKAAYFAlKfiWAACgkQpEw906VI2OJUWRAAqiAAhWdCR5mt
  3643. -bHpLNPKhqzmACCcXe1Uuz4JOMPP5GGqF3j7Phdi4mnr53dOmgsrSQcWt9skfX7IK
  3644. -D8KBdiOLUTAgZ+vEp5cP7XvUlOzPT663/EatNoBDu2tpKgB+mTXFB3UA8NlNEY+A
  3645. -K52ZB1IdhMuEycFVHLWc3l8ZaYKmEUwSzWicsgT+dzfAPpx7aXKiWHcQ2DDHU2FT
  3646. -bPHqb0THEXzv3Vp50ZZ3KNabYHt3MJuxNf81/ev+xkzw8L7VrHqNDxfVusG2lkzZ
  3647. -t3O9Yg1yWzW3FVnRbQRCWQYR83Isjd7MrBxCOiMBs5pqQCqUCdn6F6WIcctS7hwU
  3648. -95Fu3av5jp69c8o5CHi0iuHqolsyAHj6CX3kFG1pFCAHUkgmF0zQG/XVdK3ZJ/L2
  3649. -UWb1UvrLhw0IDGLTLqatzXuZyQlcK5n58wY/FlSpD4EoTIK6Nus+mxVSEF9nb/Ae
  3650. -xFyBG7rdwzXskmYml2KDGUQAzx4cDvQS4RcJZUhFtLhyGUmz1pELuHuXG7zD3NT4
  3651. -SAdO5XD0j91SlzUhBets1+q9abik9OFh4sDmYHltohpSLxiDWsJIQ+KtJhpdoLJg
  3652. -/XVBKZLJACikCNQSJ79asRm12Gd5maUrX/sOxSAzjgOqUGqP4fMi5HGeitgcmttr
  3653. -6ePKQJU+KBMr5txqQNV/f+Fu8KhthGWJAhwEEAEIAAYFAlMt3FAACgkQYLQxcdi6
  3654. -X0GXsA//ST13om0oCWUCQAJqeSZdaM13OCoMkwRL2uqJIhOfd7mXRjPov07rYTqO
  3655. -DqPqoPxgC7yrEFwc0yNt9XgSNfHEVW8z3IRx0taiCsnND9lO85qI8qrdAxf3Tz+D
  3656. -uAJOyOnjNa2nfiZ8MrxJ6VYC9uhNs0RdkhB7xiVHXtZ/j8MZ4k4wWKGYXXn0PyyK
  3657. -RdXmT8QxRewvcwH+bwx8Nwe6YA59mJSGYggteGVPdwLDQA6Qn3v+7Z6qUzoLu3l8
  3658. -sYLmT20zUCMDvezxsoGivUfGOVy3X2jnj8SnOa0uOD9RV0knJeG8AU/FdrL9Rx/g
  3659. -qN/SBQ0ZY2pAlhY8g0EONmY8++EUeeKK2AYU1P+Ro/geeYNFQ9PWAZPMCVtVIySc
  3660. -GnscrEq6L4QdOt3r5QKHyJyFhMZoqGrXIIw2MILUVOpsttjajfSlGfssJCh1bC8d
  3661. -lv4f/cs6YDuiTYgztKUZh8tkBD8CP1SC4JpvUf5hoZlXrH9JIhXBe1BRE35zUKvY
  3662. -lW2R8Qjd3OJvHzVNK06HrNaWEtVhiWitgzXWS/V0yk6WOiQ0Cx187I1u0QjwLkz0
  3663. -G39W4IZixyNQDyCrZZf67VDoB/F2DyMYrawzFkXaKIn58bSq8tfRn9YhLmNDGEwD
  3664. -px2tecnnrzselcOaVpSD2R2gSiEp0sfsaDrDU1ZgXP6ba1vaCeSJAhwEEAEIAAYF
  3665. -AlMicHIACgkQwhhSWBn3hFEI8A/+IbC3fe++d6LVcvthTyWxDYmrIGymhbb1kJdK
  3666. -mdKZJJQTUKjJt0Bpru1PG59O8Im2pRA8tdVa7SgUUfB0sSb80Y4Sk3RoUqP2ne7t
  3667. -vxGXDaxSb9r/tDh7JetaG/j8mmegg3sKrjC8ju2JcTjkjxWnOzH0buqoyAbLZhFQ
  3668. -4/ez1YFsuoV/bcC9T8QVbYD4cG+a5OwSXv9WVWLmj4HxC5ANeIQGS44t0StbNBhO
  3669. -0lYE0SXkOl4kq9Nl0L3SME/eOC0D0C8JWuNAFpusQ17PNMXb07BhVW4Kg/q28hGH
  3670. -J4+hC3XWC5Py+LarihiDCIqGZHRkBpph8henjM+SBIKbKFyOTBGr8oDI+F6ZZxBR
  3671. -12tZGmSJFnWPUOKLr32botKpfu4hKNFoY1ZMTpEax5M00xPxfXkEulrQRn6EwvRx
  3672. -UXNT3ZYI3IxxkzH3Pr6iLae2oaQX8JCT5VWrgjVlyInN1pVK1Pso1SMu3+9CWp9l
  3673. -tTPDs/uQbxDqKpFHOQrTIOAQoenGxmQah6gf0OL6xvxHGlL5CUIjcjaMxwL0RZ+W
  3674. -Ea3F73i5xsD3x2szpkzHMQCPkTn2degP8raLw9VV9FJ3asMsvuUvno+U1mnPUdd4
  3675. -fzqQZdHMi5wzUmVpszcj4ZWlkJO5wWIaQVoDElgQjA04zPjtt4/b/gn2206JnsTH
  3676. -j8dDpDOJAhwEEAECAAYFAlSF5JsACgkQVyWG3o4TRSTMuxAAj5X34gkUykorXUT2
  3677. -/Cv+6o9pJ5fvY0Y14AkEtiLPnA/po3Rrij7awx1f7gd8nOmvN3Za8M4m4JN+FfHf
  3678. -3ZkApzNpVC0JwKV16Ey8wa8EdX0OBADli5oa2HXyEOnCj8yowrtB2NZCgRhMfh0n
  3679. -jX8f3NnfQI7HAuQDKCDHAgrAkWVn2vAnliZMTQhUL7SJCXZdDmE/NptVRVUzTWi0
  3680. -+GdoynglfaHSggqosSZyBZkCyr6xQ1GdVG7B6srPZ628Uv4z66SnwF7xDymYy6pT
  3681. -Rp0L3UY2nvFm5jJf6n4arbRhkwYMNQ8pzZbP7i5OcicdYwUSPEwYij4fSjMnOHHr
  3682. -OfUFnSnDAMdlUVGxf9QTlVbnWhXQAQMy7OygCUkK1DwOp1Yfy2KFps5Qia3pEEwM
  3683. -OTM9mHLZXQHLulfAHRpMzwfMVtEmw0EwlUoEEElDiSSpH/Yb3SmQtiONzisUg96/
  3684. -aFubN43IlQUVj4zcOAD5Ug6P3AOfKtag1y/P+17qhGM+2EroA8f8X2AkEGl6mjnZ
  3685. -U+vNX43WRutQaW/1F33JRF1OQh1WLNkPgiYD+kOp94VKCpSNZgaxGN1zaHBzlrR6
  3686. -9eAfoFUpVN7zx0aml8FH4Rdpy0WnOROCg5fi1sieVqhcJf08g6UjeWRgePScWHXe
  3687. -YclBb2n3lY3iEJP0DPHccun73NaJAhwEEAECAAYFAlQR7H4ACgkQ4eSyoShroyNU
  3688. -8g//UWIwig7aKTBiL0vdeE2UnhKOzvwYUGt7yr1SWTEjiW5WVg7Fd7dUwxkg3rqp
  3689. -FVp1blixup6DJihTbBaz2sn8RaCa5k83HX/V7tB/cp29W0Iq7M41DZmiihA15t98
  3690. -iJ0DWPURxo+cRNjVogrOF/xANjY49E4sp1jbvfMH1bKtJkknDJaD5q3CCktbgtcE
  3691. -oC0P5KU2jf357biJKUgvHtr32gp4qtjjkZSzg9u0knkjetqMusxmzv4qcPsDY/Ov
  3692. -5Xy7UV73ep3wlZX/Ghx7XAahUJ1fk834v5j9Jbtnb9MXakhwqhRoAZmqqy7bGY7y
  3693. -GI47E3r/ugmNTsUwT74IFiNkYN0GABr4J5dlxSQLoe6nc6iUuMQ1K86wmzYtgbqY
  3694. -RtKvMxYfKNQyLR5Q1tFo3tVWiQWjDdgznUCvdFIF9ZMrxsNKvJa/i4yxCPUPm3qq
  3695. -ApleFZPMtR4OyNEgBSQBjzV02hEo/PtZQ+qm3Y1spj7Llmrcszl8g1Gkgb7LBG8u
  3696. -JYb83jVOaQnW2TJzrM8x/OJCAnDq9FDAq8IHCjBSK1cLgqjshfWjY0pDwSm3XubF
  3697. -Wff52hjNVp1sNT92JmwPG1+vt7aywH5ScKxxyyjgcEitReamJoiKVK/reRAAe0Hh
  3698. -EhR1Ly4bKQ7bL9sobc2quyPfB+ql5/brRUnQhWlHfzRG9nuJAhwEEAECAAYFAlPa
  3699. -dngACgkQi+chBy4YZL5pGQ//TL87RzgzJYDVhCVCIWkc+PH+9L/3UFu9MrmFN//k
  3700. -s3amHJCErWPlMMDww+3uHwBS8Dv95MlQsojFDj57XaJDyv+xABpJ00DlQiMasVX8
  3701. -NKvYJ8XOavf0oTza9NRbcJQOoBcaZSj1MR2D/QD+xO+on/zPiA4IF4+rUKdJ0W3n
  3702. -mPvguGbUDehncM5cnhwOeRjnDOEY3qyvq1qcGUgRQGHmWQdb9MPqpU7ltuwlu2vf
  3703. -GqZgroPm7YOjQUFeTSXNWUMXW7y/W6L0c8PwgJ1jx9e5InqRTo5mt1p/a0lkVgSY
  3704. -4Q5k8BMe7GSYYfKQ+bLtB/aZ6pm/HLdjTrR+4DjhLC+q853IiBK3flCtIGX/Dqse
  3705. -C/SWzsE5InQ6PO/KUUGNvQ5OeoL7C8eWtudYdtnwU462RwRXYZvR2/WpH1DoTMhi
  3706. -s+PfHn8jZ6oms7532AN6OsMgShPRNI7xxKaxQQAG4DULCOUT4hV+lDEzWIGeQoP+
  3707. -Y+XWrmPkiwszmkk+FbZ5rb0t8o7OUQ7lqB/I6mFKy7JzC3ISKUogc/nUw2D1i+1e
  3708. -bmnQxEYTKavLWqfVvKDkY+ITE2HJKTkzQ0saZTQYIhyge7BDmn7ohRIZ5GQtr/ZM
  3709. -fBDkr1xUR8xaBKXEsGcLn3gC1y/pJyq4mt4EVQEThKHR1LqLgib1v2LgVIwe5QvS
  3710. -TUGJAhwEEAECAAYFAlPCjLEACgkQg4LJXCkCPflsHQ//VeNEPvuL7bnfPd0QzLnD
  3711. -B30bKJZ5CNkDfN6i+baRB50BZ1jLkpbtRhCzm2ekMjXWq1h71uE7w3u3Wxeh7LAG
  3712. -ivj9waGb7wsZO6kGu/PQ1u0QZGmqL1uXSsltld3vIVyaw5eGilytmps6QZF9NpF8
  3713. -92QfCP/hlJ6GWSBwJTWJv+pZDGwkAXyHaj7pLiTZV40fL3T2fLi1STtlXbXLT9p0
  3714. -32iMUkEw7g/u2C8OQVqxhF0pCgbr0yC7bYDJmaW3zcvZ5Ho7wfTbZWp3mcDqs1GY
  3715. -w7oowU87jF+bag9hWJEIMDk10Dkmc8ovDnTylUtfv8DmOUcqNYxJAMsw1HxBFyzZ
  3716. -ORhxrzH06nMTwfQlIf6yDfeCoiPoy+p3wQ0oZ4bgmZTbcwA7TcvZ7pwbe9QgSFki
  3717. -D2M9h+63TfihQj5j/Z/RTU9wcfnrDfWXPmMS2f0792hmsXYIn2EenC43ojPPuCmO
  3718. -3YOPogZ49p7pJ6pFUBkyww3wt+jpVo+fnAU1DrKN04XBpcIUbA9ULbLVZIdc637J
  3719. -xHegZWWT2nwLbKraYQRJ1qGwXr6J+tJzil59ll9bkzSTL1ZI/txtv0SThs+iTFFO
  3720. -zVy3wy8gi/SzVHErLP4JKp/TE29zcmCXx4+X2x/x2uKSHle5pqDmbvXkgjEDqP/V
  3721. -KPkNfcYKackoLHBsMlRSSKCJAhwEEAECAAYFAlO6xH8ACgkQogy+sgAMZRXYLBAA
  3722. -o3MvO3yCD3gWv5mNPSpC1KrmpcIrIu7gUDEgv0YY6C5mezeRXwpLiPNZPeewg+gl
  3723. -W6qr13nRBlPiZaIQN5JRNDESPkTBC4k5c+QiV38zcqlggkzCv9sMP25wxoayI26w
  3724. -0GlO3/X0wsVZk8/x+corjT5ZAeT/9Go1ZUGyn3hYVp8voxbZoOfJYTOtLXjQ1i0J
  3725. -rDulxp3DxrCE8OGMIVGpzejOxQPNLciEUtq1NN9QESHpXTaonTWjP8ubT019fO+q
  3726. -Il8Uy1h/ElzAztTZq2gDuQ7//xQJ4R8DbDP7j0Qggpsm2Hso/Rg5ruSiX+1qBF+C
  3727. -Ohm16Dl7zoxRIO9+5RpanXm7g0qBcALCuIn2aQOMTtB9bA59I7fXsBMv4OuHr3bp
  3728. -xbcktqA1BpHzy4K7r98opgGpfZb1YyiEw6pAaW/VwQoV/cEQsqopuSmSngXtvFtX
  3729. -LPqAMkODi4WdS6/YySiEUkKdpe72jHamZUQwWrXc0CQ0M+YONXlLizOVDGCHj+it
  3730. -Hx/jqsA5KGnZ1X6/UqpwZLBlIJyO3JSXEjofIN0u7CyYspQZRpowhJA7EuGYCTCf
  3731. -f5BJ/FWvM0yVTk7yw1LXYvSbGWMWvwdbExADiWY4Nd60lVxFkopID+jqVF4ggCdG
  3732. -tSPMpzEZvdx3RnaCJS7A0Bq5zGKbf6or5u1XL9tf5tCJAhwEEAECAAYFAlOIrTMA
  3733. -CgkQvCNjVtBL3NbMAA//TmOk4SajiaXjGkFVSFseSJNWJoRbvvRtp6yWRf3O0UCP
  3734. -etroG51Rt2WzoxTNoXDpxPjhZdCySY67TX4anOKOZ/hz79MrK+zNDer4HoB9STfJ
  3735. -1IlZInqXxNhmJFCuTZM1jAdgUXybOyV3mLXmdAqtGOcZ/ElBWJSWWd5pf2dr2rXK
  3736. -JuH6cb5CzBv3GXc0euugVVm5kLgtlpNrWluLle+VcjfGyNtM/bgGDLMyhjV9CVia
  3737. -nBm2CxH5pZrt4Q+jYrl+yy+tYFV3OcIz9AzmvGm8AMp++daXmgirPTgLMVz4OMDr
  3738. -oeK2P+XQtKXwPBud2wmnQ4mahvbzyj/6elraGOtmC9tcFWZl7qTYlXiAwqKQBMCJ
  3739. -L0ktSUL0GNeO+FRUYR3op+iQu3LGXx9+1445Z5JyOr0ALp4XHCj2vJKORL7vHksb
  3740. -FxKF9cQMWFRYrvyPEnWChljM9GMuHPSzAFvzrvznXD0UWw66AI/VRGLD8obkK09Z
  3741. -BGOGCQnkQTiu2aWhuSBaDj+5YF9IXCulVhh527zpxfPjXrq8iBUAaEle5mjYQ2Em
  3742. -r1Eps8IvYI2RZ6egkf4Zx9tJWrh78M06dnBgRkvlDB3yNMjeOi/iY6Na/XVG6Kpk
  3743. -f5GcWEHd55ahCQWFv+3ohA/7LX/xNNjR1vUF7NmXxzog3Q2TCBW42gIYNWLmA0aJ
  3744. -AhwEEAECAAYFAlK0eNgACgkQhvvFGwuj4WSQGhAAvAq9Retogx1daVFgJNO/TOVd
  3745. -jHjGKwJJ283zN68BC3HRlXmjyDDHC0D3/Wevw2pZhlWUqMYTgEOjWVVqeZeePx6O
  3746. -qs/NAkAqM1+K75WifF7ccZPP5VWGapcZ2vTT0wghr4w2wFdnoaWBZ/NEaP1AZXcq
  3747. -HT4LkGX/Z93PLMqeXAoGkA1aLKcdLIlDL6ZPfVplMNlox+YQ+KprpiyvAkM/iwyP
  3748. -OPJvhdV7d92hFLL0xrf1dgBZNV6STeKfVwqpeM8O5V+hUpGJU2GsxbuKjb2tqwbF
  3749. -blsPHTSz7Vs/CxSZgApH7YOeybHHfRxM/8ucCVsWtSVpCWUz7DvBkGLlW5atRU19
  3750. -Wsl3HhJ3dap//k7qqpt7vANWiILtwH5Z2qy7qVrzcMvLzUKDCctzSJmoUvsq/mCQ
  3751. -oWz5XA2wcVbbONrxw1qny50Xha8WI75lK/PBQxw+yAaUVH4yr7g08p7+Hqa69VCR
  3752. -+ihSQv8heTluMfZxsezeBpkwfEJMTrZC6j8R5or9D3vGd8AFX7tLjETpzctJx275
  3753. -7UHmY+QRyDwdog0laLzjRLgkbf+FQUOSNnIdfp+l9sGGxln7Lqyh7VTW3IrkDEIl
  3754. -8XsAdGCdxmRorErG9Z03qpL8v32/3MhkQoUcQOIyz/DbQWe3V+aajrZj/isIZoa5
  3755. -hMdJbOs0X1A1AlrQjT+JAhwEEAECAAYFAlFKdFQACgkQDuQHzesmWwa8RRAAnZGn
  3756. -mCCzBhRaDoamlJJWprZYnilvqi3IRoQTOMZ8mCgUBWoFkdb5rgLLPfy3N8hA0SAI
  3757. -QYzFeG6VxmxHO/iM/6EptIrivkedQXpTDEusz6l8/YSkTQ3Y2JaEf1mnvyo8psAJ
  3758. -esSR66QyovyqRe61RJH7jABcso8A3EJ/lRqbKu5dU6I2/6wiUW9h3lhxZ5SDv4nr
  3759. -VbfRChrjnE4ggFfLSFo/ZyWEgOr3vk+KsOrqya6mipI6WJAcoii5egN96Z5wHbqB
  3760. -4rPh3u7Py4TDGBTQmZZSkNmwpV1qX/pvrYqaJ9z1c3ROdqNxYbTxm4fGMrCvWTYV
  3761. -t5v6o/yAkAkxXQiEl0rlyhpNBWiC/WQChaNsaMpY5ir48t7AkXagLt7gZYONe6PT
  3762. -MEscr6q48alNbi9W5s/E8jnLTuXYwlkuCFKOWgSCJC5kRARgyAU9XwMgE0nqmHMr
  3763. -goYNIQOOSquW2M4SQTbcyYa2TPDTQAsr3soPG/qxeKNYWE1rF0j7EYFSL7dv6ini
  3764. -yYGZ+kD6r5Mr9W1sELkl4S11Oct59GlOIapOb81VhN8FHBl0GW9aPk5XVcsbyEaE
  3765. -uUpISJ2Gb0vhQfXQIbmrVDwo8IGksInSP+Lu932fcsmUYWqMDOCiaqfsNIeHHaqD
  3766. -EIRQ2pVRzoCVQ4CFixHPY+C6IOnKheTWTIaJh4aJAZwEEAEJAAYFAlKfX8MACgkQ
  3767. -jpm5z8Wg3wZchQwAzM+hqf0h+fvemcSGWbH78T9kGrId7Rbyu+/fgJMhMfLFJHmS
  3768. -DYeOS4uTP6v/9p9r5gkOSXT5NdOo44CS4Af/9CtOyPz4U58FuFM+RCy8WqLAswDg
  3769. -0GGR2XqhCIDOU6NRqfQqc++EuDLVfSEvkoP4iqJr9aeK+U5Xt6ieNorZtld5Gyyf
  3770. -VnjPqXWxXrKA2oCBYzsIy2La/4FDqTOTVVWWKmu7z62njLdWAnTUbYraJ5v59bSp
  3771. -arCKlzR/ZxN6gBWNO+dVUUJt/tLcOfkKmpvC2zQGKodAQkOyHng0rtFTTgjPmWUA
  3772. -/5OMIMqFgO+Dogh7ZU2sXGvvERLVZxPln1cjBQ6EeFm5H1UCkVP+ZdsDbCwdKsNW
  3773. -QWFKWGkLUt2hE+R4gBg0G7py+DetDICKbk6Z3AoGdZoQbQLqXXVv0Ox+o5Yhaz7c
  3774. -BGhaM2+Lv+AiMszkxDZe/8LCrWhAkLE493Y1sPXzxacmTGAS7h2UpB0BkT/r7/cA
  3775. -5ooOLpizAsf42aUciQGZBBMBAgCDAhsDAh4BAheABQkIbiygXhSAAAAAABUAQGJs
  3776. -b2NraGFzaEBiaXRjb2luLm9yZzAwMDAwMDAwMDAwMDAwMDAxMWQ5ZjY5MzFlNjVm
  3777. -ODE0YzZmM2IyMjE3MzZiMGM0NWYyNWUwMzY1YTNkMTU2ZmEFAlM/HUYFCwkIBwMF
  3778. -FQgKCQsCFgAACgkQf6sRQmfk+gT5Bwf+N2EvwI3crJ6MfuEklzrVsuK50gsDW+Jn
  3779. -Rgj3RR6jIKrNvRACUD+14l3sh675/X6RfzjmuAgJFgZmPenwckjNz6rakOGVhiUH
  3780. -e7l8/9TRaJLo/O4xW8cSjuJ9bnozrtwOH/5vFs2zMycxpgStl88v/jc6tp3mWlI+
  3781. -O/DEIUMPpYBDXuoA5GD90G/WuPu+1UEW8yALlKnT0F2yi03WuUPK+/hLK4IrYge+
  3782. -6nYESH7e1cubkOe6gO7wLyN0KA7NHGoDWfhBgf4hOXYMtYP0usOAUgARQ65YDYzb
  3783. -hyT85JIpOlDDVjFJMLx/c6mlgaPBV1bi7JG++v3uzyr0424QjKXcNokBOAQTAQIA
  3784. -IgIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AFAk+XssMACgkQf6sRQmfk+gT0
  3785. -ygf9FF3qxEEavhrvRigteul6ZmYk5JY2xIMDPcEtIO6Vu0Owcp5R8iY8FtWHxSYt
  3786. -4qISvEktu4S5ifrQDmipyG7sw/cuoBAGwZzzGkQo4L93p8ZWeFgaS7WMvZ2bhMf7
  3787. -JSD7P4zHGRsNtfyvAIm20ZYy9nisihqDwsHopyBwEWj8dUHi4Csp3FgNzaNBDKlQ
  3788. -MaePWzjAuqZx0KatZbOG2TVzC1J1mL88kts+9XwEkT4af+uKdULQebCMHulIKevz
  3789. -Lg1HEm4HszpyBzGKE9Y9zgwYfpcZQT81AU1L8slizHnOoPdiZJAqJXP1bfLBLKL9
  3790. -U2SsTgUAXL3GANeTM4N/XzzPXokCHAQQAQgABgUCUy3cVAAKCRBgtDFx2LpfQac8
  3791. -D/4kXKRRhtT8U+ViibJHXE8/MpGIqF373wbfs2y9S3D+kd/JOxC6ibnev2b+Wq29
  3792. -qdMk6BcyUaVzP0dxcnJj2CygYl2RD5dfIp8PzSilTHNfXGbJr9xPTcAjamXhUoJZ
  3793. -p8/C1ODwf2y11EB8CLDVVZmqgtxUOJNfh6is3cfzbYF8O2CX9ai5x9UykV9g////
  3794. -////////////////////////////////////////////////////////////////
  3795. -////////////////////////////////////////////////////////////////
  3796. -////////////////////////////////////////////////////////////////
  3797. -////////////////////////////////////////////////////////////////
  3798. -////////////////////////////////////////////////////////////////
  3799. -////////////////////////////////////////////////////////////////
  3800. -////////////////////////////////////////////////////////////////
  3801. -/////////////////////////////////////////////4kBHAQTAQIABgUCVK48
  3802. -ZgAKCRA82MB/C1zhTgoVB/9j6/khep6CXjyIoghxycm/4qhuCs2M8kM6G1B2W0sv
  3803. -lkaeqha+A96lCS43YoaRWkto2k496rrHfoC5f/8Vb36nQS7hd59DYANbtr5KJzwf
  3804. -yYsP/7+bkaiuC1E5SqmHjFiYYe7enQWdrcbsDfj420ScL9t2P0gO3vKJ5S8m7hkc
  3805. -a4OdCmYJkdaYxJcHK7BC4vkJmbxfnmmyGJaEPP/oxNCeZiyL37Y62N4DqCQpDj5C
  3806. -Ngk5w93+6H4oI8CIMzWEQZt9bZ2k9ipGobYhaLgVk5UMWkVJ8CuZESCgHLCuz7hG
  3807. -gDoDmXTnz3zbp038QPusF9zb307DEsWq7XwJB33/ljm4uQENBE+Xo6MBCADB0197
  3808. -HdK48SqvipyPB49vlzfP6KHfcACZCg1JTqOt8KRJFwTP3PTi/GJuUvt4io1UVG29
  3809. -+3e2X8eDbrxufP0YPr+0IbTE/EMgXizNN28Zf/VIR7bEv9oFXfn/4L3B2L8rf61v
  3810. -w/W/u2b+z6MROC1qgWg3nOG6FwgiEeiBTlaLWhuwqgIdp6mdoOled50ym409o5kD
  3811. -6nXM0MkqLOTMJTKwrYipoo0D0acLtiBLzxXdYgrqxT30eIxvMdkaj3mC5mNd7pHY
  3812. -Sf3jQ7/BWAVkccRm3o2e5F8oDEe6dkWYODjbKAAKkn2B9GoHsROaqeYdANd5VNiF
  3813. -JIzGWTCGkN8GjNEVABEBAAGJAR8EGAECAAkCGwwFAk+Xs5AACgkQf6sRQmfk+gSD
  3814. -Wwf/d9jJu1Ccx2SYJ7tlJgumKiHEpcxg7WIn36d4u/HHtMSLytUEodOCqqdiNwOb
  3815. -cv+oVs+KftRXTNfcnAvlXAe1CyVED7aElAq75Fj9+oMVcFMwwFxZWNpApDErnahU
  3816. -WbDI05+Pb152HIO3WjqGPEYDYMtsLM/RhzGgISOCup7sghCJdtnlDURq7GRGe6mC
  3817. -uAwPU1ymGsMvLd9ItYOuz4ahK6mgpE8qLfTG2J1aK5tOQKt6UdwHgmwQHMjZdc/S
  3818. -yzJdCGs+AJl6K/KQsyV1P/Yoeje516oqAY9ry3ziyAUpK7s69Qf9+d1NQ0pfub5b
  3819. -MnnKviCFj1rqPteRl19IakRInYkBJQQYAQIADwIbDAUCVNs5TgUJDqmXIwAKCRB/
  3820. -qxFCZ+T6BA7iB/9CkFOtlY+bVc6Tz+B2c2pvZ96qdE4BBGq0g7ECWwRMMBB0/YeV
  3821. -T2ZN4m4nRh/OsWNMAYqPd/D1g2fKe7fYFlUPa54iEaDxtbKEism0xgHBIpDn+GiM
  3822. -aXNT3Wpd39UDFOw6Z4heBjIvuyJGE1ELIdhl69EdnwYsnteSVjFECPyjZ207/CaF
  3823. -RPGNrHkZEyEyQlS06GOE+qYB8T6XscX9MP8IJbIvlSPYgt5YdJ61I6UCoWPQClwO
  3824. -9mUm0cyZ8CIKMZjQVLE1xo5hvZpQqsLsuex+e8A/F3ldlLss+4uZn4Yab6SbG4iH
  3825. -xrTHKTHDZ4IYKeVZWCdlQIxitR1bL3ccFhPyuQENBE+YwLcBCAC6c+HNLWxxCvPa
  3826. -jXPG8qEVJUd6Kh/pc6D76aCNfB2OyVSivEV/LfySUdhvc+a2kilQ0kNPqv4yNJBn
  3827. -wQP4JaKpyR9oKe06EPcZLVTA6xqbSltr99br5bErnvUHFGDBaREXNSRM5sjfrHrF
  3828. -5sazDIIKrtbMbukd22yZjYsqnR0Os0wH/OlaAFTDu57jwTab/Y3CMLR38vt58xdi
  3829. -btiwnvxtzRihnuvI/NXCASOW/tPAYFfwQocDzYwyoTkQYiFBi1x69pw3f61f1owS
  3830. -Buq1WGX5+OptYMEgI3o4uh3WViRe25Lq8M61dOvRIJeHy1kl4jraF6zw425HqxnF
  3831. -Zdl4dtoDABEBAAGJASUEGAECAA8FAk+YwLcCGyAFCQHhM4AACgkQf6sRQmfk+gTl
  3832. -FQgAm1AunWt3iV4Kj5SqBv6hsTTO0XTaakeEmBVsnmpkYzJtICxDHtDMKZmsRm1Y
  3833. -snouXPJXXqsiEldNYBSGC/OOHAKniB0Xk9CdFRltacfGRNNCX449PFj3McwnoQoN
  3834. -yWcdOb8iUqgWKK7GVW6Xu54PNEOrTjjoURA+zM+oMI7CWjnpPxikrCQbcMTTWbWh
  3835. -DbpensTRxugTjNhXi9LxjD+8jYh4ksuyr1twv3lziG/ANsBd/o93ijfAnXihVVOr
  3836. -SA15aW4PWJ/thFM48dFHq0K5DYGt6sjomAAbtN8fAwQ+1vUVqEGXU4Eo4IFYTOnT
  3837. -hCG9sJPxroMUEc2TPBnmmZB9TrkBDQRQj2+7AQgAvJwa6bNlfgsk59sFherq9p2v
  3838. -LMuAIAaf3e6S8tg9HydSkCu6S9amHFtBqapAAp/eIM/VSvkFRnchwBNn3kL4KbPR
  3839. -rRTX7dVzEyyLMz2NM3s7CXDe3VlzEo957ux4KRCsKozmS+0gzEqZ5FmMw7ykeu/G
  3840. -nS0WOKtPzCfhDgmN8Pdvaeaj0lboIkjyu/5N83MXWINLJlnGSKexBvQKZnrRywZ7
  3841. -c0+5R/eiGQtQrBIZ04yORQlqZONaNEf7bz7oVvG2DPHJLx6hwe3TBM3/6k5Y6bnU
  3842. -MshdX/Nn2hy/VrCvgMH2teq9ty32ToQ0p7UKDAn3BXzbZKq6MLDwe8cxsmF/AwAR
  3843. -AQABiQI+BBgBAgAJBQJQj2+7AhsCASkJEH+rEUJn5PoEwF0gBBkBAgAGBQJQj2+7
  3844. -AAoJEPtkWbB8tOHy3jUH/3sR43msmX1KzodWhGZf0SPUTasRMfjz5c3nyBlNcQHC
  3845. -8v6a19TCuYaKLHQI4Lzif8VEoraG5U4ITnQjJbK2QOPfuql5ICVx/S/c6k+we5uo
  3846. -ZoJ9W2UqZu6zeXLOYegCGwhdQI4GSmN0dvT2Yu964KNpYf7HxLMkY5Ra+fVxUWpj
  3847. -0E27ngJBcWSXmHEtMnKhoV06H3wAOiEOJ/KNkgIbjjmHTN3wiByb/4wItq9c8+gA
  3848. -xUKwA4BTsTADZexsRh6kL4B8IEtxrLiSdeFvoRyL73QUMKeXnzkBtQ73Gw5h7BC7
  3849. -l7HiYxpCfkcSDHYOBDIQymtL9qyQehZr/2yAK3/sm9sN7Qf9FSoq2b2W2/j+MyWZ
  3850. -yRxMdHXi8gye1v1ITSLXsK+CH2svOGh1DLSpkImn3ABkOhgxbtDCG6dr84omjbkk
  3851. -vRqGgi85AK17ykTn4lfqbtC1w9BJCmA4XRxb/fwQ3/OdcNr/OI0rvEk8G7JKlKfx
  3852. -qiU8hFImqEIRWexsZkUg+ycssaV+iI1esmzTIJ83zCYyt+7EhVI2z4+mpSa/ThtA
  3853. -4MX5Ukoips4pquYT4cRMnMT0Neox24bbFrVnCj/pO5w3K4HbJDUKRXfdbXJzlq8i
  3854. -nq+FhFzPkN8894bfG0mwiGMw/GUIcBga4ra5lC/MyJ/9jUoJih9DgawnUAjUkLRS
  3855. -+bqLG7kBDQRQj3ALAQgAsc/av5+YYXnnPaghXfovRZ5sq+MnFbXIId0z6pIQM20Q
  3856. -NR7EOacZKTDEEIo3SpQ4lVQXN2Iu1+V0aMEcy82mZIc5dApb2FaEbY1eBU2BtI5V
  3857. -D6SMK+AEtu8kJSql899fgOGMtwkgCyL3MVV5nKadsN9fCbK8qtpuZvelH8J8+STS
  3858. -x32+SGxTbRcJe2ubmLlnBM5tQj+iO1AnsRCLu5v0SmlWmG0Jv0T9POm6w7+DdYDH
  3859. -1FwrMbR4vAukcvOXCcESqG1lV8fsbu+067rkYvKKHRsCP2XFre6wFUseFo/xHdp8
  3860. -kxzpRMze/X9a3s/utNM/tgaC+k/HrTNK9sJMrhNhPwARAQABiQElBBgBAgAPBQJQ
  3861. -j3ALAhsgBQkB4TOAAAoJEH+rEUJn5PoEEg8H/0r+OtuDsx5P4KK/Y/F5lQL3/QT+
  3862. -+AG+abB3oviFyN6QlIpuWQb3Qe0oY6x2l9ZOOyMw2ACXHTBZrSCBMLCdbEs+0hME
  3863. -ktjYytG13IyJ9plXiJw/CcntAbvGL6hrCNaDApht66EVymODhrbFRF4CJ2wrOiKB
  3864. -rn039u1FOZ2pnngJWvAQM9UghGegSBFtQSYVhNj3KUrKEvw76f0wT6KACfUXutKW
  3865. -yQPQm9oKmxGloNQHJCazFP4a2FNNdJSYpkAFYWJqYK7k1YYGqKf2qP6870H/fjCE
  3866. -X8rdwXMcAOo2VGgFL2ZCfDXyDkb+a1PP91EMp5V0VXhWSshA+JGfRQb0AfO5AQ0E
  3867. -UXc9XAEIAJqmP8HGUdTYvSpUAfRzUnEMmkfIyXe6AldRt9276T61WcqzzG45/v/3
  3868. -JFguDy4kDHbrX2YlUST+1VJu8S/Ym3LYon5T1DaQkMmUOM49DBx2p+divtQK4wex
  3869. -OE7hn9MCHI8xdSj372DIyxfAa8OIU7zHNgQWUI4+b60BzqLWq3eRc5Hjb/aXXf2M
  3870. -jjbxkl/RBZjgMSyjQLz5yD0ChjEo5RZ+0PiRu1W5qiXZZ1xns9o+LURKiwBQjxD4
  3871. -BsQHO0VJf1NSp7YMDBG49zzOAVa6/MoLHvE2ruLIeVW8rCZcpArwW42apypxMuKg
  3872. -aCy1f+3LWJQFuolM3zdRm3B/RnWmmKUAEQEAAYkBJQQYAQIADwIbIAUCUxvy2AUJ
  3873. -Cwq2+gAKCRB/qxFCZ+T6BIjjB/9YEVYkkEslEZYu2IVsIuwBv4Yr1eytomK0clHc
  3874. -GSNTrZxAUFKQ7vrXShujxZLXUiMh4cSN5OM7JBeRli6kPwcVRIT4V7RT1yXyO/6E
  3875. -F+antL7Q1ZW4kGH8pGP2Mt1q7sBqQbAINXdOYrTEv3oyZF/HHrz/Ydc7Cg8dGlb+
  3876. -fG2s9OtgLMN4vQQcTeXZOvGHmBoWXB86RqHkRSfyAhUejfda5GhPnPDauCOJ0A6T
  3877. -xCSpiaz0bMX68UyeraSvNASn9Arp06iNkqorX7PRffAVt4jkmOTSxMHqzLWF0HWD
  3878. -ijMlpoR/+QABJc5XTxJ2JFHyYmQ+2jq1BhZVjCKrHq8SeeA8uQENBFF3QaIBCAC/
  3879. -/Wgm1yb0YRFczK/eD2kfCpU1a35qr30LPl/wCoQcpZ8UyM0V0waBm6yZjXWXK6DF
  3880. -wKhfHog6glGxXKLBZ2UM8M/ZQxV5A6CRhDjQta1uLEGMFY9Ju+52cc8OGnKASaDP
  3881. -r5dJXfzUtjoThBQtsV4zi6MfW8F4x6t1qAw0Ksnth7llS/xDbAn+iZ7RWfKwnVxw
  3882. -paVykvWrUnkjKY0161mGC/Qrw3396dZRyVMtf7gQ5meL8VjSDLb7Yl3FW1zcEx0x
  3883. -ipZIQgziPAkSsqPxuSXIjvVyzj5nn7zy5ERZ4LHf7PJdeT3OUUk8Gdc+sMF7TnAD
  3884. -tuGh9R9vxpVQ99ebXI+zABEBAAGJAj4EGAECAAkFAlF3QaICGwIBKQkQf6sRQmfk
  3885. -+gTAXSAEGQECAAYFAlF3QaIACgkQJIFAPaXwkfv79gf/ULdjmZw5G9ZPeSHehuI7
  3886. -ED52UBa+eJEuJIV6bdcnqt3YxE/rXrzHfNQXU7OY+7kI61uY14igPNRen3kyq3kq
  3887. -WkLHb95T4sI+N2A6s1OMLx7DHPxNSQNiYi1XhXdlbvJvgayU2140Vj23dpoL51nx
  3888. -3yfjkIs2LAYI7N+iIDKOlFH6U/JjBHFym7vOr/83ntfeJjJ4HTBUnGqjGPpMKuN0
  3889. -uzPW0eK3seHJ8Lrh65gNr5Bw/Mwo77MeVpIXQZMjELcX6ZK2QnYFRQivxV4iQ24u
  3890. -+DqCJcmEb1mwibMbolZ2KuQu7uPIasC7+niMHBYlDdlOavEfEPMzY5djkLEbHEXP
  3891. -dF/TB/4672k9hootVEgxdupIdIdZ2zBvDiQY/rB957AJQgNp0Vb7KT/T72r5Kulh
  3892. -tVdGSeeFYiVUOdSV7JYBPBMYHEXlHJXSixdSzyUqCFCGSdigzuJ9meWmq3OFpPJd
  3893. -drHjrEwB6INVPnV75cjnpNDVnmX6xtwdJcVaKQFdt3+W5GiKUDH8waGJ+G9aUKhk
  3894. -OPBeCGdN2eld2WbFDPM3XnIxZknYqEJOwwYSCwlcn+fE6rNlBQLtBacVEYK/q7zA
  3895. -hLTZEVlXuNLI8SNKn7+44RCWnY4KE8/5gm6w445T7jEX/Z4D8hQkRabTIOjQk23/
  3896. -84o7mLcSW+iXTdnoBDjoCloqgZ9/uQENBFF3QfUBCACo1cRwLB0IHW9OX0eKHSCh
  3897. -KO/xJ5aKUCKBJYhfJz3/1mVsZQOIdox8nZiYPry8sQNfcXGHd/luWPYr1DA6cxdf
  3898. -zpkGtTZy3UptTY5JdE4rs3GYpYhNmA5qwvrfqWODfZtFeJyKr7KBCrC0Sdnluxh8
  3899. -4l33Cz1tOpkXBQB+RUQZQVUp6dKxx5Tqa3OBgIgRSav4xLeGJPLWWyWKHSaVmbmP
  3900. -UkKXHQ4cx2LsIrSl3O/EkdI1izgXegjrqsKkqiruwCuhJGeBw3thEVaOVXsRDCM/
  3901. -sQ5lU0TkOBdpt6TVAZCJsr8f86V5s7ZxVL1gVy/rXuSBOkbW4r+XE2pYwfC6ViUj
  3902. -ABEBAAGJASUEGAECAA8CGyAFAlMb8sMFCQsKsj8ACgkQf6sRQmfk+gQIHQf/RUIR
  3903. -fNLXMS3+In/8FRX0Ilc+gOivpnN11TlZgxvZrxIZKz5nPh/cYgFumAFOP6bFY8+w
  3904. -IemulKZaOJ7LLNmKTjOZnj12+S76emwpNEduQajYMDXPtHnc1FpF2jo4tfOQBO5h
  3905. -7z+UJzsGPO9O0pkYPxO3h/RS12R3uyvVE8Ej0w/8wiPFA29QgGf3zBRJ6GK2rAV+
  3906. -N/qhlMnE0agSy2+cmZzPDe33gtjLVZ7YmVp0YxbKa35DtvukhliGKH1cqkLKUt6Y
  3907. -ytvzuckpEQPEtI/7KTYmCfaT2hlOo7uSfGn9FtV0xzlcVy0dMk24xKllyeyeennJ
  3908. -jOuudVo5CQFRssnBDbkBDQRTG+drAQgAlo+QtN3XwYnuaRheTFnOLD7h9XBqZapO
  3909. -DwqQbod7MXZqp4jEfGqfQKleL0Xs9Dh5I66Hhwr9GIuciVSQbSEcqBEznHJGM6n1
  3910. -ssG662b5a+W3WC11SUGpuZJOUgOEHVLgVqSe7td8w8bFD841kfPXRTYmtNgzki/K
  3911. -RK7FFR1M5C5fBaQb7KGH/Cj/jUKKS9EwrMTW4jQxdcz881MFOGLM9hB4MCRXv+W4
  3912. -yUGqXurvFaEvYzVrYF1XNJFHheQ0Iw5GNUGxk0+F01kTBRNjJ+fnu/G/rIkHUYAc
  3913. -E3VHqsd1l6NStMwn2o2a+po/xeS3CIdxsRBx4NYepBrZdRjUrRzNiQARAQABiQGE
  3914. -BBgBCABuBQJTG+drXhSAAAAAABUAQGJsb2NraGFzaEBiaXRjb2luLm9yZzAwMDAw
  3915. -MDAwMDAwMDAwMDBmNGY1YmEzMzQ3OTFhNDEwMjkxN2U0ZDNmMjJmNmFkN2YyYzRm
  3916. -MTVkOTczMDdmZTICGyAFCQlmAYAACgkQf6sRQmfk+gTTNwf/XK8IGaPMASckFU1c
  3917. -EHM8ruYAC4b1wzzAY2733geJJlIMd4pYVhPWcczwMozc2AWJrhHzMS6Ho/r+FmAQ
  3918. -H+s0csYdhw0hL8w60bPXHSWu9wu6zlUJEY8G4pKjisEokYY7Aje/oEGfg8KJLHXA
  3919. -hYrPauW++O/NFCZ6ZNimFf40JRSjSUGzTKuBYW0/25dfV017De1XZvD+Qd198CfA
  3920. -9ojvBP2Rn7PYQkCMYA7xsViNz+tD0eC+BRdyO0cffCzoOOHHXy/1KSOnCry+JReA
  3921. -jnpviOsUyfY2bqGsmOpxyo5VfZ3OoHOOV7nucBEmQojuhl/xvU+Lc2airaR6UIAm
  3922. -jWDWrrkBjQRTG+GcAQwAk8T4liMdVQMjh6WFsmY38lEGu5FxirVSrMKjVQAq52XO
  3923. -l0I2jc6zTdqzyinW0sEswcQhmkTANzCspaU2kIBr/QVbdtPxPakwysV3RsqHPlAI
  3924. -rVQIdBU7ENnE9uzRzJtZfc5m+buknQ3MBjMdXlAceO4w7i+uhu5zXW4tSVwgKzhU
  3925. -uy1IexvK7ni4EZHzsOAarFbZpHozUqNZol7ALJrWkpQWqjuJZEIN0vefgSf3AV/r
  3926. -vGFlbI/PwEWDZlYlwDV9scuHRqqu0S1LArcLDmf78vnnclZYVUNl2kaVgRKmu2ra
  3927. -CWCSctmkyC5rqM9Xj+6B0ZVxhXReqfCnRn06Zwf7WwJuMWMfbAfZjDbksIMgKWpT
  3928. -/8UrH2RrI/6b4w5hXa7/C8zp8H109f7xcRgdLyj748P0bsrrVSfUWxMP+XRRGPY0
  3929. -4spkhNUVFlYc2BroIRXS+REKuI5WfWnUeSNWfAqbexaHRSgQQIydN2qp2sSxAe6Q
  3930. -FE3aXZyCHC4DMqIlUml7ABEBAAGJA7IEGAEIAG4FAlMb4ZxeFIAAAAAAFQBAYmxv
  3931. -Y2toYXNoQGJpdGNvaW4ub3JnMDAwMDAwMDAwMDAwMDAwMGY0ZjViYTMzNDc5MWE0
  3932. -MTAyOTE3ZTRkM2YyMmY2YWQ3ZjJjNGYxNWQ5NzMwN2ZlMgIbAgUJCWYBgAI4CRB/
  3933. -qxFCZ+T6BMFsIAQZAQgAlQUCUxvhnF4UgAAAAAAVAEBibG9ja2hhc2hAYml0Y29p
  3934. -bi5vcmcwMDAwMDAwMDAwMDAwMDAwZjRmNWJhMzM0NzkxYTQxMDI5MTdlNGQzZjIy
  3935. -ZjZhZDdmMmM0ZjE1ZDk3MzA3ZmUyLxSAAAAAABUAEXBrYS1hZGRyZXNzQGdudXBn
  3936. -Lm9yZ3BldGVAcGV0ZXJ0b2Qub3JnAAoJEGJeboN5AaHKDGcL/R3/aZoKC3OgtAkb
  3937. -o2g/ykbMt8pIko2cofAB/3zwl1p2qvwO3QV/vTVt6y4uEPEHItaFLiKTSH2KpTVl
  3938. -YflOh4M2/LXwXQmOiixpyDY3w42R6AZqY4g6q2SLDpNQLWaxVOerPgvDpSkIbcwH
  3939. -j8Fvai3Mrxtr2J+Jq3KW6TQnW9m5G/j4SqmQ2sRfkl6EEHiGcZp7pbKkE+qYGsmV
  3940. -HEirfCjlf03N3c7zcs6Nic9AEq2ghcnLwRAqmyRU59wOvIHlbQtnpJ9TI2zaOp2n
  3941. -U+4wOVkdolzN6TfPPLwATXsUFlQRS0ygarQXF4ifZ55MGZ56pc3GOR6fEH0FaUbr
  3942. -AhLvdN/fKOpRkQ5ITzxY8rP402lP3V1gAInRaEEsXKFxnQn/sCbLgi2dlaiqeErw
  3943. -+Stz8bANhaS7uja4KBG00aHH87IF22tKsC29q5USR0axfEAaDMEaEJxtE76HoIKR
  3944. -CovUoS2TfBJHlJOqzuQR76v++QAjqgELbHqUudhv05yQ18t2otJ8B/9XusAN7sya
  3945. -dCI/Kkj/A9WL5ky8Jh14oSeuIq6G1Q4WN+BcYAtGroTHlo0zMmQlkBfOb1Ketu4o
  3946. -KWoDQwPUle+WsdRv2GklAURakqqjZWCeV2JmjfNML0MAQ0iF5g5W6BeSdnTVfBNG
  3947. -Zjq0lD8d1+fVuyWQ/Sl9Za/dfGemi07X4pN2+4AWk06b5XmyPyreoheFCBIFRNxS
  3948. -UJuB3HOHx96seBv0JPyYZyWqomJ5TAxubK+T+l4IPebMEM6cEo1+Ut+vS2xG+kuV
  3949. -U0hxDZFMkgjD3a4Od06MfUPNhxIXGFoPTdESXdKDsiSykr6B3mkFX0XSPtfrGemY
  3950. -SLuZHeehD4iXuQGNBFTbQXkBDADPxI2gCAy4SYLcK/I4hoydjmsXBpWHmHZZUKvO
  3951. -+6GS8tXX+IlzxihQy8Nc7M4hL8RjBBMIqiF4ogEqNvIzD+LWYM3+K/Q7Zmsaq77l
  3952. -iNS4BXUn1O/3n8WPNCJIAPf2ULzZi1ucVnTCj3AWxwikhIZnqV4c3Xy5pGpLRbaI
  3953. -pg3yfLsQYHlAW+Eg3VqrX4YHgPGY5p42Qo2VejxO+7q7crkDd0GsCcGyL6MEVA9F
  3954. -pnQ1WugmWZAlNfDNeySdYxwaISIvesVhDG4LvU3o7yk2rTOL4iDNGfRTipLuZ8D2
  3955. -3EABz5QvBIOqrV0o0pMfGjUMXSWPVeSuxnvL4+atE8bapOJIZtxYwcYV8cXG0HZw
  3956. -zvbw4+wIw2mSPBTpKLDMc7m8l+yq9KhOzILRHDSPEt3z2TGtK6oerKizOwKhX8dn
  3957. -2PspUlY2RmTAauvqWOYeg7aEX3DmI03Xu+eVpjPZ0jj15+JvXsa9yI0Z8gEggIbw
  3958. -+T9KzGrXv/nSjTZ2630HIa5bxI0AEQEAAYkCxAQYAQgADwUCVNtBeQIbAgUJCWYB
  3959. -gAGpCRB/qxFCZ+T6BMDdIAQZAQgABgUCVNtBeQAKCRBm5IaDjxmqELvbDACZfbX9
  3960. -W5ZwPYRbI9J4+es5Fu2WAFe8WcDNZLfyFZRe9cCbWsxtKicmmTkVpVSTHSV8+z16
  3961. -WeOuaGh3dl6Sd3sfKlBjVSMjTRWKEGJCSAAeTfL6Ag9BR6/r6Bj0nYQzm1Cga9/y
  3962. -j63YZfmSiADS+BGEVtBVFkspYHXLi9U1UeCjTj9qgbN5eWGq1fOIJ7EQ6IVMJpgd
  3963. -+/PbFd5J3kjeFl9Lageu7PjHgH+vAnmw4jy0D19DwO6pQduc6tWd/8WcWZHVuFf8
  3964. -CsJA82sk2B1R+SdYbTU0vljCv/vRUPOKM3zzap7PADpYLf49xQTYp9uYmLvMv5m2
  3965. -0NagUXggdJ3XN9QipBAZsKjp8c0HdW4E0YOt0G1oHdUc039Y0yyMvifaIPoHhA0B
  3966. -cS7xs8bmrn+IA/oFiEnB/PUsFEL2fPSA8+2zSVoFGZYoGqbkPScNA+uRZmvqL6W8
  3967. -hSMXiE6/ekZL9+AbIuP/BRgcu284rrmu+KDPbz6WlWEtPbshfLWbFwE3YqElHQf+
  3968. -L7g/C9tTZrb6kuYOuKC+JsTiYzz52gniEf7ZXJswxnXAkkVy6tvxn6ASms/VWmEz
  3969. -h7FCncQRbTFqy4+4c2fxSWGhDBp1u10/HNG/66sd+9vhMBAvLBV6FeLhudDHHPVV
  3970. -UvzN0vlC+FuhIHkqGITkSBgXGAgCR1KQr1ixTT6vHRtbBQLqNBR7e+fUyzkFja2i
  3971. -ynM3UfDg8kwaPDUNTTLRrACPsTq7iGUHmnUiLUYK0wKCqXb6O17tiX+qozcholyz
  3972. -OL8TVeXVFoWmSozEgVn4j5rK1WWFSwa0ua5zQC7h+TuP1+Se/SYqn2ii75eBK9Y7
  3973. -/5WVebk6ur71eH7eIWk+XrkBDQRU20HWAQgAhOI61Edm8YCDU5ZwUy8FJWLS6v1C
  3974. -V1y5fEdne3RGH0iyP1klfnLkF2CqVZmaa2NR6UcT/vAqbUr9JKPBDcJvYUhoifIJ
  3975. -3lzG6tOfTLTfxongUdzE6WlNlMMjvxDDPwQgheECP4f4UFl8Sy/EVn1akJ/TpVoh
  3976. -cDceCVxCjLPnJPAbTu/SgEo0YbJxMEb+cv80fyJXgMc5uUEfTVIbu6/pR6A2NHFE
  3977. -Mxh0F5YIPu5IXH+by14ckydIOgJzOjp2usZBkqraVUOxzeE/U3D5HZ8IBs0znsAh
  3978. -+xg2zjR1ppu7WQ8nKK3N/pMakivh7x4Za1KXq7IB5wlIR9Sb0J7kABZe6QARAQAB
  3979. -iQElBBgBCAAPBQJU20HWAhsgBQkJZgGAAAoJEH+rEUJn5PoE/8cH/2ghYCq4WTjr
  3980. -n/go5mC+USMTsdj0haMcZRoOs5+PP/eLpqWJTXNbFGjyHIKLGUvUZSsLN/V41RJK
  3981. -HPuPdxNzvo4YndA/LwLJPl+MLjM+0bgiIUJytdui+YonmfS/TNkPajCrwE2KqKVs
  3982. -nIX/W/w79o+fWxppwLlEsQ2kI+zMqFi600azfCDUwfy1ti+sC5F/ZDsGoDgFpxV4
  3983. -Ao3RaDb9ZxOLY3XPERRjtczwFAj1bw8ZCNyWv6DdeG9028/r+fAjZqn8kz1Ziv4V
  3984. -WvnBgkkOLTkNmIkey+CJyYemo1ks+x1sgQYspmnv7rkDRLBL1dg9UQmeRvqB0FsH
  3985. -vOq9VY4ZxTm5AQ0EVN1LOgEIAJBvsHt8coDvBL6bq7A0QROsGEOGE2/Wd2TgEdCA
  3986. -eZeKMseUCwS7ssJIeYciRbidxbl21fyNVGuKuIz6JMCbS+m4Uv0LKYhXKdVkfkgb
  3987. -9TNCXm0lKbu5GjOOYsfhdRc4FJUbrb8ObyfDoySKMEOACQY94FdR4wjLmdvvmyb7
  3988. -YICxar2KFaYSS8joKXYC5PRPZInHF/jhI3ODWjoZSn2Rg7ARN+tR55jx10Ex/4iX
  3989. -zRd5cax418fG5rMcv3Er8kOmFyremIsASH1E1oBm/We6jyowfHBrp2dy9aobR9GU
  3990. -jwPh16GBaHYQeXt0uJrr83RC430dFHsrmx8svbYuYevtwvkAEQEAAYkCRAQYAQgA
  3991. -DwUCVN1LOgIbAgUJCWYBgAEpCRB/qxFCZ+T6BMBdIAQZAQgABgUCVN1LOgAKCRDA
  3992. -hfIc5/S53Op1B/9+JSyXipINM6qEMEAj46ea8EpF6p+vFFHJH2cq67ILc/Doznyd
  3993. -7pogxn7QFCrSDfwoxEU1ruDM+hcoxQBjYSQ1sxu1fCVBtSD55V1AQBp6xz+MJb33
  3994. -ISTEBpEqoAstxW3WxsUOa/zju9q27C/GsX1uU6DW/6NE2FhZHDFwxqwEq0ouRcIU
  3995. -58nOkQkOUEfC6FLfU0H+kNAWmUQcIUPdVwP7J5vxTqnsXnSs81QHdkXOY8VROSfD
  3996. -uIHTW9ieTe6jaZ4NP2IjsTRCbSoDvspjwg/KGPG49b0Z5XCvo7p0YtkNgYXjAlRO
  3997. -mGRc68/xTacMEb1cfiSFpdzTakbrrMBpkV23PGUH/12R/oqjzkYJzMVLlhdgv8NQ
  3998. -wII8mWE2FJwFzC8w5jL1uYSE1wjuuBQcf313F/KdiTq0thw90Wh+mIHJ+7vTQhBC
  3999. -HFFgpxfXPxXu01J0wCl9XqztV20s4WBXltbubPX1xc2QBNSPIqiB8s32mMiHKNvZ
  4000. -owxFZMq2PyZ0hB1W+FK2qbf8pZf+2vsEuqLj96ftt17jr2BoyytQeboYennOMgYZ
  4001. -UtzuhpOAhyzzbCOxc8O5+OJOkYbGtCZpl5oH94fvKD9BV2hzGm/SemJXtBUAIu8I
  4002. -cuKonwxwerdCP3ftxT7iZNU1op4sZWD3qA0jVs/mbHhh40xo9ZhKPAaI/Le2nS65
  4003. -AQ0EVN1LrwEIAKHTFbesEf27YWIBN0ZDphhLp/jHkFbDhx332zPefH/WD9QRwY+w
  4004. -F3CHh0IYDaa75cq5LCHFRdXCbZ4jXGnWomNlKtfs4XokWYElDL5MQpT4zbtFYhSK
  4005. -seAflHf6Z7TRK/nplmDXs82J/NNen8Ati84Sqb2CGCkD02SXVBrWJBTFyGzkJl6O
  4006. -onoZph/RSt+rXBKFYI8m5csHwwQdZRYk7FNdIHmvb9SCVPq0/FD4x0i8xNrGws1E
  4007. -EGBp3lbaeuAPcFoWUnl9NNckp7r6hX8TKOUU4z7+FwXY7xnZd+h/I675MZ8typ+r
  4008. -PSpw2hgp4s1LXNZRBer5K+4VGPdfRH3sBdUAEQEAAYkBJQQYAQgADwUCVN1LrwIb
  4009. -IAUJCWYBgAAKCRB/qxFCZ+T6BN3LB/4oxQk1UUxIa6mKdRUFjk0BUc8pQsNWqTAw
  4010. -xL+OdUSgZOgr2JCSICSNAShI4226tTkfGhJyp+DtzlF2bm78LibQI7PArzxD42l6
  4011. -93XtkHdG7MqBxsjf6AGTm5c5fJ76jbRMAXu4MBvdRe2PJDCCl2D+YEJzcu9lfW44
  4012. -8CHdy8ta5njgtdc29+S+2V904bgc/tYRn/OscGe0Hm1CeNn9Rzs3HrOG6Of0kJ6G
  4013. -T0ipHSIhttHTekpYFlekpHjhSxvkDEb64BFyj2YBJSmX4EhQVnTeQUIfz+mDmgQ2
  4014. -w0qGnckIQ73fP9nYhlsyjiqbxkzOELDKt73ZTI+tIyOYW/sbX2tP
  4015. -=BHZ+
  4016. ------END PGP PUBLIC KEY BLOCK-----
  4017. diff --git a/contrib/gitian-keys/prab-key.pgp b/contrib/gitian-keys/prab-key.pgp
  4018. deleted file mode 100644
  4019. index 0870c88..0000000
  4020. --- a/contrib/gitian-keys/prab-key.pgp
  4021. +++ /dev/null
  4022. @@ -1,81 +0,0 @@
  4023. ------BEGIN PGP PUBLIC KEY BLOCK-----
  4024. -Version: GnuPG v2
  4025. -
  4026. -mQINBFYHMLQBEADLpvMbTQZ28jaV/tEcHpt/a2YiIqBdNreh6rE2MkTTjdkZJ5Mp
  4027. -RAFOTrRYRWyBL9jmCjvjt4TToiV4quv9ubRWdTKn0cKaqcl8kwZ5rtoX6EEhcLJO
  4028. -CAL13kDzkBrG3OqRxM7VWn/0IGf++Eq0yT2eqBi7Ae3FvC4m64TKLI2NK7GB/MQD
  4029. -JqcXuh/0yMsPiCNZrTDBX+3SzTuSLjWt2Le1Ap2nWXf68cWqP6nhT+f76epZyA4D
  4030. -NI48/KeylUzPSJtqBmBM+YLg/XGcxDpbIotnr7D27ThJQIXDzut9O9f7RjdlKaeh
  4031. -G73W/hDqTqLpkR5LMa7K3unUuvlyQqYGXfHINjJibNUTLCi7YcJtuDv/DJwQxu45
  4032. -/UUYS2xH6HpgOTdWs6VjHRCDzeAoKzkdDB+8Mvi2lZXxY0iFQeQtRNkmN9D3M4oT
  4033. -voG0cZWjPGeKSalGVSRS3TGhdf+IqOPhOl9yrwEArlZ8HtsTUFdx/jAsWHsycCVb
  4034. -LjkD8Mdgit39UZCln3e0bY862wF7Gm7P3ITMnTofO9w6Pqffh9WWQBtLrxIXrgII
  4035. -vstC8H9ajIl1FDuYs1Mf8u7iq1zHh6GNzoxkm+FEvYc3mkSfx6KJD3STWqSrJcQK
  4036. -q/1SsjBb+RiuqeFdY8krWfm2xkuUoGLEQnr14UQz1hQTTLEgSoHBSHxuHwARAQAB
  4037. -tB9QYXVsIFJhYmFoeSA8UFJhYmFoeUBnbWFpbC5jb20+iQI5BBMBCAAjBQJWBzC0
  4038. -AhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQvNBNjpzMrCp8dA//Yaob
  4039. -cnFuzLjIeWyz996DPJvU62WmAE4GkZot/wk+dtIAnOCxO9YbhWVU/b1WG2PjGdqt
  4040. -LiB6COG28/HzJoUh2zjG0lDcjvu060Bdw9rQ/kJWW22ylNAoKiY9jd3Abde5nBGK
  4041. -0wwJ8+aMMDrO6euwgcJymJ+yZ6ZiWyG4TXXCbSdCDSsBtaaAugMlzZWeyEBEgUK4
  4042. -nX3ZCoNiF3s2bYojr6VcgG2clM9gsSBW03XLW3lRLOvDFmdEAFp8KSJNSkGBlcOS
  4043. -iba6zAKTY80W/+D3soBP6Lr2uP0AOFr+ZnfxvaH9YvXIFDq/jT3CH2RxiZLd1m59
  4044. -ehUbU878ebOMlJCJYiUBY6H+vChytqy51o1np+KTQtpxKzigWiPbtyJ9zYoVVczI
  4045. -Ds8APCqL729BPMhhTDm8I9jeEhjXNmmiJjGVJGVB5X/3w+7jQrEz6f1Ebi+cCrgN
  4046. -tfN22bMs9hh5KkQ4JhRVfDM0DOXCvokXjdo9yXUf+Doc96ruCJKH0qR9L7qIASiD
  4047. -hSEK3CNGY1G05Bb4wCS+FrexL11whAxlX7HCwbgjgHu07QJBYITdn3J4fUFYGsyS
  4048. -G/2D5aLASiKGfq2TL1G9e/qI49/TksDQ6Xy4ue4cQYbf6JigfYjDcSDOZmkHPuXG
  4049. -kSd60WPWJT6OqLrhq2c7exYCUGZaKrWBoie5yoGJAhwEEAEIAAYFAlYHcWAACgkQ
  4050. -0cuiohvNiPY3BQ//TVOxm3UncyGyXOs+ss3fBSPE5q3lR71H4uo4CxE5pi9Y10tK
  4051. -Qf0ULe0gRpnF2FMUkCCE5hu2oG+kPpqKON8/jwcnRCO9h2AndIZ3NRPAOXO2pn9f
  4052. -bkDHMlInhPUxDk5zCHMTOdCONDvhocZ69gYHJdgt4w3Joji1YxTkHr2n8dFyNY7Q
  4053. -LgqT1tpuXgopjKsUcYRhDCRN/iFsMa4D+XZR+rflvX5hkee19DzUIWmaHitfHZlo
  4054. -VsJ7uVZKqUevS3rbBr3i+tpvvlrqDXAGksGWOdK7QFD6GtRgOD91IB82K0NvyX6t
  4055. -M0TMh/aAAslxfH3YeTIGnETuBkp9QBCa1c966ipoHyzItmK9sF/ONPEfYR/ad3gB
  4056. -Nc4G5w0UEROX0v4AWMfYc2CD+un3beH6rkWnopsIRJcQ71XvufqweWsPFALuBBzR
  4057. -PTiugTi0SSSr/ayA543s90Ko2Fxrg20UYJZj1u/DEukpNJwjRSS/yyjk0hMWtzW8
  4058. -rY1Br4Djbq3uQQj8EQojHgg3vlpHcbO77kXIJAlWYIzfHY69RGXCQG6Y7tavIiXm
  4059. -vveP54CPFCs8Kl9t8Pq0IrWKnBGklE/KwfMzkzvrKFmi+nk9yRgwyN9G/geQt4Vo
  4060. -W2mHmO1lvY8Zu2zpzLkvkYGXpL1VkIefmBYV/SWgyYGhLOJIFodJcMrrnje5AQ0E
  4061. -Vgc1VQEIALsxaGYOnwWdgE2e7zX4uFz7jY5fZh0+RqGOe+Sk2g/QVKEDSLDgVF/V
  4062. -tneG8AFgYukHPFCm0IZdKrewrkzdQOwxjyxiyFxOV/LYPesElVe8OWIs0lrMrWlL
  4063. -ZLDguF63wnxWhjolfBzQAG29UTXYaJt6onEB59R2l426LBl3W9wvq19jolOECISw
  4064. -r9z2IRUJ3poqBckT9j11p8yuPjGyht90dvg4htGPBV7nHDIijUnqLfk9mnAj8NwW
  4065. -2Gf7TwW2uNA2rHV6riFzYVe2t1sB5Gdlx5ostJzo67yIc5Dffca901VhmpJTUPox
  4066. -W2KmTpl3ObvaS0U0mkAyVObVHSuT6UsAEQEAAYkDRAQYAQgADwUCVgc1VQIbAgUJ
  4067. -A8JnAAEpCRC80E2OnMysKsBdIAQZAQgABgUCVgc1VQAKCRAyXl7AXCempkrrB/9H
  4068. -tOAstawkJ1IflUztgknEDE7MWuNR5XGqN7ROJAZvL8YfB5J7a4HJxTzCWft2QQUu
  4069. -x3uwSfBpm+hRftBjm4aACrhDS6OOH4eFOUIdDASb2lgnhLmygKhAO9LW2z8jSrRs
  4070. -tKNj9nyCo56mtd2awFESgpskavv/ilc9wU830C82FFdyBqgy5OBdWBurnb3SV5F7
  4071. -23uD1t1n8b9gseIxNdF6Q//szAeHa4VRzzqykExXqHCEFCtH2gs9EjiZ3YeCyygK
  4072. -cPbe6/+FP6UD810PBqnWaCShOIeT56JsOu2gMZ5+epWB+piUTn38N2Znu3EA3Q64
  4073. -Gc7P8AtrNUCv56bof5NoTuwP/0rP4n1bsTy7siBuPqc9YvYkVCxNsGmg1Qs5h2Jr
  4074. -ZmQlAnz8JXfi/TRxarUNQTZEsXVQzq+4C9eEMey440kXvDE2sd3p4MKnbtkDmahJ
  4075. -XcMG5lsMMAQTpmyBf1EBEIFOwjZBqUqEkHl4FGRpEx/Q2p9/pVlogGW7SE5Ck6W/
  4076. -A63ClJUJLsHaWiv9zJ23tzT+ooNy/iO1Y+GfV6MY1tBfLd4ZHHd2n1urFB362sgY
  4077. -2x1TfvfXN0Myw7m1X0l9bYFycuuWfSo6qK+LCU/4P3jm21+i9lWBYX5l+NLz5mlC
  4078. -V5aN57zmtGK7QMSp+6VY8mwG1TuhUt91S2fEScLax6qEASiEChB8m3YJOjKycP27
  4079. -Sq9WactijiVTPslHjCNfyM4BbE9crAbDWGkIbzbka8ix3t4uBWt0YO0Ug9S3eZBt
  4080. -w1OVxUI+LWjF5XlkfXn8W+pZ/C+M9Cs6QsAXEbfHXVZKwlAGZfvYE25UTr11RRnY
  4081. -pl8JZglq0Z2Gip3YzJewC1pjjQTnnPoPT79elBuPmiGwNm5L8HsKUZ1IMf1k5mQB
  4082. -FX0CilHMF/JAO+r8Obs1l7FHXvO0a95tStcjpFodZjHARi5B3VGghcypy2J9hWfH
  4083. -YF23EcE4GzpqqSEO/SJoxuLNNtj5ZVJOxmeRz2CKCe1sI8xO7wY7ckjRaGmrvK+c
  4084. -dAxeuQENBFYHOocBCACxVJwkGbqcgKTrg6APMxWO77ielcac8FOVpd0ns1h4TGZM
  4085. -iCwwTR5WPRiIA6zuS3VTuPAntnK3VF9fQsLBORHIb4CzMeU3F/64SPt8NFajEQ+P
  4086. -vPsZlyv29RSVmvhIRDTDry3Z/KQxnZ3rzazrBqGVuLBgsG45n97MQ8Xq0gkY42jU
  4087. -VDldULYGMco5zHj/MFSQ6L3z0j1lL+aiX2xIdRyDNzOhRqaA1ByZvsRSsqW2JWox
  4088. -78c6AbclWw0QLdQd4Pxk8k5hpeN/EtneVnFDX3hOq/C9fZs6f5aAKn81WXqPPPk6
  4089. -G0b7KzlUoCWGlO7M5LzEzWmWvGPs7W8y2Uil99CVABEBAAGJAiUEGAEIAA8FAlYH
  4090. -OocCGwwFCQPCZwAACgkQvNBNjpzMrCr50BAApY22DRYqmtALFieREu78BvjQT/DY
  4091. -f9Smkga1YVr9/Ph9NJ5iSVeM8mrVkwZnGRK1UCjk16rsmB70IqlnJnyJGXqPMj7M
  4092. -3ioOWY8fCL8fmLI2g0TbXXKl3e0nGByGXW4pwyLYa/hR7XJMco/PxqIGhEKcCIRP
  4093. -dxq/6U9T9SYe2IkfXBYZAxfUTE2FkRpw1zSfZN3z32LM7ICZ26NRHRWo4Kv5sij4
  4094. -0mYYecFmWdf6ib5pPCI0HmPGpblbmZgR1LoJNmuNxfpgEnPe8BbxtO4mueNW5A39
  4095. -y7gLCmDZ8MaOGxvjGByBoXxXP62BiU910iZZZurjSD+3FD+NUX0m4yxVIZCkuInY
  4096. -QzLxFACr26IYpcsPHIYGnEjDBFw9hHdP6tzKbjzgVSZESheQf2zwit0YYSjwHQN/
  4097. -XGnBy8+p66As61jg8mcAN2Zd8vwFKZOvfEnSsaoK5ssAh8jixhPj+Ujgs0/PB8t/
  4098. -ON20yr+YRAwU+RVnC/vfvrM83mjoz4mbmSLapFz/xWNhoS0ZczYEI5CyxE8peGPX
  4099. -gd/7tim2OqUuZ3SlH5TZP3pdJcqxTNN7iNaWy1wAY/sb8As3Pge/Vv5hSYmHNjQy
  4100. -h/62SSbTf6OZCuUGjy8fvVj51SclVKqGNprmAqVrIy0J+VeTKj4r7PGesPWJavRc
  4101. -RFdDYRHByRDDL1I=
  4102. -=dOwX
  4103. ------END PGP PUBLIC KEY BLOCK-----
  4104. diff --git a/contrib/gitian-keys/rromanchuk-key.pgp b/contrib/gitian-keys/rromanchuk-key.pgp
  4105. deleted file mode 100644
  4106. index d8e42f7..0000000
  4107. --- a/contrib/gitian-keys/rromanchuk-key.pgp
  4108. +++ /dev/null
  4109. @@ -1,52 +0,0 @@
  4110. ------BEGIN PGP PUBLIC KEY BLOCK-----
  4111. -
  4112. -mQINBFp8x7wBEAC7o+3XuNzZskwarQmedtFXKIR2l7FkXouqBAZoD5L+kx5P4kXa
  4113. -Y2wxc/ZpF6Q1PGCnTcnUf3Bctz6GeTwaK/IwGZI8utmcj/MVqqkFvAwYgtB99EvB
  4114. -kT7xWk3DJ92Lu1/MqueJXSx05iBbKxQ3xvwmsWqNttmfoXw1BQDSx79K2HklBUC4
  4115. -a8ZecdlZWc0Q9j6h8mDU58OoaN3SPBGEWGClw52BScJGaRoPBcSnTYLlO5b3sEqB
  4116. -Iv+cR6uYIxoHiL8EWx7n8QQ5ROWsZhISuPcqYyvnYCN81+0LbcX0SZBdyF8Txk7d
  4117. -MO0C6mb29bf3gIjOpBZfpSM7c874qutuMayBYPHpyyweuACOxqqmsWV8VH7aZO+V
  4118. -Tqmxr7/jIWQG9Q/XxHRxKVTnLRLotEHWNSJReSI3vcwVD+DpwkLQLJTFVTyBsNq5
  4119. -xrDfbIBqCm29HRXiMf6u9lR1QiKaeccl+DNgHwh2lr1Gd8GGaLUqEamw9/Vqgiei
  4120. -hdGOMDRnZ3bMTIRbf6utkT6sBUAGIUHCZPcLmGWGj0fEhO4sZF7bGr4WnOR2AoY4
  4121. -WfDxCz7CHwvYC5s528nL7ytJWclqj2rNa0sQFTc4p6MHi4QIpz9DkdgPEkY2EJCk
  4122. -j/LVytGm1Vug6QDi1Osd4BbQq1/tMwKomy3+Cw49ZATe9c/7sCjqMHSUsQARAQAB
  4123. -tCVSeWFuIFJvbWFuY2h1ayA8cnJvbWFuY2h1a0BnbWFpbC5jb20+iQJOBBMBCAA4
  4124. -FiEE20NQpsI02Cj0pktaCgnJRmRxNCsFAlp8x7wCGwMFCwkIBwIGFQgJCgsCBBYC
  4125. -AwECHgECF4AACgkQCgnJRmRxNCvUVg/+INoIYpx5oyPAn6tKZW9PWupgqWHMZf4I
  4126. -vM93NAITNDZtp0cFkMI5zpM7aNSpfeLbqbHhhGtDD1De+PKS76ZR6wIMwaLOgRId
  4127. -/bkUuKxcQsLG4jyIdG6f396Vr8WWoseGCldt5WEEI1rcc8o9bF8M+OP8HAxr6Yba
  4128. -ozTRdx1xCLuC3V+yCRd6gMF6Lty73uby2YlRU2tKlkj4xVlFayAVSmD8HS2w84tL
  4129. -dAJg2+JM9hj8nmheToOxA02NH/4yJ8RF1vTmAaBpv9mmTbBrEFgzmpbxk8GvRa9b
  4130. -jOmevm9rKUTpQSTKvA6oovK86yJeHpXVjUQReqZ8Kow/HWxMvsbegNaaHjVHV1fI
  4131. -FxrnUSpdB7UqgsCsKlC+EDkgO0Bqu/nai7qWuLgwxSHDn1DPojZT0T6R5HBIGDhm
  4132. -AeraBEX/Bqfbs36DfTgDZgQhpXCz0MSDjfjzWFDc97Tu6CfGQhljm2rd0cVdjUcs
  4133. -YloP2vKjdACvWK1nYsdtex7phEr9KnlsDmwoj7A/6VZbbdGvS+PSHotM36OWNHET
  4134. -oG8qTtO4PdWj5kQVAhOZAkTGNqPKLcCYnU2OKqJHiHumK6OrG9UuKsHuvi3vAat9
  4135. -hkFcEv8b9RrKxNz8LKh28cnqCec6VyeehqsxxberDJowLXRO5K6FinNa64UWoSsC
  4136. -mcUyfJLiLk65Ag0EWnzHvAEQAM0kiJ/5uRmzgoMRlfuirIQovgz0gDnCfLnRVji/
  4137. -cQwUe9mpG/orK5JIN2UOz3Y8k3Jyo2GJOG3x3PEAn+FscFZ1E6+ZdmEIdF25BXN8
  4138. -L4h/QN4gIg3E+CASIVyWV+4qFtP57SXwb37f9UWcpopld5Her7oQBu8UUpWFF9Rp
  4139. -AACWtOXVucbTux7Ujh8pVDSCOSM5A5GePdGr8jeY7M3XLovYaFZE5Z6vxbMrig/V
  4140. -Ag1kSL6/3eFBSLdQ2hfPjTq+O9tyCe0ozSWkOIPc8aA1sSezcObEEKywAAsYeWSs
  4141. -n43xm/Amm+2Zgl1a4OBjEQT6q5727mUggYkyaqfKqIQ8mtZ6ZpKLP9TeHBSaCWw7
  4142. -dFWshBAN2L0Hmgt2jjymNcZCBBb3KZkZ7q9wmVz+aLGjSJsd/di4AY2s31tyB6IL
  4143. -NVEAnVxIkq2e8ayYtRWx1rTi9Wawbvotjct7gfqeZ0iGo6utOgCwECqFIihzKqF7
  4144. -l7GIjz3i8U2XlJnD9N4nhwB29W3Bm6AWWcIzJZ2CXf9behy3A8sORKfG9KpaMNzM
  4145. -2ONHMTvCq1sG4ga03vySXDfjS7NIeraE9/hDCxj3h820s8s89IPGPXt50AtHdCY2
  4146. -TQy4M6mc2RAH8W1Y9VYEdCWZ+1G6IIUQFvJMt6slrPpsPj4pGvVRpUoDLGt8zOZE
  4147. -6tQTABEBAAGJAjYEGAEIACAWIQTbQ1CmwjTYKPSmS1oKCclGZHE0KwUCWnzHvAIb
  4148. -DAAKCRAKCclGZHE0KwTnD/9tygTL8S1jekt2JGH5128+lx419/q09vWRVsurucuS
  4149. -kro3SyIIa+Qr3B1bpgUJwY+Ek6yZN7wDs2+K+hwwtKTCdmTWOoJQ8w2+50oQAmSi
  4150. -toiSHsaByxPgnyGbsKf7KeqN+KDovrXpQqo/vWuCMtVrlJFANsZRgsBuCOoeG3H5
  4151. -j+PYM95bAmeDtJJNf80TVsl2ffK7VVCKH618hUbqbU6EYNh5i6F7E0xT6fXWg1Z6
  4152. -vT9d+65xuRHgj8F+b4HjSnQp998Fx/uJPOXeXJ8/PfI4BoWB3+kSmGeWE/oKR8eK
  4153. -lbswkm8F9c3sgz3QhHc/daa35jjRyFbOF7pG7Ym0iJwINiPJzl4jul/Khn9l2GMo
  4154. -U6hAGfdQjKCKLwDuTGx5QTeptgr3gfCaJa9/vq0QAdVWgp5nskFe0N5CkTgtwk12
  4155. -AHhPzMpAACsH1nNQme3As2JbpFdppBqljQMqHbZR2tNKR0cFSo31kRR0qTlaNc2r
  4156. -v6n+F05vqVRjUJ8rK6Xc2FU/Ge3OoACcKgqfJXmZOK73uQsmSRT0qZyvEAjqNb1n
  4157. -L35dGsmKCXVdXXdB31hRVpABisFTooUyDDx2gIzI7P22gbHelShz42YYRL0QefRh
  4158. -e0W9HVxKQ1KAeIho95+8u77sclp9G54RErLoNsjxAb964GGVxWxAh52zLNqvA0Y9
  4159. -uQ==
  4160. -=52us
  4161. ------END PGP PUBLIC KEY BLOCK-----
  4162. diff --git a/contrib/gitian-keys/sipa-key.pgp b/contrib/gitian-keys/sipa-key.pgp
  4163. deleted file mode 100644
  4164. index a1930dd..0000000
  4165. Binary files a/contrib/gitian-keys/sipa-key.pgp and /dev/null differ
  4166. diff --git a/contrib/gitian-keys/tcatm-key.pgp b/contrib/gitian-keys/tcatm-key.pgp
  4167. deleted file mode 100644
  4168. index baaec76..0000000
  4169. Binary files a/contrib/gitian-keys/tcatm-key.pgp and /dev/null differ
  4170. diff --git a/contrib/gitian-keys/thrasher-key.pgp b/contrib/gitian-keys/thrasher-key.pgp
  4171. deleted file mode 100644
  4172. index b26780c..0000000
  4173. --- a/contrib/gitian-keys/thrasher-key.pgp
  4174. +++ /dev/null
  4175. @@ -1,48 +0,0 @@
  4176. ------BEGIN PGP PUBLIC KEY BLOCK-----
  4177. -Version: SKS 1.1.5
  4178. -
  4179. -mQENBFHBpq4BCAClUHF5fvpm1V0dxM1QKenkqeOl7w0EJ2MSZ26nzzH22yVOvwED5h/7/Lb+
  4180. -o6QyPf/89uEPsPi4paPzgkDPT+CoZAkjKyzWy2YW/m2wHWoXWw1xSJqlqxFogmrq3ZHbjnxY
  4181. -OjAA4KsGpIijbLUAxOaAl5dkOCDEFl0KiKZzrXJNnYlbFef0fqj10QVW+o5uV9wYH6UMoc2x
  4182. -4yVucpLyJJVy25Qz33dqcG+nYdsT+jAPVG2Fcig/WlHZ2fQFloH3mThOa6PIHbym1YzjzLRL
  4183. -XH/oobE9RASpdwbsivVTUfq49B7BecKCuwPRCWnv5es+dfRZrPsoipckB3ZNLQIy618TABEB
  4184. -AAG0MUFkcmlhbiBHYWxsYWdoZXIgPHRocmFzaGVyQGFkZGljdGlvbnNvZnR3YXJlLmNvbT6J
  4185. -ATgEEwECACIFAlHBpq4CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEP4zSId4CThs
  4186. -/5AH/3jYS6hF3P2IuXfmsO8WGxcZNHx+aTwDcAdpAr4PQ9aZWXbPwBD9cDxbqJkFA604cZfT
  4187. -2YrL0sRrNXyz9auFTaSxM6nWsGuI60yd2+R+DfRo7irAsJgCG1Tzx5XYOuQXlhqhSpq4tnv5
  4188. -lNvJczBlijC2G7uX7bUKvPN+AqmqWMuCcS7Pezrb5d0x5JJKQhw4g+chQj8bmD57kFELYq4y
  4189. -XVx7Wraitgn8l+pzRBTVEwAyoyNoeLiGACx8IehFx/P67LFCtmmCaaN9U7XGX77frhzEgphK
  4190. -9w1rvxdd8Va1F8agAdykcztxyG5tNn1HwwGk+xA5482nlDKQv6U6thi44Z6JAhwEEAEIAAYF
  4191. -AlW29zAACgkQKeBHm5nIo5cRnxAAo1TeXmgzcOXzZrt9w3PnygHCwvGc6CA/Lg9pp+WHy+6N
  4192. -Ibc5y5JFm48gw8q5TjMx0q32r/NFYdCxwvBKe/bngt6NkffuV6Z1f6xs17zs2xs499vEsk+z
  4193. -ww+3scGYZPzvfNjoZ91z0lS1tkjx0YSZN1vJwfNjU8vz6+Qj1tKPiVYrvq8CHOk5njgQppiD
  4194. -7AHCvSvOxfn3+aJepx94FWd1fnZLoDUVgeaIl26rfeu3N4Jz/bG36R/nJZdErNAj3mVr/ITS
  4195. -OUGAsXJpmJNv+egmvL1isJ8J6fgniMq2RKgsnFNKwIFw+hDeeuQ9e5DUI4SEP1xNkIz0i5e5
  4196. -2Ev5dOheKZ6CFeLWf9USJpksaVK9XaRtu/4SRVEL0qkYyXiCjVsNOlCDk0+No5t2dPH56rQL
  4197. -Q7szlowZ7tltX7lMZOmnjEORTgTkeX0kQYt5cp5FefBcPppqqlJ2AoRm6dYde0aQFjaV9f0s
  4198. -ZNE8nRTi1KTA13OYXeetJ63E+99Mx5ktYCne12fSATzG45aM8Ra7vU+Zk2pb72QARNHlYfjw
  4199. -rC13p9Z9nTYsuieNGa/631fUL9y9JiAUbJ1uWmv59xU0ZOgkgaacfZSlQSqlhVHjKut3NwVa
  4200. -mKO0JI5fuwMY0yTpu7ktgJouC98QN7zntD15Su7Q4rdRxRhplWBjryE16OFRfQWJAhwEEAEI
  4201. -AAYFAlhF71wACgkQlNTx7LEl+3j0OQ/6A/UJBlfkk16j15mYY88KwbAEO8DEuRi5AjECuvGW
  4202. -DIAZ0QztKUy4C4IObe6H2yJZH9j2gY9tX2ONT5/SxOiA1qTl4uuGuLrxqjPz8puPsOH42XNc
  4203. -9fQmhqm4ENafbW5Z0ByDH9ASUJ3MwFVz4A/y4KEvxMV2NVOm2yZw3BIfCcygRt1ZhvH03sHY
  4204. -kT2qST3L3JIhylrxecQpvqsZ7lS1x8OWfuMHXxvjt8obMZJgz2JK5Kx77JBhLIZIeR7Mj8Qo
  4205. -4ey8phH/ivlb1ScwN57o14idJbmDvUNgZoVA8ZozARTAGtYmo0b0HT0uZYBHRma4H6an/+xn
  4206. -hIgvgfjVLgRBL9XrQ63mCM13aTD9UKwUmf5WK1PosUiApVuYqfBF4GAh6b19njBDex+Rf1Eg
  4207. -fCCZupijZyLTbanzB7lN41ibR1s6YxoTXIV6QVjKeP82hsopIJmMBzUyOkZBjj8SvMZfzSPi
  4208. -FZvdjrFR3mZJFxB45WY+Txfzh+zJl1WBZZa6yNi5gr+j8wQDzfEO8YyalNU/W2xAV06Jz1cM
  4209. -mOhwkDb3ys5Q+Fxh3syUGa0g6ldpq3C1JZXx0uQBjnk7iWyJwuQwC344NW6fi8LsXmMQQtuN
  4210. -hkVSsWGS2d5XBrsrOj2nx0xYn7Kyh52XfRxQGHiyo1Ob+YrSykcFwNUteadAUmTzBVG5AQ0E
  4211. -UcGmrgEIAOGydbByhDehHAFYIRTEkxnd3LGxFR+ShmyPMCobSCgbYS6SEq9Y1+X9zcvm5dB6
  4212. -lnTglqV3XIznl13RTAIwLwIdLCks4KE/smhGHMn4/gxddQOSJg+jdSBsIwhFnfU0y5ZOYtXX
  4213. -pkmaUZaMq2cBkgka17nqTsd4DPYZasErFc/Jlqllwlr4uynLJ1I9FZ2LA9Xzx3thIHByNFXd
  4214. -jxKPD0sT910i3h9ATJ4Q7sJJ/Ir7okOwrGzGVAWQvMaGj85Fq7XJNLCSd3bXaXAskYlUryJi
  4215. -jQAWjhvqR9mcVZz4TLjI5TyGXatYqE8B/euovYsD8HoRDgVAtsQDimkuS8Xx0R8AEQEAAYkB
  4216. -HwQYAQIACQUCUcGmrgIbDAAKCRD+M0iHeAk4bHGwB/96uN7K1MVO8dKQeq2avhrHQZCczGXB
  4217. -/0gRhWNj6njBJMdsfOtPypSqLWuCCN107TRJkig+77lQ8JFhRGo+5QNt76fQL9a/VFbm1gTs
  4218. -Ay3uL4hasHTUIrY7Uq1nDX6poHd25wXWdEBbtiwAoCjp/gido69WS5lsga0S2e/IySx6Tel1
  4219. -pUO1hYUhUzSZYVFUjM/ncPJih+VMT/3+kB4iY/SceNTx85gJSnucL+mXDuZTvxXui5tt4zGx
  4220. -Sp+POHXBDduZliyxzKr5FTPGXw493DiM3KggSieIDL6x3BWZR2U97w0iDbGWxS5mMJt+6FNC
  4221. -BJmeK2ooFRT+IJ6zeoXM0z6s
  4222. -=20sn
  4223. ------END PGP PUBLIC KEY BLOCK-----
  4224. \ No newline at end of file
  4225. diff --git a/contrib/gitian-keys/ultragtx-key.pgp b/contrib/gitian-keys/ultragtx-key.pgp
  4226. deleted file mode 100644
  4227. index 9e44785..0000000
  4228. --- a/contrib/gitian-keys/ultragtx-key.pgp
  4229. +++ /dev/null
  4230. @@ -1,52 +0,0 @@
  4231. ------BEGIN PGP PUBLIC KEY BLOCK-----
  4232. -Comment: GPGTools - https://gpgtools.org
  4233. -
  4234. -mQINBFh0hb0BEADbuXgbTjj38bf8R6v/murpEA1Ph7e0ILzqxiUs50DyNKKdNiQZ
  4235. -1W3OA6FmE0i9zgfTOlsnYdT2b7trcWf6W73IAClQUzX1WkhGK4E6k/gZueS4M2yQ
  4236. -siLof3pJovQiQw2Iw9SBQS1jY5IfblQXDRpRipyQR/6rrXqCmDTe3hrWt0bzQ3Mm
  4237. -MteKpUljuyW+QLUHabVurMinpFR09r64MEIWdYo71sx9a/xYEAWRo8e1yEeNgdgA
  4238. -Xi/rUR078NZrgVj2OeGrsJ0Su03qorjUwXLyzkOfdpfPf3WfY3WVjy7HGF15CJ5M
  4239. -8Mz7oQl2W6J1s9k6Sg5Y7pMCWjXAXQJgDxPet0yffGUe/dEsZB91SX5MXg9Fcap7
  4240. -Bhu0aRDmTJ0zE5GV9CAksMx59sMXZgeov6Tr7pwyfZGyyp8r3037Rc7BLgd9qSlU
  4241. -t0aD1cFTGX4KuuKWAK3cKMvdMGohtQbxz/b7TYDOkPIsQOfanysLLMf9iLh0rL5F
  4242. -yhSJQwp45l4Iv7ezDvpT6gwuvT5sgWTmtLuX7tAxrASeWlNj41UjhqNihlTIY9Hi
  4243. -Xc3Sch+IAGHTFZFo17RP1pYnjYN2UUvk7a3wB7AIA4srCmrZ9BcFMgLHdidc8KFG
  4244. -E3ag9OtsaTUHHFZUdD1Z8bDRb/6/EEVwIuJJ64mcM/CN5S3+DGegyvc8OQARAQAB
  4245. -tB11bHRyYWd0eCA8dWx0cmFndHhAZ21haWwuY29tPokCPQQTAQoAJwUCWHSFvQIb
  4246. -AwUJB4YfgAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRDDHww3IZAnfj3oEACZ
  4247. -13VkpgM4wOLvhArk0Xa/5etwMHe+S0hBRrTHSgvc2J6goOa9w/y9w2OSI+GKg2IH
  4248. -3zSPwa4wfGSlmXFG3TU4+J9teG16csNSoXDT/6dYOlVyoFjidCXDepPFlBdOVSHp
  4249. -dnJjxGNJv/GxfZM6yvXK6sIITxrhv2U2/GMaQFnqEbnqCChfiTY9iPE+OqvIrFHU
  4250. -wkoHeTEehu0kMwToBL6gAHELoUM0zQfA5iaX6inncYUve3hE9PZGnvbaYpWVtDs/
  4251. -Z1qI8vOKwUd7gdatvDtGwVPUyDX1YBSmcD/DPmyUbOn+PW0LTTYJMecgz2CrWOMv
  4252. -VtPYqSYOswAxPZvqSYgSjgn7xorVlD4kPGPIxqJ7BZq2mcGQza//dGC6KeubsGIK
  4253. -EnVHwB52EpDgJnV8MPw50UVvaCTn4rxb/MdKxzjG5LwCGDGsRpVZfcH/WcjdhHeH
  4254. -4MfvEhdDkRMB2HrKEP7ZbfwCCp+4rS+f3HvosJTeHyYOaKyzCssXAcp+KpbNRDGh
  4255. -R0vIE5IzN+VSOpMC8QRnZAELl+d2cLCvTcmePA7aQEtvey2kGnE0zEv72IbvPRx9
  4256. -9spWuyqafAl4dK4zV4vundw7LDEcxiuDDDVUBAzPFucmMfmQyeXccbl4ezm8IMmx
  4257. -GjlKdkR4zMrjWj14g9FKPirHDIlLjGU5FKEPuGF0e7kCDQRYdIW9ARAAm47Mua3o
  4258. -fiNGbkDSNc2/HHMf4RxIjYiRxbndxT6aYboUhwSu9v6MUXayuRfQUlNBTgSB7X8J
  4259. -KX7wu/euN8G8ds5RIlj0QhUs8PIICsA2rvRnTZClcuOHqNQZv/Cqg7T4VfFdgDqu
  4260. -iupcfNMVQ+aSkFCGuiZ48yoS4VMZptiVe6Z4PAdwOvhjg+hWf6mrMk9DjJiwitbw
  4261. -4masYKhA/I85eB5zb2m1oIbLl5H9kQJPGWz4YsbjY9lHoe5F+R2mPXccXuRzfSYK
  4262. -uoBEoDCoo8QyTjuF8ptyfty+D5HEP6vAVglb06aKPnA4mnfmiB3CpYeYZwMuB1zz
  4263. -jDUQC1YnW/sqYvorxUCiF1dICkAZAxDsCzTJu/FpysjG5k0JUeaHVVKQYeMvtZ4a
  4264. -unB3LYI7W1ckKT8udRCK5aErHF+Xo090QUCAbnjh5tDb0EeX4T5nhmXSNqTYjqDk
  4265. -mCeis5cloY4hIZv7McCqLW3E71It3EbjVQJAFrX0GGRW+v8pp8PwaEo7QUOtS0Zc
  4266. -A1XnLn1ZyNX4gs16soj8o46YyV1bCs/QKGwNiCoOj8UCBqHHVw7iszVIuGcMl0lO
  4267. -uutlC2txDx5kGGhFMMCLe2vJQivwCEUcyh3+X+Im6YNcStSO9vNRb2l7BqwO+IIM
  4268. -iAvIzGIdCx369xEdeINQKc6nPPBa1SBnnqMAEQEAAYkCJQQYAQoADwUCWHSFvQIb
  4269. -DAUJB4YfgAAKCRDDHww3IZAnfiQ0D/0ZJ6z/eFaacLV0vlImv4IqW52/C8tz48nq
  4270. -nK4ek64XvMA/uvhe/uFsEmeaiIImbBE1akrgM8bYbfRGu+x3Uu4GT7i3A1wJXqLa
  4271. -gOb1anljQ9zYlmjkg8CNoDlOsVQ+N7Xiakq/TFm34dQFtZuXFKnzGXhDvHHAvr2G
  4272. -rSHbDSIYIkEzZHLTKGyE+8/GfRgHAbrHuAdsOYewnLzdOUQzTRkpmB1L1OM588Rt
  4273. -pzcvW1weimZPue/F14nsdb2K1xMpxiFQ3ugwoM6yY/hk2y6zQevtyxHOfs0pkywy
  4274. -wdIXCyNEfpZZe+a6HZ5S8jKolED6Y0mRtDGrTeH0/4l5kV8VUNyErkb7sCgo/n3A
  4275. -UWCRcqtZ8/lYWS/3TAOccfHSiP99LfeD8HpSWqGzueulOVFHARImL1fTcu23JatT
  4276. -v3ITH6Z1XRhIU8riT1SiSTyZ2+z3757UIBansaVk5miJNH09iqKgnl6Ulms4haTc
  4277. -ytuIQPGjcC0mgOEKgt0V42VMCyeVxJUTnTnJV1i97UyYrOR8rF3ZPI3srrjb2ls7
  4278. -yR7FvQW5W3gXth0KPPc/ZWR6jwg1r9j3553PDkLIWytwD40RmASF7ppYtLkMHoUN
  4279. -jwjwXdvI0GjVlne+nzbF6f745kJ9MUEV4uAQEdxNvKAZD0REAFgNYqbkOhi7dMJx
  4280. -zjm4471aLA==
  4281. -=4Bh0
  4282. ------END PGP PUBLIC KEY BLOCK-----
  4283. diff --git a/contrib/gitian-keys/void-main.pgp b/contrib/gitian-keys/void-main.pgp
  4284. deleted file mode 100644
  4285. index d479f54..0000000
  4286. --- a/contrib/gitian-keys/void-main.pgp
  4287. +++ /dev/null
  4288. @@ -1,30 +0,0 @@
  4289. ------BEGIN PGP PUBLIC KEY BLOCK-----
  4290. -Comment: GPGTools - https://gpgtools.org
  4291. -
  4292. -mQENBFMipGEBCADd+Y8YvwDq6YuM6e3wxd/fysnucAoE+qEbo9oW+HbCXaGN15CA
  4293. -jJtDeustHTVpqs+5zFORyLuHBpTTZMOSEKoSDH8gSvqI5bcnkx+2+IWCJX5rOlKl
  4294. -JZh+S35lTGZSlZhmPcArSBS9J6Z8eWknlBtRXg/I9iErWNmF41jRw+oPkwk4NY6k
  4295. -RXQt0yzzwIwRDCI25XHUbU9OXT5Q2ZVverMAUtrmWk0Ft54xHeKbyN3PkVbk9l6E
  4296. -D+FABeZhLyQbA5GJ4RRapAw2zW162GZVHsh1JWIW+yEeasDpc+9sV6A/BSrKnXo9
  4297. -gs/SPNV1NJF3ssKX8f5aObfBfUh6ab1tzPMHABEBAAG0JFBlbmcgU3VuIDx2b2lk
  4298. -bWFpbjEzMTMxMTNAZ21haWwuY29tPokBPQQTAQoAJwUCUyKkYQIbAwUJB4YfgAUL
  4299. -CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRD1gOecBwaHqFqvCACrYGefW1/dxpjJ
  4300. -cEqJjtRN+Eqf/abtLrQblCpeMAcuPPASUL+a9vuCj+xurMXK+rw+iK9hN59FCp2W
  4301. -bM0/lhZOsPlkDXKltikKQhAGcq6ollmj+2frSJ4h7DBnmcaFMQEeaoDvjzEHxtAv
  4302. -oDpmgRlSy3VVAt7i/6BzxQoHMj9mm7ecGo+OBzOvb+/c6S17tBX4r+llngkjK5Nx
  4303. -UQGmPTfOwnyMo/S67AYcI3ts7TH0dIihEnf6cUtPgr/qigAsRSNNUTthZUAr42eX
  4304. -sCczJmdUCRTolJwAA793kRZU/uXcaUSfWirALNLjSc8ser0pEXO739JtDr3DIjJo
  4305. -NRuS2iHNuQENBFMipGEBCADF6MmAgIsw0qv00v5274VtgpvE2Iz8IZ0puWOgszy4
  4306. -60QFpU2bdc9ziJbBc199QkJQqVhqyzBP+93EajAwkZPz7X87+CsTSp8kIZfFrKgB
  4307. -9u3liy4uvX/+qjBdQeFQ0x5IsMIPlfWNH33Cthe5kZSozaT3jYNrhOii4thBPVMr
  4308. -ou86bffhv5tZd0Gj0B0jWPFeB1RvneyIMX7hyhCY0hnjXz5MmrJsTwfKB4afgfwr
  4309. -WWLwbre4v7I9pmXVkphf6KEOILUs4XSUWoylTHv87SbajO219bid4lWxa+bwq1Ap
  4310. -Ru7vjrY9RaZq48xs8uKgpIquv9bWvqN/5nG3To7ddPhZABEBAAGJASUEGAEKAA8F
  4311. -AlMipGECGwwFCQeGH4AACgkQ9YDnnAcGh6hrSggAtovP4YNqMj6lrx29CE+uPrC7
  4312. -QSIgGbANj/YPpICK8Jk9p7XLnAGaNUWVICTg+fU4iSxr/jrHXrHmvRklkioYxwXw
  4313. -0pdAnGaPSls6+xttX3DH1tSHU7Gu4yBPc4r8fbvB8LF6G8jQePBhJmvXHp9f96cZ
  4314. -wTbiF1dxiANEvO4QHwIKamcxGGcG8249KTNUdas3Xb0s3OPSDpQ/ZE0L0WdEUnVT
  4315. -kqJ3FE3yPxy+pxhjHnppiY8LAnP2dVo6LcYYC7I3zy7UNejdDocc21bN4s+DByrP
  4316. -cCytI5SnYOTsxAl5xSASqTnvz0mteHWOIy9EOyM385tGx2pyavzW5fy0ZB4AFQ==
  4317. -=yfwn
  4318. ------END PGP PUBLIC KEY BLOCK-----
  4319. diff --git a/contrib/gitian-keys/wtogami-key.pgp b/contrib/gitian-keys/wtogami-key.pgp
  4320. deleted file mode 100644
  4321. index e0f6c4c..0000000
  4322. --- a/contrib/gitian-keys/wtogami-key.pgp
  4323. +++ /dev/null
  4324. @@ -1,131 +0,0 @@
  4325. ------BEGIN PGP PUBLIC KEY BLOCK-----
  4326. -Version: GnuPG v1.4.13 (GNU/Linux)
  4327. -
  4328. -mQQNBFHOzpUBIADYwJ1vC5npnYCthOtiSna/siS6tdol0OXc82QRgK4Q2YeFCkpN
  4329. -Fw/T5YK34BLVGWDHPoafG2+r1nXIuMZnJIiGw6QVOL2sP9f7PrMmzck5KJPHD14Y
  4330. -GRd9BPkhmt3dXzOCjhig7jI6hKEYayfJNUNs9nlZEvl4QWIBMmk+IyqQz3f1HMfl
  4331. -/GkFDShBYF8Ny7Ktlx7AaXymajm4DCrTkbj5V2ZDqJgyQM549EoPSwXBQYrEjye3
  4332. -g2viC8rUFRFWFjdnx7jFEb1uhx71YGuqiLxKihUW9pbSNK2cLweFazHSVmh+B/pz
  4333. -fxHfUn+ijLSIAnprTmc/rq89un/iiPt0O/mspcCZ6hE5pFIyX+SC+9PrGz+bFSmw
  4334. -PkMOZzG489G8k4t/uZsit6helkl0emg6JiXLTmS/oTuT7B9Z9/MeEhOXFcxUb0fr
  4335. -2aZkEmH5d1oxSBis3D5nylmNJXOUSCpJAZ8E5Sr/5FbF9IPR+NSzosVacqCx5Dxj
  4336. -vJ7HpZKn6pJfmwrghVXQv04NRTcxbHNmwd98cofBtWX8yBO8M2M+jZrU+BVDUbb/
  4337. -A1oAyIbUUswBP768Oh11bELhCly774VwBqTojm2yodLGSyysx4zoa6qL7myfor0m
  4338. -a+K29y8WH9XGmKGMdUOg+q9z+ODky9aToGvEo2eVhKIlJsk0aFAGy/8awy6qRIIj
  4339. -UqLMq6XoFcYlE7SmnFUDDDPlBK/NkFFqySpFhKNRyt69Ea9kYXOxDnf/EnBwHn8m
  4340. -PiFQpeZqgnmhyj8Nk1SSQBgUi07NyXdQ/WIYpWmqqqfHRVQgSE9C1920T1zg/E97
  4341. -n5yYjI/gQQwq9wikkJmog6Ny7MSiwIU4LYV0pTUdI4//EJMId2FH8YEUfvG5ds+F
  4342. -H/o/D4CAJ86KjspizfH8jEjhn0Rm/OtrxLz1rwA1gtF//P3TYNWw5qruL4stP3Rx
  4343. -9Gve8Bm7oCBU73UT2ZJomEsWE3oqXinLRl3YCsjGDg/d3ySD6i0/BBROLIeXkh3M
  4344. -M1CNCqREDGLA0vxQi1o7Zi7ZA4gWPSzvi/8KtSzY1iAQODxWUmOICRP7KQODWJmt
  4345. -roTqhKgZ39wlR6eqkO8ZfAvRYsjvkL+EZFbbKbHxVJLhKchd2qHS+/Q3ov4SFzWY
  4346. -/cE0ChOPDM587Jkps2bynKQAzQ6810FXmJc0ztrPeD3PEbuyY4KNJV8HGViRDJXi
  4347. -wvs8eqfvTDGDPl4aLYVCKO9VqZ2OJvqhRhh71LQ2xRrX1LGnYLnUGCMuEQYKvMcI
  4348. -TSssM/VAfeWAPJDklD0lVNJ7d9Z5ugvJHFc01SaaB47Aod2SPWp5DeiY4A8dcy2w
  4349. -7f4Wx6FcdP1RXqaRZKCapBooN04vsvGllCshABEBAAG0KFdhcnJlbiBUb2dhbWkg
  4350. -KDIwMTMpIDx3dG9nYW1pQGdtYWlsLmNvbT6JBDgEEwECACIFAlHOzpUCGwMGCwkI
  4351. -BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELEXnrc0fcENY4Ef/23L9iC/39ekJ8Is
  4352. -1IZdCoDD7/DgVaZqydDcy/ha9uaDFY4MQ0h9RZYo1axVBth/Yxzh1XnvitW8HFKn
  4353. -DXn5wJI++KWpdLMUsTrc2iWsjAGgicmN5bkQvfTnRwn2pF17EUUEhZ8YyE3qMSVD
  4354. -rDBECLAswT4Oiq9r9yw3VCFsRaxz5bhk9AAzWjam4H7mAfaEAOUvuX221v+KGSDM
  4355. -UsGAAe+GjMPL8KnGgEbISlSUF1Ubcw3EChcqjf3BID2gMLkAnGAoxlCZSYievytg
  4356. -71mcHyIf9yF861QrGcrCh6/objtRdt4IDUVwo9wapunRmYCdZux4ApD0Hit8nAsm
  4357. -QtxftSK6FWBTOCIRoOQTjwE8qj9GYTIbUFppX66Dzh00td5NKkWz0PVze7YSk2hC
  4358. -KCVBYyUYHgkQYVlYLZw7dBrXSXv7ph95vc93RDS031cU7tPOrthqnMmhtg1WAwzH
  4359. -xc2v3az9Gsw1RyxBAOVpkB0AFODiEiVg46xqmxaBPXfQOg/buZA2l4gK4U/pVUZH
  4360. -72lle2CbBw6FoSx40Y3GYZWB2uEdXBTNLlhX7q2Jvo8WdeTxEv5ACZsjI7K/wrzt
  4361. -nmvCHefOmVf4tefkXy1MyEvBt2+Ek9bHmHDL1BSk/JdJzJtam2uaP5pGum/PwIUW
  4362. -KBatmHKZUKwgOIml9btB413C4zSK3GQmC5Y/+TxYybACIdxTDqPSczVZ5Q+jSywX
  4363. -shdOoLXDRyrYhT2sHjZ1W29B8ebokqwousF77EA94sqfQvDDnmFpvfq9+m0WYtOh
  4364. -PFF/yxOtlbPJYX7mnC8+dUgobSA4AR5Yrclt+levgivIyNuBwzevHRDMreMZKl2J
  4365. -uiOT8tkuu66fAwEltIowjjV7TBRfij4QLXl/zfFo8jKU8efL3xluXoRn7g+E5FZ3
  4366. -19KTF/DWMcttfeTUYVnv0QTnstb1RGnVj7w8JMy90mKdMQFpl7IzHd2n6LrhEw1V
  4367. -1AaPF7EcQBOlvsvlZdIFQrFyhKozKoGi3wRrl/bNdebxjIjPzfN9GgbiufFjz2d7
  4368. -DMR9GFXfUMVxLncaqBBy1X7MV17ZF7K4uw6DET4fRoecb4N5mJVUxvYq4iZApnNP
  4369. -npgGdmlcyPD6o3ynx/vkw78m13Gfgw8i2OaUY7xBdOyNVEvkJZBLaC2hw+TKLaZa
  4370. -v0RExtAO0i0QO4Y1eo78Pl9jOpz0wkJ4KG0270l1Jza4IyaIhYRDWagWOfOp/cXU
  4371. -cvKKiuJhLOsX1Bapz+O2Aor9+EwWRdPd3BzE2ABdmKHPwrKobNp75wrCpQ5mZifn
  4372. -DSTJRMPQQJV3wGfB2sP0NE47U8w5CCmVK8gEuqYr6wBl/CCq5tjiRc63VM+to5V4
  4373. -tVNTCJWIRgQQEQIABgUCUc7PqwAKCRBr3f6OVKKs8cYAAKCFCLJ5wc+iAVCFRevh
  4374. -xTcJct0fiQCePHpY37CIeP8s9BH8GqCDftUqh8SIRgQQEQIABgUCUc7YwAAKCRDd
  4375. -f+mrhdawLOVxAJ9Tjud26LtbM2mWcPj2eT7dhqgZrQCdGyMwMMVzp40lsCK44PrV
  4376. -+mpFO7KJAhwEEAECAAYFAlHO0BkACgkQw35HI5aSdvXfLw//c2zZxXg4bI2W7gkB
  4377. -ZQJIOWnmPZfhrXQNeFuetyGoWTm4ZWxW362AdDGiQSGNNkXqeBPOitKOkRyZP/Z3
  4378. -h1vwkLkwdFZyWXK00BzYBKfjThWV1BAnArQLewSiLlE7qSnsPEY6FW0PNv711cbL
  4379. -lXSUP1/lW25Nx7L76GAF6sHreoIdglE8YH5y310JuFnqPa0uaJG+qDo8Mb+WkyLy
  4380. -Q2A3Atws1tIB9vHsq2FCt9ACyAEA3AqtHR4uMFmIWpUYy77fJAZdzLZTWf0X5XYw
  4381. -XILNPOl/I0iZrq3LYQAvJfIwjWAC/lm6uTLlvkIJHKyhcIT+RocjMV7bY9ezrC5i
  4382. -Cag3gaOZ7USMt0h59KdmBaHHNa32n3PSHg9XWljqoWMRjuaRdcA7ofK0BHDJbHWE
  4383. -cldKXC09laWOXbyNmJsfug/23vNE7fS/cAKSIgEWszEwHJCahB2i/HqOQF0DUGpq
  4384. -3s5oIXs2xIuN0yT6yIIiQnTU/FkWDDu4D1OZNrDW6QG3cde0PRak/0fr4Kv4iB3E
  4385. -CAzlsRBlWKNu/eE4QBx6cbvLqjriijhGAF+8Y1zvRKNKPr96hSsETfVytuKDTp6F
  4386. -u7PAarrSATGXI92Hy3ThAZla0VOYUyeWPktqUMDNq90tIBZbwKpOMMqvJmZfgdOU
  4387. -4ldDq1f5+2WhAt1aTL1GJVCuYcCJAhwEEAECAAYFAlHO3MQACgkQnSOpPExjO3Gi
  4388. -jxAAsD+luooqqoz3A28ZxwfCDV+ovazQ4Bw6hVU0zKKZIz/2H4jwmLtLSHtucCRM
  4389. -xRksZmnqf1p2nn+BKBXDInx9vI9HziMu7fWkzhuovAIf9+X/l6EYV1kQx0bIM1qU
  4390. -BxXWPgGdrgSZZHl9Qff/BOBnrI8NJmVBDzOh3BSs0BrSR7aFbkSNbjk/JcP0JEyk
  4391. -j6wDKQsop/Ca5AboLL0uQPgTvhxCu4VROKjhu7o3s7G3xlxTpimwYklDQuYFaGKj
  4392. -ZNIGFq2orfIMBnj7ZEQVXzhWltlHcgPVP5TDfgd4pVUbyUB6ras7odJWWIHnUFmj
  4393. -1l5bGidIwRXGFusE4iR8pR528LG2KxNDNQYipsKRY9m+wH+N7gbSgK8DxmocvieV
  4394. -vcILFS5VrPLbEO2oC13NMljmvua3ovDB0CEh9rybaH+/oA+VDS2L3pkgATTju+Vx
  4395. -6+mVdlvnrA4mJ5BoLHzrleKybS4ZkbtVBh1KOYmo95NgVifRvpVPB6hKzwqcjYFV
  4396. -fVYBxTryTBRyd9MLsqpPKnGLBENTFvKDxRCK3iioNyVhXdS0z/UyF1C2hwNTpnjY
  4397. -pGCu+Es3SILJg2TvQcwLM0OoYBA1bcONm2XbkTrdCpTOtQcSewQSkijREunx14iu
  4398. -pvNSWeNmbjQU7gNYhvwcBgh90tWgNCfqTtSa5xSe46tmv0SJAhwEEAECAAYFAlHQ
  4399. -1hgACgkQZwn/QC8Dr2hT/g/+OFUYPXfWo0+ILdxyTGP/v2mSw/X3dBCEYUqefWxD
  4400. -umcwnksey+thEGFBlxbwpyOfAoTzZLUupaG6BacVgRUvv8bTne4v2H1d22aBXyjC
  4401. -HMtQPhupn/giamu8q8hCPFrDp6inIAeFuz1GmQaH6xWO5eYBuYXQtxlvZLWBsuMT
  4402. -74en4e3vjczxGmJu/nvM9ugcYsexA/zcN6SRGr7t2pV4ZElPzPBRyAzhYqhP1YlB
  4403. -Rydz60OjgcWYEoJKWhJOfmFJ3ZoNGAz4TGoBkDIq4olCF0/cxqrtHN+ZnEOLwiZ7
  4404. -4ZX90avcjEFtM+Wb5dBHNpni4ISoHcVI1X0ye6tuAOOt7RywbET/0oIW5iSNMgJ0
  4405. -X4XYgOIQ2+a8yjGBjo9I57k0vp1mL6Ji/eaa0dlppcCGnzvSHss+O0qO212pg5Yk
  4406. -GGfjX1y1ZeSP3ca9C2XyOGIVw2d2Iu7OyqAv/N81xt6ZgG3qixQC0nmgOmn7Kh2B
  4407. -20W12KpLxKS8RQdHawGau3MBGKeqbfK6/eAzm22yD4/yJAoW4hKgm84z3FbKUN8w
  4408. -ulYMK9hS2c4egpoDAOJ/QZLLXFWiyi7/sHZz69G2AweWCjOJh28Otg0cUHoLo7jw
  4409. -oO/L0rCsOQMbUuIumYXBPHNnDwv1xfv2lT8tVzf6GksFJBAw0DybxOMTaOg45Lhz
  4410. -jGS5BA0EUc7OlQEgAN6t+BV705uoCsdHtQBq/HKGGD5tBiOzy7Wd4nF/c6EWzET4
  4411. -QUnmw6bDnqjxrk9MWniPDf1O9MvuB4qIY6g9kEjZ+VSQpWUZpZ5bMXCNHrfh9J2Q
  4412. -6oLWqDmpeZv2OI0O9wxT62QaFei2qBtimSnBudLSCnvmU3S0h1PflmJsbj+tVcko
  4413. -w2yOh2bjH1jkVAODHvEbxqyD6fiZhbfUVbPC49SBmXv8Gv0UywNSkP+iqJdwZAb0
  4414. -XtjRx4WjZCkTwJAnbM4CJ63+5Hd83BtWZAZbGAh76XY/cSkDirXtXC+2LNUmP5W2
  4415. -QY+ur5Bvz8LHaqJMXLAtePdkv5kpd+jXBrZieXUtqovxZaQTinl7C3L2TZd/ivxD
  4416. -F3Rko9BFDuXXcdZrxBY5b3146IvSPp1y0WmHRxhAPb+RuiHQMt8K92nOhPyvtWXB
  4417. -mWz0GnW9L6+CW4LKSPRSnE057hyxYNP/DcDd+fWFH+MmhU9noqHfJXSaLVzdI5PI
  4418. -L8N44AndPIojnlxrxRs7Ik/nW6cTV9H3agg+24yyTdFkACbfIS6wWXOHeHuBzmO6
  4419. -VI7pXOZJ9vZT7zI7M/hVci0R3putsGqgRfByRWWQ2DNeyrwUHexZNR/NYz1uhvA6
  4420. -dBfKcuAwqxbdSrW/BxJ+iJWdkgYGCV67VLlO6S9sO33HgOanpPr5R9V1KsFVh4dN
  4421. -j6BjZ4ALE5FPNW+iONnuXvtZbN2cBlBzMDeFC9oZoYCs1Pkmk8xUY2sAXPUt1R0G
  4422. -D/miIb7ig1N52j9P6vv6fPs1ghmc/hGkhaXyjS54B5T33V6M9g+yba9mIgi8ZxZa
  4423. -G+4rlFFKA4HS7wYYRJoqMvnc/qBYvoWLaPu3Xq6AXrJyuAaN+e3L8++cWbYHBXF9
  4424. -qt+Q2RFL0FNiYUQuwkiaerysnm1a0H7ZtJ4zjl4ZgA1Ej7QcylTIbgFW3L7FnyMH
  4425. -/5weLLN2wdjAtzjhRPYJLbV6V/gFbbpCpr+caDUaxSNizQuhhzVI5UrJegaHCCrx
  4426. -DCiwWRFYzN5pqhtgzcaImK76DmPIk+Yrsum5KJZQeGfzKxvF0YnwxU0bxFzcDZJD
  4427. -X2oCJn828Aw2j0nIlVlrrao0JMkvTBeZehO/11U68M2vKGEqrsQOb/BTXyLCeZwn
  4428. -UGow1WvYfRxEZTrhhiYw94EH06gbqmKG1xsuV4LDI5z63/6ACcQW3orMbMymJCky
  4429. -4HiNVZ7SNeGoYe380CJCwv6GN1opKTAWp84cr2KzhAzONGqNWNpUhznAXlI+GzCc
  4430. -D2H330L1atMqZHjgpEfrkowvJ7WBM5KFKDfylaTKhYvfZcTOZs5OmRZSW3U54wRD
  4431. -RMP0d2+k3vRililNhHIErHbjhYFc6zubVbBhvUMAEQEAAYkEHwQYAQIACQUCUc7O
  4432. -lQIbDAAKCRCxF563NH3BDSX2IACugAdZqX+o/+pTkSrj+NEAcP0ZMci8w5nm/yOP
  4433. -VlGyY6PXGuQKcBtvz3LWtIDdddMc/bD/zmZPwSzTx1MMOWc+gjR0azXe2RrdMHYk
  4434. -8pb4X4Op2Nkasoc/8hNsRKaU24WUAQMqrRREIVBEOuHGl1A52Lj+aFB04rRHrkMl
  4435. -AqjB5bwArPorIBdM417EEl4hjEZ9BpQxbUgBhTgGTZuc1u9PsKz1YvQ79YJIRmSH
  4436. -n72Zaf35zY55eOQeoVBzGmFPq+/UFqtRNWA7jmRhHvMz/yR33B/RSxyTJuPb79zi
  4437. -2mIZOrViG3X/UNL4qtOc1cKXQBi+FjHAMlGrCc+D5lnyOhEvqoEuvQic7V6C8Pvk
  4438. -9q+jngn2Gs4pdJO8FOnwaC5xp/ZNE0v7x/KtAHyBA6iKcaepgoRQPSt1ONiHyfh1
  4439. -iGgJn+Y6IHx4YDYKEY0UIzHhCfWUl8XZWcf4wLGEbGztkRbkCFqrsja5IeaO7umB
  4440. -i6C4f95uSGjV7SiIMJOE8xo/m2g4VCnnmk7U996JwtBMKREMMqa3ABK4trfBL3Kq
  4441. -P6I6ZTlA/C5svkVUVwWOMZau9kLDsxv8keGrFteZtfYa1KPAROFwNuBU82UW0KtX
  4442. -QQbZoBKt1o3LhqEu+hXU3iKocYWSbBThH8u6vPNgSnW2Qcv3gcUU3jGmYeHrGiUO
  4443. -SuEWxwlKUxCxBNfmz1FGswlwve1LsS3RTz/XB/L6Ubhq5L7FevrXz8152kuMqnpy
  4444. -m93sXkL1eJVo07hH+otcRnMzy4vUar9z/N12t3hfTffx29PBKUCc2PKPVpLfJX2i
  4445. -hieHk23fhLnptjc3lm9S+bHO3rqEWHqgNgNp9bpuwiLRsIy6qTtmC8jxXkGXvQrS
  4446. -+2Hv6+jRfDcqEAK3vqi1XL7Td81KRjnheBtsKpjS2PFatK3uTo6v1oRWJCdRCxg1
  4447. -HT6a9KvZ+DNKcxlQISKAOLX72qpziaDl4CpBdQy4Zg2pr9oYkLdlfkaDK/OH4J3M
  4448. -wJiVf/uNPPd+yy6xZXK0SPZHf+mf5Yt+Sim93hIbdS9AMdvHKB5n3DR27H+/okPj
  4449. -w3J9z85hxgP5KspizQR6t77AWddPRy/l3BBZeb+HiaeKGBJeSNWXpkPXHkdjLW8U
  4450. -QStzFR8r15FWJTmamIknjJ3XNbytMCpu8cj2ZVZdyjPcHEBL3WbNYYtauSuYmyUO
  4451. -yXBaecM/KoTdvHiERU/mMuf7f1ftftCHehZoNaP+BeIbIud9IHIdrSQBCW+RC1Y1
  4452. -8opDLMtnIOX3OnyCN38ELYcuNLMJxBqnQgi7MVDVcT1+BN/+lFQtG44+rPUkK+T1
  4453. -Jk1/tIJqcyc1BfY6uFHFXWWnqQnjl0XpZo+/bMDxTVy8yND2
  4454. -=icdI
  4455. ------END PGP PUBLIC KEY BLOCK-----
  4456. diff --git a/contrib/gitian-keys/xinxi-wang-key.pgp b/contrib/gitian-keys/xinxi-wang-key.pgp
  4457. deleted file mode 100644
  4458. index a110643..0000000
  4459. --- a/contrib/gitian-keys/xinxi-wang-key.pgp
  4460. +++ /dev/null
  4461. @@ -1,52 +0,0 @@
  4462. ------BEGIN PGP PUBLIC KEY BLOCK-----
  4463. -Comment: GPGTools - https://gpgtools.org
  4464. -
  4465. -mQINBFggghgBEADPQaTJVx8sryaooH8M17O1FBEx5A3TOWvqibWZvDajc4zpHExn
  4466. -E6R2ElvSyYvC1N2MkfDHoxxqmDsr9m/TRFgLIib+pfC6YLDUXC+PjBlS71yYGDQG
  4467. -XHwfbMeSDAX3KnhXTMp9cH6UrQb0EXUvKILCMCzaKF4XbAEZOJVbrNQoc1mZNOZ3
  4468. -JpVjctruJf3Dv+R5Ka1iLZ/k7AaAA0IW/oZRUAJb6g2P0zPFLLAndtw8zg3X79Kf
  4469. -0pMmj5MIkGrn4zkUeSRrNHf+x+xF9gWJosrnzuzHtJpQsGUQ5hRGK/joXJZIniWy
  4470. -0+ABuD+AH017GKXsB2hfPDrjvClJwh5dRzMv2pvlpz5wboa890+IQVOQW9G4PQsu
  4471. -NNthdffnwoA748henlAJW6FTqrk59xVfrtgxqCpcxlFE3rpAVrgdVS1XUZNzKpo7
  4472. -H9PFJi4TDhqkjgyNaEMERlLiWKVFwXYDEwhKrdHGOCuQehGMB/c8ePaahFmkAOJ5
  4473. -3QbUoIxrEnvhzk/HscJ/XmTA9WXh0j+m272mkP36WvxUG+EgLcBAeQcowm9t0xd+
  4474. -k7FmkW4Q0nGYYCfL4b4EgCpxpcia4k1aMVQNtCvriBiHLiq3u2eSwbmcbgGCCmJ7
  4475. -8YJsc9a+6i7xXFS7AuZBZeJmgKh3JbNxu8WJusfGJD/OTESbZxv+kIqXwwARAQAB
  4476. -tCBYaW54aSBXYW5nIDx4aW54aS53YW5nQGllZWUub3JnPokCPQQTAQoAJwUCWCCC
  4477. -GAIbAwUJB4YfgAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRA+9pdQO/cxhycf
  4478. -EACFCz6yEQbgps7kcour/3c+a8x1BEcyZW1/Dq1nw1egTumtWuYymES7wkS54soT
  4479. -WL1p1N9S5U811/44lC/GdVnmJnsxWjC7tQ7i+Pn3RnQT76kEbYaBu/Hc3Rjjohz2
  4480. -G/aJJpYufhntn6R40o45cyDtRLRRAtgAzI62odc5Z6bxM8UZeMXgUcaCDjIsYaqj
  4481. -1rld3WSEoJ6fcd27mxPtvda0GEci7uTpURFoXOpEE/LsFtFc54/Uh2DRf+aJnzpj
  4482. -aY6PVT44PmAoWf+PQl14QNGcB53XoIr2o5dIJ94JjpEALVOnraxcEXkX/KIqtbVz
  4483. -qg4qXXEwT4z78gVn460JsB08Ww9/pkvA1J6zvZrxZIoKyNYVbrgjLdWVeyMFE+CT
  4484. -i/Na3WdgEehNjLY8R/2QgBX2vUZYzOT9rj0zRyuFE9X1H0ol8niSwQjci/PH9NM7
  4485. -lvy3tEiJUGLleUaVrHcOCH5CPpVpO0mG+8KHbU7FaOQahp/BgrJFNHjTkf1QD6Li
  4486. -syO7BKAqyIEbSxPy8HOhP0NSEOG6aSnLdS6pSaIiEF68Wg9kfMcjMJD7pgiQlkxs
  4487. -h25WBBBP788Pes/aBBBhKxj134lj0kSJJUSbKRvRzJZiuZtOodiVjprF4hV3DFhT
  4488. -QMBiT/NIQ0U7dhxYYzPuKtU+FNULGQt6j2pjWECnwLexWbkCDQRYIIIYARAAz2lu
  4489. -p8itonHELYpewF5nHm0nIyheQFmtIGGh6kEUzKQWkUiwN5dmbUGPICfGkpLxe1dD
  4490. -+hYg+K5xA5SAzChOC5wkaohbhNWJNeTZ1D87+ocHJ8lAqElHP+uUYAlGbEf3A8n9
  4491. -MFUHz+w8dCM/Zcdn6JhfJbTQOnUqvYU0jrJ6+mGRye12lZsoQCesp7YF3jrPSqCK
  4492. -SJKT4u3otXdy078DGxhcv2l6xtfYFl0ej6k6UMEH7TH0GTrGuqsWUkzQHyCtQ6/5
  4493. -JqLUTnIqVyz9/J2DZokDvbihaFfcYmIhWRPbHWjvI3Lc4s2z5t0s87PkcOak5eF0
  4494. -CJfh12wh3icETr37lqu5Z+QHz4rbZcziolXjxobi4P4QsfwGME4nzue2vtLdqvm+
  4495. -2Rjf4Zgd2G/sHktKFsmIcTv8Xuk8lR0scsLqBYU4KgTDokixBGCUgee1GABG2i47
  4496. -CP7VkaVSalKGBVvm8gdpEdNwIrYyxcKeLEcFsZo9zO3beoc9zSLLAcG+hO23q/pV
  4497. -DHhvjOSLK06sf2GLNuA08Cm/TbIN+wXhuSgRw4/2QRBfuvMATKEw4a4T1Z6FVOep
  4498. -HA+MC31AAIULBh57RLRjt6oPm3kZEN7jhMvxdZIv8+HxkjwQH6WHyPLkZjOLFqyX
  4499. -j0H7XeGVB4QOfDDZHF4jxENpID23yHivoBF65LEAEQEAAYkCJQQYAQoADwUCWCCC
  4500. -GAIbDAUJB4YfgAAKCRA+9pdQO/cxh9mfD/9hFWAx2CAw7Oa16lBtHw2PX/JLXo6t
  4501. -LHw9iJ7tVPz4I58liGhwJJ26KsUeQQmNBQDlGPNx0Pw+FaTacRDFLl0zhzo/0dy4
  4502. -GMjjFqusJcMmiMRlLkCSeDfsclG45NT2TQUndNxzIwEHFij7XMxyHngMUR1Uj7aB
  4503. -UvRzQHEju7vpl6z83BKf6nKeAAlnkshy4R89Dkl5D0bJ87zQU+t9BC4OlOLt72Gy
  4504. -S1Mo2neC7FIDIXORHwEDt3nMmyfAzd/leuZV6bIl5NbZvUZ0IQF5fxIUJbJPIzq9
  4505. -TVDYaTeNJ6jyGPjQyQ3z5d9m93FZzN2e0lkp0KmXXlAYmD4LI8BkyMRKnXFae89T
  4506. -62IOEyMPMEs2EDCIlamT3SlLhv60CiCWosSJVvlUiS6s6Ys/z+ijbIrkwWXpuB7V
  4507. -VALAkJT8O9BF5h8MYqa3vXW8ZC5zbBCmmKRHb2kmZs7ayFXV6Rttig0uqY7E8KSt
  4508. -WsXUKBZn20qVc9XojajnnV4iyphGhmuyp5Ob4l+0s19usgJmOVSxAxazDeS53xYL
  4509. -JvQe6aeF2vW4NKLr1M7zUHeUfgW7q+LlD3WUAH9an1RSxQOX3io5dooqpXca4vSq
  4510. -jbbbTwmu0i4jx4XR+rdwyxc+lwP78rjI1qdIuwy56a2ZBXK/jGNkCyKGfvxGMPMb
  4511. -0u+0aDtxP3qPLw==
  4512. -=qp0v
  4513. ------END PGP PUBLIC KEY BLOCK-----
  4514. diff --git a/contrib/gitian-keys/zhiyan-key.pgp b/contrib/gitian-keys/zhiyan-key.pgp
  4515. deleted file mode 100644
  4516. index 29d0a59..0000000
  4517. --- a/contrib/gitian-keys/zhiyan-key.pgp
  4518. +++ /dev/null
  4519. @@ -1,51 +0,0 @@
  4520. ------BEGIN PGP PUBLIC KEY BLOCK-----
  4521. -Version: GnuPG v1
  4522. -
  4523. -mQINBFh0WTQBEADcYnnyqRPX4s5R2PZkywZCqX+NDK8q2VShOY4+mw1ZlF+XuO05
  4524. -/tOrgaWKav4sZ45ljk3tSTDMKOj5vEy05KTCOyFCFES4BM6MykIUyzS4G7GeYKb0
  4525. -zGU1va3W7h1XrtZpJmci70SC92RAD/Uk8YLZcVGtW6NBHxspWulTtXD4vKeO2Adl
  4526. -XmBvt0xYe6LLys3jxCguEhOFX0U+9yCVAX6sFXGimu+Ou1xCPVcYEGw5qfHkNJW/
  4527. -RHve11uLxTitFjnrWd7FxJT3HTdjMlIR7azwvOhJwGnyWxD2gi0rjUu/nbLgm0gE
  4528. -lt9h6sMPWtB/HLAG8106cFK29Zz7EMMaDVmUHKXjXK8Ja7QysgSdhnTs0w067y9I
  4529. -0OOX0KjNK4m9k+zIJtsCAj1wTrftAIJSgQz0DEsnmjgN32w8Z4pxcymyDoAnbGeW
  4530. -uFLsanGv+vge5Qk64hZU0HaQttzSjv78oLmT6D8+y8TYoz3+AULtGJdZJUIjJaxN
  4531. -buczTAAndXliiTdaNnAxyS1S5dCbypbMr2Bd9Zn4R5Ct8TxyXg7Dh4OCjTisEovp
  4532. -pHKOhFB8PptWFFVM2IEFvup/yskOTQcJ3BxlBh/nfSuoGujDGLkfnR+0gGiKIC/3
  4533. -9V2hAGg7hzIoRwSnEGYmlx33CmrCyPFWruhjELDMNbDJ0bRX7DXV7nqhNwARAQAB
  4534. -tBV6aGl5YW4gPG1lQHpoaXlhbi5kZT6JAjgEEwECACIFAlh0WTQCGwMGCwkIBwMC
  4535. -BhUIAgkKCwQWAgMBAh4BAheAAAoJEAyMBTCirVuiR9UQAI4KuF1kYWSBiQew39Pr
  4536. -UlspBNACB4rZRw8E8GuIxtdD+pD/SACfGiIwRYgEjswBnnqG2XdnMyl8I7ZcZ7Ym
  4537. -GkCq/0obo0ps7qChiJMNrLIQhr3l95qyjW9OR8aHBbH6HlecEWdI2YHjJ8uakfek
  4538. -Hk6CobqeaNzs8z3r7hxQzkyvYUsbkxDvdDqTtoHXs13Hfn860NVxpDgrs5v2F7v4
  4539. -9dY9owmrUPD94kXUX5ttqK9JEpC1Ka0b9iIkj/Hfc6s2BnZPqStgRzN7f8zNtNh/
  4540. -5KUlk2V8fMadUL4x0bupM1zJU2JeT9yhmQJkfZ3D9WB3ThnLSKJlvc5cNDG2GRHu
  4541. -r512vhZSnuKteOxIcOeTuzM6aDNbfijKMMU/bxCLNtWFFJoSSbaaZcZkaklLuxSe
  4542. -9B4oHBlBbTlvwptMrNw9oL/uSptJIx9zJ4YZqqeqzawb9di10jzofQ4SVx/OfLrD
  4543. -aBXT9SSRe/4tDKIa9u0vaaX1W2xLYCH1a29Mb6MVcdvJyijlgyyFhMfltxlB7ISY
  4544. -clpZTE5AdF+F27mVw7o192TG+x8NtU9qOk4oCjvgD4wSAF9ezzMMq9lYGyLFuRI5
  4545. -fKLsfUJYtgWBjMHf5uMaP8OKa2h9NO+HYP9HAyISmBvd/ZyhbC8tmyVbpIT8ctTz
  4546. -xklAK7kxWniAze51O0tHz9lCuQINBFh0WTQBEACwAiiRn9LB7iOM458ncVMXKu4h
  4547. -Ly76L0+CPmqZCIppHDusR0TLwsqDJ3RO8WBiULZpBPq9tDv24+WWfn2JdqEeyEB0
  4548. -MMW23aPLd7en3OBbEUzT/VKCkiMrIJQkUaCZ1rS8nKtSAknPqe6uhHqcvDzg7IOG
  4549. -LjVY2aL+YxcT03XX98xBKtFzZ7RzIldu8l/XPy282ooxKL66DfKqOJER+t3oT+Mj
  4550. -A2gBWqybmjmkImqIIJJmVTWyiV+p81ZOakO2/qiyJ42RQjxyWNCFhPbn7i8wtiI4
  4551. -7QoNmM/H8L6AdqH6EAEaNgI+UhGBrcI3QCrrQuaXPWq7eK4x0VOLGJQCHbipq14g
  4552. -GjNJrhXIKSW3WfbA83+3792ZTyGHL7liE6EGPyl8RIl2DaWkcCfmQbxiZ6KN3NKH
  4553. -PQc4+P/6616lEqvaLkuoYoXksuJU94red6ErI0hT9WPd4F6NeSftJ+7iYrAwBe22
  4554. -5Go3loSgtQby7xDF7L9MBVUCB25Ij/ouEMfe0hyQCetHyidhuaSl3VPe0QH4E/wR
  4555. -OV8E91JAFdxgOnxt5ahLjEQbqIrh0rQcWQp3lQ0ASnu3ZDl12rsLkmYhIq67RpAT
  4556. -BZXURBa0+TUnySFbyV61kOcjwbjTR+zLAOKzVjj8gM86dWKsjFX8PfaVSN2xutXR
  4557. -8j5tlC0jigjZEld/6QARAQABiQIfBBgBAgAJBQJYdFk0AhsMAAoJEAyMBTCirVui
  4558. -YlEP/jsbeCsuwyfPxcva4jNqtECsWjBy2258TmD4ixQm4FYwZObvV2hVjpisTSSX
  4559. -4fJdPtuWjJZqC8ucI3uMgFnZ/Sn+9W/bhU5H+nh057OYxv3SN16/nEmLje0Fx3aK
  4560. -YP2sENHplswSbE/f37tfL9+rjZzIENau1MQJXZzhroemgZytCeemcKeK5XeybVV3
  4561. -06cAzE9CbOUPRemC6wlaL0EwEm5dDIppQlAg/zTKQXXHHd8ymDuhWCVM5KKjUE+V
  4562. -XS/tJxsTX94+VCqXAXj7ac5uZGOZOnyGZ9iwcggwiYIXy7oLA7vWxGqlHRx4zD7J
  4563. -D/0CjVzDW4kQseJ9/4t8nB7mZqLSZ9qTg2CNNgzjAErj8RiGvQOe7NI533xB7ezk
  4564. -hpyY3FsMfnjdrG/Y7mqZtp6RD4frv2LQeCKhOimuxlFwCVqQODYZh7A1vnmH1Bx6
  4565. -5NU7B1S/kmA+HdPwbdUYopUAngy6rcCfkaeX0VDVtg5sOSHRTw4sxZbYwS/7b9ic
  4566. -/cFShaXWCru2WkfBZOZBgr6LEg4x9G3YNtLGiGsbEXE4N7rVBMv29Dcuz/nPWKRh
  4567. -J1DEaAfCz53meHWtYZVByMbi590VYApUMu1cCQcvARUgAyuRD4jFp3vt54bi7PUv
  4568. -Ge3+1BRPM93jbM3rAsg3WJ8QqPao8bqb0wUARox3kzlb14e6
  4569. -=2+by
  4570. ------END PGP PUBLIC KEY BLOCK-----
  4571. diff --git a/contrib/linearize/README.md b/contrib/linearize/README.md
  4572. index 071c13a..93aa67d 100644
  4573. --- a/contrib/linearize/README.md
  4574. +++ b/contrib/linearize/README.md
  4575. @@ -1,5 +1,5 @@
  4576.  # Linearize
  4577. -Construct a linear, no-fork, best version of the Litecoin blockchain. The scripts
  4578. +Construct a linear, no-fork, best version of the LitecoinCash blockchain. The scripts
  4579.  run using Python 3 but are compatible with Python 2.
  4580.  
  4581.  ## Step 1: Download hash list
  4582. @@ -12,7 +12,7 @@ Required configuration file settings for linearize-hashes:
  4583.  
  4584.  Optional config file setting for linearize-hashes:
  4585.  * RPC: `host`  (Default: `127.0.0.1`)
  4586. -* RPC: `port`  (Default: `9332`)
  4587. +* RPC: `port`  (Default: `62457`)
  4588.  * Blockchain: `min_height`, `max_height`
  4589.  * `rev_hash_bytes`: If true, the written block hash list will be
  4590.  byte-reversed. (In other words, the hash returned by getblockhash will have its
  4591. @@ -21,7 +21,7 @@ standalone hash lists but safe to use with linearize-data.py, which will output
  4592.  the same data no matter which byte format is chosen.
  4593.  
  4594.  The `linearize-hashes` script requires a connection, local or remote, to a
  4595. -JSON-RPC server. Running `litecoind` or `litecoin-qt -server` will be sufficient.
  4596. +JSON-RPC server. Running `litecoincashd` or `litecoincash-qt -server` will be sufficient.
  4597.  
  4598.  ## Step 2: Copy local block data
  4599.  
  4600. @@ -39,7 +39,7 @@ will be printed.
  4601.  respectively, to the current time and to the timestamp of the most recent block
  4602.  written to the script's blockchain.
  4603.  * `genesis`: The hash of the genesis block in the blockchain.
  4604. -* `input`: litecoind blocks/ directory containing blkNNNNN.dat
  4605. +* `input`: litecoincashd blocks/ directory containing blkNNNNN.dat
  4606.  * `hashlist`: text file containing list of block hashes created by
  4607.  linearize-hashes.py.
  4608.  * `max_out_sz`: Maximum size for files created by the `output_file` option.
  4609. diff --git a/contrib/linearize/example-linearize.cfg b/contrib/linearize/example-linearize.cfg
  4610. index 6b026cf..1feeac6 100644
  4611. --- a/contrib/linearize/example-linearize.cfg
  4612. +++ b/contrib/linearize/example-linearize.cfg
  4613. @@ -1,10 +1,10 @@
  4614. -# litecoind RPC settings (linearize-hashes)
  4615. +# litecoincashd RPC settings (linearize-hashes)
  4616.  rpcuser=someuser
  4617.  rpcpassword=somepassword
  4618.  #datadir=~/.bitcoin
  4619.  host=127.0.0.1
  4620. -port=9332
  4621. -#port=19332
  4622. +port=62457
  4623. +#port=62455
  4624.  
  4625.  # bootstrap.dat hashlist settings (linearize-hashes)
  4626.  max_height=313000
  4627. @@ -14,12 +14,12 @@ max_height=313000
  4628.  # mainnet
  4629.  netmagic=fbc0b6db
  4630.  genesis=12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2
  4631. -input=/home/example/.litecoin/blocks
  4632. +input=/home/example/.litecoincash/blocks
  4633.  
  4634.  # testnet
  4635.  #netmagic=fdd2c8f1
  4636.  #genesis=4966625a4b2851d9fdee139e56211a0d88575f59ed816ff5e6a63deb4e3e29a0
  4637. -#input=/home/example/.litecoin/testnet3/blocks
  4638. +#input=/home/example/.litecoincash/testnet3/blocks
  4639.  
  4640.  # "output" option causes blockchain files to be written to the given location,
  4641.  # with "output_file" ignored. If not used, "output_file" is used instead.
  4642. diff --git a/contrib/linearize/linearize-data.py b/contrib/linearize/linearize-data.py
  4643. old mode 100755
  4644. new mode 100644
  4645. diff --git a/contrib/linearize/linearize-hashes.py b/contrib/linearize/linearize-hashes.py
  4646. old mode 100755
  4647. new mode 100644
  4648. index cc405b6..c4e975d
  4649. --- a/contrib/linearize/linearize-hashes.py
  4650. +++ b/contrib/linearize/linearize-hashes.py
  4651. @@ -125,7 +125,7 @@ if __name__ == '__main__':
  4652.     if 'host' not in settings:
  4653.         settings['host'] = '127.0.0.1'
  4654.     if 'port' not in settings:
  4655. -       settings['port'] = 9332
  4656. +       settings['port'] = 62457
  4657.     if 'min_height' not in settings:
  4658.         settings['min_height'] = 0
  4659.     if 'max_height' not in settings:
  4660. diff --git a/contrib/macdeploy/README.md b/contrib/macdeploy/README.md
  4661. index 50cc94d..bfbdd1f 100644
  4662. --- a/contrib/macdeploy/README.md
  4663. +++ b/contrib/macdeploy/README.md
  4664. @@ -11,5 +11,5 @@ This script should not be run manually, instead, after building as usual:
  4665.  During the process, the disk image window will pop up briefly where the fancy
  4666.  settings are applied. This is normal, please do not interfere.
  4667.  
  4668. -When finished, it will produce `Litecoin-Core.dmg`.
  4669. +When finished, it will produce `LitecoinCash-Core.dmg`.
  4670.  
  4671. diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py
  4672. old mode 100755
  4673. new mode 100644
  4674. index c8bb6d1..195e8f4
  4675. --- a/contrib/macdeploy/custom_dsstore.py
  4676. +++ b/contrib/macdeploy/custom_dsstore.py
  4677. @@ -45,8 +45,8 @@ alias = Alias.from_bytes(icvp['backgroundImageAlias'])
  4678.  alias.volume.name = package_name_ns
  4679.  alias.volume.posix_path = '/Volumes/' + package_name_ns
  4680.  alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg'
  4681. -alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00litecoinuser:\x00Documents:\x00litecoin:\x00litecoin:\x00' + package_name_ns + '.temp.dmg'
  4682. -alias.volume.disk_image_alias.target.posix_path = 'Users/litecoinuser/Documents/litecoin/litecoin/' + package_name_ns + '.temp.dmg'
  4683. +alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00litecoincashuser:\x00Documents:\x00litecoincash:\x00litecoincash:\x00' + package_name_ns + '.temp.dmg'
  4684. +alias.volume.disk_image_alias.target.posix_path = 'Users/litecoincashuser/Documents/litecoincash/litecoincash/' + package_name_ns + '.temp.dmg'
  4685.  alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff'
  4686.  icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes())
  4687.  ds['.']['icvp'] = icvp
  4688. @@ -54,7 +54,7 @@ ds['.']['icvp'] = icvp
  4689.  ds['.']['vSrn'] = ('long', 1)
  4690.  
  4691.  ds['Applications']['Iloc'] = (370, 156)
  4692. -ds['Litecoin-Qt.app']['Iloc'] = (128, 156)
  4693. +ds['LitecoinCash-Qt.app']['Iloc'] = (128, 156)
  4694.  
  4695.  ds.flush()
  4696.  ds.close()
  4697. diff --git a/contrib/macdeploy/detached-sig-apply.sh b/contrib/macdeploy/detached-sig-apply.sh
  4698. old mode 100755
  4699. new mode 100644
  4700. diff --git a/contrib/macdeploy/detached-sig-create.sh b/contrib/macdeploy/detached-sig-create.sh
  4701. old mode 100755
  4702. new mode 100644
  4703. index a3fc318..fac20ee
  4704. --- a/contrib/macdeploy/detached-sig-create.sh
  4705. +++ b/contrib/macdeploy/detached-sig-create.sh
  4706. @@ -6,7 +6,7 @@
  4707.  set -e
  4708.  
  4709.  ROOTDIR=dist
  4710. -BUNDLE="${ROOTDIR}/Litecoin-Qt.app"
  4711. +BUNDLE="${ROOTDIR}/LitecoinCash-Qt.app"
  4712.  CODESIGN=codesign
  4713.  TEMPDIR=sign.temp
  4714.  TEMPLIST=${TEMPDIR}/signatures.txt
  4715. diff --git a/contrib/macdeploy/extract-osx-sdk.sh b/contrib/macdeploy/extract-osx-sdk.sh
  4716. old mode 100755
  4717. new mode 100644
  4718. diff --git a/contrib/macdeploy/fancy.plist b/contrib/macdeploy/fancy.plist
  4719. index 1dd36c9..8c2a1c2 100644
  4720. --- a/contrib/macdeploy/fancy.plist
  4721. +++ b/contrib/macdeploy/fancy.plist
  4722. @@ -22,7 +22,7 @@
  4723.             <integer>370</integer>
  4724.             <integer>156</integer>
  4725.         </array>
  4726. -       <key>Litecoin-Qt.app</key>
  4727. +       <key>LitecoinCash-Qt.app</key>
  4728.         <array>
  4729.             <integer>128</integer>
  4730.             <integer>156</integer>
  4731. diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus
  4732. old mode 100755
  4733. new mode 100644
  4734. index 6d4b15c..dc3693a
  4735. --- a/contrib/macdeploy/macdeployqtplus
  4736. +++ b/contrib/macdeploy/macdeployqtplus
  4737. @@ -155,7 +155,7 @@ class FrameworkInfo(object):
  4738.  class ApplicationBundleInfo(object):
  4739.      def __init__(self, path):
  4740.          self.path = path
  4741. -        appName = "Litecoin-Qt"
  4742. +        appName = "LitecoinCash-Qt"
  4743.          self.binaryPath = os.path.join(path, "Contents", "MacOS", appName)
  4744.          if not os.path.exists(self.binaryPath):
  4745.              raise RuntimeError("Could not find bundle binary for " + path)
  4746. @@ -603,7 +603,7 @@ else:
  4747.  
  4748.  # ------------------------------------------------
  4749.  
  4750. -target = os.path.join("dist", "Litecoin-Qt.app")
  4751. +target = os.path.join("dist", "LitecoinCash-Qt.app")
  4752.  
  4753.  if verbose >= 2:
  4754.      print("+ Copying source bundle +")
  4755. diff --git a/contrib/qos/README.md b/contrib/qos/README.md
  4756. index d569b6a..e0e89ca 100644
  4757. --- a/contrib/qos/README.md
  4758. +++ b/contrib/qos/README.md
  4759. @@ -1,5 +1,5 @@
  4760.  ### Qos ###
  4761.  
  4762. -This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Litecoin network. It limits outbound TCP traffic with a source or destination port of 9333, but not if the destination IP is within a LAN (defined as 192.168.x.x).
  4763. +This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the LitecoinCash network. It limits outbound TCP traffic with a source or destination port of 9333, but not if the destination IP is within a LAN (defined as 192.168.x.x).
  4764.  
  4765. -This means one can have an always-on litecoind instance running, and another local litecoind/litecoin-qt instance which connects to this node and receives blocks from it.
  4766. +This means one can have an always-on litecoincashd instance running, and another local litecoincashd/litecoincash-qt instance which connects to this node and receives blocks from it.
  4767. diff --git a/contrib/qos/tc.sh b/contrib/qos/tc.sh
  4768. index 8f9bb7a..5bfad72 100644
  4769. --- a/contrib/qos/tc.sh
  4770. +++ b/contrib/qos/tc.sh
  4771. @@ -6,7 +6,7 @@
  4772.  IF="eth0"
  4773.  #limit of the network interface in question
  4774.  LINKCEIL="1gbit"
  4775. -#limit outbound Litecoin protocol traffic to this rate
  4776. +#limit outbound LitecoinCash protocol traffic to this rate
  4777.  LIMIT="160kbit"
  4778.  #defines the address space for which you wish to disable rate limiting
  4779.  LOCALNET="192.168.0.0/16"
  4780. diff --git a/contrib/rpm/bitcoin.spec b/contrib/rpm/bitcoin.spec
  4781. index ca089f7..3cb2e81 100644
  4782. --- a/contrib/rpm/bitcoin.spec
  4783. +++ b/contrib/rpm/bitcoin.spec
  4784. @@ -332,9 +332,9 @@ if [ `%{_sbindir}/sestatus |grep -c "disabled"` -eq 0 ]; then
  4785.  for selinuxvariant in %{selinux_variants}; do
  4786.     %{_sbindir}/semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/bitcoin.pp &> /dev/null || :
  4787.  done
  4788. -%{_sbindir}/semanage port -a -t bitcoin_port_t -p tcp 9332
  4789. +%{_sbindir}/semanage port -a -t bitcoin_port_t -p tcp 62457
  4790.  %{_sbindir}/semanage port -a -t bitcoin_port_t -p tcp 9333
  4791. -%{_sbindir}/semanage port -a -t bitcoin_port_t -p tcp 19332
  4792. +%{_sbindir}/semanage port -a -t bitcoin_port_t -p tcp 62455
  4793.  %{_sbindir}/semanage port -a -t bitcoin_port_t -p tcp 19333
  4794.  %{_sbindir}/fixfiles -R bitcoin-server restore &> /dev/null || :
  4795.  %{_sbindir}/restorecon -R %{_localstatedir}/lib/bitcoin || :
  4796. @@ -351,9 +351,9 @@ fi
  4797.  # SELinux
  4798.  if [ $1 -eq 0 ]; then
  4799.     if [ `%{_sbindir}/sestatus |grep -c "disabled"` -eq 0 ]; then
  4800. -   %{_sbindir}/semanage port -d -p tcp 9332
  4801. +   %{_sbindir}/semanage port -d -p tcp 62457
  4802.     %{_sbindir}/semanage port -d -p tcp 9333
  4803. -   %{_sbindir}/semanage port -d -p tcp 19332
  4804. +   %{_sbindir}/semanage port -d -p tcp 62455
  4805.     %{_sbindir}/semanage port -d -p tcp 19333
  4806.     for selinuxvariant in %{selinux_variants}; do
  4807.         %{_sbindir}/semodule -s ${selinuxvariant} -r bitcoin &> /dev/null || :
  4808. diff --git a/contrib/seeds/README.md b/contrib/seeds/README.md
  4809. index 9d2ffe3..e42fc5f 100644
  4810. --- a/contrib/seeds/README.md
  4811. +++ b/contrib/seeds/README.md
  4812. @@ -8,7 +8,7 @@ and remove old versions as necessary.
  4813.  
  4814.  The seeds compiled into the release are created from poolers's DNS seed data, like this:
  4815.  
  4816. -    curl -s https://www.litecoinpool.org/seeds.txt > seeds_main.txt
  4817. +    curl -s https://www.litecoincashpool.org/seeds.txt > seeds_main.txt
  4818.      python3 makeseeds.py < seeds_main.txt > nodes_main.txt
  4819.      python3 generate-seeds.py . > ../../src/chainparamsseeds.h
  4820.  
  4821. diff --git a/contrib/seeds/generate-seeds.py b/contrib/seeds/generate-seeds.py
  4822. old mode 100755
  4823. new mode 100644
  4824. index c753491..310d08f
  4825. --- a/contrib/seeds/generate-seeds.py
  4826. +++ b/contrib/seeds/generate-seeds.py
  4827. @@ -120,7 +120,7 @@ def main():
  4828.      g.write('#ifndef BITCOIN_CHAINPARAMSSEEDS_H\n')
  4829.      g.write('#define BITCOIN_CHAINPARAMSSEEDS_H\n')
  4830.      g.write('/**\n')
  4831. -    g.write(' * List of fixed seed nodes for the litecoin network\n')
  4832. +    g.write(' * List of fixed seed nodes for the litecoincash network\n')
  4833.      g.write(' * AUTOGENERATED by contrib/seeds/generate-seeds.py\n')
  4834.      g.write(' *\n')
  4835.      g.write(' * Each line contains a 16-byte IPv6 address and a port.\n')
  4836. diff --git a/contrib/seeds/makeseeds.py b/contrib/seeds/makeseeds.py
  4837. old mode 100755
  4838. new mode 100644
  4839. index 940d1e2..ecae116
  4840. --- a/contrib/seeds/makeseeds.py
  4841. +++ b/contrib/seeds/makeseeds.py
  4842. @@ -30,7 +30,7 @@ import collections
  4843.  PATTERN_IPV4 = re.compile(r"^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})):(\d+)$")
  4844.  PATTERN_IPV6 = re.compile(r"^\[([0-9a-z:]+)\]:(\d+)$")
  4845.  PATTERN_ONION = re.compile(r"^([abcdefghijklmnopqrstuvwxyz234567]{16}\.onion):(\d+)$")
  4846. -PATTERN_AGENT = re.compile(r"^(/Satoshi:0.13.(0|1|2|99)/|/LitecoinCore:0.13.(0|1|2|99)/|/LitecoinCore:0.14.(0|1|2|99)/|/LitecoinCore:0.15.(0|1|2|99)/)$")
  4847. +PATTERN_AGENT = re.compile(r"^(/Satoshi:0.13.(0|1|2|99)/|/LitecoinCashCore:0.13.(0|1|2|99)/|/LitecoinCashCore:0.14.(0|1|2|99)/)$")
  4848.  
  4849.  def parseline(line):
  4850.      sline = line.split()
  4851. diff --git a/contrib/seeds/nodes_main.txt b/contrib/seeds/nodes_main.txt
  4852. index c96ee49..d0fab49 100644
  4853. --- a/contrib/seeds/nodes_main.txt
  4854. +++ b/contrib/seeds/nodes_main.txt
  4855. @@ -1,325 +1,5 @@
  4856. -5.19.171.173:10333
  4857. -5.39.64.7:9333
  4858. -5.39.174.116:9333
  4859. -5.45.69.13:9333
  4860. -5.70.60.59:9333
  4861. -5.83.128.199:9333
  4862. -5.164.223.102:9333
  4863. -5.255.86.7:9333
  4864. -14.152.121.45:9333
  4865. -14.162.208.157:9333
  4866. -23.89.193.201:9333
  4867. -23.92.221.66:9333
  4868. -23.111.173.210:9333
  4869. -23.227.204.78:9333
  4870. -23.249.72.123:9333
  4871. -24.32.201.82:9333
  4872. -24.42.207.95:9333
  4873. -24.113.234.227:9333
  4874. -24.220.69.242:9333
  4875. -31.220.7.131:9333
  4876. -34.193.68.10:9333
  4877. -35.194.152.236:33661
  4878. -35.198.168.198:9333
  4879. -36.249.108.60:9333
  4880. -37.61.209.144:9333
  4881. -37.97.181.86:9333
  4882. -37.120.161.147:9333
  4883. -37.148.195.230:9333
  4884. -37.157.183.16:9333
  4885. -37.221.209.222:9333
  4886. -38.27.99.44:9333
  4887. -38.108.92.49:9333
  4888. -45.77.131.4:9333
  4889. -45.77.248.13:9333
  4890. -46.21.146.245:9333
  4891. -46.28.201.68:9333
  4892. -46.32.50.98:9333
  4893. -46.37.191.113:9333
  4894. -46.38.56.110:9333
  4895. -46.229.168.201:9333
  4896. -46.238.238.176:9333
  4897. -46.254.240.86:10333
  4898. -47.54.207.91:9333
  4899. -47.55.95.227:9333
  4900. -47.74.228.154:9333
  4901. -47.89.48.243:9333
  4902. -47.93.232.59:9333
  4903. -47.187.1.83:9333
  4904. -49.228.206.9:9333
  4905. -50.63.166.27:9333
  4906. -52.50.244.44:9333
  4907. -52.229.171.108:9333
  4908. -54.153.120.32:9333
  4909. -54.166.208.190:9333
  4910. -60.40.43.189:9333
  4911. -60.191.106.148:9333
  4912. -62.152.54.44:9333
  4913. -62.152.58.16:9679
  4914. -62.212.141.33:9333
  4915. -63.141.246.42:9333
  4916. -63.224.55.76:9333
  4917. -64.34.231.140:9333
  4918. -65.44.118.194:9333
  4919. -65.189.240.126:9333
  4920. -66.187.65.6:9333
  4921. -66.196.5.33:9333
  4922. -67.6.226.221:9333
  4923. -68.97.201.76:9333
  4924. -68.102.158.172:9333
  4925. -68.114.233.44:9333
  4926. -68.171.16.250:9333
  4927. -68.198.36.180:9333
  4928. -69.27.173.227:10333
  4929. -69.112.110.247:9333
  4930. -69.172.169.188:9333
  4931. -70.63.170.86:9333
  4932. -70.95.219.136:9333
  4933. -70.118.197.69:9333
  4934. -70.124.168.12:9333
  4935. -71.120.16.218:9333
  4936. -72.185.120.29:9333
  4937. -72.234.251.203:9333
  4938. -74.66.93.22:9333
  4939. -74.80.235.180:10333
  4940. -74.208.221.224:9333
  4941. -76.12.247.45:9333
  4942. -76.107.8.67:9333
  4943. -77.37.156.166:9333
  4944. -77.90.195.67:9333
  4945. -77.110.11.52:9333
  4946. -78.129.241.145:9333
  4947. -79.135.200.27:9333
  4948. -79.157.88.48:9333
  4949. -80.83.191.199:9333
  4950. -80.101.93.34:9333
  4951. -80.122.43.78:9333
  4952. -80.209.234.173:9333
  4953. -80.211.132.197:9333
  4954. -80.218.108.14:9333
  4955. -81.24.101.140:9333
  4956. -81.27.96.37:9333
  4957. -81.94.197.250:9333
  4958. -81.111.118.56:9333
  4959. -82.202.162.5:9333
  4960. -83.162.196.192:9333
  4961. -83.183.110.251:9333
  4962. -83.212.97.34:9333
  4963. -84.85.102.113:9333
  4964. -84.215.80.43:9333
  4965. -84.234.52.190:37700
  4966. -85.21.144.226:9333
  4967. -85.143.137.206:9333
  4968. -85.145.248.184:9333
  4969. -85.194.238.130:9333
  4970. -85.195.242.52:9333
  4971. -85.214.68.122:9333
  4972. -85.245.167.246:9333
  4973. -86.2.87.19:9333
  4974. -86.166.234.4:9333
  4975. -87.79.94.221:9333
  4976. -87.236.27.155:9333
  4977. -87.249.207.89:9333
  4978. -88.99.184.7:9333
  4979. -88.191.51.7:9333
  4980. -88.191.247.11:9333
  4981. -88.202.202.221:9333
  4982. -88.208.3.82:9333
  4983. -89.22.104.48:9333
  4984. -89.179.153.171:9333
  4985. -89.212.75.6:9333
  4986. -89.221.215.56:9333
  4987. -89.221.241.44:9333
  4988. -89.238.77.69:9333
  4989. -91.109.112.90:9333
  4990. -91.109.112.94:9333
  4991. -91.126.118.164:9333
  4992. -91.195.42.134:9333
  4993. -91.197.44.43:9333
  4994. -91.227.47.247:9333
  4995. -91.228.155.63:9333
  4996. -91.240.142.228:9333
  4997. -92.63.88.125:9333
  4998. -92.107.160.77:9333
  4999. -92.222.180.15:9333
  5000. -93.100.51.48:9333
  5001. -93.104.210.112:9333
  5002. -94.156.174.65:9333
  5003. -94.210.62.73:9333
  5004. -94.242.232.92:9333
  5005. -94.254.21.81:9333
  5006. -95.79.102.209:10333
  5007. -95.154.90.99:9333
  5008. -95.174.101.14:9333
  5009. -95.211.136.86:9333
  5010. -95.211.189.3:9333
  5011. -95.213.137.3:9333
  5012. -95.213.182.182:9333
  5013. -96.19.28.91:9333
  5014. -96.27.8.242:9333
  5015. -97.91.224.251:9333
  5016. -98.198.104.57:9333
  5017. -99.69.17.146:9333
  5018. -101.100.141.69:9333
  5019. -103.56.136.105:9333
  5020. -103.82.56.25:9333
  5021. -103.203.50.58:9333
  5022. -103.218.3.122:9333
  5023. -103.242.66.36:3880
  5024. -104.35.96.255:9333
  5025. -104.219.251.145:9333
  5026. -104.238.198.165:9333
  5027. -104.239.230.131:28001
  5028. -107.155.120.131:9333
  5029. -107.180.69.235:9333
  5030. -107.183.37.154:9333
  5031. -108.170.26.210:11333
  5032. -108.222.149.83:9333
  5033. -109.75.172.40:9333
  5034. -109.88.85.177:9333
  5035. -109.111.178.181:10333
  5036. -109.172.77.204:9333
  5037. -109.195.179.63:9333
  5038. -109.236.88.229:9333
  5039. -110.4.40.147:9333
  5040. -113.105.139.42:9333
  5041. -116.62.224.23:15896
  5042. -118.163.120.179:9333
  5043. -118.163.122.208:9333
  5044. -119.9.116.68:9333
  5045. -119.15.100.120:9333
  5046. -119.28.12.152:9333
  5047. -119.28.177.66:9333
  5048. -119.205.234.81:9333
  5049. -120.92.117.37:10001
  5050. -121.54.175.90:10333
  5051. -121.54.175.191:10333
  5052. -134.119.221.115:9333
  5053. -136.30.44.86:9333
  5054. -136.144.155.115:9333
  5055. -138.197.156.129:9333
  5056. -139.199.90.223:9333
  5057. -143.89.121.207:9333
  5058. -144.76.220.17:9002
  5059. -147.229.13.210:9333
  5060. -148.66.58.194:9333
  5061. -152.186.36.86:9333
  5062. -158.129.212.236:9333
  5063. -158.129.212.251:9333
  5064. -159.203.110.137:9333
  5065. -159.253.21.46:9333
  5066. -162.213.252.46:9333
  5067. -166.70.94.106:9333
  5068. -167.88.15.89:6001
  5069. -168.235.81.143:9333
  5070. -169.44.34.88:9333
  5071. -169.57.145.101:9333
  5072. -171.25.221.40:9333
  5073. -172.104.104.203:9333
  5074. -173.32.12.108:9333
  5075. -173.51.177.2:9333
  5076. -173.71.68.101:9333
  5077. -173.80.190.86:9333
  5078. -173.209.44.34:9333
  5079. -173.209.53.114:9333
  5080. -173.249.8.133:9333
  5081. -173.255.204.124:9333
  5082. -174.97.240.26:9333
  5083. -174.117.242.205:9333
  5084. -176.99.7.253:9333
  5085. -176.102.192.8:9333
  5086. -176.126.167.10:9333
  5087. -176.221.43.121:9333
  5088. -178.12.118.128:9333
  5089. -178.15.158.237:9333
  5090. -178.20.55.234:9333
  5091. -178.155.51.54:9333
  5092. -178.238.236.130:10333
  5093. -182.255.61.202:28374
  5094. -184.61.213.5:9333
  5095. -184.70.33.190:9333
  5096. -184.70.254.238:9333
  5097. -184.95.48.202:9333
  5098. -185.8.165.150:10333
  5099. -185.15.92.18:10993
  5100. -185.21.223.231:9333
  5101. -185.25.120.91:9333
  5102. -185.35.137.50:9333
  5103. -185.50.213.124:9333
  5104. -185.56.82.26:9333
  5105. -185.64.104.2:9333
  5106. -185.86.83.53:9333
  5107. -185.101.218.140:9333
  5108. -185.103.243.133:9333
  5109. -185.127.17.125:9333
  5110. -185.133.40.200:8234
  5111. -185.141.24.127:9333
  5112. -185.141.24.249:9333
  5113. -185.148.162.35:10333
  5114. -185.153.198.231:9333
  5115. -185.154.15.191:9333
  5116. -185.160.208.122:9333
  5117. -185.176.141.11:9333
  5118. -185.181.11.226:9333
  5119. -185.183.161.35:9333
  5120. -185.194.140.155:9333
  5121. -185.220.33.46:9333
  5122. -188.42.59.116:9333
  5123. -188.72.214.6:9333
  5124. -188.126.60.51:9333
  5125. -188.138.33.33:9333
  5126. -188.168.81.56:9333
  5127. -188.172.155.81:9333
  5128. -188.214.30.216:9333
  5129. -188.241.58.79:9333
  5130. -189.38.88.105:9333
  5131. -190.117.133.172:9333
  5132. -191.101.236.222:9333
  5133. -192.111.152.58:9333
  5134. -192.162.100.156:9333
  5135. -192.187.116.245:9333
  5136. -193.23.181.135:9333
  5137. -193.106.30.173:9333
  5138. -194.44.136.178:9333
  5139. -194.63.143.197:9333
  5140. -194.79.8.37:10333
  5141. -194.88.106.40:9333
  5142. -194.190.93.235:10333
  5143. -195.68.159.181:9333
  5144. -195.154.235.93:9333
  5145. -195.169.138.2:9333
  5146. -196.38.233.130:10333
  5147. -198.40.48.22:9333
  5148. -198.48.216.49:9933
  5149. -198.98.48.192:9333
  5150. -199.204.211.87:9333
  5151. -203.60.2.67:9333
  5152. -203.98.175.26:9333
  5153. -203.98.175.43:9333
  5154. -203.218.9.132:9333
  5155. -205.185.120.58:9333
  5156. -207.254.60.12:9333
  5157. -209.41.186.78:9333
  5158. -209.108.206.229:9333
  5159. -209.133.221.159:9333
  5160. -209.147.127.107:9333
  5161. -210.183.15.227:9333
  5162. -212.24.96.197:9333
  5163. -212.47.252.13:9333
  5164. -212.51.144.42:9333
  5165. -213.113.232.47:9333
  5166. -213.114.244.105:9333
  5167. -213.141.154.201:9333
  5168. -213.143.107.143:9333
  5169. -213.168.13.151:9333
  5170. -217.20.130.72:9333
  5171. -217.103.32.213:9333
  5172. -217.112.251.21:9333
  5173. -217.122.192.92:9333
  5174. -217.148.94.54:9333
  5175. -219.88.232.127:9333
  5176. -219.117.248.55:9333
  5177. -220.194.43.237:9333
  5178. -221.229.166.25:9333
  5179. -222.236.44.46:9333
  5180. -222.239.11.131:9333
  5181. +46.43.9.237:62458
  5182. +45.63.89.33:62458
  5183. +46.101.118.113:62458
  5184. +144.202.8.82:62458
  5185. +178.62.215.167:62458
  5186. \ No newline at end of file
  5187. diff --git a/contrib/seeds/nodes_test.txt b/contrib/seeds/nodes_test.txt
  5188. index 02b36fc..e69de29 100644
  5189. --- a/contrib/seeds/nodes_test.txt
  5190. +++ b/contrib/seeds/nodes_test.txt
  5191. @@ -1,20 +0,0 @@
  5192. -5.9.31.67:19002
  5193. -23.239.30.164:19335
  5194. -35.159.10.86:19333
  5195. -45.76.92.84:19335
  5196. -52.221.228.214:19335
  5197. -80.237.240.102:19335
  5198. -81.169.237.132:19335
  5199. -85.143.254.151:19335
  5200. -85.214.99.201:19335
  5201. -104.131.161.171:19335
  5202. -104.243.38.34:19335
  5203. -118.89.159.229:19335
  5204. -138.201.195.202:19335
  5205. -139.59.38.132:9898
  5206. -162.213.252.66:19335
  5207. -173.209.42.7:19335
  5208. -188.42.59.116:19335
  5209. -195.142.111.77:6753
  5210. -198.58.102.18:19335
  5211. -218.244.146.111:19335
  5212. diff --git a/contrib/spendfrom/spendfrom.py b/contrib/spendfrom/spendfrom.py
  5213. old mode 100755
  5214. new mode 100644
  5215. index e1b5e9c..03a4339
  5216. --- a/contrib/spendfrom/spendfrom.py
  5217. +++ b/contrib/spendfrom/spendfrom.py
  5218. @@ -36,15 +36,15 @@ def check_json_precision():
  5219.          raise RuntimeError("JSON encode/decode loses precision")
  5220.  
  5221.  def determine_db_dir():
  5222. -    """Return the default location of the litecoin data directory"""
  5223. +    """Return the default location of the litecoincash data directory"""
  5224.      if platform.system() == "Darwin":
  5225. -        return os.path.expanduser("~/Library/Application Support/Litecoin/")
  5226. +        return os.path.expanduser("~/Library/Application Support/LitecoinCash/")
  5227.      elif platform.system() == "Windows":
  5228. -        return os.path.join(os.environ['APPDATA'], "Litecoin")
  5229. -    return os.path.expanduser("~/.litecoin")
  5230. +        return os.path.join(os.environ['APPDATA'], "LitecoinCash")
  5231. +    return os.path.expanduser("~/.litecoincash")
  5232.  
  5233.  def read_bitcoin_config(dbdir):
  5234. -    """Read the litecoin.conf file from dbdir, returns dictionary of settings"""
  5235. +    """Read the litecoincash.conf file from dbdir, returns dictionary of settings"""
  5236.      from ConfigParser import SafeConfigParser
  5237.  
  5238.      class FakeSecHead(object):
  5239. @@ -62,15 +62,15 @@ def read_bitcoin_config(dbdir):
  5240.                  return s
  5241.  
  5242.      config_parser = SafeConfigParser()
  5243. -    config_parser.readfp(FakeSecHead(open(os.path.join(dbdir, "litecoin.conf"))))
  5244. +    config_parser.readfp(FakeSecHead(open(os.path.join(dbdir, "litecoincash.conf"))))
  5245.      return dict(config_parser.items("all"))
  5246.  
  5247.  def connect_JSON(config):
  5248. -    """Connect to a litecoin JSON-RPC server"""
  5249. +    """Connect to a litecoincash JSON-RPC server"""
  5250.      testnet = config.get('testnet', '0')
  5251.      testnet = (int(testnet) > 0)  # 0/1 in config file, convert to True/False
  5252.      if not 'rpcport' in config:
  5253. -        config['rpcport'] = 19332 if testnet else 9332
  5254. +        config['rpcport'] = 62455 if testnet else 62457
  5255.      connect = "http://%s:%s@127.0.0.1:%s"%(config['rpcuser'], config['rpcpassword'], config['rpcport'])
  5256.      try:
  5257.          result = ServiceProxy(connect)
  5258. @@ -224,15 +224,15 @@ def main():
  5259.  
  5260.      parser = optparse.OptionParser(usage="%prog [options]")
  5261.      parser.add_option("--from", dest="fromaddresses", default=None,
  5262. -                      help="addresses to get litecoins from")
  5263. +                      help="addresses to get LCC from")
  5264.      parser.add_option("--to", dest="to", default=None,
  5265. -                      help="address to get send litecoins to")
  5266. +                      help="address to get send coins to")
  5267.      parser.add_option("--amount", dest="amount", default=None,
  5268.                        help="amount to send")
  5269.      parser.add_option("--fee", dest="fee", default="0.0",
  5270.                        help="fee to include")
  5271.      parser.add_option("--datadir", dest="datadir", default=determine_db_dir(),
  5272. -                      help="location of litecoin.conf file with RPC username/password (default: %default)")
  5273. +                      help="location of litecoincash.conf file with RPC username/password (default: %default)")
  5274.      parser.add_option("--testnet", dest="testnet", default=False, action="store_true",
  5275.                        help="Use the test network")
  5276.      parser.add_option("--dry_run", dest="dry_run", default=False, action="store_true",
  5277. diff --git a/contrib/testgen/README.md b/contrib/testgen/README.md
  5278. index 0858cdb..c565648 100644
  5279. --- a/contrib/testgen/README.md
  5280. +++ b/contrib/testgen/README.md
  5281. @@ -1,6 +1,6 @@
  5282.  ### TestGen ###
  5283.  
  5284. -Utilities to generate test vectors for the data-driven Litecoin tests.
  5285. +Utilities to generate test vectors for the data-driven LitecoinCash tests.
  5286.  
  5287.  Usage:
  5288.  
  5289. diff --git a/contrib/testgen/gen_base58_test_vectors.py b/contrib/testgen/gen_base58_test_vectors.py
  5290. old mode 100755
  5291. new mode 100644
  5292. diff --git a/contrib/tidy_datadir.sh b/contrib/tidy_datadir.sh
  5293. old mode 100755
  5294. new mode 100644
  5295. index a802b54..a1a9e79
  5296. --- a/contrib/tidy_datadir.sh
  5297. +++ b/contrib/tidy_datadir.sh
  5298. @@ -7,7 +7,7 @@ if [ -d "$1" ]; then
  5299.    cd "$1"
  5300.  else
  5301.    echo "Usage: $0 <datadir>" >&2
  5302. -  echo "Removes obsolete Litecoin database files" >&2
  5303. +  echo "Removes obsolete LitecoinCash database files" >&2
  5304.    exit 1
  5305.  fi
  5306.  
  5307. @@ -19,22 +19,22 @@ if [ -f wallet.dat -a -f peers.dat -a -f chainstate/CURRENT -a -f blocks/index/C
  5308.  
  5309.  case $LEVEL in
  5310.    0)
  5311. -    echo "Error: no Litecoin datadir detected."
  5312. +    echo "Error: no LitecoinCash datadir detected."
  5313.      exit 1
  5314.      ;;
  5315.    1)
  5316. -    echo "Detected old Litecoin datadir (before 0.7)."
  5317. +    echo "Detected old LitecoinCash datadir (before 0.7)."
  5318.      echo "Nothing to do."
  5319.      exit 0
  5320.      ;;
  5321.    2)
  5322. -    echo "Detected Litecoin 0.7 datadir."
  5323. +    echo "Detected LitecoinCash 0.7 datadir."
  5324.      ;;
  5325.    3)
  5326. -    echo "Detected Litecoin pre-0.8 datadir."
  5327. +    echo "Detected LitecoinCash pre-0.8 datadir."
  5328.      ;;
  5329.    4)
  5330. -    echo "Detected Litecoin 0.8 datadir."
  5331. +    echo "Detected LitecoinCash 0.8 datadir."
  5332.      ;;
  5333.  esac
  5334.  
  5335. diff --git a/contrib/verify-commits/gpg.sh b/contrib/verify-commits/gpg.sh
  5336. old mode 100755
  5337. new mode 100644
  5338. index abd8f5f..b01e2a6
  5339. --- a/contrib/verify-commits/gpg.sh
  5340. +++ b/contrib/verify-commits/gpg.sh
  5341. @@ -46,11 +46,6 @@ for LINE in $(echo "$GPG_RES"); do
  5342.         REVSIG=true
  5343.         GOODREVSIG="[GNUPG:] GOODSIG ${LINE#* * *}"
  5344.         ;;
  5345. -   "[GNUPG:] EXPKEYSIG "*)
  5346. -       [ "$BITCOIN_VERIFY_COMMITS_ALLOW_REVSIG" != 1 ] && exit 1
  5347. -       REVSIG=true
  5348. -       GOODREVSIG="[GNUPG:] GOODSIG ${LINE#* * *}"
  5349. -       ;;
  5350.     esac
  5351.  done
  5352.  if ! $VALID; then
  5353. diff --git a/contrib/verify-commits/pre-push-hook.sh b/contrib/verify-commits/pre-push-hook.sh
  5354. old mode 100755
  5355. new mode 100644
  5356. diff --git a/contrib/verify-commits/verify-commits.sh b/contrib/verify-commits/verify-commits.sh
  5357. old mode 100755
  5358. new mode 100644
  5359. diff --git a/contrib/verifybinaries/verify.sh b/contrib/verifybinaries/verify.sh
  5360. old mode 100755
  5361. new mode 100644
  5362. diff --git a/contrib/windeploy/detached-sig-create.sh b/contrib/windeploy/detached-sig-create.sh
  5363. old mode 100755
  5364. new mode 100644
  5365. index 76b6747..bf4978d
  5366. --- a/contrib/windeploy/detached-sig-create.sh
  5367. +++ b/contrib/windeploy/detached-sig-create.sh
  5368. @@ -18,7 +18,7 @@ SRCDIR=unsigned
  5369.  WORKDIR=./.tmp
  5370.  OUTDIR="${WORKDIR}/out"
  5371.  OUTSUBDIR="${OUTDIR}/win"
  5372. -TIMESERVER=http://timestamp.digicert.com
  5373. +TIMESERVER=http://timestamp.comodoca.com
  5374.  CERTFILE="win-codesign.cert"
  5375.  
  5376.  mkdir -p "${OUTSUBDIR}"
  5377. diff --git a/contrib/windeploy/win-codesign.cert b/contrib/windeploy/win-codesign.cert
  5378. index 363c132..200b30a 100644
  5379. --- a/contrib/windeploy/win-codesign.cert
  5380. +++ b/contrib/windeploy/win-codesign.cert
  5381. @@ -1,35 +1,99 @@
  5382. -Bag Attributes
  5383. -    friendlyName: Litecoin Foundation LTD.'s DigiCert Inc ID
  5384. -    localKeyID: 2F AA 3A 86 85 98 1A 53 D5 23 F0 2E A0 22 CC 51 21 6D 78 B0
  5385. -subject=/C=SG/L=Singapore/O=Litecoin Foundation LTD./CN=Litecoin Foundation LTD.
  5386. -issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Assured ID Code Signing CA
  5387.  -----BEGIN CERTIFICATE-----
  5388. -MIIFKjCCBBKgAwIBAgIQDvRXzQ2H3xYGUBDUDBeH/TANBgkqhkiG9w0BAQsFADBy
  5389. -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
  5390. -d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
  5391. -SUQgQ29kZSBTaWduaW5nIENBMB4XDTE3MDYxNzAwMDAwMFoXDTIwMDYyNDEyMDAw
  5392. -MFowZzELMAkGA1UEBhMCU0cxEjAQBgNVBAcTCVNpbmdhcG9yZTEhMB8GA1UEChMY
  5393. -TGl0ZWNvaW4gRm91bmRhdGlvbiBMVEQuMSEwHwYDVQQDExhMaXRlY29pbiBGb3Vu
  5394. -ZGF0aW9uIExURC4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDH88DV
  5395. -oSbF9UaPRUzhVcACIl+ybyhBzfyUIBq8Lc8xng4F/enX7QTOZTMovTzlV3fDWgQy
  5396. -S1ZezHOWWI6wIApDeyQyVQxW0TgkT4CKxL52t1GS1Qcf3D4OJEHAsgBGIqW7ly7w
  5397. -VvqOfgzOJcCu208AMCHY2znDjR7mFOXX2st9jsIbkVwYsl1qDTYkFrTNZ3qWrx6E
  5398. -OQc2sSMRYyNlzEJn5aJD1oQZThdVgNJxKY7Iz9U/O2VsfO7eKyBHiUEqc5hwAL8E
  5399. -7W1PD60pX92WNlW3eDbw2PUTfL5kbli0z5y0/9G72eC2s4Li9ITur/+oU5tF3MzD
  5400. -MPsAGA0NySk92rtTAgMBAAGjggHFMIIBwTAfBgNVHSMEGDAWgBRaxLl7Kgqjpepx
  5401. -A8Bg+S32ZXUOWDAdBgNVHQ4EFgQUeL9lXRPJvfsewWFdyIKSljDXbkQwDgYDVR0P
  5402. -AQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMHcGA1UdHwRwMG4wNaAzoDGG
  5403. -L2h0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3Js
  5404. -MDWgM6Axhi9odHRwOi8vY3JsNC5kaWdpY2VydC5jb20vc2hhMi1hc3N1cmVkLWNz
  5405. -LWcxLmNybDBMBgNVHSAERTBDMDcGCWCGSAGG/WwDATAqMCgGCCsGAQUFBwIBFhxo
  5406. -dHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BTMAgGBmeBDAEEATCBhAYIKwYBBQUH
  5407. -AQEEeDB2MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wTgYI
  5408. -KwYBBQUHMAKGQmh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFNI
  5409. -QTJBc3N1cmVkSURDb2RlU2lnbmluZ0NBLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqG
  5410. -SIb3DQEBCwUAA4IBAQCGZLBV09pjRFXivkrOcSD/DoUb7fEs72qNSqLoQ4dgB1v8
  5411. -9VBbE//+RwczRCZXNJAxSfxTUGa+qX6CyCRJImyc6K9tMlZp6PElwNYPCaweSFPA
  5412. -uqrjoCMDSDUPeS4LbN+khFZSny3D70W7ybqZmlKFQyHMgSWt3qkxbGQNRb0EG6nI
  5413. -e9mWKyISqtjRkwgvlmCD/7hiL/XBUVLo8rAZewA0s+jPFVVmQ63XngirrnAFw5+9
  5414. -6sU1i2pHWyKmkGnpnKyDstggCvyIpW3k+fF6+Mj2QWhBjWJ3sbzug5j+Wg8WxMAP
  5415. -gjrOxRJT1mS7UZWBHNc4rg5x1+6CNhBJZ+uaBNId
  5416. ------END CERTIFICATE-----
  5417. \ No newline at end of file
  5418. +MIIFTTCCBDWgAwIBAgIRALlW05RLwG2hMQMX5d/o5J8wDQYJKoZIhvcNAQELBQAw
  5419. +fTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
  5420. +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxIzAhBgNV
  5421. +BAMTGkNPTU9ETyBSU0EgQ29kZSBTaWduaW5nIENBMB4XDTE2MDIwMzAwMDAwMFoX
  5422. +DTE5MDMwNTIzNTk1OVowgbUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRDAU5ODEwNDEL
  5423. +MAkGA1UECAwCV0ExEDAOBgNVBAcMB1NlYXR0bGUxEDAOBgNVBAkMB1N0ZSAzMDAx
  5424. +FzAVBgNVBAkMDjcxIENvbHVtYmlhIFN0MSUwIwYDVQQKDBxUaGUgQml0Y29pbiBG
  5425. +b3VuZGF0aW9uLCBJbmMuMSUwIwYDVQQDDBxUaGUgQml0Y29pbiBGb3VuZGF0aW9u
  5426. +LCBJbmMuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw37Vrv9Gbku0
  5427. ++kuV0t89TuyxtAcmT7QE4GcwESKKjmkxfzD9a0qlhqk8GfQ+fw4DHNN+nLKNv7xB
  5428. +bk6aS7J2v2DcXkOjrP99P9jqgTkp7MC04VtG3OqVRGB+gum0pptRovYZUQXIdkY7
  5429. +GJOok/NDagwKiiUe2V2meZ7UctsZNvYeilQdTgKIIhrMB9NowCOhT8ocVL4Ki55/
  5430. +l7hukJn3fueCM3fHTwY2/1gaGsOHoCkFRsD7vokjAVpiY+8rUgvHjb0gxgojiVGd
  5431. +6a6/F5XJwKJacvUyN4Hfc2K5lRMQjTTmo4aWNWIa0iJ3TK9BHpdSLJBqerMPvmnM
  5432. +kkapS+ZTNQIDAQABo4IBjTCCAYkwHwYDVR0jBBgwFoAUKZFg/4pN+uv5pmq4z/nm
  5433. +S71JzhIwHQYDVR0OBBYEFONpQ+cV82URVe+V8G57377KxxexMA4GA1UdDwEB/wQE
  5434. +AwIHgDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMBEGCWCGSAGG
  5435. ++EIBAQQEAwIEEDBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgEDAjArMCkGCCsGAQUF
  5436. +BwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8ubmV0L0NQUzBDBgNVHR8EPDA6MDig
  5437. +NqA0hjJodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9SU0FDb2RlU2lnbmlu
  5438. +Z0NBLmNybDB0BggrBgEFBQcBAQRoMGYwPgYIKwYBBQUHMAKGMmh0dHA6Ly9jcnQu
  5439. +Y29tb2RvY2EuY29tL0NPTU9ET1JTQUNvZGVTaWduaW5nQ0EuY3J0MCQGCCsGAQUF
  5440. +BzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wDQYJKoZIhvcNAQELBQADggEB
  5441. +AGnBSi9K/9rgTAyKFKrfGWSfNOwAghmsnsvpZSQ7QyoGWBFKSgCs/70kErl18oHA
  5442. +g7Y8loQB1yukZmJaCa3OvGud7smn45TCh0TMf4EpP20Wxf4rMQTxwAatasHL3+vi
  5443. +I+Nl5bsRZ09kWjvayqLII5upjS/yq0JfpmyGl5k2C/fIpztq0iOLvqWlXcL4+51r
  5444. +cMUAfX6E6EaZQm//ikp+w2+7MEXTKguOuV3gwsrTy0DsvkZl4YDgx/FA4ImzXopv
  5445. +d+3KJPLvO+OSBqUD3JPwXHnuJqGAbLBFyyCa/feGUjLlR8cxcNWLWdp4qxtoIUPG
  5446. +3wTsC9YgrglS0F7FKMXlNRY=
  5447. +-----END CERTIFICATE-----
  5448. +-----BEGIN CERTIFICATE-----
  5449. +MIIF4DCCA8igAwIBAgIQLnyHzA6TSlL+lP0ct800rzANBgkqhkiG9w0BAQwFADCB
  5450. +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
  5451. +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
  5452. +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTMwNTA5
  5453. +MDAwMDAwWhcNMjgwNTA4MjM1OTU5WjB9MQswCQYDVQQGEwJHQjEbMBkGA1UECBMS
  5454. +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
  5455. +T01PRE8gQ0EgTGltaXRlZDEjMCEGA1UEAxMaQ09NT0RPIFJTQSBDb2RlIFNpZ25p
  5456. +bmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmmJBjd5E0f4rR
  5457. +3elnMRHrzB79MR2zuWJXP5O8W+OfHiQyESdrvFGRp8+eniWzX4GoGA8dHiAwDvth
  5458. +e4YJs+P9omidHCydv3Lj5HWg5TUjjsmK7hoMZMfYQqF7tVIDSzqwjiNLS2PgIpQ3
  5459. +e9V5kAoUGFEs5v7BEvAcP2FhCoyi3PbDMKrNKBh1SMF5WgjNu4xVjPfUdpA6M0ZQ
  5460. +c5hc9IVKaw+A3V7Wvf2pL8Al9fl4141fEMJEVTyQPDFGy3CuB6kK46/BAW+QGiPi
  5461. +XzjbxghdR7ODQfAuADcUuRKqeZJSzYcPe9hiKaR+ML0btYxytEjy4+gh+V5MYnmL
  5462. +Agaff9ULAgMBAAGjggFRMIIBTTAfBgNVHSMEGDAWgBS7r34CPfqm8TyEjq3uOJjs
  5463. +2TIy1DAdBgNVHQ4EFgQUKZFg/4pN+uv5pmq4z/nmS71JzhIwDgYDVR0PAQH/BAQD
  5464. +AgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEQYD
  5465. +VR0gBAowCDAGBgRVHSAAMEwGA1UdHwRFMEMwQaA/oD2GO2h0dHA6Ly9jcmwuY29t
  5466. +b2RvY2EuY29tL0NPTU9ET1JTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHEG
  5467. +CCsGAQUFBwEBBGUwYzA7BggrBgEFBQcwAoYvaHR0cDovL2NydC5jb21vZG9jYS5j
  5468. +b20vQ09NT0RPUlNBQWRkVHJ1c3RDQS5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
  5469. +Y3NwLmNvbW9kb2NhLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAAj8COcPu+Mo7id4M
  5470. +bU2x8U6ST6/COCwEzMVjEasJY6+rotcCP8xvGcM91hoIlP8l2KmIpysQGuCbsQci
  5471. +GlEcOtTh6Qm/5iR0rx57FjFuI+9UUS1SAuJ1CAVM8bdR4VEAxof2bO4QRHZXavHf
  5472. +WGshqknUfDdOvf+2dVRAGDZXZxHNTwLk/vPa/HUX2+y392UJI0kfQ1eD6n4gd2HI
  5473. +TfK7ZU2o94VFB696aSdlkClAi997OlE5jKgfcHmtbUIgos8MbAOMTM1zB5TnWo46
  5474. +BLqioXwfy2M6FafUFRunUkcyqfS/ZEfRqh9TTjIwc8Jvt3iCnVz/RrtrIh2IC/gb
  5475. +qjSm/Iz13X9ljIwxVzHQNuxHoc/Li6jvHBhYxQZ3ykubUa9MCEp6j+KjUuKOjswm
  5476. +5LLY5TjCqO3GgZw1a6lYYUoKl7RLQrZVnb6Z53BtWfhtKgx/GWBfDJqIbDCsUgmQ
  5477. +Fhv/K53b0CDKieoofjKOGd97SDMe12X4rsn4gxSTdn1k0I7OvjV9/3IxTZ+evR5s
  5478. +L6iPDAZQ+4wns3bJ9ObXwzTijIchhmH+v1V04SF3AwpobLvkyanmz1kl63zsRQ55
  5479. +ZmjoIs2475iFTZYRPAmK0H+8KCgT+2rKVI2SXM3CZZgGns5IW9S1N5NGQXwH3c/6
  5480. +Q++6Z2H/fUnguzB9XIDj5hY5S6c=
  5481. +-----END CERTIFICATE-----
  5482. +-----BEGIN CERTIFICATE-----
  5483. +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB
  5484. +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
  5485. +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
  5486. +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5
  5487. +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
  5488. +EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
  5489. +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh
  5490. +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR
  5491. +6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X
  5492. +pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC
  5493. +9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV
  5494. +/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf
  5495. +Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z
  5496. ++pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w
  5497. +qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah
  5498. +SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC
  5499. +u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf
  5500. +Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq
  5501. +crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
  5502. +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB
  5503. +/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl
  5504. +wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM
  5505. +4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV
  5506. +2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna
  5507. +FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ
  5508. +CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK
  5509. +boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke
  5510. +jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL
  5511. +S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb
  5512. +QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl
  5513. +0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB
  5514. +NVOFBkpdn627G190
  5515. +-----END CERTIFICATE-----
  5516. diff --git a/contrib/zmq/zmq_sub.py b/contrib/zmq/zmq_sub.py
  5517. old mode 100755
  5518. new mode 100644
  5519. diff --git a/contrib/zmq/zmq_sub3.4.py b/contrib/zmq/zmq_sub3.4.py
  5520. old mode 100755
  5521. new mode 100644
  5522. diff --git a/depends/README.md b/depends/README.md
  5523. index 35814ca..08dd815 100644
  5524. --- a/depends/README.md
  5525. +++ b/depends/README.md
  5526. @@ -12,9 +12,9 @@ For example:
  5527.  
  5528.      make HOST=x86_64-w64-mingw32 -j4
  5529.  
  5530. -A prefix will be generated that's suitable for plugging into Litecoin's
  5531. +A prefix will be generated that's suitable for plugging into LitecoinCash's
  5532.  configure. In the above example, a dir named x86_64-w64-mingw32 will be
  5533. -created. To use it for Litecoin:
  5534. +created. To use it for LitecoinCash:
  5535.  
  5536.      ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
  5537.  
  5538. @@ -43,7 +43,7 @@ The following can be set when running make: make FOO=bar
  5539.      BUILD_ID_SALT: Optional salt to use when generating build package ids
  5540.  
  5541.  If some packages are not built, for example `make NO_WALLET=1`, the appropriate
  5542. -options will be passed to litecoin's configure. In this case, `--disable-wallet`.
  5543. +options will be passed to litecoincash's configure. In this case, `--disable-wallet`.
  5544.  
  5545.  Additional targets:
  5546.  
  5547. diff --git a/depends/config.guess b/depends/config.guess
  5548. old mode 100755
  5549. new mode 100644
  5550. diff --git a/depends/config.sub b/depends/config.sub
  5551. old mode 100755
  5552. new mode 100644
  5553. diff --git a/doc/README.md b/doc/README.md
  5554. index 7f001e2..439f27f 100644
  5555. --- a/doc/README.md
  5556. +++ b/doc/README.md
  5557. @@ -1,41 +1,41 @@
  5558. -Litecoin Core
  5559. +LitecoinCash Core
  5560.  =============
  5561.  
  5562.  Setup
  5563.  ---------------------
  5564. -Litecoin Core is the original Litecoin client and it builds the backbone of the network. It downloads and, by default, stores the entire history of Litecoin transactions (which is currently more than 7 GBs); depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more.
  5565. +LitecoinCash Core is the original LitecoinCash client and it builds the backbone of the network. It downloads and, by default, stores the entire history of LitecoinCash transactions (which is currently more than 7 GBs); depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more.
  5566.  
  5567. -To download Litecoin Core, visit [litecoin.org](https://litecoin.org).
  5568. +To download LitecoinCash Core, visit [litecoincash.org](https://litecoincash.org).
  5569.  
  5570.  Running
  5571.  ---------------------
  5572. -The following are some helpful notes on how to run Litecoin on your native platform.
  5573. +The following are some helpful notes on how to run LitecoinCash on your native platform.
  5574.  
  5575.  ### Unix
  5576.  
  5577.  Unpack the files into a directory and run:
  5578.  
  5579. -- `bin/litecoin-qt` (GUI) or
  5580. -- `bin/litecoind` (headless)
  5581. +- `bin/litecoincash-qt` (GUI) or
  5582. +- `bin/litecoincashd` (headless)
  5583.  
  5584.  ### Windows
  5585.  
  5586. -Unpack the files into a directory, and then run litecoin-qt.exe.
  5587. +Unpack the files into a directory, and then run litecoincash-qt.exe.
  5588.  
  5589.  ### OS X
  5590.  
  5591. -Drag Litecoin-Core to your applications folder, and then run Litecoin-Core.
  5592. +Drag LitecoinCash-Core to your applications folder, and then run LitecoinCash-Core.
  5593.  
  5594.  ### Need Help?
  5595.  
  5596. -* See the documentation at the [Litecoin Wiki](https://litecoin.info/)
  5597. +* See the documentation at the [LitecoinCash Wiki](https://litecoincash.info/)
  5598.  for help and more information.
  5599. -* Ask for help on [#litecoin](http://webchat.freenode.net?channels=litecoin) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net?channels=litecoin).
  5600. -* Ask for help on the [LitecoinTalk](https://litecointalk.io/) forums.
  5601. +* Ask for help on [#litecoincash](http://webchat.freenode.net?channels=litecoincash) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net?channels=litecoincash).
  5602. +* Ask for help on the [LitecoinCashTalk](https://litecoincashtalk.io/) forums.
  5603.  
  5604.  Building
  5605.  ---------------------
  5606. -The following are developer notes on how to build Litecoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
  5607. +The following are developer notes on how to build LitecoinCash on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
  5608.  
  5609.  - [OS X Build Notes](build-osx.md)
  5610.  - [Unix Build Notes](build-unix.md)
  5611. @@ -45,12 +45,12 @@ The following are developer notes on how to build Litecoin on your native platfo
  5612.  
  5613.  Development
  5614.  ---------------------
  5615. -The Litecoin repo's [root README](/README.md) contains relevant information on the development process and automated testing.
  5616. +The LitecoinCash repo's [root README](/README.md) contains relevant information on the development process and automated testing.
  5617.  
  5618.  - [Developer Notes](developer-notes.md)
  5619.  - [Release Notes](release-notes.md)
  5620.  - [Release Process](release-process.md)
  5621. -- [Source Code Documentation (External Link)](https://dev.visucore.com/litecoin/doxygen/)
  5622. +- [Source Code Documentation (External Link)](https://dev.visucore.com/litecoincash/doxygen/)
  5623.  - [Translation Process](translation_process.md)
  5624.  - [Translation Strings Policy](translation_strings_policy.md)
  5625.  - [Travis CI](travis-ci.md)
  5626. @@ -61,8 +61,8 @@ The Litecoin repo's [root README](/README.md) contains relevant information on t
  5627.  - [Benchmarking](benchmarking.md)
  5628.  
  5629.  ### Resources
  5630. -* Discuss on the [LitecoinTalk](https://litecointalk.io/) forums.
  5631. -* Discuss general Litecoin development on #litecoin-dev on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net/?channels=litecoin-dev).
  5632. +* Discuss on the [LitecoinCashTalk](https://litecoincashtalk.io/) forums.
  5633. +* Discuss general LitecoinCash development on #litecoincash-dev on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net/?channels=litecoincash-dev).
  5634.  
  5635.  ### Miscellaneous
  5636.  - [Assets Attribution](assets-attribution.md)
  5637. diff --git a/doc/README_osx.md b/doc/README_osx.md
  5638. index e2e2ca8..2f0ccd7 100644
  5639. --- a/doc/README_osx.md
  5640. +++ b/doc/README_osx.md
  5641. @@ -92,6 +92,6 @@ build process to remain somewhat deterministic. Here's how it works:
  5642.    that have been previously (deterministically) built in order to create a
  5643.    final dmg.
  5644.  - The Apple keyholder uses this unsigned app to create a detached signature,
  5645. -  using the script that is also included there. Detached signatures are available from this [repository](https://github.com/litecoin-project/litecoin-detached-sigs).
  5646. +  using the script that is also included there. Detached signatures are available from this [repository](https://github.com/litecoincash-project/litecoincash-detached-sigs).
  5647.  - Builders feed the unsigned app + detached signature back into Gitian. It
  5648.    uses the pre-built tools to recombine the pieces into a deterministic dmg.
  5649. diff --git a/doc/README_windows.txt b/doc/README_windows.txt
  5650. index d388595..02c232f 100644
  5651. --- a/doc/README_windows.txt
  5652. +++ b/doc/README_windows.txt
  5653. @@ -1,23 +1,23 @@
  5654. -Litecoin Core
  5655. -=============
  5656. -
  5657. -Intro
  5658. ------
  5659. -Litecoin is a free open source peer-to-peer electronic cash system that is
  5660. -completely decentralized, without the need for a central server or trusted
  5661. -parties.  Users hold the crypto keys to their own money and transact directly
  5662. -with each other, with the help of a P2P network to check for double-spending.
  5663. -
  5664. -
  5665. -Setup
  5666. ------
  5667. -Unpack the files into a directory and run litecoin-qt.exe.
  5668. -
  5669. -Litecoin Core is the original Litecoin client and it builds the backbone of the network.
  5670. -However, it downloads and stores the entire history of Litecoin transactions;
  5671. -depending on the speed of your computer and network connection, the synchronization
  5672. -process can take anywhere from a few hours to a day or more.
  5673. -
  5674. -See the litecoin wiki at:
  5675. -  https://litecoin.info/
  5676. -for more help and information.
  5677. +LitecoinCash Core
  5678. +=============
  5679. +
  5680. +Intro
  5681. +-----
  5682. +LitecoinCash is a free open source peer-to-peer electronic cash system that is
  5683. +completely decentralized, without the need for a central server or trusted
  5684. +parties.  Users hold the crypto keys to their own money and transact directly
  5685. +with each other, with the help of a P2P network to check for double-spending.
  5686. +
  5687. +
  5688. +Setup
  5689. +-----
  5690. +Unpack the files into a directory and run litecoincash-qt.exe.
  5691. +
  5692. +LitecoinCash Core is the original LitecoinCash client and it builds the backbone of the network.
  5693. +However, it downloads and stores the entire history of LitecoinCash transactions;
  5694. +depending on the speed of your computer and network connection, the synchronization
  5695. +process can take anywhere from a few hours to a day or more.
  5696. +
  5697. +See the litecoincash wiki at:
  5698. +  https://litecoincash.info/
  5699. +for more help and information.
  5700. diff --git a/doc/REST-interface.md b/doc/REST-interface.md
  5701. index 137e977..6efca12 100644
  5702. --- a/doc/REST-interface.md
  5703. +++ b/doc/REST-interface.md
  5704. @@ -57,7 +57,7 @@ https://github.com/bitcoin/bips/blob/master/bip-0064.mediawiki
  5705.  
  5706.  Example:
  5707.  ```
  5708. -$ curl localhost:19332/rest/getutxos/checkmempool/b2cdfd7b89def827ff8af7cd9bff7627ff72e5e8b0f71210f92ea7a4000c5d75-0.json 2>/dev/null | json_pp
  5709. +$ curl localhost:62455/rest/getutxos/checkmempool/b2cdfd7b89def827ff8af7cd9bff7627ff72e5e8b0f71210f92ea7a4000c5d75-0.json 2>/dev/null | json_pp
  5710.  {
  5711.     "chainHeight" : 325347,
  5712.     "chaintipHash" : "00000000fb01a7f3745a717f8caebee056c484e6e0bfe4a9591c235bb70506fb",
  5713. @@ -99,4 +99,4 @@ Only supports JSON as output format.
  5714.  
  5715.  Risks
  5716.  -------------
  5717. -Running a web browser on the same node with a REST enabled litecoind can be a risk. Accessing prepared XSS websites could read out tx/block data of your node by placing links like `<script src="http://127.0.0.1:9332/rest/tx/1234567890.json">` which might break the nodes privacy.
  5718. +Running a web browser on the same node with a REST enabled litecoincashd can be a risk. Accessing prepared XSS websites could read out tx/block data of your node by placing links like `<script src="http://127.0.0.1:62457/rest/tx/1234567890.json">` which might break the nodes privacy.
  5719. diff --git a/doc/assets-attribution.md b/doc/assets-attribution.md
  5720. index 0b8803a..f2c8a1d 100644
  5721. --- a/doc/assets-attribution.md
  5722. +++ b/doc/assets-attribution.md
  5723. @@ -1 +1 @@
  5724. -The list of assets used in the litecoin source and their attribution can now be found in [contrib/debian/copyright](../contrib/debian/copyright).
  5725. +The list of assets used in the litecoincash source and their attribution can now be found in [contrib/debian/copyright](../contrib/debian/copyright).
  5726. diff --git a/doc/benchmarking.md b/doc/benchmarking.md
  5727. index 3e39653..839d5bd 100644
  5728. --- a/doc/benchmarking.md
  5729. +++ b/doc/benchmarking.md
  5730. @@ -1,11 +1,11 @@
  5731.  Benchmarking
  5732.  ============
  5733.  
  5734. -Litecoin Core has an internal benchmarking framework, with benchmarks
  5735. +LitecoinCash Core has an internal benchmarking framework, with benchmarks
  5736.  for cryptographic algorithms such as SHA1, SHA256, SHA512 and RIPEMD160. As well as the rolling bloom filter.
  5737.  
  5738. -After compiling litecoin-core, the benchmarks can be run with:
  5739. -`src/bench/bench_litecoin`
  5740. +After compiling litecoincash-core, the benchmarks can be run with:
  5741. +`src/bench/bench_litecoincash`
  5742.  
  5743.  The output will look similar to:
  5744.  ```
  5745. diff --git a/doc/build-openbsd.md b/doc/build-openbsd.md
  5746. index 702d00f..7ed8562 100644
  5747. --- a/doc/build-openbsd.md
  5748. +++ b/doc/build-openbsd.md
  5749. @@ -1,10 +1,10 @@
  5750.  OpenBSD build guide
  5751.  ======================
  5752. -(updated for OpenBSD 6.2)
  5753. +(updated for OpenBSD 6.1)
  5754.  
  5755. -This guide describes how to build litecoind and command-line utilities on OpenBSD.
  5756. +This guide describes how to build litecoincashd and command-line utilities on OpenBSD.
  5757.  
  5758. -OpenBSD is most commonly used as a server OS, so this guide does not contain instructions for building the GUI.
  5759. +As OpenBSD is most common as a server OS, we will not bother with the GUI.
  5760.  
  5761.  Preparation
  5762.  -------------
  5763. @@ -12,39 +12,71 @@ Preparation
  5764.  Run the following as root to install the base dependencies for building:
  5765.  
  5766.  ```bash
  5767. -pkg_add git gmake libevent libtool
  5768. +pkg_add gmake libtool libevent
  5769.  pkg_add autoconf # (select highest version, e.g. 2.69)
  5770.  pkg_add automake # (select highest version, e.g. 1.15)
  5771. -pkg_add python # (select highest version, e.g. 3.6)
  5772. -pkg_add boost
  5773. -
  5774. -git clone https://github.com/litecoin-project/litecoin.git
  5775. +pkg_add python # (select highest version, e.g. 3.5)
  5776.  ```
  5777.  
  5778. -See [dependencies.md](dependencies.md) for a complete overview.
  5779. +The default C++ compiler that comes with OpenBSD 5.9 is g++ 4.2. This version is old (from 2007), and is not able to compile the current version of LitecoinCash Core, primarily as it has no C++11 support, but even before there were issues. So here we will be installing a newer compiler.
  5780.  
  5781.  GCC
  5782.  -------
  5783.  
  5784. -The default C++ compiler that comes with OpenBSD 6.2 is g++ 4.2.1. This version is old (from 2007), and is not able to compile the current version of Litecoin Core because it has no C++11 support. We'll install a newer version of GCC:
  5785. +You can install a newer version of gcc with:
  5786.  
  5787.  ```bash
  5788. - pkg_add g++
  5789. - ```
  5790. +pkg_add g++ # (select newest 4.x version, e.g. 4.9.3)
  5791. +```
  5792. +
  5793. +This compiler will not overwrite the system compiler, it will be installed as `egcc` and `eg++` in `/usr/local/bin`.
  5794. +
  5795. +### Building boost
  5796. +
  5797. +Do not use `pkg_add boost`! The boost version installed thus is compiled using the `g++` compiler not `eg++`, which will result in a conflict between `/usr/local/lib/libestdc++.so.XX.0` and `/usr/lib/libstdc++.so.XX.0`, resulting in a test crash:
  5798. +
  5799. +    test_litecoincash:/usr/lib/libstdc++.so.57.0: /usr/local/lib/libestdc++.so.17.0 : WARNING: symbol(_ZN11__gnu_debug17_S_debug_me ssagesE) size mismatch, relink your program
  5800. +    ...
  5801. +    Segmentation fault (core dumped)
  5802.  
  5803. - This compiler will not overwrite the system compiler, it will be installed as `egcc` and `eg++` in `/usr/local/bin`.
  5804. +This makes it necessary to build boost, or at least the parts used by LitecoinCash Core, manually:
  5805. +
  5806. +```
  5807. +# Pick some path to install boost to, here we create a directory within the litecoincash directory
  5808. +LITECOINCASH_ROOT=$(pwd)
  5809. +BOOST_PREFIX="${LITECOINCASH_ROOT}/boost"
  5810. +mkdir -p $BOOST_PREFIX
  5811. +
  5812. +# Fetch the source and verify that it is not tampered with
  5813. +curl -o boost_1_64_0.tar.bz2 https://netcologne.dl.sourceforge.net/project/boost/boost/1.64.0/boost_1_64_0.tar.bz2
  5814. +echo '7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb6624582 boost_1_64_0.tar.bz2' | sha256 -c
  5815. +# MUST output: (SHA256) boost_1_64_0.tar.bz2: OK
  5816. +tar -xjf boost_1_64_0.tar.bz2
  5817. +
  5818. +# Boost 1.64 needs one small patch for OpenBSD
  5819. +cd boost_1_64_0
  5820. +# Also here: https://gist.githubusercontent.com/laanwj/bf359281dc319b8ff2e1/raw/92250de8404b97bb99d72ab898f4a8cb35ae1ea3/patch-boost_test_impl_execution_monitor_ipp.patch
  5821. +patch -p0 < /usr/ports/devel/boost/patches/patch-boost_test_impl_execution_monitor_ipp
  5822. +
  5823. +# Build w/ minimum configuration necessary for litecoincash
  5824. +echo 'using gcc : : eg++ : <cxxflags>"-fvisibility=hidden -fPIC" <linkflags>"" <archiver>"ar" <striper>"strip"  <ranlib>"ranlib" <rc>"" : ;' > user-config.jam
  5825. +config_opts="runtime-link=shared threadapi=pthread threading=multi link=static variant=release --layout=tagged --build-type=complete --user-config=user-config.jam -sNO_BZIP2=1"
  5826. +./bootstrap.sh --without-icu --with-libraries=chrono,filesystem,program_options,system,thread,test
  5827. +./b2 -d2 -j2 -d1 ${config_opts} --prefix=${BOOST_PREFIX} stage
  5828. +./b2 -d0 -j4 ${config_opts} --prefix=${BOOST_PREFIX} install
  5829. +```
  5830.  
  5831.  ### Building BerkeleyDB
  5832.  
  5833.  BerkeleyDB is only necessary for the wallet functionality. To skip this, pass `--disable-wallet` to `./configure`.
  5834.  
  5835. -See "Berkeley DB" in [build-unix.md](build-unix.md#berkeley-db) for instructions on how to build BerkeleyDB 4.8.
  5836. +See "Berkeley DB" in [build_unix.md](build_unix.md) for instructions on how to build BerkeleyDB 4.8.
  5837.  You cannot use the BerkeleyDB library from ports, for the same reason as boost above (g++/libstd++ incompatibility).
  5838.  
  5839.  ```bash
  5840. -# Pick some path to install BDB to, here we create a directory within the litecoin directory
  5841. -LITECOIN_ROOT=$(pwd)
  5842. -BDB_PREFIX="${LITECOIN_ROOT}/db4"
  5843. +# Pick some path to install BDB to, here we create a directory within the litecoincash directory
  5844. +LITECOINCASH_ROOT=$(pwd)
  5845. +BDB_PREFIX="${LITECOINCASH_ROOT}/db4"
  5846.  mkdir -p $BDB_PREFIX
  5847.  
  5848.  # Fetch the source and verify that it is not tampered with
  5849. @@ -66,8 +98,8 @@ The standard ulimit restrictions in OpenBSD are very strict:
  5850.  
  5851.      data(kbytes)         1572864
  5852.  
  5853. -This, unfortunately, may no longer be enough to compile some `.cpp` files in the project,
  5854. -at least with GCC 4.9.4 (see issue [#6658](https://github.com/bitcoin/bitcoin/issues/6658)).
  5855. +This is, unfortunately, no longer enough to compile some `.cpp` files in the project,
  5856. +at least with gcc 4.9.3 (see issue https://github.com/bitcoin/bitcoin/issues/6658).
  5857.  If your user is in the `staff` group the limit can be raised with:
  5858.  
  5859.      ulimit -d 3000000
  5860. @@ -76,7 +108,7 @@ The change will only affect the current shell and processes spawned by it. To
  5861.  make the change system-wide, change `datasize-cur` and `datasize-max` in
  5862.  `/etc/login.conf`, and reboot.
  5863.  
  5864. -### Building Litecoin Core
  5865. +### Building LitecoinCash Core
  5866.  
  5867.  **Important**: use `gmake`, not `make`. The non-GNU `make` will exit with a horrible error.
  5868.  
  5869. @@ -86,32 +118,59 @@ export AUTOCONF_VERSION=2.69 # replace this with the autoconf version that you i
  5870.  export AUTOMAKE_VERSION=1.15 # replace this with the automake version that you installed
  5871.  ./autogen.sh
  5872.  ```
  5873. -Make sure `BDB_PREFIX` is set to the appropriate path from the above steps.
  5874. +Make sure `BDB_PREFIX` and `BOOST_PREFIX` are set to the appropriate paths from the above steps.
  5875.  
  5876.  To configure with wallet:
  5877.  ```bash
  5878. -./configure --with-gui=no CC=egcc CXX=eg++ CPP=ecpp \
  5879. +./configure --with-gui=no --with-boost=$BOOST_PREFIX \
  5880. +    CC=egcc CXX=eg++ CPP=ecpp \
  5881.      BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include"
  5882.  ```
  5883.  
  5884.  To configure without wallet:
  5885.  ```bash
  5886. -./configure --disable-wallet --with-gui=no CC=egcc CXX=eg++ CPP=ecpp
  5887. +./configure --disable-wallet --with-gui=no --with-boost=$BOOST_PREFIX \
  5888. +    CC=egcc CXX=eg++ CPP=ecpp
  5889.  ```
  5890.  
  5891.  Build and run the tests:
  5892.  ```bash
  5893. -gmake # use -jX here for parallelism
  5894. +gmake # can use -jX here for parallelism
  5895.  gmake check
  5896.  ```
  5897.  
  5898. -Clang
  5899. +Clang (not currently working)
  5900.  ------------------------------
  5901.  
  5902. +WARNING: This is outdated, needs to be updated for OpenBSD 6.0 and re-tried.
  5903. +
  5904. +Using a newer g++ results in linking the new code to a new libstdc++.
  5905. +Libraries built with the old g++, will still import the old library.
  5906. +This gives conflicts, necessitating rebuild of all C++ dependencies of the application.
  5907. +
  5908. +With clang this can - at least theoretically - be avoided because it uses the
  5909. +base system's libstdc++.
  5910. +
  5911.  ```bash
  5912. -pkg_add llvm
  5913. +pkg_add llvm boost
  5914. +```
  5915.  
  5916. +```bash
  5917.  ./configure --disable-wallet --with-gui=no CC=clang CXX=clang++
  5918. -gmake # use -jX here for parallelism
  5919. -gmake check
  5920. +gmake
  5921.  ```
  5922. +
  5923. +However, this does not appear to work. Compilation succeeds, but link fails
  5924. +with many 'local symbol discarded' errors:
  5925. +
  5926. +    local symbol 150: discarded in section `.text._ZN10tinyformat6detail14FormatIterator6finishEv' from libbitcoin_util.a(libbitcoin_util_a-random.o)
  5927. +    local symbol 151: discarded in section `.text._ZN10tinyformat6detail14FormatIterator21streamStateFromFormatERSoRjPKcii' from libbitcoin_util.a(libbitcoin_util_a-random.o)
  5928. +    local symbol 152: discarded in section `.text._ZN10tinyformat6detail12convertToIntIA13_cLb0EE6invokeERA13_Kc' from libbitcoin_util.a(libbitcoin_util_a-random.o)
  5929. +
  5930. +According to similar reported errors this is a binutils (ld) issue in 2.15, the
  5931. +version installed by OpenBSD 5.7:
  5932. +
  5933. +- http://openbsd-archive.7691.n7.nabble.com/UPDATE-cppcheck-1-65-td248900.html
  5934. +- https://llvm.org/bugs/show_bug.cgi?id=9758
  5935. +
  5936. +There is no known workaround for this.
  5937. diff --git a/doc/build-osx.md b/doc/build-osx.md
  5938. index c1ced3f..5c5bf75 100644
  5939. --- a/doc/build-osx.md
  5940. +++ b/doc/build-osx.md
  5941. @@ -28,17 +28,17 @@ If you want to build with ZeroMQ support
  5942.  
  5943.  NOTE: Building with Qt4 is still supported, however, could result in a broken UI. Building with Qt5 is recommended.
  5944.  
  5945. -Build Litecoin Core
  5946. +Build LitecoinCash Core
  5947.  ------------------------
  5948.  
  5949. -1. Clone the litecoin source code and cd into `litecoin`
  5950. +1. Clone the litecoincash source code and cd into `litecoincash`
  5951.  
  5952. -        git clone https://github.com/litecoin-project/litecoin
  5953. -        cd litecoin
  5954. +        git clone https://github.com/litecoincash-project/litecoincash
  5955. +        cd litecoincash
  5956.  
  5957. -2.  Build litecoin-core:
  5958. +2.  Build litecoincash-core:
  5959.  
  5960. -    Configure and build the headless litecoin binaries as well as the GUI (if Qt is found).
  5961. +    Configure and build the headless litecoincash binaries as well as the GUI (if Qt is found).
  5962.  
  5963.      You can disable the GUI build by passing `--without-gui` to configure.
  5964.  
  5965. @@ -57,37 +57,37 @@ Build Litecoin Core
  5966.  Running
  5967.  -------
  5968.  
  5969. -Litecoin Core is now available at `./src/litecoind`
  5970. +LitecoinCash Core is now available at `./src/litecoincashd`
  5971.  
  5972.  Before running, it's recommended you create an RPC configuration file.
  5973.  
  5974. -    echo -e "rpcuser=litecoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Litecoin/litecoin.conf"
  5975. +    echo -e "rpcuser=litecoincashrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/LitecoinCash/litecoincash.conf"
  5976.  
  5977. -    chmod 600 "/Users/${USER}/Library/Application Support/Litecoin/litecoin.conf"
  5978. +    chmod 600 "/Users/${USER}/Library/Application Support/LitecoinCash/litecoincash.conf"
  5979.  
  5980. -The first time you run litecoind, it will start downloading the blockchain. This process could take several hours.
  5981. +The first time you run litecoincashd, it will start downloading the blockchain. This process could take several hours.
  5982.  
  5983.  You can monitor the download process by looking at the debug.log file:
  5984.  
  5985. -    tail -f $HOME/Library/Application\ Support/Litecoin/debug.log
  5986. +    tail -f $HOME/Library/Application\ Support/LitecoinCash/debug.log
  5987.  
  5988.  Other commands:
  5989.  -------
  5990.  
  5991. -    ./src/litecoind -daemon # Starts the litecoin daemon.
  5992. -    ./src/litecoin-cli --help # Outputs a list of command-line options.
  5993. -    ./src/litecoin-cli help # Outputs a list of RPC commands when the daemon is running.
  5994. +    ./src/litecoincashd -daemon # Starts the litecoincash daemon.
  5995. +    ./src/litecoincash-cli --help # Outputs a list of command-line options.
  5996. +    ./src/litecoincash-cli help # Outputs a list of RPC commands when the daemon is running.
  5997.  
  5998.  Using Qt Creator as IDE
  5999.  ------------------------
  6000. -You can use Qt Creator as an IDE, for litecoin development.
  6001. +You can use Qt Creator as an IDE, for litecoincash development.
  6002.  Download and install the community edition of [Qt Creator](https://www.qt.io/download/).
  6003.  Uncheck everything except Qt Creator during the installation process.
  6004.  
  6005.  1. Make sure you installed everything through Homebrew mentioned above
  6006.  2. Do a proper ./configure --enable-debug
  6007.  3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project
  6008. -4. Enter "litecoin-qt" as project name, enter src/qt as location
  6009. +4. Enter "litecoincash-qt" as project name, enter src/qt as location
  6010.  5. Leave the file selection as it is
  6011.  6. Confirm the "summary page"
  6012.  7. In the "Projects" tab select "Manage Kits..."
  6013. diff --git a/doc/build-unix.md b/doc/build-unix.md
  6014. index 45076f6..ee3645e 100644
  6015. --- a/doc/build-unix.md
  6016. +++ b/doc/build-unix.md
  6017. @@ -1,12 +1,12 @@
  6018.  UNIX BUILD NOTES
  6019.  ====================
  6020. -Some notes on how to build Litecoin Core in Unix.
  6021. +Some notes on how to build LitecoinCash Core in Unix.
  6022.  
  6023.  (for OpenBSD specific instructions, see [build-openbsd.md](build-openbsd.md))
  6024.  
  6025.  Note
  6026.  ---------------------
  6027. -Always use absolute paths to configure and compile litecoin and the dependencies,
  6028. +Always use absolute paths to configure and compile litecoincash and the dependencies,
  6029.  for example, when specifying the path of the dependency:
  6030.  
  6031.     ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX
  6032. @@ -24,7 +24,7 @@ make
  6033.  make install # optional
  6034.  ```
  6035.  
  6036. -This will build litecoin-qt as well if the dependencies are met.
  6037. +This will build litecoincash-qt as well if the dependencies are met.
  6038.  
  6039.  Dependencies
  6040.  ---------------------
  6041. @@ -55,7 +55,7 @@ Memory Requirements
  6042.  --------------------
  6043.  
  6044.  C++ compilers are memory-hungry. It is recommended to have at least 1.5 GB of
  6045. -memory available when compiling Litecoin Core. On systems with less, gcc can be
  6046. +memory available when compiling LitecoinCash Core. On systems with less, gcc can be
  6047.  tuned to conserve memory with additional CXXFLAGS:
  6048.  
  6049.  
  6050. @@ -94,7 +94,7 @@ BerkeleyDB 5.1 or later, which break binary wallet compatibility with the distri
  6051.  are based on BerkeleyDB 4.8. If you do not care about wallet compatibility,
  6052.  pass `--with-incompatible-bdb` to configure.
  6053.  
  6054. -See the section "Disable-wallet mode" to build Litecoin Core without wallet.
  6055. +See the section "Disable-wallet mode" to build LitecoinCash Core without wallet.
  6056.  
  6057.  Optional (see --with-miniupnpc and --enable-upnp-default):
  6058.  
  6059. @@ -107,7 +107,7 @@ ZMQ dependencies (provides ZMQ API 4.x):
  6060.  Dependencies for the GUI: Ubuntu & Debian
  6061.  -----------------------------------------
  6062.  
  6063. -If you want to build Litecoin-Qt, make sure that the required packages for Qt development
  6064. +If you want to build LitecoinCash-Qt, make sure that the required packages for Qt development
  6065.  are installed. Either Qt 5 or Qt 4 are necessary to build the GUI.
  6066.  If both Qt 4 and Qt 5 are installed, Qt 5 will be used. Pass `--with-gui=qt4` to configure to choose Qt4.
  6067.  To build without GUI pass `--without-gui`.
  6068. @@ -124,7 +124,7 @@ libqrencode (optional) can be installed with:
  6069.  
  6070.      sudo apt-get install libqrencode-dev
  6071.  
  6072. -Once these are installed, they will be found by configure and a litecoin-qt executable will be
  6073. +Once these are installed, they will be found by configure and a litecoincash-qt executable will be
  6074.  built by default.
  6075.  
  6076.  Dependency Build Instructions: Fedora
  6077. @@ -147,7 +147,7 @@ libqrencode (optional) can be installed with:
  6078.  
  6079.  Notes
  6080.  -----
  6081. -The release is built with GCC and then "strip litecoind" to strip the debug
  6082. +The release is built with GCC and then "strip litecoincashd" to strip the debug
  6083.  symbols, which reduces the executable size by about 90%.
  6084.  
  6085.  
  6086. @@ -168,10 +168,10 @@ Berkeley DB
  6087.  It is recommended to use Berkeley DB 4.8. If you have to build it yourself:
  6088.  
  6089.  ```bash
  6090. -LITECOIN_ROOT=$(pwd)
  6091. +LITECOINCASH_ROOT=$(pwd)
  6092.  
  6093. -# Pick some path to install BDB to, here we create a directory within the litecoin directory
  6094. -BDB_PREFIX="${LITECOIN_ROOT}/db4"
  6095. +# Pick some path to install BDB to, here we create a directory within the litecoincash directory
  6096. +BDB_PREFIX="${LITECOINCASH_ROOT}/db4"
  6097.  mkdir -p $BDB_PREFIX
  6098.  
  6099.  # Fetch the source and verify that it is not tampered with
  6100. @@ -186,8 +186,8 @@ cd db-4.8.30.NC/build_unix/
  6101.  ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX
  6102.  make install
  6103.  
  6104. -# Configure Litecoin Core to use our own-built instance of BDB
  6105. -cd $LITECOIN_ROOT
  6106. +# Configure LitecoinCash Core to use our own-built instance of BDB
  6107. +cd $LITECOINCASH_ROOT
  6108.  ./autogen.sh
  6109.  ./configure LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" # (other args...)
  6110.  ```
  6111. @@ -205,7 +205,7 @@ If you need to build Boost yourself:
  6112.  
  6113.  Security
  6114.  --------
  6115. -To help make your litecoin installation more secure by making certain attacks impossible to
  6116. +To help make your litecoincash installation more secure by making certain attacks impossible to
  6117.  exploit even if a vulnerability is found, binaries are hardened by default.
  6118.  This can be disabled with:
  6119.  
  6120. @@ -229,7 +229,7 @@ Hardening enables the following features:
  6121.  
  6122.      To test that you have built PIE executable, install scanelf, part of paxutils, and use:
  6123.  
  6124. -       scanelf -e ./litecoin
  6125. +       scanelf -e ./litecoincash
  6126.  
  6127.      The output should contain:
  6128.  
  6129. @@ -238,13 +238,13 @@ Hardening enables the following features:
  6130.  
  6131.  * Non-executable Stack
  6132.      If the stack is executable then trivial stack based buffer overflow exploits are possible if
  6133. -    vulnerable buffers are found. By default, litecoin should be built with a non-executable stack
  6134. +    vulnerable buffers are found. By default, litecoincash should be built with a non-executable stack
  6135.      but if one of the libraries it uses asks for an executable stack or someone makes a mistake
  6136.      and uses a compiler extension which requires an executable stack, it will silently build an
  6137.      executable without the non-executable stack protection.
  6138.  
  6139.      To verify that the stack is non-executable after compiling use:
  6140. -    `scanelf -e ./litecoin`
  6141. +    `scanelf -e ./litecoincash`
  6142.  
  6143.      the output should contain:
  6144.     STK/REL/PTL
  6145. @@ -254,7 +254,7 @@ Hardening enables the following features:
  6146.  
  6147.  Disable-wallet mode
  6148.  --------------------
  6149. -When the intention is to run only a P2P node without a wallet, litecoin may be compiled in
  6150. +When the intention is to run only a P2P node without a wallet, litecoincash may be compiled in
  6151.  disable-wallet mode with:
  6152.  
  6153.      ./configure --disable-wallet
  6154. @@ -276,8 +276,8 @@ Setup and Build Example: Arch Linux
  6155.  This example lists the steps necessary to setup and build a command line only, non-wallet distribution of the latest changes on Arch Linux:
  6156.  
  6157.      pacman -S git base-devel boost libevent python
  6158. -    git clone https://github.com/litecoin-project/litecoin.git
  6159. -    cd litecoin/
  6160. +    git clone https://github.com/litecoincash-project/litecoincash.git
  6161. +    cd litecoincash/
  6162.      ./autogen.sh
  6163.      ./configure --disable-wallet --without-gui --without-miniupnpc
  6164.      make check
  6165. @@ -286,7 +286,7 @@ Note:
  6166.  Enabling wallet support requires either compiling against a Berkeley DB newer than 4.8 (package `db`) using `--with-incompatible-bdb`,
  6167.  or building and depending on a local version of Berkeley DB 4.8. The readily available Arch Linux packages are currently built using
  6168.  `--with-incompatible-bdb` according to the [PKGBUILD](https://projects.archlinux.org/svntogit/community.git/tree/bitcoin/trunk/PKGBUILD).
  6169. -As mentioned above, when maintaining portability of the wallet between the standard Litecoin Core distributions and independently built
  6170. +As mentioned above, when maintaining portability of the wallet between the standard LitecoinCash Core distributions and independently built
  6171.  node software is desired, Berkeley DB 4.8 must be used.
  6172.  
  6173.  
  6174. @@ -334,7 +334,7 @@ For the wallet (optional):
  6175.  This will give a warning "configure: WARNING: Found Berkeley DB other
  6176.  than 4.8; wallets opened by this build will not be portable!", but as FreeBSD never
  6177.  had a binary release, this may not matter. If backwards compatibility
  6178. -with 4.8-built Litecoin Core is needed follow the steps under "Berkeley DB" above.
  6179. +with 4.8-built LitecoinCash Core is needed follow the steps under "Berkeley DB" above.
  6180.  
  6181.  Then build using:
  6182.  
  6183. diff --git a/doc/build-windows.md b/doc/build-windows.md
  6184. index 2f9eee1..f4cf0cd 100644
  6185. --- a/doc/build-windows.md
  6186. +++ b/doc/build-windows.md
  6187. @@ -1,116 +1,75 @@
  6188.  WINDOWS BUILD NOTES
  6189.  ====================
  6190.  
  6191. -Below are some notes on how to build Litecoin Core for Windows.
  6192. +Below are some notes on how to build LitecoinCash Core for Windows.
  6193.  
  6194. -The options known to work for building Litecoin Core on Windows are:
  6195. +Most developers use cross-compilation from Ubuntu to build executables for
  6196. +Windows. This is also used to build the release binaries.
  6197.  
  6198. -* On Linux using the [Mingw-w64](https://mingw-w64.org/doku.php) cross compiler tool chain. Ubuntu Trusty 14.04 is recommended
  6199. -and is the platform used to build the Litecoin Core Windows release binaries.
  6200. -* On Windows using [Windows
  6201. -Subsystem for Linux (WSL)](https://msdn.microsoft.com/commandline/wsl/about) and the Mingw-w64 cross compiler tool chain.
  6202. +Currently only building on Ubuntu Trusty 14.04 is supported.
  6203. +Other versions are unsupported or known to be broken (e.g. Ubuntu Xenial 16.04).
  6204.  
  6205. -Other options which may work but which have not been extensively tested are (please contribute instructions):
  6206. +While there are potentially a number of ways to build on Windows (for example using msys / mingw-w64),
  6207. +using the Windows Subsystem For Linux is the most straightforward. If you are building with
  6208. +another method, please contribute the instructions here for others who are running versions
  6209. +of Windows that are not compatible with the Windows Subsystem for Linux.
  6210.  
  6211. -* On Windows using a POSIX compatibility layer application such as [cygwin](http://www.cygwin.com/) or [msys2](http://www.msys2.org/).
  6212. -* On Windows using a native compiler tool chain such as [Visual Studio](https://www.visualstudio.com).
  6213. -
  6214. -Installing Windows Subsystem for Linux
  6215. ----------------------------------------
  6216. +Compiling with Windows Subsystem For Linux
  6217. +-------------------------------------------
  6218.  
  6219.  With Windows 10, Microsoft has released a new feature named the [Windows
  6220. -Subsystem for Linux (WSL)](https://msdn.microsoft.com/commandline/wsl/about). This
  6221. +Subsystem for Linux](https://msdn.microsoft.com/commandline/wsl/about). This
  6222.  feature allows you to run a bash shell directly on Windows in an Ubuntu-based
  6223.  environment. Within this environment you can cross compile for Windows without
  6224. -the need for a separate Linux VM or server. Note that while WSL can be installed with
  6225. -other Linux variants, such as OpenSUSE, the following instructions have only been
  6226. -tested with Ubuntu.
  6227. +the need for a separate Linux VM or server.
  6228.  
  6229.  This feature is not supported in versions of Windows prior to Windows 10 or on
  6230.  Windows Server SKUs. In addition, it is available [only for 64-bit versions of
  6231.  Windows](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide).
  6232.  
  6233. -Full instructions to install WSL are available on the above link.
  6234. -To install WSL on Windows 10 with Fall Creators Update installed (version >= 16215.0) do the following:
  6235. +To get the bash shell, you must first activate the feature in Windows.
  6236.  
  6237. -1. Enable the Windows Subsystem for Linux feature
  6238. +1. Turn on Developer Mode
  6239. +  * Open Settings -> Update and Security -> For developers
  6240. +  * Select the Developer Mode radio button
  6241. +  * Restart if necessary
  6242. +2. Enable the Windows Subsystem for Linux feature
  6243.    * From Start, search for "Turn Windows features on or off" (type 'turn')
  6244. -  * Select Windows Subsystem for Linux
  6245. +  * Select Windows Subsystem for Linux (beta)
  6246.    * Click OK
  6247.    * Restart if necessary
  6248. -2. Install Ubuntu
  6249. -  * Open Microsoft Store and search for Ubuntu or use [this link](https://www.microsoft.com/store/productId/9NBLGGH4MSV6)
  6250. -  * Click Install
  6251.  3. Complete Installation
  6252. -  * Open a cmd prompt and type "Ubuntu"
  6253. +  * Open a cmd prompt and type "bash"
  6254. +  * Accept the license
  6255.    * Create a new UNIX user account (this is a separate account from your Windows account)
  6256.  
  6257.  After the bash shell is active, you can follow the instructions below, starting
  6258.  with the "Cross-compilation" section. Compiling the 64-bit version is
  6259.  recommended but it is possible to compile the 32-bit version.
  6260.  
  6261. -Cross-compilation for Ubuntu and Windows Subsystem for Linux
  6262. -------------------------------------------------------------
  6263. -
  6264. -At the time of writing the Windows Subsystem for Linux installs Ubuntu Xenial 16.04. The Mingw-w64 package
  6265. -for Ubuntu Xenial does not produce working executables for some of the Litecoin Core applications.
  6266. -It is possible to build on Ubuntu Xenial by installing the cross compiler packages from Ubuntu Zesty, see the steps below.
  6267. -Building on Ubuntu Zesty 17.04 up to 17.10 has been verified to work.
  6268. +Cross-compilation
  6269. +-------------------
  6270.  
  6271. -The steps below can be performed on Ubuntu (including in a VM) or WSL. The depends system
  6272. +These steps can be performed on, for example, an Ubuntu VM. The depends system
  6273.  will also work on other Linux distributions, however the commands for
  6274.  installing the toolchain will be different.
  6275.  
  6276.  First, install the general dependencies:
  6277.  
  6278. -    sudo apt install build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git
  6279. +    sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils curl
  6280.  
  6281.  A host toolchain (`build-essential`) is necessary because some dependency
  6282.  packages (such as `protobuf`) need to build host utilities that are used in the
  6283.  build process.
  6284.  
  6285. -See also: [dependencies.md](dependencies.md).
  6286. -
  6287.  ## Building for 64-bit Windows
  6288.  
  6289. -The first step is to install the mingw-w64 cross-compilation tool chain. Due to different Ubuntu
  6290. -packages for each distribution and problems with the Xenial packages the steps for each are different.
  6291. -
  6292. -Common steps to install mingw32 cross compiler tool chain:
  6293. -
  6294. -    sudo apt install g++-mingw-w64-x86-64
  6295. -
  6296. -Ubuntu Trusty 14.04:
  6297. -
  6298. -    No further steps required
  6299. -
  6300. -Ubuntu Xenial 16.04 and Windows Subsystem for Linux <sup>[1](#footnote1),[2](#footnote2)</sup>:
  6301. -
  6302. -    sudo apt install software-properties-common
  6303. -    sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu zesty universe"
  6304. -    sudo apt update
  6305. -    sudo apt upgrade
  6306. -    sudo update-alternatives --config x86_64-w64-mingw32-g++ # Set the default mingw32 g++ compiler option to posix.
  6307. -
  6308. -Ubuntu Zesty 17.04 <sup>[2](#footnote2)</sup>:
  6309. +To build executables for Windows 64-bit, install the following dependencies:
  6310.  
  6311. -    sudo update-alternatives --config x86_64-w64-mingw32-g++ # Set the default mingw32 g++ compiler option to posix.
  6312. +    sudo apt-get install g++-mingw-w64-x86-64 mingw-w64-x86-64-dev
  6313.  
  6314. -Once the tool chain is installed the build steps are common:
  6315. -
  6316. -Note that for WSL the Litecoin Core source path MUST be somewhere in the default mount file system, for
  6317. -example /usr/src/litecoin, AND not under /mnt/d/. If this is not the case the dependency autoconf scripts will fail.
  6318. -This means you cannot use a directory that located directly on the host Windows file system to perform the build.
  6319. -
  6320. -The next three steps are an example of how to acquire the source in an appropriate way.
  6321. -
  6322. -    cd /usr/src
  6323. -    sudo git clone https://github.com/litecoin-project/litecoin.git
  6324. -    sudo chmod -R a+rw litecoin
  6325. -
  6326. -Once the source code is ready the build steps are below.
  6327. +Then build using:
  6328.  
  6329. -    PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') # strip out problematic Windows %PATH% imported var
  6330.      cd depends
  6331.      make HOST=x86_64-w64-mingw32
  6332.      cd ..
  6333. @@ -122,25 +81,10 @@ Once the source code is ready the build steps are below.
  6334.  
  6335.  To build executables for Windows 32-bit, install the following dependencies:
  6336.  
  6337. -    sudo apt install g++-mingw-w64-i686 mingw-w64-i686-dev
  6338. -
  6339. -For Ubuntu Xenial 16.04, Ubuntu Zesty 17.04 and Windows Subsystem for Linux <sup>[2](#footnote2)</sup>:
  6340. -
  6341. -    sudo update-alternatives --config i686-w64-mingw32-g++  # Set the default mingw32 g++ compiler option to posix.
  6342. -
  6343. -Note that for WSL the Litecoin Core source path MUST be somewhere in the default mount file system, for
  6344. -example /usr/src/litecoin, AND not under /mnt/d/. If this is not the case the dependency autoconf scripts will fail.
  6345. -This means you cannot use a directory that located directly on the host Windows file system to perform the build.
  6346. -
  6347. -The next three steps are an example of how to acquire the source in an appropriate way.
  6348. -
  6349. -    cd /usr/src
  6350. -    sudo git clone https://github.com/litecoin-project/litecoin.git
  6351. -    sudo chmod -R a+rw litecoin
  6352. +    sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev
  6353.  
  6354.  Then build using:
  6355.  
  6356. -    PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') # strip out problematic Windows %PATH% imported var
  6357.      cd depends
  6358.      make HOST=i686-w64-mingw32
  6359.      cd ..
  6360. @@ -158,23 +102,6 @@ Installation
  6361.  After building using the Windows subsystem it can be useful to copy the compiled
  6362.  executables to a directory on the windows drive in the same directory structure
  6363.  as they appear in the release `.zip` archive. This can be done in the following
  6364. -way. This will install to `c:\workspace\litecoin`, for example:
  6365. -
  6366. -    make install DESTDIR=/mnt/c/workspace/litecoin
  6367. -
  6368. -Footnotes
  6369. ----------
  6370. -
  6371. -<a name="footnote1">1</a>: There is currently a bug in the 64 bit Mingw-w64 cross compiler packaged for WSL/Ubuntu Xenial 16.04 that
  6372. -causes two of the litecoin executables to crash shortly after start up. The bug is related to the
  6373. --fstack-protector-all g++ compiler flag which is used to mitigate buffer overflows.
  6374. -Installing the Mingw-w64 packages from the Ubuntu 17 distribution solves the issue, however, this is not
  6375. -an officially supported approach and it's only recommended if you are prepared to reinstall WSL/Ubuntu should
  6376. -something break.
  6377. -
  6378. -<a name="footnote2">2</a>: Starting from Ubuntu Xenial 16.04 both the 32 and 64 bit Mingw-w64 packages install two different
  6379. -compiler options to allow a choice between either posix or win32 threads. The default option is win32 threads which is the more
  6380. -efficient since it will result in binary code that links directly with the Windows kernel32.lib. Unfortunately, the headers
  6381. -required to support win32 threads conflict with some of the classes in the C++11 standard library in particular std::mutex.
  6382. -It's not possible to build the litecoin code using the win32 version of the Mingw-w64 cross compilers (at least not without
  6383. -modifying headers in the litecoin source code).
  6384. +way. This will install to `c:\workspace\litecoincash`, for example:
  6385. +
  6386. +    make install DESTDIR=/mnt/c/workspace/litecoincash
  6387. diff --git a/doc/developer-notes.md b/doc/developer-notes.md
  6388. index a061bea..98cac6f 100644
  6389. --- a/doc/developer-notes.md
  6390. +++ b/doc/developer-notes.md
  6391. @@ -151,7 +151,7 @@ to see it.
  6392.  
  6393.  **testnet and regtest modes**
  6394.  
  6395. -Run with the -testnet option to run with "play litecoins" on the test network, if you
  6396. +Run with the -testnet option to run with "play coins" on the test network, if you
  6397.  are testing multi-machine code that needs to operate across the internet.
  6398.  
  6399.  If you are testing something that can run on one machine, run with the -regtest option.
  6400. @@ -160,7 +160,7 @@ that run in -regtest mode.
  6401.  
  6402.  **DEBUG_LOCKORDER**
  6403.  
  6404. -Litecoin Core is a multithreaded application, and deadlocks or other multithreading bugs
  6405. +LitecoinCash Core is a multithreaded application, and deadlocks or other multithreading bugs
  6406.  can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure
  6407.  CXXFLAGS="-DDEBUG_LOCKORDER -g") inserts run-time checks to keep track of which locks
  6408.  are held, and adds warnings to the debug.log file if inconsistencies are detected.
  6409. @@ -207,9 +207,9 @@ Threads
  6410.  
  6411.  - ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used in 500ms.
  6412.  
  6413. -- ThreadRPCServer : Remote procedure call handler, listens on port 9332 for connections and services them.
  6414. +- ThreadRPCServer : Remote procedure call handler, listens on port 62457 for connections and services them.
  6415.  
  6416. -- BitcoinMiner : Generates litecoins (if wallet is enabled).
  6417. +- BitcoinMiner : Generates coins (if wallet is enabled).
  6418.  
  6419.  - Shutdown : Does an orderly shutdown of everything.
  6420.  
  6421. @@ -219,7 +219,7 @@ Ignoring IDE/editor files
  6422.  In closed-source environments in which everyone uses the same IDE it is common
  6423.  to add temporary files it produces to the project-wide `.gitignore` file.
  6424.  
  6425. -However, in open source software such as Litecoin Core, where everyone uses
  6426. +However, in open source software such as LitecoinCash Core, where everyone uses
  6427.  their own editors/IDE/tools, it is less common. Only you know what files your
  6428.  editor produces and this may change from version to version. The canonical way
  6429.  to do this is thus to create your local gitignore. Add this to `~/.gitconfig`:
  6430. @@ -249,9 +249,9 @@ Development guidelines
  6431.  ============================
  6432.  
  6433.  A few non-style-related recommendations for developers, as well as points to
  6434. -pay attention to for reviewers of Litecoin Core code.
  6435. +pay attention to for reviewers of LitecoinCash Core code.
  6436.  
  6437. -General Litecoin Core
  6438. +General LitecoinCash Core
  6439.  ----------------------
  6440.  
  6441.  - New features should be exposed on RPC first, then can be made available in the GUI
  6442. @@ -361,7 +361,7 @@ Strings and formatting
  6443.  
  6444.  - For `strprintf`, `LogPrint`, `LogPrintf` formatting characters don't need size specifiers
  6445.  
  6446. -  - *Rationale*: Litecoin Core uses tinyformat, which is type safe. Leave them out to avoid confusion
  6447. +  - *Rationale*: LitecoinCash Core uses tinyformat, which is type safe. Leave them out to avoid confusion
  6448.  
  6449.  Variable names
  6450.  --------------
  6451. @@ -467,12 +467,12 @@ Subtrees
  6452.  
  6453.  Several parts of the repository are subtrees of software maintained elsewhere.
  6454.  
  6455. -Some of these are maintained by active developers of Litecoin Core, in which case changes should probably go
  6456. +Some of these are maintained by active developers of LitecoinCash Core, in which case changes should probably go
  6457.  directly upstream without being PRed directly against the project.  They will be merged back in the next
  6458.  subtree merge.
  6459.  
  6460.  Others are external projects without a tight relationship with our project.  Changes to these should also
  6461. -be sent upstream but bugfixes may also be prudent to PR against Litecoin Core so that they can be integrated
  6462. +be sent upstream but bugfixes may also be prudent to PR against LitecoinCash Core so that they can be integrated
  6463.  quickly.  Cosmetic changes should be purely taken upstream.
  6464.  
  6465.  There is a tool in contrib/devtools/git-subtree-check.sh to check a subtree directory for consistency with
  6466. @@ -535,7 +535,7 @@ Git and GitHub tips
  6467.  
  6468.          [remote "upstream-pull"]
  6469.                  fetch = +refs/pull/*:refs/remotes/upstream-pull/*
  6470. -                url = git@github.com:litecoin-project/litecoin.git
  6471. +                url = git@github.com:litecoincash-project/litecoincash.git
  6472.  
  6473.    This will add an `upstream-pull` remote to your git repository, which can be fetched using `git fetch --all`
  6474.    or `git fetch upstream-pull`. Afterwards, you can use `upstream-pull/NUMBER/head` in arguments to `git show`,
  6475. diff --git a/doc/dnsseed-policy.md b/doc/dnsseed-policy.md
  6476. index 8b280c6..2abbd22 100644
  6477. --- a/doc/dnsseed-policy.md
  6478. +++ b/doc/dnsseed-policy.md
  6479. @@ -1,12 +1,12 @@
  6480.  Expectations for DNS Seed operators
  6481.  ====================================
  6482.  
  6483. -Litecoin Core attempts to minimize the level of trust in DNS seeds,
  6484. +LitecoinCash Core attempts to minimize the level of trust in DNS seeds,
  6485.  but DNS seeds still pose a small amount of risk for the network.
  6486.  As such, DNS seeds must be run by entities which have some minimum
  6487. -level of trust within the Litecoin community.
  6488. +level of trust within the LitecoinCash community.
  6489.  
  6490. -Other implementations of Litecoin software may also use the same
  6491. +Other implementations of LitecoinCash software may also use the same
  6492.  seeds and may be more exposed. In light of this exposure, this
  6493.  document establishes some basic expectations for operating dnsseeds.
  6494.  
  6495. @@ -16,7 +16,7 @@ and not sell or transfer control of the DNS seed. Any hosting services
  6496.  contracted by the operator are equally expected to uphold these expectations.
  6497.  
  6498.  1. The DNS seed results must consist exclusively of fairly selected and
  6499. -functioning Litecoin nodes from the public network to the best of the
  6500. +functioning LitecoinCash nodes from the public network to the best of the
  6501.  operator's understanding and capability.
  6502.  
  6503.  2. For the avoidance of doubt, the results may be randomized but must not
  6504. @@ -26,7 +26,7 @@ urgent technical necessity and disclosed.
  6505.  3. The results may not be served with a DNS TTL of less than one minute.
  6506.  
  6507.  4. Any logging of DNS queries should be only that which is necessary
  6508. -for the operation of the service or urgent health of the Litecoin
  6509. +for the operation of the service or urgent health of the LitecoinCash
  6510.  network and must not be retained longer than necessary nor disclosed
  6511.  to any third party.
  6512.  
  6513. @@ -42,13 +42,13 @@ details of their operating practices.
  6514.  related to the DNS seed operation.
  6515.  
  6516.  If these expectations cannot be satisfied the operator should
  6517. -discontinue providing services and contact the active Litecoin
  6518. +discontinue providing services and contact the active LitecoinCash
  6519.  Core development team as well as posting on
  6520. -[litecoin-dev](https://groups.google.com/forum/#!forum/litecoin-dev).
  6521. +[litecoincash-dev](https://groups.google.com/forum/#!forum/litecoincash-dev).
  6522.  
  6523.  Behavior outside of these expectations may be reasonable in some
  6524.  situations but should be discussed in public in advance.
  6525.  
  6526.  See also
  6527.  ----------
  6528. -- [litecoin-seeder](https://github.com/pooler/litecoin-seeder) is a reference implementation of a DNS seed.
  6529. +- [litecoincash-seeder](https://github.com/pooler/litecoincash-seeder) is a reference implementation of a DNS seed.
  6530. diff --git a/doc/files.md b/doc/files.md
  6531. index 12dd403..c1856a4 100644
  6532. --- a/doc/files.md
  6533. +++ b/doc/files.md
  6534. @@ -1,21 +1,20 @@
  6535.  
  6536.  * banlist.dat: stores the IPs/Subnets of banned nodes
  6537. -* litecoin.conf: contains configuration settings for litecoind or litecoin-qt
  6538. -* litecoind.pid: stores the process id of litecoind while running
  6539. +* litecoincash.conf: contains configuration settings for litecoincashd or litecoincash-qt
  6540. +* litecoincashd.pid: stores the process id of litecoincashd while running
  6541.  * blocks/blk000??.dat: block data (custom, 128 MiB per file); since 0.8.0
  6542.  * blocks/rev000??.dat; block undo data (custom); since 0.8.0 (format changed since pre-0.8)
  6543.  * blocks/index/*; block index (LevelDB); since 0.8.0
  6544.  * chainstate/*; block chain state database (LevelDB); since 0.8.0
  6545.  * database/*: BDB database environment; only used for wallet since 0.8.0
  6546.  * db.log: wallet database log file
  6547. -* debug.log: contains debug information and general logging generated by litecoind or litecoin-qt
  6548. +* debug.log: contains debug information and general logging generated by litecoincashd or litecoincash-qt
  6549.  * fee_estimates.dat: stores statistics used to estimate minimum transaction fees and priorities required for confirmation; since 0.10.0
  6550.  * mempool.dat: dump of the mempool's transactions; since 0.14.0.
  6551.  * peers.dat: peer IP address database (custom format); since 0.7.0
  6552.  * wallet.dat: personal wallet (BDB) with keys and transactions
  6553.  * .cookie: session RPC authentication cookie (written at start when cookie authentication is used, deleted on shutdown): since 0.12.0
  6554.  * onion_private_key: cached Tor hidden service private key for `-listenonion`: since 0.12.0
  6555. -* guisettings.ini.bak: backup of former GUI settings after `-resetguisettings` is used
  6556.  
  6557.  Only used in pre-0.8.0
  6558.  ---------------------
  6559. diff --git a/doc/fuzzing.md b/doc/fuzzing.md
  6560. index 64f7a38..aab3402 100644
  6561. --- a/doc/fuzzing.md
  6562. +++ b/doc/fuzzing.md
  6563. @@ -1,7 +1,7 @@
  6564. -Fuzz-testing Litecoin Core
  6565. +Fuzz-testing LitecoinCash Core
  6566.  ==========================
  6567.  
  6568. -A special test harness `test_litecoin_fuzzy` is provided to provide an easy
  6569. +A special test harness `test_litecoincash_fuzzy` is provided to provide an easy
  6570.  entry point for fuzzers and the like. In this document we'll describe how to
  6571.  use it with AFL.
  6572.  
  6573. @@ -20,13 +20,13 @@ export AFLPATH=$PWD
  6574.  Instrumentation
  6575.  ----------------
  6576.  
  6577. -To build Litecoin Core using AFL instrumentation (this assumes that the
  6578. +To build LitecoinCash Core using AFL instrumentation (this assumes that the
  6579.  `AFLPATH` was set as above):
  6580.  ```
  6581.  ./configure --disable-ccache --disable-shared --enable-tests CC=${AFLPATH}/afl-gcc CXX=${AFLPATH}/afl-g++
  6582.  export AFL_HARDEN=1
  6583.  cd src/
  6584. -make test/test_litecoin_fuzzy
  6585. +make test/test_litecoincash_fuzzy
  6586.  ```
  6587.  We disable ccache because we don't want to pollute the ccache with instrumented
  6588.  objects, and similarly don't want to use non-instrumented cached objects linked
  6589. @@ -65,7 +65,7 @@ Fuzzing
  6590.  
  6591.  To start the actual fuzzing use:
  6592.  ```
  6593. -$AFLPATH/afl-fuzz -i ${AFLIN} -o ${AFLOUT} -m52 -- test/test_litecoin_fuzzy
  6594. +$AFLPATH/afl-fuzz -i ${AFLIN} -o ${AFLOUT} -m52 -- test/test_litecoincash_fuzzy
  6595.  ```
  6596.  
  6597.  You may have to change a few kernel parameters to test optimally - `afl-fuzz`
  6598. diff --git a/doc/gitian-building.md b/doc/gitian-building.md
  6599. index 5d65b6f..fe693e3 100644
  6600. --- a/doc/gitian-building.md
  6601. +++ b/doc/gitian-building.md
  6602. @@ -1,9 +1,9 @@
  6603.  Gitian building
  6604.  ================
  6605.  
  6606. -*Setup instructions for a Gitian build of Litecoin Core using a Debian VM or physical system.*
  6607. +*Setup instructions for a Gitian build of LitecoinCash Core using a Debian VM or physical system.*
  6608.  
  6609. -Gitian is the deterministic build process that is used to build the Litecoin
  6610. +Gitian is the deterministic build process that is used to build the LitecoinCash
  6611.  Core executables. It provides a way to be reasonably sure that the
  6612.  executables are really built from the source on GitHub. It also makes sure that
  6613.  the same, tested dependencies are used and statically built into the executable.
  6614. @@ -11,7 +11,7 @@ the same, tested dependencies are used and statically built into the executable.
  6615.  Multiple developers build the source code by following a specific descriptor
  6616.  ("recipe"), cryptographically sign the result, and upload the resulting signature.
  6617.  These results are compared and only if they match, the build is accepted and uploaded
  6618. -to litecoin.org.
  6619. +to litecoincash.org.
  6620.  
  6621.  More independent Gitian builders are needed, which is why this guide exists.
  6622.  It is preferred you follow these steps yourself instead of using someone else's
  6623. @@ -26,7 +26,7 @@ Table of Contents
  6624.  - [Installing Gitian](#installing-gitian)
  6625.  - [Setting up the Gitian image](#setting-up-the-gitian-image)
  6626.  - [Getting and building the inputs](#getting-and-building-the-inputs)
  6627. -- [Building Litecoin Core](#building-litecoin-core)
  6628. +- [Building LitecoinCash Core](#building-litecoincash-core)
  6629.  - [Building an alternative repository](#building-an-alternative-repository)
  6630.  - [Signing externally](#signing-externally)
  6631.  - [Uploading signatures](#uploading-signatures)
  6632. @@ -310,12 +310,12 @@ cd ..
  6633.  
  6634.  **Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*.
  6635.  
  6636. -Clone the git repositories for litecoin and Gitian.
  6637. +Clone the git repositories for litecoincash and Gitian.
  6638.  
  6639.  ```bash
  6640.  git clone https://github.com/devrandom/gitian-builder.git
  6641. -git clone https://github.com/litecoin-project/litecoin
  6642. -git clone https://github.com/litecoin-project/gitian.sigs.ltc.git
  6643. +git clone https://github.com/litecoincash-project/litecoincash
  6644. +git clone https://github.com/litecoincash-project/gitian.sigs.lch.git
  6645.  ```
  6646.  
  6647.  Setting up the Gitian image
  6648. @@ -344,16 +344,16 @@ Getting and building the inputs
  6649.  At this point you have two options, you can either use the automated script (found in [contrib/gitian-build.sh](/contrib/gitian-build.sh)) or you could manually do everything by following this guide. If you're using the automated script, then run it with the "--setup" command. Afterwards, run it with the "--build" command (example: "contrib/gitian-build.sh -b signer 0.13.0"). Otherwise ignore this.
  6650.  
  6651.  Follow the instructions in [doc/release-process.md](release-process.md#fetch-and-create-inputs-first-time-or-when-dependency-versions-change)
  6652. -in the litecoin repository under 'Fetch and create inputs' to install sources which require
  6653. +in the litecoincash repository under 'Fetch and create inputs' to install sources which require
  6654.  manual intervention. Also optionally follow the next step: 'Seed the Gitian sources cache
  6655.  and offline git repositories' which will fetch the remaining files required for building
  6656.  offline.
  6657.  
  6658. -Building Litecoin Core
  6659. +Building LitecoinCash Core
  6660.  ----------------
  6661.  
  6662. -To build Litecoin Core (for Linux, OS X and Windows) just follow the steps under 'perform
  6663. -Gitian builds' in [doc/release-process.md](release-process.md#perform-gitian-builds) in the litecoin repository.
  6664. +To build LitecoinCash Core (for Linux, OS X and Windows) just follow the steps under 'perform
  6665. +Gitian builds' in [doc/release-process.md](release-process.md#perform-gitian-builds) in the litecoincash repository.
  6666.  
  6667.  This may take some time as it will build all the dependencies needed for each descriptor.
  6668.  These dependencies will be cached after a successful build to avoid rebuilding them when possible.
  6669. @@ -367,12 +367,12 @@ tail -f var/build.log
  6670.  
  6671.  Output from `gbuild` will look something like
  6672.  
  6673. -    Initialized empty Git repository in /home/debian/gitian-builder/inputs/litecoin/.git/
  6674. +    Initialized empty Git repository in /home/debian/gitian-builder/inputs/litecoincash/.git/
  6675.      remote: Counting objects: 57959, done.
  6676.      remote: Total 57959 (delta 0), reused 0 (delta 0), pack-reused 57958
  6677.      Receiving objects: 100% (57959/57959), 53.76 MiB | 484.00 KiB/s, done.
  6678.      Resolving deltas: 100% (41590/41590), done.
  6679. -    From https://github.com/litecoin-project/litecoin
  6680. +    From https://github.com/litecoincash-project/litecoincash
  6681.      ... (new tags, new branch etc)
  6682.      --- Building for trusty amd64 ---
  6683.      Stopping target if it is up
  6684. @@ -398,18 +398,18 @@ and inputs.
  6685.  
  6686.  For example:
  6687.  ```bash
  6688. -URL=https://github.com/thrasher-/litecoin.git
  6689. +URL=https://github.com/thrasher-/litecoincash.git
  6690.  COMMIT=2014_03_windows_unicode_path
  6691. -./bin/gbuild --commit litecoin=${COMMIT} --url litecoin=${URL} ../litecoin/contrib/gitian-descriptors/gitian-linux.yml
  6692. -./bin/gbuild --commit litecoin=${COMMIT} --url litecoin=${URL} ../litecoin/contrib/gitian-descriptors/gitian-win.yml
  6693. -./bin/gbuild --commit litecoin=${COMMIT} --url litecoin=${URL} ../litecoin/contrib/gitian-descriptors/gitian-osx.yml
  6694. +./bin/gbuild --commit litecoincash=${COMMIT} --url litecoincash=${URL} ../litecoincash/contrib/gitian-descriptors/gitian-linux.yml
  6695. +./bin/gbuild --commit litecoincash=${COMMIT} --url litecoincash=${URL} ../litecoincash/contrib/gitian-descriptors/gitian-win.yml
  6696. +./bin/gbuild --commit litecoincash=${COMMIT} --url litecoincash=${URL} ../litecoincash/contrib/gitian-descriptors/gitian-osx.yml
  6697.  ```
  6698.  
  6699.  Building fully offline
  6700.  -----------------------
  6701.  
  6702.  For building fully offline including attaching signatures to unsigned builds, the detached-sigs repository
  6703. -and the litecoin git repository with the desired tag must both be available locally, and then gbuild must be
  6704. +and the litecoincash git repository with the desired tag must both be available locally, and then gbuild must be
  6705.  told where to find them. It also requires an apt-cacher-ng which is fully-populated but set to offline mode, or
  6706.  manually disabling gitian-builder's use of apt-get to update the VM build environment.
  6707.  
  6708. @@ -428,7 +428,7 @@ cd /path/to/gitian-builder
  6709.  LXC_ARCH=amd64 LXC_SUITE=trusty on-target -u root apt-get update
  6710.  LXC_ARCH=amd64 LXC_SUITE=trusty on-target -u root \
  6711.    -e DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends -y install \
  6712. -  $( sed -ne '/^packages:/,/[^-] .*/ {/^- .*/{s/"//g;s/- //;p}}' ../litecoin/contrib/gitian-descriptors/*|sort|uniq )
  6713. +  $( sed -ne '/^packages:/,/[^-] .*/ {/^- .*/{s/"//g;s/- //;p}}' ../litecoincash/contrib/gitian-descriptors/*|sort|uniq )
  6714.  LXC_ARCH=amd64 LXC_SUITE=trusty on-target -u root apt-get -q -y purge grub
  6715.  LXC_ARCH=amd64 LXC_SUITE=trusty on-target -u root -e DEBIAN_FRONTEND=noninteractive apt-get -y dist-upgrade
  6716.  ```
  6717. @@ -448,12 +448,12 @@ Then when building, override the remote URLs that gbuild would otherwise pull fr
  6718.  ```bash
  6719.  
  6720.  cd /some/root/path/
  6721. -git clone https://github.com/litecoin-project/litecoin-detached-sigs.git
  6722. +git clone https://github.com/litecoincash-project/litecoincash-detached-sigs.git
  6723.  
  6724. -BTCPATH=/some/root/path/litecoin
  6725. -SIGPATH=/some/root/path/litecoin-detached-sigs
  6726. +BTCPATH=/some/root/path/litecoincash
  6727. +SIGPATH=/some/root/path/litecoincash-detached-sigs
  6728.  
  6729. -./bin/gbuild --url litecoin=${BTCPATH},signature=${SIGPATH} ../litecoin/contrib/gitian-descriptors/gitian-win-signer.yml
  6730. +./bin/gbuild --url litecoincash=${BTCPATH},signature=${SIGPATH} ../litecoincash/contrib/gitian-descriptors/gitian-win-signer.yml
  6731.  ```
  6732.  
  6733.  Signing externally
  6734. @@ -468,9 +468,9 @@ When you execute `gsign` you will get an error from GPG, which can be ignored. C
  6735.  in `gitian.sigs` to your signing machine and do
  6736.  
  6737.  ```bash
  6738. -    gpg --detach-sign ${VERSION}-linux/${SIGNER}/litecoin-linux-build.assert
  6739. -    gpg --detach-sign ${VERSION}-win/${SIGNER}/litecoin-win-build.assert
  6740. -    gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/litecoin-osx-build.assert
  6741. +    gpg --detach-sign ${VERSION}-linux/${SIGNER}/litecoincash-linux-build.assert
  6742. +    gpg --detach-sign ${VERSION}-win/${SIGNER}/litecoincash-win-build.assert
  6743. +    gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/litecoincash-osx-build.assert
  6744.  ```
  6745.  
  6746.  This will create the `.sig` files that can be committed together with the `.assert` files to assert your
  6747. @@ -480,5 +480,5 @@ Uploading signatures
  6748.  ---------------------
  6749.  
  6750.  After building and signing you can push your signatures (both the `.assert` and `.assert.sig` files) to the
  6751. -[litecoin-project/gitian.sigs.ltc](https://github.com/litecoin-project/gitian.sigs.ltc/) repository, or if that's not possible create a pull
  6752. +[litecoincash-project/gitian.sigs.lch](https://github.com/litecoincash-project/gitian.sigs.lch/) repository, or if that's not possible create a pull
  6753.  request. You can also mail the files to thrasher (thrasher@addictionsofware.com) and he will commit them.
  6754. diff --git a/doc/litecoin-release-notes/release-notes-0.10.2.2.md b/doc/litecoin-release-notes/release-notes-0.10.2.2.md
  6755. deleted file mode 100644
  6756. index f6a609a..0000000
  6757. --- a/doc/litecoin-release-notes/release-notes-0.10.2.2.md
  6758. +++ /dev/null
  6759. @@ -1,94 +0,0 @@
  6760. -Litecoin Core version 0.10.2.2 is now available from:
  6761. -
  6762. -  <https://download.litecoin.org/litecoin-0.10.2.2/>
  6763. -
  6764. -This is a new major version release, bringing bug fixes and translation
  6765. -updates. It is recommended to upgrade to this version.
  6766. -
  6767. -Please report bugs using the issue tracker at github:
  6768. -
  6769. -  <https://github.com/litecoin-project/litecoin/issues>
  6770. -
  6771. -Upgrading and downgrading
  6772. -=========================
  6773. -
  6774. -How to Upgrade
  6775. ---------------
  6776. -
  6777. -If you are running an older version, shut it down. Wait until it has completely
  6778. -shut down (which might take a few minutes for older versions), then run the
  6779. -installer (on Windows) or just copy over /Applications/Litecoin-Qt (on Mac) or
  6780. -litecoind/litecoin-qt (on Linux).
  6781. -
  6782. -Downgrade warning
  6783. -------------------
  6784. -
  6785. -Because release 0.10+ and later makes use of headers-first synchronization and
  6786. -parallel block download (see further), the block files and databases are not
  6787. -backwards-compatible with pre-0.10 versions of Litecoin Core or other software:
  6788. -
  6789. -* Blocks will be stored on disk out of order (in the order they are
  6790. -received, really), which makes it incompatible with some tools or
  6791. -other programs. Reindexing using earlier versions will also not work
  6792. -anymore as a result of this.
  6793. -
  6794. -* The block index database will now hold headers for which no block is
  6795. -stored on disk, which earlier versions won't support.
  6796. -
  6797. -If you want to be able to downgrade smoothly, make a backup of your entire data
  6798. -directory. Without this your node will need start syncing (or importing from
  6799. -bootstrap.dat) anew afterwards. It is possible that the data from a completely
  6800. -synchronised 0.10 node may be usable in older versions as-is, but this is not
  6801. -supported and may break as soon as the older version attempts to reindex.
  6802. -
  6803. -This does not affect wallet forward or backward compatibility.
  6804. -
  6805. -
  6806. -Litecoin 0.10.2.2 Change log
  6807. -============================
  6808. -This release is based upon Bitcoin Core v0.10.2.  Their upstream changelog applies to us and
  6809. -is included in as separate release-notes.  This section describes the Litecoin-specific differences.
  6810. -
  6811. -Protocol:
  6812. -- Scrypt Proof-of-Work instead of sha256d, however block hashes are sha256d for performance reasons.
  6813. -- Litecoin TCP port 9333 (instead of 8333)
  6814. -- RPC TCP port 9332 (instead of 8332)
  6815. -- Testnet TCP port 19333 (instead of 18333)
  6816. -- Testnet RPC TCP port 19332 (instead of 18332)
  6817. -- 84 million coin limit  (instead of 21 million)
  6818. -- Magic 0xfbc0b6db       (instead of 0xf9beb4d9)
  6819. -- Target Block Time 2.5 minutes (instead of 10 minutes)
  6820. -- Target Timespan 3.5 days      (instead of two weeks)
  6821. -- bnProofOfWorkLimit = >> 20    (instead of >> 32)
  6822. -- See 9a980612005adffdeb2a17ca7a09fe126dd45e0e for Genesis Parameters
  6823. -- zeitgeist2 protection: b1b31d15cc720a1c186431b21ecc9d1a9062bcb6 Slightly different way to calculate difficulty changes.
  6824. -- Litecoin Core v0.10.2.2 is protocol version 70003 (instead of 70002)
  6825. -
  6826. -Relay:
  6827. -- Litecoin Core rounds transaction size up to the nearest 1000 bytes before calculating fees.  This size rounding behavior is to mimic fee calculation of Litecoin v0.6 and v0.8.
  6828. -- Bitcoin's IsDust() is disabled in favor of Litecoin's fee-based dust penalty.
  6829. -- Fee-based Dust Penalty: For each transaction output smaller than DUST_THRESHOLD (currently 0.001 LTC) the default relay/mining policy will expect an additional 1000 bytes of fee.  Otherwise the transaction will be rejected from relay/mining.  Such transactions are also disqualified from the free/high-priority transaction rule.
  6830. -- Miners and relays can adjust the expected fee per-KB with the -minrelaytxfee parameter.
  6831. -
  6832. -Wallet:
  6833. -- Coins smaller than 0.00001 LTC are by default ignored by the wallet.  Use the -mininput parameter if you want to see smaller coins.
  6834. -
  6835. -Notable changes since Litecoin v0.8
  6836. -===================================
  6837. -
  6838. -- The Block data and indexes of v0.10 are incompatible with v0.8 clients.  You can upgrade from v0.8 but you downgrading is not possible.  For this reason you may want to make a backup copy of your Data Directory.
  6839. -- litecoind no longer sends RPC commands.  You must use the separate litecoin-cli command line utility.
  6840. -- Watch-Only addresses are now possible.
  6841. -
  6842. -Credits
  6843. -=======
  6844. -
  6845. -Thanks to everyone who directly contributed to this release:
  6846. -
  6847. -- Charles Lee
  6848. -- pooler
  6849. -- Gitju
  6850. -- Adrian Gallagher
  6851. -- Anton Yemelyanov
  6852. -- Martin Smith
  6853. -- Warren Togami
  6854. diff --git a/doc/litecoin-release-notes/release-notes-0.10.4.md b/doc/litecoin-release-notes/release-notes-0.10.4.md
  6855. deleted file mode 100644
  6856. index 7702c44..0000000
  6857. --- a/doc/litecoin-release-notes/release-notes-0.10.4.md
  6858. +++ /dev/null
  6859. @@ -1,123 +0,0 @@
  6860. -Litecoin Core version 0.10.4.0 is now available from:
  6861. -
  6862. -  <https://download.litecoin.org/litecoin-0.10.4.0/>
  6863. -
  6864. -This is a new minor version release, bringing bug fixes, the BIP65
  6865. -(CLTV) consensus change, and relay policy preparation for BIP113. It is
  6866. -recommended to upgrade to this version as soon as possible.
  6867. -
  6868. -Please report bugs using the issue tracker at github:
  6869. -
  6870. -  <https://github.com/litecoin-project/litecoin/issues>
  6871. -
  6872. -Upgrading and downgrading
  6873. -=========================
  6874. -
  6875. -How to Upgrade
  6876. ---------------
  6877. -
  6878. -If you are running an older version, shut it down. Wait until it has completely
  6879. -shut down (which might take a few minutes for older versions), then run the
  6880. -installer (on Windows) or just copy over /Applications/Litecoin-Qt (on Mac) or
  6881. -litecoind/litecoin-qt (on Linux).
  6882. -
  6883. -Downgrade warning
  6884. -------------------
  6885. -
  6886. -Because release 0.10+ and later makes use of headers-first synchronization and
  6887. -parallel block download (see further), the block files and databases are not
  6888. -backwards-compatible with pre-0.10 versions of Litecoin Core or other software:
  6889. -
  6890. -* Blocks will be stored on disk out of order (in the order they are
  6891. -received, really), which makes it incompatible with some tools or
  6892. -other programs. Reindexing using earlier versions will also not work
  6893. -anymore as a result of this.
  6894. -
  6895. -* The block index database will now hold headers for which no block is
  6896. -stored on disk, which earlier versions won't support.
  6897. -
  6898. -If you want to be able to downgrade smoothly, make a backup of your entire data
  6899. -directory. Without this your node will need start syncing (or importing from
  6900. -bootstrap.dat) anew afterwards. It is possible that the data from a completely
  6901. -synchronised 0.10 node may be usable in older versions as-is, but this is not
  6902. -supported and may break as soon as the older version attempts to reindex.
  6903. -
  6904. -This does not affect wallet forward or backward compatibility.
  6905. -
  6906. -Notable changes since 0.10.3
  6907. -============================
  6908. -
  6909. -BIP65 soft fork to enforce OP_CHECKLOCKTIMEVERIFY opcode
  6910. ---------------------------------------------------------
  6911. -
  6912. -This release includes several changes related to the [BIP65][] soft fork
  6913. -which redefines the existing OP_NOP2 opcode as OP_CHECKLOCKTIMEVERIFY
  6914. -(CLTV) so that a transaction output can be made unspendable until a
  6915. -specified point in the future.
  6916. -
  6917. -1. This release will only relay and mine transactions spending a CLTV
  6918. -   output if they comply with the BIP65 rules as provided in code.
  6919. -
  6920. -2. This release will produce version 4 blocks by default. Please see the
  6921. -   *notice to miners* below.
  6922. -
  6923. -3. Once 951 out of a sequence of 1,001 blocks on the local node's best block
  6924. -   chain contain version 4 (or higher) blocks, this release will no
  6925. -   longer accept new version 3 blocks and it will only accept version 4
  6926. -   blocks if they comply with the BIP65 rules for CLTV.
  6927. -
  6928. -**Notice to miners:** Litecoin Core?s block templates are now for
  6929. -version 4 blocks only, and any mining software relying on its
  6930. -getblocktemplate must be updated in parallel to use libblkmaker either
  6931. -version v0.4.3 or any version from v0.5.2 onward.
  6932. -
  6933. -- If you are solo mining, this will affect you the moment you upgrade
  6934. -  Litecoin Core, which must be done prior to BIP65 achieving its 951/1001
  6935. -  status.
  6936. -
  6937. -- If you are mining with the stratum mining protocol: this does not
  6938. -  affect you.
  6939. -
  6940. -- If you are mining with the getblocktemplate protocol to a pool: this
  6941. -  will affect you at the pool operator?s discretion, which must be no
  6942. -  later than BIP65 achieving its 951/1001 status.
  6943. -
  6944. -[BIP65]: https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
  6945. -
  6946. -
  6947. -Windows bug fix for corrupted UTXO database on unclean shutdowns
  6948. -----------------------------------------------------------------
  6949. -
  6950. -Several Windows users reported that they often need to reindex the
  6951. -entire blockchain after an unclean shutdown of Litecoin Core on Windows
  6952. -(or an unclean shutdown of Windows itself). Although unclean shutdowns
  6953. -remain unsafe, this release no longer relies on memory-mapped files for
  6954. -the UTXO database, which significantly reduced the frequency of unclean
  6955. -shutdowns leading to required reindexes during testing.
  6956. -
  6957. -For more information, see: <https://github.com/bitcoin/bitcoin/pull/6917>
  6958. -
  6959. -Other fixes for database corruption on Windows are expected in the
  6960. -next major release.
  6961. -
  6962. -0.10.4 Change log
  6963. -=================
  6964. -
  6965. -This release is based upon Bitcoin Core v0.10.4.  Their upstream changelog applies to us and
  6966. -is included in as separate release-notes, see: [Release Notes](release-notes.md).  
  6967. -This section describes the Litecoin-specific differences.
  6968. -
  6969. -- Added BIP65 CHECKLOCKTIMEVERIFY softfork.
  6970. -- Increased OP_RETURN relay size to 80 bytes.
  6971. -
  6972. -Credits
  6973. -=======
  6974. -
  6975. -Thanks to everyone who directly contributed to this release:
  6976. -
  6977. -- Charles Lee
  6978. -- pooler
  6979. -- Adrian Gallagher
  6980. -- Anton Yemelyanov
  6981. -- Warren Togami
  6982. -- BtcDrak
  6983. diff --git a/doc/litecoin-release-notes/release-notes-0.13.2.md b/doc/litecoin-release-notes/release-notes-0.13.2.md
  6984. deleted file mode 100644
  6985. index 619183a..0000000
  6986. --- a/doc/litecoin-release-notes/release-notes-0.13.2.md
  6987. +++ /dev/null
  6988. @@ -1,993 +0,0 @@
  6989. -Litecoin Core version 0.13.2 is now available from:
  6990. -
  6991. -  <https://download.litecoin.org/litecoin-0.13.2.1/>
  6992. -
  6993. -This is a new major version release, including new features, various bugfixes and performance improvements, as well as updated translations.
  6994. -It is recommended to upgrade to this version.
  6995. -
  6996. -Please report bugs using the issue tracker at github:
  6997. -
  6998. -  <https://github.com/litecoin-project/litecoin/issues>
  6999. -
  7000. -Compatibility
  7001. -==============
  7002. -
  7003. -Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support),
  7004. -an OS initially released in 2001. This means that not even critical security
  7005. -updates will be released anymore. Without security updates, using a litecoin
  7006. -wallet on a XP machine is irresponsible at least.
  7007. -
  7008. -In addition to that, with 0.12.x there have been varied reports of Bitcoin Core
  7009. -randomly crashing on Windows XP. It is [not clear](https://github.com/bitcoin/bitcoin/issues/7681#issuecomment-217439891)
  7010. -what the source of these crashes is, but it is likely that upstream
  7011. -libraries such as Qt are no longer being tested on XP.
  7012. -
  7013. -We do not have time nor resources to provide support for an OS that is
  7014. -end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are
  7015. -suggested to upgrade to a newer version of Windows, or install an alternative OS
  7016. -that is supported.
  7017. -
  7018. -No attempt is made to prevent installing or running the software on Windows XP,
  7019. -you can still do so at your own risk, but do not expect it to work: do not
  7020. -report issues about Windows XP to the issue tracker.
  7021. -
  7022. -From 0.13.1 onwards OS X 10.7 is no longer supported. 0.13.0 was intended to work on 10.7+,
  7023. -but severe issues with the libc++ version on 10.7.x keep it from running reliably.
  7024. -0.13.1 now requires 10.8+, and will communicate that to 10.7 users, rather than crashing unexpectedly.
  7025. -
  7026. -Notable changes
  7027. -===============
  7028. -
  7029. -Signature validation using libsecp256k1
  7030. ----------------------------------------
  7031. -
  7032. -ECDSA signatures inside Litecoin transactions now use validation using
  7033. -[libsecp256k1](https://github.com/bitcoin-core/secp256k1) instead of OpenSSL.
  7034. -
  7035. -Depending on the platform, this means a significant speedup for raw signature
  7036. -validation speed. The advantage is largest on x86_64, where validation is over
  7037. -five times faster. In practice, this translates to a raw reindexing and new
  7038. -block validation times that are less than half of what it was before.
  7039. -
  7040. -Libsecp256k1 has undergone very extensive testing and validation.
  7041. -
  7042. -A side effect of this change is that libconsensus no longer depends on OpenSSL.
  7043. -
  7044. -Reduce upload traffic
  7045. ----------------------
  7046. -
  7047. -A major part of the outbound traffic is caused by serving historic blocks to
  7048. -other nodes in initial block download state.
  7049. -
  7050. -It is now possible to reduce the total upload traffic via the `-maxuploadtarget`
  7051. -parameter. This is *not* a hard limit but a threshold to minimize the outbound
  7052. -traffic. When the limit is about to be reached, the uploaded data is cut by not
  7053. -serving historic blocks (blocks older than one week).
  7054. -Moreover, any SPV peer is disconnected when they request a filtered block.
  7055. -
  7056. -This option can be specified in MiB per day and is turned off by default
  7057. -(`-maxuploadtarget=0`).
  7058. -The recommended minimum is 144 * MAX_BLOCK_SIZE (currently 144MB) per day.
  7059. -
  7060. -Whitelisted peers will never be disconnected, although their traffic counts for
  7061. -calculating the target.
  7062. -
  7063. -A more detailed documentation about keeping traffic low can be found in
  7064. -[/doc/reduce-traffic.md](/doc/reduce-traffic.md).
  7065. -
  7066. -Direct headers announcement (BIP 130)
  7067. --------------------------------------
  7068. -
  7069. -Between compatible peers, [BIP 130]
  7070. -(https://github.com/bitcoin/bips/blob/master/bip-0130.mediawiki)
  7071. -direct headers announcement is used. This means that blocks are advertised by
  7072. -announcing their headers directly, instead of just announcing the hash. In a
  7073. -reorganization, all new headers are sent, instead of just the new tip. This
  7074. -can often prevent an extra roundtrip before the actual block is downloaded.
  7075. -
  7076. -Memory pool limiting
  7077. ---------------------
  7078. -
  7079. -Previous versions of Litecoin Core had their mempool limited by checking
  7080. -a transaction's fees against the node's minimum relay fee. There was no
  7081. -upper bound on the size of the mempool and attackers could send a large
  7082. -number of transactions paying just slighly more than the default minimum
  7083. -relay fee to crash nodes with relatively low RAM. A temporary workaround
  7084. -for previous versions of Litecoin Core was to raise the default minimum
  7085. -relay fee.
  7086. -
  7087. -Litecoin Core 0.13.2 will have a strict maximum size on the mempool. The
  7088. -default value is 300 MB and can be configured with the `-maxmempool`
  7089. -parameter. Whenever a transaction would cause the mempool to exceed
  7090. -its maximum size, the transaction that (along with in-mempool descendants) has
  7091. -the lowest total feerate (as a package) will be evicted and the node's effective
  7092. -minimum relay feerate will be increased to match this feerate plus the initial
  7093. -minimum relay feerate. The initial minimum relay feerate is set to
  7094. -1000 satoshis per kB.
  7095. -
  7096. -Litecoin Core 0.13.2 also introduces new default policy limits on the length and
  7097. -size of unconfirmed transaction chains that are allowed in the mempool
  7098. -(generally limiting the length of unconfirmed chains to 25 transactions, with a
  7099. -total size of 101 KB).  These limits can be overriden using command line
  7100. -arguments; see the extended help (`--help -help-debug`) for more information.
  7101. -
  7102. -RPC: Random-cookie RPC authentication
  7103. --------------------------------------
  7104. -
  7105. -When no `-rpcpassword` is specified, the daemon now uses a special 'cookie'
  7106. -file for authentication. This file is generated with random content when the
  7107. -daemon starts, and deleted when it exits. Its contents are used as
  7108. -authentication token. Read access to this file controls who can access through
  7109. -RPC. By default it is stored in the data directory but its location can be
  7110. -overridden with the option `-rpccookiefile`.
  7111. -
  7112. -This is similar to Tor's CookieAuthentication: see
  7113. -https://www.torproject.org/docs/tor-manual.html.en
  7114. -
  7115. -This allows running litecoind without having to do any manual configuration.
  7116. -
  7117. -Relay: Any sequence of pushdatas in OP_RETURN outputs now allowed
  7118. ------------------------------------------------------------------
  7119. -
  7120. -Previously OP_RETURN outputs with a payload were only relayed and mined if they
  7121. -had a single pushdata. This restriction has been lifted to allow any
  7122. -combination of data pushes and numeric constant opcodes (OP_1 to OP_16) after
  7123. -the OP_RETURN. The limit on OP_RETURN output size is now applied to the entire
  7124. -serialized scriptPubKey, 83 bytes by default. (the previous 80 byte default plus
  7125. -three bytes overhead)
  7126. -
  7127. -Relay: New and only new blocks relayed when pruning
  7128. ----------------------------------------------------
  7129. -
  7130. -When running in pruned mode, the client will now relay new blocks. When
  7131. -responding to the `getblocks` message, only hashes of blocks that are on disk
  7132. -and are likely to remain there for some reasonable time window (1 hour) will be
  7133. -returned (previously all relevant hashes were returned).
  7134. -
  7135. -Relay and Mining: Priority transactions
  7136. ----------------------------------------
  7137. -
  7138. -Litecoin Core has a heuristic 'priority' based on coin value and age. This
  7139. -calculation is used for relaying of transactions which do not pay the
  7140. -minimum relay fee, and can be used as an alternative way of sorting
  7141. -transactions for mined blocks. Litecoin Core will relay transactions with
  7142. -insufficient fees depending on the setting of `-limitfreerelay=<r>` (default:
  7143. -`r=15` kB per minute) and `-blockprioritysize=<s>`.
  7144. -
  7145. -In Bitcoin Core 0.12, when mempool limit has been reached a higher minimum
  7146. -relay fee takes effect to limit memory usage. Transactions which do not meet
  7147. -this higher effective minimum relay fee will not be relayed or mined even if
  7148. -they rank highly according to the priority heuristic.
  7149. -
  7150. -The mining of transactions based on their priority is also now disabled by
  7151. -default. To re-enable it, simply set `-blockprioritysize=<n>` where is the size
  7152. -in bytes of your blocks to reserve for these transactions. The old default was
  7153. -50k, so to retain approximately the same policy, you would set
  7154. -`-blockprioritysize=50000`.
  7155. -
  7156. -Additionally, as a result of computational simplifications, the priority value
  7157. -used for transactions received with unconfirmed inputs is lower than in prior
  7158. -versions due to avoiding recomputing the amounts as input transactions confirm.
  7159. -
  7160. -External miner policy set via the `prioritisetransaction` RPC to rank
  7161. -transactions already in the mempool continues to work as it has previously.
  7162. -Note, however, that if mining priority transactions is left disabled, the
  7163. -priority delta will be ignored and only the fee metric will be effective.
  7164. -
  7165. -This internal automatic prioritization handling is being considered for removal
  7166. -entirely in Litecoin Core 0.13, and it is at this time undecided whether the
  7167. -more accurate priority calculation for chained unconfirmed transactions will be
  7168. -restored. Community direction on this topic is particularly requested to help
  7169. -set project priorities.
  7170. -
  7171. -Automatically use Tor hidden services
  7172. --------------------------------------
  7173. -
  7174. -Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket
  7175. -API, to create and destroy 'ephemeral' hidden services programmatically.
  7176. -Litecoin Core has been updated to make use of this.
  7177. -
  7178. -This means that if Tor is running (and proper authorization is available),
  7179. -Litecoin Core automatically creates a hidden service to listen on, without
  7180. -manual configuration. Litecoin Core will also use Tor automatically to connect
  7181. -to other .onion nodes if the control socket can be successfully opened. This
  7182. -will positively affect the number of available .onion nodes and their usage.
  7183. -
  7184. -This new feature is enabled by default if Litecoin Core is listening, and
  7185. -a connection to Tor can be made. It can be configured with the `-listenonion`,
  7186. -`-torcontrol` and `-torpassword` settings. To show verbose debugging
  7187. -information, pass `-debug=tor`.
  7188. -
  7189. -Notifications through ZMQ
  7190. --------------------------
  7191. -
  7192. -Litecoind can now (optionally) asynchronously notify clients through a
  7193. -ZMQ-based PUB socket of the arrival of new transactions and blocks.
  7194. -This feature requires installation of the ZMQ C API library 4.x and
  7195. -configuring its use through the command line or configuration file.
  7196. -Please see [docs/zmq.md](/doc/zmq.md) for details of operation.
  7197. -
  7198. -Wallet: Transaction fees
  7199. -------------------------
  7200. -
  7201. -Various improvements have been made to how the wallet calculates
  7202. -transaction fees.
  7203. -
  7204. -Users can decide to pay a predefined fee rate by setting `-paytxfee=<n>`
  7205. -(or `settxfee <n>` rpc during runtime). A value of `n=0` signals Litecoin
  7206. -Core to use floating fees. By default, Litecoin Core will use floating
  7207. -fees.
  7208. -
  7209. -Based on past transaction data, floating fees approximate the fees
  7210. -required to get into the `m`th block from now. This is configurable
  7211. -with `-txconfirmtarget=<m>` (default: `2`).
  7212. -
  7213. -Sometimes, it is not possible to give good estimates, or an estimate
  7214. -at all. Therefore, a fallback value can be set with `-fallbackfee=<f>`
  7215. -(default: `0.0002` LTC/kB).
  7216. -
  7217. -At all times, Litecoin Core will cap fees at `-maxtxfee=<x>` (default:
  7218. -0.10) LTC.
  7219. -Furthermore, Litecoin Core will never create transactions paying less than
  7220. -the current minimum relay fee.
  7221. -Finally, a user can set the minimum fee rate for all transactions with
  7222. -`-mintxfee=<i>`, which defaults to 1000 satoshis per kB.
  7223. -
  7224. -Wallet: Negative confirmations and conflict detection
  7225. ------------------------------------------------------
  7226. -
  7227. -The wallet will now report a negative number for confirmations that indicates
  7228. -how deep in the block chain the conflict is found. For example, if a transaction
  7229. -A has 5 confirmations and spends the same input as a wallet transaction B, B
  7230. -will be reported as having -5 confirmations. If another wallet transaction C
  7231. -spends an output from B, it will also be reported as having -5 confirmations.
  7232. -To detect conflicts with historical transactions in the chain a one-time
  7233. -`-rescan` may be needed.
  7234. -
  7235. -Unlike earlier versions, unconfirmed but non-conflicting transactions will never
  7236. -get a negative confirmation count. They are not treated as spendable unless
  7237. -they're coming from ourself (change) and accepted into our local mempool,
  7238. -however. The new "trusted" field in the `listtransactions` RPC output
  7239. -indicates whether outputs of an unconfirmed transaction are considered
  7240. -spendable.
  7241. -
  7242. -Wallet: Merkle branches removed
  7243. --------------------------------
  7244. -
  7245. -Previously, every wallet transaction stored a Merkle branch to prove its
  7246. -presence in blocks. This wasn't being used for more than an expensive
  7247. -sanity check. Since 0.13.2, these are no longer stored. When loading a
  7248. -0.13.2 wallet into an older version, it will automatically rescan to avoid
  7249. -failed checks.
  7250. -
  7251. -Wallet: Pruning
  7252. ----------------
  7253. -
  7254. -With 0.13.2 it is possible to use wallet functionality in pruned mode.
  7255. -This can reduce the disk usage from currently around 6 GB to
  7256. -around 0.2 GB.
  7257. -
  7258. -However, rescans as well as the RPCs `importwallet`, `importaddress`,
  7259. -`importprivkey` are disabled.
  7260. -
  7261. -To enable block pruning set `prune=<N>` on the command line or in
  7262. -`litecoin.conf`, where `N` is the number of MiB to allot for
  7263. -raw block & undo data.
  7264. -
  7265. -A value of 0 disables pruning. The minimal value above 0 is 550. Your
  7266. -wallet is as secure with high values as it is with low ones. Higher
  7267. -values merely ensure that your node will not shut down upon blockchain
  7268. -reorganizations of more than 2 days - which are unlikely to happen in
  7269. -practice. In future releases, a higher value may also help the network
  7270. -as a whole: stored blocks could be served to other nodes.
  7271. -
  7272. -For further information about pruning, you may also consult the [release
  7273. -notes of Bitcoin Core v0.11.0](https://github.com/bitcoin/bitcoin/blob/v0.11.0/doc/release-notes.md#block-file-pruning).
  7274. -
  7275. -`NODE_BLOOM` service bit
  7276. -------------------------
  7277. -
  7278. -Support for the `NODE_BLOOM` service bit, as described in [BIP
  7279. -111](https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki), has been
  7280. -added to the P2P protocol code.
  7281. -
  7282. -BIP 111 defines a service bit to allow peers to advertise that they support
  7283. -bloom filters (such as used by SPV clients) explicitly. It also bumps the protocol
  7284. -version to allow peers to identify old nodes which allow bloom filtering of the
  7285. -connection despite lacking the new service bit.
  7286. -
  7287. -In this version, it is only enforced for peers that send protocol versions
  7288. -`>=70011`. For the next major version it is planned that this restriction will be
  7289. -removed. It is recommended to update SPV clients to check for the `NODE_BLOOM`
  7290. -service bit for nodes that report versions newer than 70011.
  7291. -
  7292. -Option parsing behavior
  7293. ------------------------
  7294. -
  7295. -Command line options are now parsed strictly in the order in which they are
  7296. -specified. It used to be the case that `-X -noX` ends up, unintuitively, with X
  7297. -set, as `-X` had precedence over `-noX`. This is no longer the case. Like for
  7298. -other software, the last specified value for an option will hold.
  7299. -
  7300. -RPC: Low-level API changes
  7301. ---------------------------
  7302. -
  7303. -- Monetary amounts can be provided as strings. This means that for example the
  7304. -  argument to sendtoaddress can be "0.0001" instead of 0.0001. This can be an
  7305. -  advantage if a JSON library insists on using a lossy floating point type for
  7306. -  numbers, which would be dangerous for monetary amounts.
  7307. -
  7308. -* The `asm` property of each scriptSig now contains the decoded signature hash
  7309. -  type for each signature that provides a valid defined hash type.
  7310. -
  7311. -* OP_NOP2 has been renamed to OP_CHECKLOCKTIMEVERIFY by [BIP 65](https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki)
  7312. -
  7313. -The following items contain assembly representations of scriptSig signatures
  7314. -and are affected by this change:
  7315. -
  7316. -- RPC `getrawtransaction`
  7317. -- RPC `decoderawtransaction`
  7318. -- RPC `decodescript`
  7319. -- REST `/rest/tx/` (JSON format)
  7320. -- REST `/rest/block/` (JSON format when including extended tx details)
  7321. -- `litecoin-tx -json`
  7322. -
  7323. -For example, the `scriptSig.asm` property of a transaction input that
  7324. -previously showed an assembly representation of:
  7325. -
  7326. -    304502207fa7a6d1e0ee81132a269ad84e68d695483745cde8b541e3bf630749894e342a022100c1f7ab20e13e22fb95281a870f3dcf38d782e53023ee313d741ad0cfbc0c509001 400000 OP_NOP2
  7327. -
  7328. -now shows as:
  7329. -
  7330. -    304502207fa7a6d1e0ee81132a269ad84e68d695483745cde8b541e3bf630749894e342a022100c1f7ab20e13e22fb95281a870f3dcf38d782e53023ee313d741ad0cfbc0c5090[ALL] 400000 OP_CHECKLOCKTIMEVERIFY
  7331. -
  7332. -Note that the output of the RPC `decodescript` did not change because it is
  7333. -configured specifically to process scriptPubKey and not scriptSig scripts.
  7334. -
  7335. -RPC: SSL support dropped
  7336. -------------------------
  7337. -
  7338. -SSL support for RPC, previously enabled by the option `rpcssl` has been dropped
  7339. -from both the client and the server. This was done in preparation for removing
  7340. -the dependency on OpenSSL for the daemon completely.
  7341. -
  7342. -Trying to use `rpcssl` will result in an error:
  7343. -
  7344. -    Error: SSL mode for RPC (-rpcssl) is no longer supported.
  7345. -
  7346. -If you are one of the few people that relies on this feature, a flexible
  7347. -migration path is to use `stunnel`. This is an utility that can tunnel
  7348. -arbitrary TCP connections inside SSL. On e.g. Ubuntu it can be installed with:
  7349. -
  7350. -    sudo apt-get install stunnel4
  7351. -
  7352. -Then, to tunnel a SSL connection on 29332 to a RPC server bound on localhost on port 19334 do:
  7353. -
  7354. -    stunnel -d 29332 -r 127.0.0.1:19334 -p stunnel.pem -P ''
  7355. -
  7356. -It can also be set up system-wide in inetd style.
  7357. -
  7358. -Another way to re-attain SSL would be to setup a httpd reverse proxy. This solution
  7359. -would allow the use of different authentication, loadbalancing, on-the-fly compression and
  7360. -caching. A sample config for apache2 could look like:
  7361. -
  7362. -    Listen 443
  7363. -
  7364. -    NameVirtualHost *:443
  7365. -    <VirtualHost *:443>
  7366. -
  7367. -    SSLEngine On
  7368. -    SSLCertificateFile /etc/apache2/ssl/server.crt
  7369. -    SSLCertificateKeyFile /etc/apache2/ssl/server.key
  7370. -
  7371. -    <Location /litecoinrpc>
  7372. -        ProxyPass http://127.0.0.1:9332/
  7373. -        ProxyPassReverse http://127.0.0.1:9332/
  7374. -        # optional enable digest auth
  7375. -        # AuthType Digest
  7376. -        # ...
  7377. -
  7378. -        # optional bypass litecoind rpc basic auth
  7379. -        # RequestHeader set Authorization "Basic <hash>"
  7380. -        # get the <hash> from the shell with: base64 <<< litecoinrpc:<password>
  7381. -    </Location>
  7382. -
  7383. -    # Or, balance the load:
  7384. -    # ProxyPass / balancer://balancer_cluster_name
  7385. -
  7386. -    </VirtualHost>
  7387. -
  7388. -Other P2P Changes
  7389. ------------------
  7390. -
  7391. -The list of banned peers is now stored on disk rather than in memory.
  7392. -Restarting litecoind will no longer clear out the list of banned peers; instead
  7393. -a new RPC call (`clearbanned`) can be used to manually clear the list.  The new
  7394. -`setban` RPC call can also be used to manually ban or unban a peer.
  7395. -
  7396. -Database cache memory increased
  7397. ---------------------------------
  7398. -
  7399. -As a result of growth of the UTXO set, performance with the prior default
  7400. -database cache of 100 MiB has suffered.
  7401. -For this reason the default was changed to 300 MiB in this release.
  7402. -
  7403. -For nodes on low-memory systems, the database cache can be changed back to
  7404. -100 MiB (or to another value) by either:
  7405. -
  7406. -- Adding `dbcache=100` in litecoin.conf
  7407. -- Changing it in the GUI under `Options ? Size of database cache`
  7408. -
  7409. -Note that the database cache setting has the most performance impact
  7410. -during initial sync of a node, and when catching up after downtime.
  7411. -
  7412. -
  7413. -litecoin-cli: arguments privacy
  7414. -------------------------------
  7415. -
  7416. -The RPC command line client gained a new argument, `-stdin`
  7417. -to read extra arguments from standard input, one per line until EOF/Ctrl-D.
  7418. -For example:
  7419. -
  7420. -    $ src/litecoin-cli -stdin walletpassphrase
  7421. -    mysecretcode
  7422. -    120
  7423. -    ..... press Ctrl-D here to end input
  7424. -    $
  7425. -
  7426. -It is recommended to use this for sensitive information such as wallet
  7427. -passphrases, as command-line arguments can usually be read from the process
  7428. -table by any user on the system.
  7429. -
  7430. -
  7431. -C++11 and Python 3
  7432. -------------------
  7433. -
  7434. -Various code modernizations have been done. The Litecoin Core code base has
  7435. -started using C++11. This means that a C++11-capable compiler is now needed for
  7436. -building. Effectively this means GCC 4.7 or higher, or Clang 3.3 or higher.
  7437. -
  7438. -When cross-compiling for a target that doesn't have C++11 libraries, configure with
  7439. -`./configure --enable-glibc-back-compat ... LDFLAGS=-static-libstdc++`.
  7440. -
  7441. -For running the functional tests in `qa/rpc-tests`, Python3.4 or higher is now
  7442. -required.
  7443. -
  7444. -
  7445. -Linux ARM builds
  7446. -----------------
  7447. -
  7448. -Due to popular request, Linux ARM builds have been added to the uploaded
  7449. -executables.
  7450. -
  7451. -The following extra files can be found in the download directory or torrent:
  7452. -
  7453. -- `litecoin-${VERSION}-arm-linux-gnueabihf.tar.gz`: Linux binaries for the most
  7454. -  common 32-bit ARM architecture.
  7455. -- `litecoin-${VERSION}-aarch64-linux-gnu.tar.gz`: Linux binaries for the most
  7456. -  common 64-bit ARM architecture.
  7457. -
  7458. -ARM builds are still experimental. If you have problems on a certain device or
  7459. -Linux distribution combination please report them on the bug tracker, it may be
  7460. -possible to resolve them.
  7461. -
  7462. -Note that Android is not considered ARM Linux in this context. The executables
  7463. -are not expected to work out of the box on Android.
  7464. -
  7465. -BIP68 soft fork to enforce sequence locks for relative locktime
  7466. ----------------------------------------------------------------
  7467. -
  7468. -[BIP68][] introduces relative lock-time consensus-enforced semantics of
  7469. -the sequence number field to enable a signed transaction input to remain
  7470. -invalid for a defined period of time after confirmation of its corresponding
  7471. -outpoint.
  7472. -
  7473. -For more information about the implementation, see
  7474. -<https://github.com/bitcoin/bitcoin/pull/7184>
  7475. -
  7476. -BIP112 soft fork to enforce OP_CHECKSEQUENCEVERIFY
  7477. ---------------------------------------------------
  7478. -
  7479. -[BIP112][] redefines the existing OP_NOP3 as OP_CHECKSEQUENCEVERIFY (CSV)
  7480. -for a new opcode in the Litecoin scripting system that in combination with
  7481. -[BIP68][] allows execution pathways of a script to be restricted based
  7482. -on the age of the output being spent.
  7483. -
  7484. -For more information about the implementation, see
  7485. -<https://github.com/bitcoin/bitcoin/pull/7524>
  7486. -
  7487. -BIP113 locktime enforcement soft fork
  7488. --------------------------------------
  7489. -
  7490. -This release seeks to make mempool-only locktime enforcement using GetMedianTimePast()
  7491. -a consensus rule.
  7492. -
  7493. -Litecoin transactions currently may specify a locktime indicating when
  7494. -they may be added to a valid block.  Current consensus rules require
  7495. -that blocks have a block header time greater than the locktime specified
  7496. -in any transaction in that block.
  7497. -
  7498. -Miners get to choose what time they use for their header time, with the
  7499. -consensus rule being that no node will accept a block whose time is more
  7500. -than two hours in the future.  This creates a incentive for miners to
  7501. -set their header times to future values in order to include locktimed
  7502. -transactions which weren't supposed to be included for up to two more
  7503. -hours.
  7504. -
  7505. -The consensus rules also specify that valid blocks may have a header
  7506. -time greater than that of the median of the 11 previous blocks.  This
  7507. -GetMedianTimePast() time has a key feature we generally associate with
  7508. -time: it can't go backwards.
  7509. -
  7510. -[BIP113][] specifies a soft fork enforced in this release that
  7511. -weakens this perverse incentive for individual miners to use a future
  7512. -time by requiring that valid blocks have a computed GetMedianTimePast()
  7513. -greater than the locktime specified in any transaction in that block.
  7514. -
  7515. -Mempool inclusion rules currently require transactions to be valid for
  7516. -immediate inclusion in a block in order to be accepted into the mempool.
  7517. -This release begins applying the BIP113 rule to received transactions,
  7518. -so transaction whose time is greater than the GetMedianTimePast() will
  7519. -no longer be accepted into the mempool.
  7520. -
  7521. -**Implication for miners:** you will begin rejecting transactions that
  7522. -would not be valid under BIP113, which will prevent you from producing
  7523. -invalid blocks when BIP113 is enforced on the network. Any
  7524. -transactions which are valid under the current rules but not yet valid
  7525. -under the BIP113 rules will either be mined by other miners or delayed
  7526. -until they are valid under BIP113. Note, however, that time-based
  7527. -locktime transactions are more or less unseen on the network currently.
  7528. -
  7529. -**Implication for users:** GetMedianTimePast() always trails behind the
  7530. -current time, so a transaction locktime set to the present time will be
  7531. -rejected by nodes running this release until the median time moves
  7532. -forward. To compensate, subtract one hour (3,600 seconds) from your
  7533. -locktimes to allow those transactions to be included in mempools at
  7534. -approximately the expected time.
  7535. -
  7536. -For more information about the implementation, see
  7537. -<https://github.com/bitcoin/bitcoin/pull/6566>
  7538. -
  7539. -
  7540. -Compact Block support (BIP 152)
  7541. --------------------------------
  7542. -
  7543. -Support for block relay using the Compact Blocks protocol has been implemented
  7544. -in PR 8068.
  7545. -
  7546. -The primary goal is reducing the bandwidth spikes at relay time, though in many
  7547. -cases it also reduces propagation delay. It is automatically enabled between
  7548. -compatible peers.
  7549. -[BIP 152](https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki)
  7550. -
  7551. -As a side-effect, ordinary non-mining nodes will download and upload blocks
  7552. -faster if those blocks were produced by miners using similar transaction
  7553. -filtering policies. This means that a miner who produces a block with many
  7554. -transactions discouraged by your node will be relayed slower than one with
  7555. -only transactions already in your memory pool. The overall effect of such
  7556. -relay differences on the network may result in blocks which include widely-
  7557. -discouraged transactions losing a stale block race, and therefore miners may
  7558. -wish to configure their node to take common relay policies into consideration.
  7559. -
  7560. -
  7561. -Hierarchical Deterministic Key Generation
  7562. ------------------------------------------
  7563. -Newly created wallets will use hierarchical deterministic key generation
  7564. -according to BIP32 (keypath m/0'/0'/k').
  7565. -Existing wallets will still use traditional key generation.
  7566. -
  7567. -Backups of HD wallets, regardless of when they have been created, can
  7568. -therefore be used to re-generate all possible private keys, even the
  7569. -ones which haven't already been generated during the time of the backup.
  7570. -**Attention:** Encrypting the wallet will create a new seed which requires
  7571. -a new backup!
  7572. -
  7573. -Wallet dumps (created using the `dumpwallet` RPC) will contain the deterministic
  7574. -seed. This is expected to allow future versions to import the seed and all
  7575. -associated funds, but this is not yet implemented.
  7576. -
  7577. -HD key generation for new wallets can be disabled by `-usehd=0`. Keep in
  7578. -mind that this flag only has affect on newly created wallets.
  7579. -You can't disable HD key generation once you have created a HD wallet.
  7580. -
  7581. -There is no distinction between internal (change) and external keys.
  7582. -
  7583. -HD wallets are incompatible with older versions of Litecoin Core.
  7584. -
  7585. -[Pull request](https://github.com/bitcoin/bitcoin/pull/8035/files), [BIP 32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)
  7586. -
  7587. -
  7588. -Mining transaction selection ("Child Pays For Parent")
  7589. -------------------------------------------------------
  7590. -
  7591. -The mining transaction selection algorithm has been replaced with an algorithm
  7592. -that selects transactions based on their feerate inclusive of unconfirmed
  7593. -ancestor transactions.  This means that a low-fee transaction can become more
  7594. -likely to be selected if a high-fee transaction that spends its outputs is
  7595. -relayed.
  7596. -
  7597. -With this change, the `-blockminsize` command line option has been removed.
  7598. -
  7599. -The command line option `-blockmaxsize` remains an option to specify the
  7600. -maximum number of serialized bytes in a generated block.  In addition, the new
  7601. -command line option `-blockmaxweight` has been added, which specifies the
  7602. -maximum "block weight" of a generated block, as defined by [BIP 141 (Segregated
  7603. -Witness)] (https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki).
  7604. -
  7605. -In preparation for Segregated Witness, the mining algorithm has been modified
  7606. -to optimize transaction selection for a given block weight, rather than a given
  7607. -number of serialized bytes in a block.  In this release, transaction selection
  7608. -is unaffected by this distinction (as BIP 141 activation is not supported on
  7609. -mainnet in this release, see above), but in future releases and after BIP 141
  7610. -activation, these calculations would be expected to differ.
  7611. -
  7612. -For optimal runtime performance, miners using this release should specify
  7613. -`-blockmaxweight` on the command line, and not specify `-blockmaxsize`.
  7614. -Additionally (or only) specifying `-blockmaxsize`, or relying on default
  7615. -settings for both, may result in performance degradation, as the logic to
  7616. -support `-blockmaxsize` performs additional computation to ensure that
  7617. -constraint is met.  (Note that for mainnet, in this release, the equivalent
  7618. -parameter for `-blockmaxweight` would be four times the desired
  7619. -`-blockmaxsize`.  See [BIP 141]
  7620. -(https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki) for additional
  7621. -details.)
  7622. -
  7623. -In the future, the `-blockmaxsize` option may be removed, as block creation is
  7624. -no longer optimized for this metric.  Feedback is requested on whether to
  7625. -deprecate or keep this command line option in future releases.
  7626. -
  7627. -
  7628. -Reindexing changes
  7629. -------------------
  7630. -
  7631. -In earlier versions, reindexing did validation while reading through the block
  7632. -files on disk. These two have now been split up, so that all blocks are known
  7633. -before validation starts. This was necessary to make certain optimizations that
  7634. -are available during normal synchronizations also available during reindexing.
  7635. -
  7636. -The two phases are distinct in the Litecoin-Qt GUI. During the first one,
  7637. -"Reindexing blocks on disk" is shown. During the second (slower) one,
  7638. -"Processing blocks on disk" is shown.
  7639. -
  7640. -It is possible to only redo validation now, without rebuilding the block index,
  7641. -using the command line option `-reindex-chainstate` (in addition to
  7642. -`-reindex` which does both). This new option is useful when the blocks on disk
  7643. -are assumed to be fine, but the chainstate is still corrupted. It is also
  7644. -useful for benchmarks.
  7645. -
  7646. -
  7647. -Removal of internal miner
  7648. ---------------------------
  7649. -
  7650. -As CPU mining has been useless for a long time, the internal miner has been
  7651. -removed in this release, and replaced with a simpler implementation for the
  7652. -test framework.
  7653. -
  7654. -The overall result of this is that `setgenerate` RPC call has been removed, as
  7655. -well as the `-gen` and `-genproclimit` command-line options.
  7656. -
  7657. -For testing, the `generate` call can still be used to mine a block, and a new
  7658. -RPC call `generatetoaddress` has been added to mine to a specific address. This
  7659. -works with wallet disabled.
  7660. -
  7661. -
  7662. -New bytespersigop implementation
  7663. ---------------------------------
  7664. -
  7665. -The former implementation of the bytespersigop filter accidentally broke bare
  7666. -multisig (which is meant to be controlled by the `permitbaremultisig` option),
  7667. -since the consensus protocol always counts these older transaction forms as 20
  7668. -sigops for backwards compatibility. Simply fixing this bug by counting more
  7669. -accurately would have reintroduced a vulnerability. It has therefore been
  7670. -replaced with a new implementation that rather than filter such transactions,
  7671. -instead treats them (for fee purposes only) as if they were in fact the size
  7672. -of a transaction actually using all 20 sigops.
  7673. -
  7674. -
  7675. -Low-level P2P changes
  7676. -----------------------
  7677. -
  7678. -- The optional new p2p message "feefilter" is implemented and the protocol
  7679. -  version is bumped to 70013. Upon receiving a feefilter message from a peer,
  7680. -  a node will not send invs for any transactions which do not meet the filter
  7681. -  feerate. [BIP 133](https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki)
  7682. -
  7683. -- The P2P alert system has been removed in PR #7692 and the `alert` P2P message
  7684. -  is no longer supported.
  7685. -
  7686. -- The transaction relay mechanism used to relay one quarter of all transactions
  7687. -  instantly, while queueing up the rest and sending them out in batch. As
  7688. -  this resulted in chains of dependent transactions being reordered, it
  7689. -  systematically hurt transaction relay. The relay code was redesigned in PRs
  7690. -  \#7840 and #8082, and now always batches transactions announcements while also
  7691. -  sorting them according to dependency order. This significantly reduces orphan
  7692. -  transactions. To compensate for the removal of instant relay, the frequency of
  7693. -  batch sending was doubled for outgoing peers.
  7694. -
  7695. -- Since PR #7840 the BIP35 `mempool` command is also subject to batch processing.
  7696. -  Also the `mempool` message is no longer handled for non-whitelisted peers when
  7697. -  `NODE_BLOOM` is disabled through `-peerbloomfilters=0`.
  7698. -
  7699. -- The maximum size of orphan transactions that are kept in memory until their
  7700. -  ancestors arrive has been raised in PR #8179 from 5000 to 99999 bytes. They
  7701. -  are now also removed from memory when they are included in a block, conflict
  7702. -  with a block, and time out after 20 minutes.
  7703. -
  7704. -- We respond at most once to a getaddr request during the lifetime of a
  7705. -  connection since PR #7856.
  7706. -
  7707. -- Connections to peers who have recently been the first one to give us a valid
  7708. -  new block or transaction are protected from disconnections since PR #8084.
  7709. -
  7710. -
  7711. -Low-level RPC changes
  7712. -----------------------
  7713. -
  7714. -- RPC calls have been added to output detailed statistics for individual mempool
  7715. -  entries, as well as to calculate the in-mempool ancestors or descendants of a
  7716. -  transaction: see `getmempoolentry`, `getmempoolancestors`, `getmempooldescendants`.
  7717. -
  7718. -- `gettxoutsetinfo` UTXO hash (`hash_serialized`) has changed. There was a divergence between
  7719. -  32-bit and 64-bit platforms, and the txids were missing in the hashed data. This has been
  7720. -  fixed, but this means that the output will be different than from previous versions.
  7721. -
  7722. -- Full UTF-8 support in the RPC API. Non-ASCII characters in, for example,
  7723. -  wallet labels have always been malformed because they weren't taken into account
  7724. -  properly in JSON RPC processing. This is no longer the case. This also affects
  7725. -  the GUI debug console.
  7726. -
  7727. -- Asm script outputs replacements for OP_NOP2 and OP_NOP3
  7728. -
  7729. -  - OP_NOP2 has been renamed to OP_CHECKLOCKTIMEVERIFY by [BIP
  7730. -65](https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki)
  7731. -
  7732. -  - OP_NOP3 has been renamed to OP_CHECKSEQUENCEVERIFY by [BIP
  7733. -112](https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki)
  7734. -
  7735. -  - The following outputs are affected by this change:
  7736. -
  7737. -    - RPC `getrawtransaction` (in verbose mode)
  7738. -    - RPC `decoderawtransaction`
  7739. -    - RPC `decodescript`
  7740. -    - REST `/rest/tx/` (JSON format)
  7741. -    - REST `/rest/block/` (JSON format when including extended tx details)
  7742. -    - `litecoin-tx -json`
  7743. -
  7744. -- The sorting of the output of the `getrawmempool` output has changed.
  7745. -
  7746. -- New RPC commands: `generatetoaddress`, `importprunedfunds`, `removeprunedfunds`, `signmessagewithprivkey`,
  7747. -  `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry`,
  7748. -  `createwitnessaddress`, `addwitnessaddress`.
  7749. -
  7750. -- Removed RPC commands: `setgenerate`, `getgenerate`.
  7751. -
  7752. -- New options were added to `fundrawtransaction`: `includeWatching`, `changeAddress`, `changePosition` and `feeRate`.
  7753. -
  7754. -
  7755. -Low-level ZMQ changes
  7756. -----------------------
  7757. -
  7758. -- Each ZMQ notification now contains an up-counting sequence number that allows
  7759. -  listeners to detect lost notifications.
  7760. -  The sequence number is always the last element in a multi-part ZMQ notification and
  7761. -  therefore backward compatible. Each message type has its own counter.
  7762. -  PR [#7762](https://github.com/bitcoin/bitcoin/pull/7762).
  7763. -
  7764. -Segregated witness soft fork
  7765. -----------------------------
  7766. -
  7767. -Segregated witness (segwit) is a soft fork that, if activated, will
  7768. -allow transaction-producing software to separate (segregate) transaction
  7769. -signatures (witnesses) from the part of the data in a transaction that is
  7770. -covered by the txid. This provides several immediate benefits:
  7771. -
  7772. -- **Elimination of unwanted transaction malleability:** Segregating the witness
  7773. -  allows both existing and upgraded software to calculate the transaction
  7774. -  identifier (txid) of transactions without referencing the witness, which can
  7775. -  sometimes be changed by third-parties (such as miners) or by co-signers in a
  7776. -  multisig spend. This solves all known cases of unwanted transaction
  7777. -  malleability, which is a problem that makes programming Litecoin wallet
  7778. -  software more difficult and which seriously complicates the design of smart
  7779. -  contracts for Litecoin.
  7780. -
  7781. -- **Capacity increase:** Segwit transactions contain new fields that are not
  7782. -  part of the data currently used to calculate the size of a block, which
  7783. -  allows a block containing segwit transactions to hold more data than allowed
  7784. -  by the current maximum block size. Estimates based on the transactions
  7785. -  currently found in blocks indicate that if all wallets switch to using
  7786. -  segwit, the network will be able to support about 70% more transactions. The
  7787. -  network will also be able to support more of the advanced-style payments
  7788. -  (such as multisig) than it can support now because of the different weighting
  7789. -  given to different parts of a transaction after segwit activates (see the
  7790. -  following section for details).
  7791. -
  7792. -- **Weighting data based on how it affects node performance:** Some parts of
  7793. -  each Litecoin block need to be stored by nodes in order to validate future
  7794. -  blocks; other parts of a block can be immediately forgotten (pruned) or used
  7795. -  only for helping other nodes sync their copy of the block chain.  One large
  7796. -  part of the immediately prunable data are transaction signatures (witnesses),
  7797. -  and segwit makes it possible to give a different "weight" to segregated
  7798. -  witnesses to correspond with the lower demands they place on node resources.
  7799. -  Specifically, each byte of a segregated witness is given a weight of 1, each
  7800. -  other byte in a block is given a weight of 4, and the maximum allowed weight
  7801. -  of a block is 4 million.  Weighting the data this way better aligns the most
  7802. -  profitable strategy for creating blocks with the long-term costs of block
  7803. -  validation.
  7804. -
  7805. -- **Signature covers value:** A simple improvement in the way signatures are
  7806. -  generated in segwit simplifies the design of secure signature generators
  7807. -  (such as hardware wallets), reduces the amount of data the signature
  7808. -  generator needs to download, and allows the signature generator to operate
  7809. -  more quickly.  This is made possible by having the generator sign the amount
  7810. -  of litecoins they think they are spending, and by having full nodes refuse to
  7811. -  accept those signatures unless the amount of litecoins being spent is exactly
  7812. -  the same as was signed.  For non-segwit transactions, wallets instead had to
  7813. -  download the complete previous transactions being spent for every payment
  7814. -  they made, which could be a slow operation on hardware wallets and in other
  7815. -  situations where bandwidth or computation speed was constrained.
  7816. -
  7817. -- **Linear scaling of sighash operations:** In 2015 a block was produced that
  7818. -  required about 25 seconds to validate on modern hardware because of the way
  7819. -  transaction signature hashes are performed.  Other similar blocks, or blocks
  7820. -  that could take even longer to validate, can still be produced today.  The
  7821. -  problem that caused this can't be fixed in a soft fork without unwanted
  7822. -  side-effects, but transactions that opt-in to using segwit will now use a
  7823. -  different signature method that doesn't suffer from this problem and doesn't
  7824. -  have any unwanted side-effects.
  7825. -
  7826. -- **Increased security for multisig:** Litecoin addresses (both P2PKH addresses
  7827. -  that start with a '1' and P2SH addresses that start with a '3' or 'M') use a hash
  7828. -  function known as RIPEMD-160.  For P2PKH addresses, this provides about 160
  7829. -  bits of security---which is beyond what cryptographers believe can be broken
  7830. -  today.  But because P2SH is more flexible, only about 80 bits of security is
  7831. -  provided per address. Although 80 bits is very strong security, it is within
  7832. -  the realm of possibility that it can be broken by a powerful adversary.
  7833. -  Segwit allows advanced transactions to use the SHA256 hash function instead,
  7834. -  which provides about 128 bits of security  (that is 281 trillion times as
  7835. -  much security as 80 bits and is equivalent to the maximum bits of security
  7836. -  believed to be provided by Litecoin's choice of parameters for its Elliptic
  7837. -  Curve Digital Security Algorithm [ECDSA].)
  7838. -
  7839. -- **More efficient almost-full-node security** Satoshi Nakamoto's original
  7840. -  Bitcoin paper describes a method for allowing newly-started full nodes to
  7841. -  skip downloading and validating some data from historic blocks that are
  7842. -  protected by large amounts of proof of work.  Unfortunately, Nakamoto's
  7843. -  method can't guarantee that a newly-started node using this method will
  7844. -  produce an accurate copy of Litecoin's current ledger (called the UTXO set),
  7845. -  making the node vulnerable to falling out of consensus with other nodes.
  7846. -  Although the problems with Nakamoto's method can't be fixed in a soft fork,
  7847. -  Segwit accomplishes something similar to his original proposal: it makes it
  7848. -  possible for a node to optionally skip downloading some blockchain data
  7849. -  (specifically, the segregated witnesses) while still ensuring that the node
  7850. -  can build an accurate copy of the UTXO set for the block chain with the most
  7851. -  proof of work.  Segwit enables this capability at the consensus layer, but
  7852. -  note that Litecoin Core does not provide an option to use this capability as
  7853. -  of this 0.13.2 release.
  7854. -
  7855. -- **Script versioning:** Segwit makes it easy for future soft forks to allow
  7856. -  Litecoin users to individually opt-in to almost any change in the Litecoin
  7857. -  Script language when those users receive new transactions.  Features
  7858. -  currently being researched by Bitcoin and Litecoin Core contributors that may
  7859. -  use this capability include support for Schnorr signatures, which can improve
  7860. -  the privacy and efficiency of multisig transactions (or transactions with
  7861. -  multiple inputs), and Merklized Abstract Syntax Trees (MAST), which can
  7862. -  improve the privacy and efficiency of scripts with two or more conditions.
  7863. -  Other Bitcoin community members are studying several other improvements
  7864. -  that can be made using script versioning.
  7865. -
  7866. -Activation for the segwit soft fork is being managed using
  7867. -BIP9. At the beginning of the first retarget period after
  7868. -segwit's start date of 1 January 2017 miners can update the Litecoin
  7869. -client to Litecoin Core 0.13.2 to signal for segwit support. When a
  7870. -super-majority of 75% is reached segwit is activated by optional, and
  7871. -if 75% of blocks within a 8,064-block retarget period (about 3.5 days)
  7872. -signal support for segwit, after another 8,064 blocks, segwit will
  7873. -be required.
  7874. -
  7875. -For more information about segwit, please see the [segwit FAQ][], the
  7876. -[segwit wallet developers guide][] or BIPs [141][BIP141], [143][BIP143],
  7877. -[144][BIP144], and [145][BIP145].
  7878. -
  7879. -[Segwit FAQ]: https://bitcoincore.org/en/2016/01/26/segwit-benefits/
  7880. -[segwit wallet developers guide]: https://bitcoincore.org/en/segwit_wallet_dev/
  7881. -[BIP141]: https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
  7882. -[BIP143]: https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki
  7883. -[BIP144]: https://github.com/bitcoin/bips/blob/master/bip-0144.mediawiki
  7884. -[BIP145]: https://github.com/bitcoin/bips/blob/master/bip-0145.mediawiki
  7885. -
  7886. -
  7887. -Null dummy soft fork
  7888. --------------------
  7889. -
  7890. -Combined with the segwit soft fork is an additional change that turns a
  7891. -long-existing network relay policy into a consensus rule. The
  7892. -`OP_CHECKMULTISIG` and `OP_CHECKMULTISIGVERIFY` opcodes consume an extra
  7893. -stack element ("dummy element") after signature validation. The dummy
  7894. -element is not inspected in any manner, and could be replaced by any
  7895. -value without invalidating the script.
  7896. -
  7897. -Because any value can be used for this dummy element, it's possible for
  7898. -a third-party to insert data into other people's transactions, changing
  7899. -the transaction's txid (called transaction malleability) and possibly
  7900. -causing other problems.
  7901. -
  7902. -Since Litecoin Core 0.10.0, nodes have defaulted to only relaying and
  7903. -mining transactions whose dummy element was a null value (0x00, also
  7904. -called OP_0).  The null dummy soft fork turns this relay rule into a
  7905. -consensus rule both for non-segwit transactions and segwit transactions,
  7906. -so that this method of mutating transactions is permanently eliminated
  7907. -from the network.
  7908. -
  7909. -Signaling for the null dummy soft fork is done by signaling support
  7910. -for segwit, and the null dummy soft fork will activate at the same time
  7911. -as segwit.
  7912. -
  7913. -For more information, please see [BIP147][].
  7914. -
  7915. -[BIP147]: https://github.com/bitcoin/bips/blob/master/bip-0147.mediawiki
  7916. -
  7917. -Low-level RPC changes
  7918. ----------------------
  7919. -
  7920. -- `importprunedfunds` only accepts two required arguments. Some versions accept
  7921. -  an optional third arg, which was always ignored. Make sure to never pass more
  7922. -  than two arguments.
  7923. -
  7924. -
  7925. -Linux ARM builds
  7926. -----------------
  7927. -
  7928. -Pre-built Linux ARM binaries have been added to the set of uploaded executables.
  7929. -Additional detail on the ARM architecture targeted by each is provided below.
  7930. -
  7931. -The following extra files can be found in the download directory or torrent:
  7932. -
  7933. -- `litecoin-${VERSION}-arm-linux-gnueabihf.tar.gz`: Linux binaries targeting
  7934. -  the 32-bit ARMv7-A architecture.
  7935. -- `litecoin-${VERSION}-aarch64-linux-gnu.tar.gz`: Linux binaries targeting
  7936. -  the 64-bit ARMv8-A architecture.
  7937. -
  7938. -ARM builds are still experimental. If you have problems on a certain device or
  7939. -Linux distribution combination please report them on the bug tracker, it may be
  7940. -possible to resolve them. Note that the device you use must be (backward)
  7941. -compatible with the architecture targeted by the binary that you use.
  7942. -For example, a Raspberry Pi 2 Model B or Raspberry Pi 3 Model B (in its 32-bit
  7943. -execution state) device, can run the 32-bit ARMv7-A targeted binary. However,
  7944. -no model of Raspberry Pi 1 device can run either binary because they are all
  7945. -ARMv6 architecture devices that are not compatible with ARMv7-A or ARMv8-A.
  7946. -
  7947. -Note that Android is not considered ARM Linux in this context. The executables
  7948. -are not expected to work out of the box on Android.
  7949. -
  7950. -
  7951. -Change to wallet handling of mempool rejection
  7952. ------------------------------------------------
  7953. -
  7954. -When a newly created transaction failed to enter the mempool due to
  7955. -the limits on chains of unconfirmed transactions the sending RPC
  7956. -calls would return an error.  The transaction would still be queued
  7957. -in the wallet and, once some of the parent transactions were
  7958. -confirmed, broadcast after the software was restarted.
  7959. -
  7960. -This behavior has been changed to return success and to reattempt
  7961. -mempool insertion at the same time transaction rebroadcast is
  7962. -attempted, avoiding a need for a restart.
  7963. -
  7964. -Transactions in the wallet which cannot be accepted into the mempool
  7965. -can be abandoned with the previously existing abandontransaction RPC
  7966. -(or in the GUI via a context menu on the transaction).
  7967. -
  7968. -Credits
  7969. -=======
  7970. -
  7971. -Thanks to everyone who directly contributed to this release:
  7972. -
  7973. -- [The Bitcoin Core Developers](/doc/release-notes)
  7974. -- Charles Lee
  7975. -- Adrian Gallagher
  7976. -- shaolinfry
  7977. -- Xinxi Wang
  7978. -- Xinrong Guo
  7979. -- Fan Yang
  7980. -- Peng Sun
  7981. -- Loshan T
  7982. diff --git a/doc/litecoin-release-notes/release-notes-0.13.3.md b/doc/litecoin-release-notes/release-notes-0.13.3.md
  7983. deleted file mode 100644
  7984. index 3fc2dd0..0000000
  7985. --- a/doc/litecoin-release-notes/release-notes-0.13.3.md
  7986. +++ /dev/null
  7987. @@ -1,80 +0,0 @@
  7988. -Litecoin Core version 0.13.3 is now available from:
  7989. -
  7990. -  <https://download.litecoin.org/litecoin-0.13.3/>
  7991. -
  7992. -This is a new minor version release, including new features, various bugfixes and performance improvements.
  7993. -It is recommended to upgrade to this version.
  7994. -
  7995. -Please report bugs using the issue tracker at github:
  7996. -
  7997. -  <https://github.com/litecoin-project/litecoin/issues>
  7998. -
  7999. -Compatibility
  8000. -==============
  8001. -
  8002. -Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support),
  8003. -an OS initially released in 2001. This means that not even critical security
  8004. -updates will be released anymore. Without security updates, using a litecoin
  8005. -wallet on a XP machine is irresponsible at least.
  8006. -
  8007. -In addition to that, with 0.12.x there have been varied reports of Bitcoin Core
  8008. -randomly crashing on Windows XP. It is [not clear](https://github.com/bitcoin/bitcoin/issues/7681#issuecomment-217439891)
  8009. -what the source of these crashes is, but it is likely that upstream
  8010. -libraries such as Qt are no longer being tested on XP.
  8011. -
  8012. -We do not have time nor resources to provide support for an OS that is
  8013. -end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are
  8014. -suggested to upgrade to a newer version of Windows, or install an alternative OS
  8015. -that is supported.
  8016. -
  8017. -No attempt is made to prevent installing or running the software on Windows XP,
  8018. -you can still do so at your own risk, but do not expect it to work: do not
  8019. -report issues about Windows XP to the issue tracker.
  8020. -
  8021. -From 0.13.1 onwards OS X 10.7 is no longer supported. 0.13.0 was intended to work on 10.7+,
  8022. -but severe issues with the libc++ version on 10.7.x keep it from running reliably.
  8023. -0.13.1 now requires 10.8+, and will communicate that to 10.7 users, rather than crashing unexpectedly.
  8024. -
  8025. -Notable changes
  8026. -===============
  8027. -
  8028. -New Multisig Address Prefix
  8029. ----------------------------
  8030. -
  8031. -Litecoin Core now supports P2SH addresses beginning with M on mainnet and Q on testnet.
  8032. -P2SH addresses beginning with 3 on mainnet and m or n on testnet will continue to be valid.
  8033. -Old and new addresses can be used interchangeably.
  8034. -
  8035. -miniupnp CVE-2017-8798
  8036. -----------------------
  8037. -
  8038. -Bundled miniupnpc was updated to 2.0.20170509. This fixes an integer signedness error (present in MiniUPnPc v1.4.20101221 through v2.0) that allows remote attackers (within the LAN) to cause a denial of service or possibly have unspecified other impact.
  8039. -
  8040. -This only affects users that have explicitly enabled UPnP through the GUI setting or through the -upnp option, as since the last UPnP vulnerability (in Litecoin Core 0.10.4) it has been disabled by default.
  8041. -
  8042. -If you use this option, it is recommended to upgrade to this version as soon as possible.
  8043. -
  8044. -Reset Testnet
  8045. --------------
  8046. -
  8047. -Testnet3 has been deprecated and replaced with Testnet4. The server port has been changed to 19335 however the RPC port remains
  8048. -the same (19332).
  8049. -
  8050. -Testnet faucets can be located at:
  8051. -- http://testnet.litecointools.com
  8052. -- http://testnet.thrasher.io
  8053. -
  8054. -Developers who require the new testnet blockchain paramaters can find them [here](https://github.com/litecoin-project/litecoin/blob/0.13/src/chainparams.cpp#L214).
  8055. -
  8056. -Credits
  8057. -=======
  8058. -
  8059. -Thanks to everyone who directly contributed to this release:
  8060. -
  8061. -- [The Bitcoin Core Developers](/doc/release-notes)
  8062. -- Adrian Gallagher
  8063. -- Shaolin Fry
  8064. -- Xinxi Wang
  8065. -- Out0fmemory
  8066. -- Erasmospunk
  8067. -- Romanornr
  8068. \ No newline at end of file
  8069. diff --git a/doc/litecoin-release-notes/release-notes-0.14.2.md b/doc/litecoin-release-notes/release-notes-0.14.2.md
  8070. deleted file mode 100644
  8071. index 3118267..0000000
  8072. --- a/doc/litecoin-release-notes/release-notes-0.14.2.md
  8073. +++ /dev/null
  8074. @@ -1,429 +0,0 @@
  8075. -Litecoin Core version 0.14.2 is now available from:
  8076. -
  8077. -  <https://download.litecoin.org/litecoin-0.14.2.0/>
  8078. -
  8079. -This is a new major version release, including new features, various bugfixes
  8080. -and performance improvements, as well as updated translations.
  8081. -
  8082. -Please report bugs using the issue tracker at github:
  8083. -
  8084. -  <https://github.com/litecoin-project/litecoin/issues>
  8085. -
  8086. -To receive security and update notifications, please subscribe to:
  8087. -
  8088. -  <https://groups.google.com/forum/#!forum/litecoin-dev>
  8089. -
  8090. -Compatibility
  8091. -==============
  8092. -
  8093. -Litecoin Core is extensively tested on multiple operating systems using
  8094. -the Linux kernel, macOS 10.8+, and Windows Vista and later.
  8095. -
  8096. -Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support),
  8097. -No attempt is made to prevent installing or running the software on Windows XP, you
  8098. -can still do so at your own risk but be aware that there are known instabilities and issues.
  8099. -Please do not report issues about Windows XP to the issue tracker.
  8100. -
  8101. -Litecoin Core should also work on most other Unix-like systems but is not
  8102. -frequently tested on them.
  8103. -
  8104. -Notable changes
  8105. -===============
  8106. -
  8107. -New Multisig Address Prefix
  8108. ----------------------------
  8109. -
  8110. -Litecoin Core now supports P2SH addresses beginning with M on mainnet and Q on testnet.
  8111. -P2SH addresses beginning with 3 on mainnet and m or n on testnet will continue to be valid.
  8112. -Old and new addresses can be used interchangeably.
  8113. -
  8114. -miniupnp CVE-2017-8798
  8115. -----------------------
  8116. -
  8117. -Bundled miniupnpc was updated to 2.0.20170509. This fixes an integer signedness error (present in MiniUPnPc v1.4.20101221 through v2.0) that allows remote attackers (within the LAN) to cause a denial of service or possibly have unspecified other impact.
  8118. -
  8119. -This only affects users that have explicitly enabled UPnP through the GUI setting or through the -upnp option, as since the last UPnP vulnerability (in Litecoin Core 0.10.4) it has been disabled by default.
  8120. -
  8121. -If you use this option, it is recommended to upgrade to this version as soon as possible.
  8122. -
  8123. -Reset Testnet
  8124. --------------
  8125. -
  8126. -Testnet3 has been deprecated and replaced with Testnet4. The server port has been changed to 19335 however the RPC port remains
  8127. -the same (19332).
  8128. -
  8129. -Testnet faucets can be located at:
  8130. -- http://testnet.litecointools.com
  8131. -- http://testnet.thrasher.io
  8132. -
  8133. -Developers who require the new testnet blockchain paramaters can find them [here](https://github.com/litecoin-project/litecoin/blob/master/src/chainparams.cpp#L220).
  8134. -
  8135. -Performance Improvements
  8136. ---------------
  8137. -
  8138. -Validation speed and network propagation performance have been greatly
  8139. -improved, leading to much shorter sync and initial block download times.
  8140. -
  8141. -- The script signature cache has been reimplemented as a "cuckoo cache",
  8142. -  allowing for more signatures to be cached and faster lookups.
  8143. -- Assumed-valid blocks have been introduced which allows script validation to
  8144. -  be skipped for ancestors of known-good blocks, without changing the security
  8145. -  model. See below for more details.
  8146. -- In some cases, compact blocks are now relayed before being fully validated as
  8147. -  per BIP152.
  8148. -- P2P networking has been refactored with a focus on concurrency and
  8149. -  throughput. Network operations are no longer bottlenecked by validation. As a
  8150. -  result, block fetching is several times faster than previous releases in many
  8151. -  cases.
  8152. -- The UTXO cache now claims unused mempool memory. This speeds up initial block
  8153. -  download as UTXO lookups are a major bottleneck there, and there is no use for
  8154. -  the mempool at that stage.
  8155. -
  8156. -
  8157. -Manual Pruning
  8158. ---------------
  8159. -
  8160. -Litecoin Core has supported automatically pruning the blockchain since 0.13.2. Pruning
  8161. -the blockchain allows for significant storage space savings as the vast majority of
  8162. -the downloaded data can be discarded after processing so very little of it remains
  8163. -on the disk.
  8164. -
  8165. -Manual block pruning can now be enabled by setting `-prune=1`. Once that is set,
  8166. -the RPC command `pruneblockchain` can be used to prune the blockchain up to the
  8167. -specified height or timestamp.
  8168. -
  8169. -`getinfo` Deprecated
  8170. ---------------------
  8171. -
  8172. -The `getinfo` RPC command has been deprecated. Each field in the RPC call
  8173. -has been moved to another command's output with that command also giving
  8174. -additional information that `getinfo` did not provide. The following table
  8175. -shows where each field has been moved to:
  8176. -
  8177. -|`getinfo` field   | Moved to                                  |
  8178. -|------------------|-------------------------------------------|
  8179. -`"version"`       | `getnetworkinfo()["version"]`
  8180. -`"protocolversion"`| `getnetworkinfo()["protocolversion"]`
  8181. -`"walletversion"`  | `getwalletinfo()["walletversion"]`
  8182. -`"balance"`       | `getwalletinfo()["balance"]`
  8183. -`"blocks"`    | `getblockchaininfo()["blocks"]`
  8184. -`"timeoffset"`    | `getnetworkinfo()["timeoffset"]`
  8185. -`"connections"`       | `getnetworkinfo()["connections"]`
  8186. -`"proxy"`     | `getnetworkinfo()["networks"][0]["proxy"]`
  8187. -`"difficulty"`    | `getblockchaininfo()["difficulty"]`
  8188. -`"testnet"`       | `getblockchaininfo()["chain"] == "test"`
  8189. -`"keypoololdest"`  | `getwalletinfo()["keypoololdest"]`
  8190. -`"keypoolsize"`       | `getwalletinfo()["keypoolsize"]`
  8191. -`"unlocked_until"` | `getwalletinfo()["unlocked_until"]`
  8192. -`"paytxfee"`      | `getwalletinfo()["paytxfee"]`
  8193. -`"relayfee"`      | `getnetworkinfo()["relayfee"]`
  8194. -`"errors"`    | `getnetworkinfo()["warnings"]`
  8195. -
  8196. -ZMQ On Windows
  8197. ---------------
  8198. -
  8199. -Previously the ZeroMQ notification system was unavailable on Windows
  8200. -due to various issues with ZMQ. These have been fixed upstream and
  8201. -now ZMQ can be used on Windows. Please see [this document](https://github.com/litecoin-project/litecoin/blob/master/doc/zmq.md) for
  8202. -help with using ZMQ in general.
  8203. -
  8204. -Nested RPC Commands in Debug Console
  8205. -------------------------------------
  8206. -
  8207. -The ability to nest RPC commands has been added to the debug console. This
  8208. -allows users to have the output of a command become the input to another
  8209. -command without running the commands separately.
  8210. -
  8211. -The nested RPC commands use bracket syntax (i.e. `getwalletinfo()`) and can
  8212. -be nested (i.e. `getblock(getblockhash(1))`). Simple queries can be
  8213. -done with square brackets where object values are accessed with either an
  8214. -array index or a non-quoted string (i.e. `listunspent()[0][txid]`). Both
  8215. -commas and spaces can be used to separate parameters in both the bracket syntax
  8216. -and normal RPC command syntax.
  8217. -
  8218. -Network Activity Toggle
  8219. ------------------------
  8220. -
  8221. -A RPC command and GUI toggle have been added to enable or disable all p2p
  8222. -network activity. The network status icon in the bottom right hand corner
  8223. -is now the GUI toggle. Clicking the icon will either enable or disable all
  8224. -p2p network activity. If network activity is disabled, the icon will
  8225. -be grayed out with an X on top of it.
  8226. -
  8227. -Additionally the `setnetworkactive` RPC command has been added which does
  8228. -the same thing as the GUI icon. The command takes one boolean parameter,
  8229. -`true` enables networking and `false` disables it.
  8230. -
  8231. -Out-of-sync Modal Info Layer
  8232. -----------------------------
  8233. -
  8234. -When Litecoin Core is out-of-sync on startup, a semi-transparent information
  8235. -layer will be shown over top of the normal display. This layer contains
  8236. -details about the current sync progress and estimates the amount of time
  8237. -remaining to finish syncing. This layer can also be hidden and subsequently
  8238. -unhidden by clicking on the progress bar at the bottom of the window.
  8239. -
  8240. -Support for JSON-RPC Named Arguments
  8241. -------------------------------------
  8242. -
  8243. -Commands sent over the JSON-RPC interface and through the `litecoin-cli` binary
  8244. -can now use named arguments. This follows the [JSON-RPC specification](http://www.jsonrpc.org/specification)
  8245. -for passing parameters by-name with an object.
  8246. -
  8247. -`litecoin-cli` has been updated to support this by parsing `name=value` arguments
  8248. -when the `-named` option is given.
  8249. -
  8250. -Some examples:
  8251. -
  8252. -    src/litecoin-cli -named help command="help"
  8253. -    src/litecoin-cli -named getblockhash height=0
  8254. -    src/litecoin-cli -named getblock blockhash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
  8255. -    src/litecoin-cli -named sendtoaddress address="(snip)" amount="1.0" subtractfeefromamount=true
  8256. -
  8257. -The order of arguments doesn't matter in this case. Named arguments are also
  8258. -useful to leave out arguments that should stay at their default value. The
  8259. -rarely-used arguments `comment` and `comment_to` to `sendtoaddress`, for example, can
  8260. -be left out. However, this is not yet implemented for many RPC calls, this is
  8261. -expected to land in a later release.
  8262. -
  8263. -The RPC server remains fully backwards compatible with positional arguments.
  8264. -
  8265. -Sensitive Data Is No Longer Stored In Debug Console History
  8266. ------------------------------------------------------------
  8267. -
  8268. -The debug console maintains a history of previously entered commands that can be
  8269. -accessed by pressing the Up-arrow key so that users can easily reuse previously
  8270. -entered commands. Commands which have sensitive information such as passphrases and
  8271. -private keys will now have a `(...)` in place of the parameters when accessed through
  8272. -the history.
  8273. -
  8274. -Retaining the Mempool Across Restarts
  8275. --------------------------------------
  8276. -
  8277. -The mempool will be saved to the data directory prior to shutdown
  8278. -to a `mempool.dat` file. This file preserves the mempool so that when the node
  8279. -restarts the mempool can be filled with transactions without waiting for new transactions
  8280. -to be created. This will also preserve any changes made to a transaction through
  8281. -commands such as `prioritisetransaction` so that those changes will not be lost.
  8282. -
  8283. -Final Alert
  8284. ------------
  8285. -
  8286. -The Alert System was disabled and deprecated in Litecoin Core 0.10.4 and removed in 0.13.2.
  8287. -The Alert System was retired with a maximum sequence final alert which causes any nodes
  8288. -supporting the Alert System to display a static hard-coded "Alert Key Compromised" message which also
  8289. -prevents any other alerts from overriding it. This final alert is hard-coded into this release
  8290. -so that all old nodes receive the final alert.
  8291. -
  8292. -GUI Changes
  8293. ------------
  8294. -
  8295. - - After resetting the options by clicking the `Reset Options` button
  8296. -   in the options dialog or with the `-resetguioptions` startup option,
  8297. -   the user will be prompted to choose the data directory again. This
  8298. -   is to ensure that custom data directories will be kept after the
  8299. -   option reset which clears the custom data directory set via the choose
  8300. -   datadir dialog.
  8301. -
  8302. - - Multiple peers can now be selected in the list of peers in the debug
  8303. -   window. This allows for users to ban or disconnect multiple peers
  8304. -   simultaneously instead of banning them one at a time.
  8305. -
  8306. - - An indicator has been added to the bottom right hand corner of the main
  8307. -   window to indicate whether the wallet being used is a HD wallet. This
  8308. -   icon will be grayed out with an X on top of it if the wallet is not a
  8309. -   HD wallet.
  8310. -
  8311. -Low-level RPC changes
  8312. -----------------------
  8313. -
  8314. - - `importprunedfunds` only accepts two required arguments. Some versions accept
  8315. -   an optional third arg, which was always ignored. Make sure to never pass more
  8316. -   than two arguments.
  8317. -
  8318. - - The first boolean argument to `getaddednodeinfo` has been removed. This is
  8319. -   an incompatible change.
  8320. -
  8321. - - RPC command `getmininginfo` loses the "testnet" field in favor of the more
  8322. -   generic "chain" (which has been present for years).
  8323. -
  8324. - - A new RPC command `preciousblock` has been added which marks a block as
  8325. -   precious. A precious block will be treated as if it were received earlier
  8326. -   than a competing block.
  8327. -
  8328. - - A new RPC command `importmulti` has been added which receives an array of
  8329. -   JSON objects representing the intention of importing a public key, a
  8330. -   private key, an address and script/p2sh
  8331. -
  8332. - - Use of `getrawtransaction` for retrieving confirmed transactions with unspent
  8333. -   outputs has been deprecated. For now this will still work, but in the future
  8334. -   it may change to only be able to retrieve information about transactions in
  8335. -   the mempool or if `txindex` is enabled.
  8336. -
  8337. - - A new RPC command `getmemoryinfo` has been added which will return information
  8338. -   about the memory usage of Litecoin Core. This was added in conjunction with
  8339. -   optimizations to memory management. See [Pull #8753](https://github.com/bitcoin/bitcoin/pull/8753)
  8340. -   for more information.
  8341. -
  8342. - - A new RPC command `bumpfee` has been added which allows replacing an
  8343. -   unconfirmed wallet transaction that signaled RBF (see the `-walletrbf`
  8344. -   startup option above) with a new transaction that pays a higher fee, and
  8345. -   should be more likely to get confirmed quickly.
  8346. -
  8347. - - The first positional argument of `createrawtransaction` was renamed from
  8348. -  `transactions` to `inputs`.
  8349. -
  8350. - - The argument of `disconnectnode` was renamed from `node` to `address`.
  8351. -
  8352. -Client software using these calls with named arguments needs to be updated.
  8353. -
  8354. -HTTP REST Changes
  8355. ------------------
  8356. -
  8357. - - UTXO set query (`GET /rest/getutxos/<checkmempool>/<txid>-<n>/<txid>-<n>
  8358. -   /.../<txid>-<n>.<bin|hex|json>`) responses were changed to return status
  8359. -   code `HTTP_BAD_REQUEST` (400) instead of `HTTP_INTERNAL_SERVER_ERROR` (500)
  8360. -   when requests contain invalid parameters.
  8361. -
  8362. -Minimum Fee Rate Policies
  8363. --------------------------
  8364. -
  8365. -Since the changes in 0.13 to automatically limit the size of the mempool and improve the performance of block creation in mining code it has not been important for relay nodes or miners to set `-minrelaytxfee`. With this release the following concepts that were tied to this option have been separated out:
  8366. -- calculation of threshold for a dust output. (effectively 3 * 1000 satoshis/kB)
  8367. -- minimum fee rate of a package of transactions to be included in a block created by the mining code. If miners wish to set this minimum they can use the new `-blockmintxfee` option.  (defaults to 1000 satoshis/kB)
  8368. -
  8369. -The `-minrelaytxfee` option continues to exist but is recommended to be left unset.
  8370. -
  8371. -Fee Estimation Changes
  8372. -----------------------
  8373. -
  8374. -- Since 0.13.2 fee estimation for a confirmation target of 1 block has been
  8375. -  disabled. The fee slider will no longer be able to choose a target of 1 block.
  8376. -  This is only a minor behavior change as there was often insufficient
  8377. -  data for this target anyway. `estimatefee 1` will now always return -1 and
  8378. -  `estimatesmartfee 1` will start searching at a target of 2.
  8379. -
  8380. -- The default target for fee estimation is changed to 6 blocks in both the GUI
  8381. -  (previously 25) and for RPC calls (previously 2).
  8382. -
  8383. -Removal of Priority Estimation
  8384. -------------------------------
  8385. -
  8386. -- Estimation of "priority" needed for a transaction to be included within a target
  8387. -  number of blocks has been removed.  The RPC calls are deprecated and will either
  8388. -  return -1 or 1e24 appropriately. The format for `fee_estimates.dat` has also
  8389. -  changed to no longer save these priority estimates. It will automatically be
  8390. -  converted to the new format which is not readable by prior versions of the
  8391. -  software.
  8392. -
  8393. -- Support for "priority" (coin age) transaction sorting for mining is
  8394. -  considered deprecated in Core and will be removed in the next major version.
  8395. -  This is not to be confused with the `prioritisetransaction` RPC which will remain
  8396. -  supported by Core for adding fee deltas to transactions.
  8397. -
  8398. -P2P connection management
  8399. ---------------------------
  8400. -
  8401. -- Peers manually added through the `-addnode` option or `addnode` RPC now have their own
  8402. -  limit of eight connections which does not compete with other inbound or outbound
  8403. -  connection usage and is not subject to the limitation imposed by the `-maxconnections`
  8404. -  option.
  8405. -
  8406. -- New connections to manually added peers are performed more quickly.
  8407. -
  8408. -Introduction of assumed-valid blocks
  8409. --------------------------------------
  8410. -
  8411. -- A significant portion of the initial block download time is spent verifying
  8412. -  scripts/signatures.  Although the verification must pass to ensure the security
  8413. -  of the system, no other result from this verification is needed: If the node
  8414. -  knew the history of a given block were valid it could skip checking scripts
  8415. -  for its ancestors.
  8416. -
  8417. -- A new configuration option 'assumevalid' is provided to express this knowledge
  8418. -  to the software.  Unlike the 'checkpoints' in the past this setting does not
  8419. -  force the use of a particular chain: chains that are consistent with it are
  8420. -  processed quicker, but other chains are still accepted if they'd otherwise
  8421. -  be chosen as best. Also unlike 'checkpoints' the user can configure which
  8422. -  block history is assumed true, this means that even outdated software can
  8423. -  sync more quickly if the setting is updated by the user.
  8424. -
  8425. -- Because the validity of a chain history is a simple objective fact it is much
  8426. -  easier to review this setting.  As a result the software ships with a default
  8427. -  value adjusted to match the current chain shortly before release.  The use
  8428. -  of this default value can be disabled by setting -assumevalid=0
  8429. -
  8430. -Fundrawtransaction change address reuse
  8431. -----------------------------------------
  8432. -
  8433. -- Before 0.14, `fundrawtransaction` was by default wallet stateless. In
  8434. -  almost all cases `fundrawtransaction` does add a change-output to the
  8435. -  outputs of the funded transaction. Before 0.14, the used keypool key was
  8436. -  never marked as change-address key and directly returned to the keypool
  8437. -  (leading to address reuse).  Before 0.14, calling `getnewaddress`
  8438. -  directly after `fundrawtransaction` did generate the same address as
  8439. -  the change-output address.
  8440. -
  8441. -- Since 0.14, fundrawtransaction does reserve the change-output-key from
  8442. -  the keypool by default (optional by setting  `reserveChangeKey`, default =
  8443. -  `true`)
  8444. -
  8445. -- Users should also consider using `getrawchangeaddress()` in conjunction
  8446. -  with `fundrawtransaction`'s `changeAddress` option.
  8447. -
  8448. -Unused mempool memory used by coincache
  8449. -----------------------------------------
  8450. -
  8451. -- Before 0.14, memory reserved for mempool (using the `-maxmempool` option)
  8452. -  went unused during initial block download, or IBD. In 0.14, the UTXO DB cache
  8453. -  (controlled with the `-dbcache` option) borrows memory from the mempool
  8454. -  when there is extra memory available. This may result in an increase in
  8455. -  memory usage during IBD for those previously relying on only the `-dbcache`
  8456. -  option to limit memory during that time.
  8457. -
  8458. -Mining
  8459. -------
  8460. -
  8461. -In previous versions, getblocktemplate required segwit support from downstream
  8462. -clients/miners once the feature activated on the network. In this version, it
  8463. -now supports non-segwit clients even after activation, by removing all segwit
  8464. -transactions from the returned block template. This allows non-segwit miners to
  8465. -continue functioning correctly even after segwit has activated.
  8466. -
  8467. -Due to the limitations in previous versions, getblocktemplate also recommended
  8468. -non-segwit clients to not signal for the segwit version-bit. Since this is no
  8469. -longer an issue, getblocktemplate now always recommends signalling segwit for
  8470. -all miners. This is safe because ability to enforce the rule is the only
  8471. -required criteria for safe activation, not actually producing segwit-enabled
  8472. -blocks.
  8473. -
  8474. -UTXO memory accounting
  8475. -----------------------
  8476. -
  8477. -Memory usage for the UTXO cache is being calculated more accurately, so that
  8478. -the configured limit (`-dbcache`) will be respected when memory usage peaks
  8479. -during cache flushes.  The memory accounting in prior releases is estimated to
  8480. -only account for half the actual peak utilization.
  8481. -
  8482. -The default `-dbcache` has also been changed in this release to 450MiB.  Users
  8483. -who currently set `-dbcache` to a high value (e.g. to keep the UTXO more fully
  8484. -cached in memory) should consider increasing this setting in order to achieve
  8485. -the same cache performance as prior releases.  Users on low-memory systems
  8486. -(such as systems with 1GB or less) should consider specifying a lower value for
  8487. -this parameter.
  8488. -
  8489. -Additional information relating to running on low-memory systems can be found
  8490. -here, originally written for Bitcoin but can also be used for Litecoin:
  8491. -[reducing-bitcoind-memory-usage.md](https://gist.github.com/laanwj/efe29c7661ce9b6620a7).
  8492. -
  8493. -Credits
  8494. -=======
  8495. -
  8496. -Thanks to everyone who directly contributed to this release:
  8497. -
  8498. -- [The Bitcoin Core Developers](/doc/release-notes)
  8499. -- Adrian Gallagher
  8500. -- Charlie Lee
  8501. -- Loshan T
  8502. -- Shaolin Fry
  8503. -- Xinxi Wang
  8504. \ No newline at end of file
  8505. diff --git a/doc/litecoin-release-notes/release-notes-0.15.0.1.md b/doc/litecoin-release-notes/release-notes-0.15.0.1.md
  8506. deleted file mode 100644
  8507. index 76ec3e0..0000000
  8508. --- a/doc/litecoin-release-notes/release-notes-0.15.0.1.md
  8509. +++ /dev/null
  8510. @@ -1,773 +0,0 @@
  8511. -Litecoin Core version *0.15.0* is now available from:
  8512. -
  8513. -  <https://download.litecoin.org/litecoin-0.15.0/>
  8514. -
  8515. -This is a new major version release, including new features, various bugfixes
  8516. -and performance improvements, as well as updated translations.
  8517. -
  8518. -Please report bugs using the issue tracker at GitHub:
  8519. -
  8520. -  <https://github.com/litecoin-project/litecoin/issues>
  8521. -
  8522. -To receive security and update notifications, please subscribe to:
  8523. -
  8524. -  <https://groups.google.com/forum/#!forum/litecoin-dev>
  8525. -
  8526. -How to Upgrade
  8527. -==============
  8528. -
  8529. -If you are running an older version, shut it down. Wait until it has completely
  8530. -shut down (which might take a few minutes for older versions), then run the
  8531. -installer (on Windows) or just copy over `/Applications/Litecoin-Qt` (on Mac)
  8532. -or `litecoind`/`litecoin-qt` (on Linux).
  8533. -
  8534. -The first time you run version 0.15.0, your chainstate database will be converted to a
  8535. -new format, which will take anywhere from a few minutes to half an hour,
  8536. -depending on the speed of your machine.
  8537. -
  8538. -The file format of `fee_estimates.dat` changed in version 0.15.0. Hence, a
  8539. -downgrade from version 0.15.0 or upgrade to version 0.15.0 will cause all fee
  8540. -estimates to be discarded.
  8541. -
  8542. -Note that the block database format also changed in version 0.8.0 and there is no
  8543. -automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading
  8544. -directly from 0.7.x and earlier without redownloading the blockchain is not supported.
  8545. -However, as usual, old wallet versions are still supported.
  8546. -
  8547. -Downgrading warning
  8548. --------------------
  8549. -
  8550. -The chainstate database for this release is not compatible with previous
  8551. -releases, so if you run 0.15 and then decide to switch back to any
  8552. -older version, you will need to run the old release with the `-reindex-chainstate`
  8553. -option to rebuild the chainstate data structures in the old format.
  8554. -
  8555. -If your node has pruning enabled, this will entail re-downloading and
  8556. -processing the entire blockchain.
  8557. -
  8558. -Compatibility
  8559. -==============
  8560. -
  8561. -Litecoin Core is extensively tested on multiple operating systems using
  8562. -the Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not supported.
  8563. -
  8564. -Litecoin Core should also work on most other Unix-like systems but is not
  8565. -frequently tested on them.
  8566. -
  8567. -Notable changes
  8568. -===============
  8569. -
  8570. -Performance Improvements
  8571. -------------------------
  8572. -
  8573. -Version 0.15 contains a number of significant performance improvements, which make
  8574. -Initial Block Download, startup, transaction and block validation much faster:
  8575. -
  8576. -- The chainstate database (which is used for tracking UTXOs) has been changed
  8577. -  from a per-transaction model to a per-output model (See [PR 10195](https://github.com/bitcoin/bitcoin/pull/10195)). Advantages of this model
  8578. -  are that it:
  8579. -    - avoids the CPU overhead of deserializing and serializing the unused outputs;
  8580. -    - has more predictable memory usage;
  8581. -    - uses simpler code;
  8582. -    - is adaptable to various future cache flushing strategies.
  8583. -
  8584. -  As a result, validating the blockchain during Initial Block Download (IBD) and reindex
  8585. -  is ~30-40% faster, uses 10-20% less memory, and flushes to disk far less frequently.
  8586. -  The only downside is that the on-disk database is 15% larger. During the conversion from the previous format
  8587. -  a few extra gigabytes may be used.
  8588. -- Earlier versions experienced a spike in memory usage while flushing UTXO updates to disk.
  8589. -  As a result, only half of the available memory was actually used as cache, and the other half was
  8590. -  reserved to accommodate flushing. This is no longer the case (See [PR 10148](https://github.com/bitcoin/bitcoin/pull/10148)), and the entirety of
  8591. -  the available cache (see `-dbcache`) is now actually used as cache. This reduces the flushing
  8592. -  frequency by a factor 2 or more.
  8593. -- In previous versions, signature validation for transactions has been cached when the
  8594. -  transaction is accepted to the mempool. Version 0.15 extends this to cache the entire script
  8595. -  validity (See [PR 10192](https://github.com/bitcoin/bitcoin/pull/10192)). This means that if a transaction in a block has already been accepted to the
  8596. -  mempool, the scriptSig does not need to be re-evaluated. Empirical tests show that
  8597. -  this results in new block validation being 40-50% faster.
  8598. -- LevelDB has been upgraded to version 1.20 (See [PR 10544](https://github.com/bitcoin/bitcoin/pull/10544)). This version contains hardware acceleration for CRC
  8599. -  on architectures supporting SSE 4.2. As a result, synchronization and block validation are now faster.
  8600. -- SHA256 hashing has been optimized for architectures supporting SSE 4 (See [PR 10821](https://github.com/bitcoin/bitcoin/pull/10821)). SHA256 is around
  8601. -  50% faster on supported hardware, which results in around 5% faster IBD and block
  8602. -  validation. In version 0.15, SHA256 hardware optimization is disabled in release builds by
  8603. -  default, but can be enabled by using `--enable-experimental-asm` when building.
  8604. -- Refill of the keypool no longer flushes the wallet between each key which resulted in a ~20x speedup in creating a new wallet. Part of this speedup was used to increase the default keypool to 1000 keys to make recovery more robust. (See [PR 10831](https://github.com/bitcoin/bitcoin/pull/10831)).
  8605. -- Scrypt hashing has been optimized for architectures supporting SSE 2 (See [PR 362](https://github.com/litecoin-project/litecoin/pull/362)). This boosts scrypt hashing performance by a factor of 2. In version 0.15, scrypt hardware optimization is disabled in release builds by default, but can be enabled by using `--enable-sse2` when building.
  8606. -
  8607. -Fee Estimation Improvements
  8608. ----------------------------
  8609. -
  8610. -Fee estimation has been significantly improved in version 0.15, with more accurate fee estimates used by the wallet and a wider range of options for advanced users of the `estimatesmartfee` and `estimaterawfee` RPCs (See [PR 10199](https://github.com/bitcoin/bitcoin/pull/10199)).
  8611. -
  8612. -### Changes to internal logic and wallet behavior
  8613. -
  8614. -- Internally, estimates are now tracked on 3 different time horizons. This allows for longer targets and means estimates adjust more quickly to changes in conditions.
  8615. -- Estimates can now be *conservative* or *economical*. *Conservative* estimates use longer time horizons to produce an estimate which is less susceptible to rapid changes in fee conditions. *Economical* estimates use shorter time horizons and will be more affected by short-term changes in fee conditions. Economical estimates may be considerably lower during periods of low transaction activity (for example over weekends), but may result in transactions being unconfirmed if prevailing fees increase rapidly.
  8616. -- By default, the wallet will use conservative fee estimates to increase the reliability of transactions being confirmed within the desired target. For transactions that are marked as replaceable, the wallet will use an economical estimate by default, since the fee can be 'bumped' if the fee conditions change rapidly (See [PR 10589](https://github.com/bitcoin/bitcoin/pull/10589)).
  8617. -- Estimates can now be made for confirmation targets up to 1008 blocks (one week).
  8618. -- More data on historical fee rates is stored, leading to more precise fee estimates.
  8619. -- Transactions which leave the mempool due to eviction or other non-confirmed reasons are now taken into account by the fee estimation logic, leading to more accurate fee estimates.
  8620. -- The fee estimation logic will make sure enough data has been gathered to return a meaningful estimate. If there is insufficient data, a fallback default fee is used.
  8621. -
  8622. -### Changes to fee estimate RPCs
  8623. -
  8624. -- The `estimatefee` RPC is now deprecated in favor of using only `estimatesmartfee` (which is the implementation used by the GUI)
  8625. -- The `estimatesmartfee` RPC interface has been changed (See [PR 10707](https://github.com/bitcoin/bitcoin/pull/10707)):
  8626. -    - The `nblocks` argument has been renamed to `conf_target` (to be consistent with other RPC methods).
  8627. -    - An `estimate_mode` argument has been added. This argument takes one of the following strings: `CONSERVATIVE`, `ECONOMICAL` or `UNSET` (which defaults to `CONSERVATIVE`).
  8628. -    - The RPC return object now contains an `errors` member, which returns errors encountered during processing.
  8629. -    - If Litecoin Core has not been running for long enough and has not seen enough blocks or transactions to produce an accurate fee estimation, an error will be returned (previously a value of -1 was used to indicate an error, which could be confused for a feerate).
  8630. -- A new `estimaterawfee` RPC is added to provide raw fee data. External clients can query and use this data in their own fee estimation logic.
  8631. -
  8632. -Opt into RBF When Sending
  8633. --------------------------
  8634. -
  8635. -A new startup option, `-walletrbf`, has been added to allow users to have all
  8636. -transactions sent opt into RBF support. The default value for this option is
  8637. -currently `false`, so transactions will not opt into RBF by default. The new
  8638. -`bumpfee` RPC can be used to replace transactions that opt into RBF.
  8639. -
  8640. -Replace-by-fee control in the GUI
  8641. ----------------------------------
  8642. -
  8643. -In version 0.15, creating an opt-in RBF transaction and replacing the unconfirmed transaction with a higher-fee transaction are both supported in the GUI (See PR 9592).
  8644. -
  8645. -Multi-wallet support
  8646. ---------------------
  8647. -
  8648. -Litecoin Core now supports loading multiple, separate wallets (See [PR 8694](https://github.com/bitcoin/bitcoin/pull/8694), [PR 10849](https://github.com/bitcoin/bitcoin/pull/10849)). The wallets are completely separated, with individual balances, keys and received transactions.
  8649. -
  8650. -Multi-wallet is enabled by using more than one `-wallet` argument when starting Litecoin, either on the command line or in the Litecoin config file.
  8651. -
  8652. -**In Litecoin-Qt, only the first wallet will be displayed and accessible for creating and signing transactions.** GUI selectable multiple wallets will be supported in a future version. However, even in 0.15 other loaded wallets will remain synchronized to the node's current tip in the background. This can be useful if running a pruned node, since loading a wallet where the most recent sync is beyond the pruned height results in having to download and revalidate the whole blockchain. Continuing to synchronize all wallets in the background avoids this problem.
  8653. -
  8654. -Litecoin Core 0.15.0 contains the following changes to the RPC interface and `litecoin-cli` for multi-wallet:
  8655. -
  8656. -* When running Litecoin Core with a single wallet, there are **no** changes to the RPC interface or `litecoin-cli`. All RPC calls and `litecoin-cli` commands continue to work as before.
  8657. -* When running Litecoin Core with multi-wallet, all *node-level* RPC methods continue to work as before. HTTP RPC requests should be send to the normal `<RPC IP address>:<RPC port>/` endpoint, and `litecoin-cli` commands should be run as before. A *node-level* RPC method is any method which does not require access to the wallet.
  8658. -* When running Litecoin Core with multi-wallet, *wallet-level* RPC methods must specify the wallet for which they're intended in every request. HTTP RPC requests should be send to the `<RPC IP address>:<RPC port>/wallet/<wallet name>/` endpoint, for example `127.0.0.1:9332/wallet/wallet1.dat/`. `litecoin-cli` commands should be run with a `-rpcwallet` option, for example `litecoin-cli -rpcwallet=wallet1.dat getbalance`.
  8659. -* A new *node-level* `listwallets` RPC method is added to display which wallets are currently loaded. The names returned by this method are the same as those used in the HTTP endpoint and for the `rpcwallet` argument.
  8660. -
  8661. -Note that while multi-wallet is now fully supported, the RPC multi-wallet interface should be considered unstable for version 0.15.0, and there may backwards-incompatible changes in future versions.
  8662. -
  8663. -Removal of Coin Age Priority
  8664. -----------------------------
  8665. -
  8666. -In previous versions of Litecoin Core, a portion of each block could be reserved for transactions based on the age and value of UTXOs they spent. This concept (Coin Age Priority) is a policy choice by miners, and there are no consensus rules around the inclusion of Coin Age Priority transactions in blocks. In practice, only a few miners continue to use Coin Age Priority for transaction selection in blocks. Litecoin Core 0.15 removes all remaining support for Coin Age Priority (See [PR 9602](https://github.com/bitcoin/bitcoin/pull/9602)). This has the following implications:
  8667. -
  8668. -- The concept of *free transactions* has been removed. High Coin Age Priority transactions would previously be allowed to be relayed even if they didn't attach a miner fee. This is no longer possible since there is no concept of Coin Age Priority. The `-limitfreerelay` and `-relaypriority` options which controlled relay of free transactions have therefore been removed.
  8669. -- The `-sendfreetransactions` option has been removed, since almost all miners do not include transactions which do not attach a transaction fee.
  8670. -- The `-blockprioritysize` option has been removed.
  8671. -- The `estimatepriority` and `estimatesmartpriority` RPCs have been removed.
  8672. -- The `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry` and `getrawmempool` RPCs no longer return `startingpriority` and `currentpriority`.
  8673. -- The `prioritisetransaction` RPC no longer takes a `priority_delta` argument, which is replaced by a `dummy` argument for backwards compatibility with clients using positional arguments. The RPC is still used to change the apparent fee-rate of the transaction by using the `fee_delta` argument.
  8674. -- `-minrelaytxfee` can now be set to 0. If `minrelaytxfee` is set, then fees smaller than `minrelaytxfee` (per kB) are rejected from relaying, mining and transaction creation. This defaults to 1000 satoshi/kB.
  8675. -- The `-printpriority` option has been updated to only output the fee rate and hash of transactions included in a block by the mining code.
  8676. -
  8677. -Mempool Persistence Across Restarts
  8678. ------------------------------------
  8679. -
  8680. -Version 0.14 introduced mempool persistence across restarts (the mempool is saved to a `mempool.dat` file in the data directory prior to shutdown and restores the mempool when the node is restarted). Version 0.15 allows this feature to be switched on or off using the `-persistmempool` command-line option (See [PR 9966](https://github.com/bitcoin/bitcoin/pull/9966)). By default, the option is set to true, and the mempool is saved on shutdown and reloaded on startup. If set to false, the `mempool.dat` file will not be loaded on startup or saved on shutdown.
  8681. -
  8682. -New RPC methods
  8683. ----------------
  8684. -
  8685. -Version 0.15 introduces several new RPC methods:
  8686. -
  8687. -- `abortrescan` stops current wallet rescan, e.g. when triggered by an `importprivkey` call (See [PR 10208](https://github.com/bitcoin/bitcoin/pull/10208)).
  8688. -- `combinerawtransaction` accepts a JSON array of raw transactions and combines them into a single raw transaction (See [PR 10571](https://github.com/bitcoin/bitcoin/pull/10571)).
  8689. -- `estimaterawfee` returns raw fee data so that customized logic can be implemented to analyze the data and calculate estimates. See [Fee Estimation Improvements](#fee-estimation-improvements) for full details on changes to the fee estimation logic and interface.
  8690. -- `getchaintxstats` returns statistics about the total number and rate of transactions
  8691. -  in the chain (See [PR 9733](https://github.com/bitcoin/bitcoin/pull/9733)).
  8692. -- `listwallets` lists wallets which are currently loaded. See the *Multi-wallet* section
  8693. -  of these release notes for full details (See [Multi-wallet support](#multi-wallet-support)).
  8694. -- `uptime` returns the total runtime of the `bitcoind` server since its last start (See [PR 10400](https://github.com/bitcoin/bitcoin/pull/10400)).
  8695. -
  8696. -Low-level RPC changes
  8697. ----------------------
  8698. -
  8699. -- When using Litecoin Core in multi-wallet mode, RPC requests for wallet methods must specify
  8700. -  the wallet that they're intended for. See [Multi-wallet support](#multi-wallet-support) for full details.
  8701. -
  8702. -- The new database model no longer stores information about transaction
  8703. -  versions of unspent outputs (See [Performance improvements](#performance-improvements)). This means that:
  8704. -  - The `gettxout` RPC no longer has a `version` field in the response.
  8705. -  - The `gettxoutsetinfo` RPC reports `hash_serialized_2` instead of `hash_serialized`,
  8706. -    which does not commit to the transaction versions of unspent outputs, but does
  8707. -    commit to the height and coinbase information.
  8708. -  - The `getutxos` REST path no longer reports the `txvers` field in JSON format,
  8709. -    and always reports 0 for transaction versions in the binary format
  8710. -
  8711. -- The `estimatefee` RPC is deprecated. Clients should switch to using the `estimatesmartfee` RPC, which returns better fee estimates. See [Fee Estimation Improvements](#fee-estimation-improvements) for full details on changes to the fee estimation logic and interface.
  8712. -
  8713. -- The `gettxoutsetinfo` response now contains `disk_size` and `bogosize` instead of
  8714. -  `bytes_serialized`. The first is a more accurate estimate of actual disk usage, but
  8715. -  is not deterministic. The second is unrelated to disk usage, but is a
  8716. -  database-independent metric of UTXO set size: it counts every UTXO entry as 50 + the
  8717. -  length of its scriptPubKey (See [PR 10426](https://github.com/bitcoin/bitcoin/pull/10426)).
  8718. -
  8719. -- `signrawtransaction` can no longer be used to combine multiple transactions into a single transaction. Instead, use the new `combinerawtransaction` RPC (See [PR 10571](https://github.com/bitcoin/bitcoin/pull/10571)).
  8720. -
  8721. -- `fundrawtransaction` no longer accepts a `reserveChangeKey` option. This option used to allow RPC users to fund a raw transaction using an key from the keypool for the change address without removing it from the available keys in the keypool. The key could then be re-used for a `getnewaddress` call, which could potentially result in confusing or dangerous behaviour (See [PR 10784](https://github.com/bitcoin/bitcoin/pull/10784)).
  8722. -
  8723. -- `estimatepriority` and `estimatesmartpriority` have been removed. See [Removal of Coin Age Priority](#removal-of-coin-age-priority).
  8724. -
  8725. -- The `listunspent` RPC now takes a `query_options` argument (see [PR 8952](https://github.com/bitcoin/bitcoin/pull/8952)), which is a JSON object
  8726. -  containing one or more of the following members:
  8727. -  - `minimumAmount` - a number specifying the minimum value of each UTXO
  8728. -  - `maximumAmount` - a number specifying the maximum value of each UTXO
  8729. -  - `maximumCount` - a number specifying the minimum number of UTXOs
  8730. -  - `minimumSumAmount` - a number specifying the minimum sum value of all UTXOs
  8731. -
  8732. -- The `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry` and `getrawmempool` RPCs no longer return `startingpriority` and `currentpriority`. See [Removal of Coin Age Priority](#removal-of-coin-age-priority).
  8733. -
  8734. -- The `dumpwallet` RPC now returns the full absolute path to the dumped wallet. It
  8735. -  used to return no value, even if successful (See [PR 9740](https://github.com/bitcoin/bitcoin/pull/9740)).
  8736. -
  8737. -- In the `getpeerinfo` RPC, the return object for each peer now returns an `addrbind` member, which contains the ip address and port of the connection to the peer. This is in addition to the `addrlocal` member which contains the ip address and port of the local node as reported by the peer (See [PR 10478](https://github.com/bitcoin/bitcoin/pull/10478)).
  8738. -
  8739. -- The `disconnectnode` RPC can now disconnect a node specified by node ID (as well as by IP address/port). To disconnect a node based on node ID, call the RPC with the new `nodeid` argument (See [PR 10143](https://github.com/bitcoin/bitcoin/pull/10143)).
  8740. -
  8741. -- The second argument in `prioritisetransaction` has been renamed from `priority_delta` to `dummy` since Bitcoin Core no longer has a concept of coin age priority. The `dummy` argument has no functional effect, but is retained for positional argument compatibility. See [Removal of Coin Age Priority](#removal-of-coin-age-priority).
  8742. -
  8743. -- The `resendwallettransactions` RPC throws an error if the `-walletbroadcast` option is set to false (See [PR 10995](https://github.com/bitcoin/bitcoin/pull/10995)).
  8744. -
  8745. -- The second argument in the `submitblock` RPC argument has been renamed from `parameters` to `dummy`. This argument never had any effect, and the renaming is simply to communicate this fact to the user (See [PR 10191](https://github.com/bitcoin/bitcoin/pull/10191))
  8746. -  (Clients should, however, use positional arguments for `submitblock` in order to be compatible with BIP 22.)
  8747. -
  8748. -- The `verbose` argument of `getblock` has been renamed to `verbosity` and now takes an integer from 0 to 2. Verbose level 0 is equivalent to `verbose=false`. Verbose level 1 is equivalent to `verbose=true`. Verbose level 2 will give the full transaction details of each transaction in the output as given by `getrawtransaction`. The old behavior of using the `verbose` named argument and a boolean value is still maintained for compatibility.
  8749. -
  8750. -- Error codes have been updated to be more accurate for the following error cases (See [PR 9853](https://github.com/bitcoin/bitcoin/pull/9853)):
  8751. -  - `getblock` now returns RPC_MISC_ERROR if the block can't be found on disk (for
  8752. -  example if the block has been pruned). Previously returned RPC_INTERNAL_ERROR.
  8753. -  - `pruneblockchain` now returns RPC_MISC_ERROR if the blocks cannot be pruned
  8754. -  because the node is not in pruned mode. Previously returned RPC_METHOD_NOT_FOUND.
  8755. -  - `pruneblockchain` now returns RPC_INVALID_PARAMETER if the blocks cannot be pruned
  8756. -  because the supplied timestamp is too late. Previously returned RPC_INTERNAL_ERROR.
  8757. -  - `pruneblockchain` now returns RPC_MISC_ERROR if the blocks cannot be pruned
  8758. -  because the blockchain is too short. Previously returned RPC_INTERNAL_ERROR.
  8759. -  - `setban` now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the supplied IP address
  8760. -  or subnet is invalid. Previously returned RPC_CLIENT_NODE_ALREADY_ADDED.
  8761. -  - `setban` now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the user tries to unban
  8762. -  a node that has not previously been banned. Previously returned RPC_MISC_ERROR.
  8763. -  - `removeprunedfunds` now returns RPC_WALLET_ERROR if `bitcoind` is unable to remove
  8764. -  the transaction. Previously returned RPC_INTERNAL_ERROR.
  8765. -  - `removeprunedfunds` now returns RPC_INVALID_PARAMETER if the transaction does not
  8766. -  exist in the wallet. Previously returned RPC_INTERNAL_ERROR.
  8767. -  - `fundrawtransaction` now returns RPC_INVALID_ADDRESS_OR_KEY if an invalid change
  8768. -  address is provided. Previously returned RPC_INVALID_PARAMETER.
  8769. -  - `fundrawtransaction` now returns RPC_WALLET_ERROR if `bitcoind` is unable to create
  8770. -  the transaction. The error message provides further details. Previously returned
  8771. -  RPC_INTERNAL_ERROR.
  8772. -  - `bumpfee` now returns RPC_INVALID_PARAMETER if the provided transaction has
  8773. -  descendants in the wallet. Previously returned RPC_MISC_ERROR.
  8774. -  - `bumpfee` now returns RPC_INVALID_PARAMETER if the provided transaction has
  8775. -  descendants in the mempool. Previously returned RPC_MISC_ERROR.
  8776. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has
  8777. -  has been mined or conflicts with a mined transaction. Previously returned
  8778. -  RPC_INVALID_ADDRESS_OR_KEY.
  8779. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction is not
  8780. -  BIP 125 replaceable. Previously returned RPC_INVALID_ADDRESS_OR_KEY.
  8781. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has already
  8782. -  been bumped by a different transaction. Previously returned RPC_INVALID_REQUEST.
  8783. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction contains
  8784. -  inputs which don't belong to this wallet. Previously returned RPC_INVALID_ADDRESS_OR_KEY.
  8785. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has multiple change
  8786. -  outputs. Previously returned RPC_MISC_ERROR.
  8787. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has no change
  8788. -  output. Previously returned RPC_MISC_ERROR.
  8789. -  - `bumpfee` now returns RPC_WALLET_ERROR if the fee is too high. Previously returned
  8790. -  RPC_MISC_ERROR.
  8791. -  - `bumpfee` now returns RPC_WALLET_ERROR if the fee is too low. Previously returned
  8792. -  RPC_MISC_ERROR.
  8793. -  - `bumpfee` now returns RPC_WALLET_ERROR if the change output is too small to bump the
  8794. -  fee. Previously returned RPC_MISC_ERROR.
  8795. -
  8796. -0.15.0 Change log
  8797. -=================
  8798. -
  8799. -### RPC and other APIs
  8800. -- #9485 `61a640e` ZMQ example using python3 and asyncio (mcelrath)
  8801. -- #9894 `0496e15` remove 'label' filter for rpc command help (instagibbs)
  8802. -- #9853 `02bd6e9` Fix error codes from various RPCs (jnewbery)
  8803. -- #9842 `598ef9c` Fix RPC failure testing (continuation of #9707) (jnewbery)
  8804. -- #10038 `d34995a` Add mallocinfo mode to `getmemoryinfo` RPC (laanwj)
  8805. -- #9500 `3568b30` [Qt][RPC] Autocomplete commands for 'help' command in debug console (achow101)
  8806. -- #10056 `e6156a0` [zmq] Call va_end() on va_start()ed args (kallewoof)
  8807. -- #10086 `7438cea` Trivial: move rpcserialversion into RPC option group (jlopp)
  8808. -- #10150 `350b224` [rpc] Add logging rpc (jnewbery)
  8809. -- #10208 `393160c` [wallet] Rescan abortability (kallewoof)
  8810. -- #10143 `a987def` [net] Allow disconnectnode RPC to be called with node id (jnewbery)
  8811. -- #10281 `0e8499c` doc: Add RPC interface guidelines (laanwj)
  8812. -- #9733 `d4732f3` Add getchaintxstats RPC (sipa)
  8813. -- #10310 `f4b15e2` [doc] Add hint about getmempoolentry to getrawmempool help (kallewoof)
  8814. -- #8704 `96c850c` [RPC] Transaction details in getblock (achow101)
  8815. -- #8952 `9390845` Add query options to listunspent RPC call (pedrobranco)
  8816. -- #10413 `08ac35a` Fix docs (there's no rpc command setpaytxfee) (RHavar)
  8817. -- #8384 `e317c0d` Add witness data output to TxInError messages (instagibbs)
  8818. -- #9571 `4677151` RPC: getblockchaininfo returns BIP signaling statistics  (pinheadmz)
  8819. -- #10450 `ef2d062` Fix bumpfee rpc "errors" return value (ryanofsky)
  8820. -- #10475 `39039b1` [RPC] getmempoolinfo mempoolminfee is a BTC/KB feerate (instagibbs)
  8821. -- #10478 `296928e` rpc: Add listen address to incoming connections in `getpeerinfo` (laanwj)
  8822. -- #10403 `08d0390` Fix importmulti failure to return rescan errors (ryanofsky)
  8823. -- #9740 `9fec4da` Add friendly output to dumpwallet (aideca)
  8824. -- #10426 `16f6c98` Replace bytes_serialized with bogosize (sipa)
  8825. -- #10252 `980deaf` RPC/Mining: Restore API compatibility for prioritisetransaction (luke-jr)
  8826. -- #9672 `46311e7` Opt-into-RBF for RPC & bitcoin-tx (luke-jr)
  8827. -- #10481 `9c248e3` Decodehextx scripts sanity check  (achow101)
  8828. -- #10488 `fa1f106` Note that the prioritizetransaction dummy value is deprecated, and has no meaning (TheBlueMatt)
  8829. -- #9738 `c94b89e` gettxoutproof() should return consistent result (jnewbery)
  8830. -- #10191 `00350bd` [trivial] Rename unused RPC arguments 'dummy' (jnewbery)
  8831. -- #10627 `b62b4c8` fixed listunspent rpc convert parameter (tnakagawa)
  8832. -- #10412 `bef02fb` Improve wallet rescan API (ryanofsky)
  8833. -- #10400 `1680ee0` [RPC] Add an uptime command that displays the amount of time (in seconds) bitcoind has been running (rvelhote)
  8834. -- #10683 `d81bec7` rpc: Move the `generate` RPC call to rpcwallet (laanwj)
  8835. -- #10710 `30bc0f6` REST/RPC example update (Mirobit)
  8836. -- #10747 `9edda0c` [rpc] fix verbose argument for getblock in bitcoin-cli (jnewbery)
  8837. -- #10589 `104f5f2` More economical fee estimates for RBF and RPC options to control (morcos)
  8838. -- #10543 `b27b004` Change API to estimaterawfee (morcos)
  8839. -- #10807 `afd2fca` getbalance example covers at least 6 confirms (instagibbs)
  8840. -- #10707 `75b5643` Better API for estimatesmartfee RPC  (morcos)
  8841. -- #10784 `9e8d6a3` Do not allow users to get keys from keypool without reserving them (TheBlueMatt)
  8842. -- #10857 `d445a2c` [RPC] Add a deprecation warning to getinfo's output (achow101)
  8843. -- #10571 `adf170d` [RPC]Move transaction combining from signrawtransaction to new RPC (achow101)
  8844. -- #10783 `041dad9` [RPC] Various rpc argument fixes (instagibbs)
  8845. -- #9622 `6ef3c7e` [rpc] listsinceblock should include lost transactions when parameter is a reorg'd block (kallewoof)
  8846. -- #10799 `8537187` Prevent user from specifying conflicting parameters to fundrawtx (TheBlueMatt)
  8847. -- #10931 `0b11a07` Fix misleading "Method not found" multiwallet errors (ryanofsky)
  8848. -- #10788 `f66c596` [RPC] Fix addwitnessaddress by replacing ismine with producesignature (achow101)
  8849. -- #10999 `627c3c0` Fix amounts formatting in `decoderawtransaction` (laanwj)
  8850. -- #11002 `4268426` [wallet] return correct error code from resendwallettransaction (jnewbery)
  8851. -- #11029 `96a63a3` [RPC] trivial: gettxout no longer shows version of tx (FelixWeis)
  8852. -- #11083 `6c2b008` Fix combinerawtransaction RPC help result section (jonasnick)
  8853. -- #11027 `07164bb` [RPC] Only return hex field once in getrawtransaction (achow101)
  8854. -- #10698 `5af6572` Be consistent in calling transactions "replaceable" for Opt-In RBF (TheBlueMatt)
  8855. -
  8856. -### Block and transaction handling
  8857. -- #9801 `a8c5751` Removed redundant parameter from mempool.PrioritiseTransaction (gubatron)
  8858. -- #9819 `1efc99c` Remove harmless read of unusued priority estimates (morcos)
  8859. -- #9822 `b7547fa` Remove block file location upgrade code (benma)
  8860. -- #9602 `30ff3a2` Remove coin age priority and free transactions - implementation (morcos)
  8861. -- #9548 `47510ad` Remove min reasonable fee (morcos)
  8862. -- #10249 `c73af54` Switch CCoinsMap from boost to std unordered_map (sipa)
  8863. -- #9966 `2a183de` Control mempool persistence using a command line parameter (jnewbery)
  8864. -- #10199 `318ea50` Better fee estimates (morcos)
  8865. -- #10196 `bee3529` Bugfix: PrioritiseTransaction updates the mempool tx counter (sdaftuar)
  8866. -- #10195 `1088b02` Switch chainstate db and cache to per-txout model (sipa)
  8867. -- #10284 `c2ab38b` Always log debug information for fee calculation in CreateTransaction (morcos)
  8868. -- #10503 `efbcf2b` Use REJECT_DUPLICATE for already known and conflicted txn (sipa)
  8869. -- #10537 `b3eb0d6` Few Minor per-utxo assert-semantics re-adds and tweak (TheBlueMatt)
  8870. -- #10626 `8c841a3` doc: Remove outdated minrelaytxfee comment (MarcoFalke)
  8871. -- #10559 `234ffc6` Change semantics of HaveCoinInCache to match HaveCoin (morcos)
  8872. -- #10581 `7878353` Simplify return values of GetCoin/HaveCoin(InCache) (sipa)
  8873. -- #10684 `a381f6a` Remove no longer used mempool.exists(outpoint) (morcos)
  8874. -- #10148 `d4e551a` Use non-atomic flushing with block replay (sipa)
  8875. -- #10685 `30c2130` Clarify CCoinsViewMemPool documentation (TheBlueMatt)
  8876. -- #10558 `90a002e` Address nits from per-utxo change (morcos)
  8877. -- #10706 `6859ad2` Improve wallet fee logic and fix GUI bugs (morcos)
  8878. -- #10526 `754aa02` Force on-the-fly compaction during pertxout upgrade (sipa)
  8879. -- #10985 `d896d5c` Add undocumented -forcecompactdb to force LevelDB compactions (sipa)
  8880. -- #10292 `e4bbd3d` Improved efficiency in COutPoint constructors (mm-s)
  8881. -- #10290 `8d6d43e` Add -stopatheight for benchmarking (sipa)
  8882. -
  8883. -### P2P protocol and network code
  8884. -- #9726 `7639d38` netbase: Do not print an error on connection timeouts through proxy (laanwj)
  8885. -- #9805 `5b583ef` Add seed.btc.petertodd.org to mainnet DNS seeds (petertodd)
  8886. -- #9861 `22f609f` Trivial: Debug log ambiguity fix for peer addrs (keystrike)
  8887. -- #9774 `90cb2a2` Enable host lookups for -proxy and -onion parameters (jmcorgan)
  8888. -- #9558 `7b585cf` Clarify assumptions made about when BlockCheck is called (TheBlueMatt)
  8889. -- #10135 `e19586a` [p2p] Send the correct error code in reject messages (jnewbery)
  8890. -- #9665 `eab00d9` Use cached [compact] blocks to respond to getdata messages (TheBlueMatt)
  8891. -- #10215 `a077a90` Check interruptNet during dnsseed lookups (TheBlueMatt)
  8892. -- #10234 `faf2dea` [net] listbanned RPC and QT should show correct banned subnets (jnewbery)
  8893. -- #10134 `314ebdf` [qa] Fixes segwit block relay test after inv-direct-fetch was disabled (sdaftuar)
  8894. -- #10351 `3f57c55` removed unused code in INV message (Greg-Griffith)
  8895. -- #10061 `ae78609` [net] Added SetSocketNoDelay() utility function (tjps)
  8896. -- #10408 `28c6e8d` Net: Improvements to Tor control port parser (str4d)
  8897. -- #10460 `5c63d66` Broadcast address every day, not 9 hours (sipa)
  8898. -- #10471 `400fdd0` Denote functions CNode::GetRecvVersion() and CNode::GetRefCount()  as const (pavlosantoniou)
  8899. -- #10345 `67700b3` [P2P] Timeout for headers sync (sdaftuar)
  8900. -- #10564 `8d9f45e` Return early in IsBanned (gmaxwell)
  8901. -- #10587 `de8db47` Net: Fix resource leak in ReadBinaryFile(...) (practicalswift)
  8902. -- #9549 `b33ca14` [net] Avoid possibility of NULL pointer dereference in MarkBlockAsInFlight(...) (practicalswift)
  8903. -- #10446 `2772dc9` net: avoid extra dns query per seed (theuni)
  8904. -- #10824 `9dd6a2b` Avoid unnecessary work in SetNetworkActive (promag)
  8905. -- #10948 `df3a6f4` p2p: Hardcoded seeds update pre-0.15 branch (laanwj)
  8906. -- #10977 `02f4c4a` [net] Fix use of uninitialized value in getnetworkinfo(const JSONRPCRequest&) (practicalswift)
  8907. -- #10982 `c8b62c7` Disconnect network service bits 6 and 8 until Aug 1, 2018 (TheBlueMatt)
  8908. -- #11012 `0e5cff6` Make sure to clean up mapBlockSource if we've already seen the block (theuni)
  8909. -
  8910. -### Validation
  8911. -- #9725 `67023e9` CValidationInterface Cleanups (TheBlueMatt)
  8912. -- #10178 `2584925` Remove CValidationInterface::UpdatedTransaction (TheBlueMatt)
  8913. -- #10201 `a6548a4` pass Consensus::Params& to functions in validation.cpp and make them static (mariodian)
  8914. -- #10297 `431a548` Simplify DisconnectBlock arguments/return value (sipa)
  8915. -- #10464 `f94b7d5` Introduce static DoWarning (simplify UpdateTip) (jtimon)
  8916. -- #10569 `2e7d8f8` Fix stopatheight (achow101)
  8917. -- #10192 `2935b46` Cache full script execution results in addition to signatures (TheBlueMatt)
  8918. -- #10179 `21ed30a` Give CValidationInterface Support for calling notifications on the CScheduler Thread (TheBlueMatt)
  8919. -- #10557 `66270a4` Make check to distinguish between orphan txs and old txs more efficient (morcos)
  8920. -- #10775 `7c2400c` nCheckDepth chain height fix (romanornr)
  8921. -- #10821 `16240f4` Add SSE4 optimized SHA256 (sipa)
  8922. -- #10854 `04d395e` Avoid using sizes on non-fixed-width types to derive protocol constants (gmaxwell)
  8923. -- #10945 `2a50b11` Update defaultAssumeValid according to release-process.md (gmaxwell)
  8924. -- #10986 `2361208` Update chain transaction statistics (sipa)
  8925. -- #11028 `6bdf4b3` Avoid masking of difficulty adjustment errors by checkpoints (sipa)
  8926. -- #9533 `cb598cf` Allow non-power-of-2 signature cache sizes (sipa)
  8927. -- #9208 `acd9957` Improve DisconnectTip performance (sdaftuar)
  8928. -- #10618 `f90603a` Remove confusing MAX_BLOCK_BASE_SIZE (gmaxwell)
  8929. -- #10758 `bd92424` Fix some chainstate-init-order bugs (TheBlueMatt)
  8930. -- #10550 `b7296bc` Don't return stale data from CCoinsViewCache::Cursor() (ryanofsky)
  8931. -- #10998 `2507fd5` Fix upgrade cancel warnings (TheBlueMatt)
  8932. -- #9868 `cbdb473` Abstract out the command line options for block assembly (sipa)
  8933. -
  8934. -### Build system
  8935. -- #9727 `5f0556d` Remove fallbacks for boost_filesystem < v3 (laanwj)
  8936. -- #9788 `50a2265` gitian: bump descriptors for master (theuni)
  8937. -- #9794 `7ca2f54` Minor update to qrencode package builder (mitchellcash)
  8938. -- #9514 `2cc0df1` release: Windows signing script (theuni)
  8939. -- #9921 `8b789d8` build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL (laanwj)
  8940. -- #10011 `32d1b34` build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT (laanwj)
  8941. -- #9946 `90dd9e6` Fix build errors if spaces in path or parent directory (pinheadmz)
  8942. -- #10136 `81da4c7` build: Disable Wshadow warning (laanwj)
  8943. -- #10166 `64962ae` Ignore Doxyfile generated from Doxyfile.in template (paveljanik)
  8944. -- #10239 `0416ea9` Make Boost use std::atomic internally (sipa)
  8945. -- #10228 `27faa6c` build: regenerate bitcoin-config.h as necessary (theuni)
  8946. -- #10273 `8979f45` [scripts] Minor improvements to `macdeployqtplus` script (chrisgavin)
  8947. -- #10325 `a26280b` 0.15.0 Depends Updates (fanquake)
  8948. -- #10328 `79aeff6` Update contrib/debian to latest Ubuntu PPA upload (TheBlueMatt)
  8949. -- #7522 `d25449f` Bugfix: Only use git for build info if the repository is actually the right one (luke-jr)
  8950. -- #10489 `e654d61` build: silence gcc7's implicit fallthrough warning (theuni)
  8951. -- #10549 `ad1a13e` Avoid printing generic and duplicated "checking for QT" during ./configure (drizzt)
  8952. -- #10628 `8465b68` [depends] expat 2.2.1 (fanquake)
  8953. -- #10806 `db825d2` build: verify that the assembler can handle crc32 functions (theuni)
  8954. -- #10766 `b4d03be` Building Environment: Set ARFLAGS to cr (ReneNyffenegger)
  8955. -- #10803 `91edda8` Explicitly search for bdb5.3 (pstratem)
  8956. -- #10855 `81560b0` random: only use getentropy on openbsd (theuni)
  8957. -- #10508 `1caafa6` Run Qt wallet tests on travis (ryanofsky)
  8958. -- #10851 `e222618` depends: fix fontconfig with newer glibc (theuni)
  8959. -- #10971 `88b1e4b` build: fix missing sse42 in depends builds (theuni)
  8960. -- #11097 `129b03f` gitian: quick hack to fix version string in releases (theuni)
  8961. -- #10039 `919aaf6` Fix compile errors with Qt 5.3.2 and Boost 1.55.0 (ryanofsky)
  8962. -- #10168 `7032021` Fix build warning from #error text (jnewbery)
  8963. -- #10301 `318392c` Check if sys/random.h is required for getentropy (jameshilliard)
  8964. -
  8965. -### GUI
  8966. -- #9724 `1a9fd5c` Qt/Intro: Add explanation of IBD process (luke-jr)
  8967. -- #9834 `b00ba62` qt: clean up initialize/shutdown signals (benma)
  8968. -- #9481 `ce01e62` [Qt] Show more significant warning if we fall back to the default fee (jonasschnelli)
  8969. -- #9974 `b9f930b` Add basic Qt wallet test (ryanofsky)
  8970. -- #9690 `a387d3a` Change 'Clear' button string to 'Reset' (da2x)
  8971. -- #9592 `9c7b7cf` [Qt] Add checkbox in the GUI to opt-in to RBF when creating a transaction (ryanofsky)
  8972. -- #10098 `2b477e6` Make qt wallet test compatible with qt4 (ryanofsky)
  8973. -- #9890 `1fa4ae6` Add a button to open the config file in a text editor (ericshawlinux)
  8974. -- #10156 `51833a1` Fix for issues with startup and multiple monitors on windows (AllanDoensen)
  8975. -- #10177 `de01da7` Changed "Send" button default status from true to false (KibbledJiveElkZoo)
  8976. -- #10221 `e96486c` Stop treating coinbase outputs differently in GUI: show them at 1conf (TheBlueMatt)
  8977. -- #10231 `987a6c0` [Qt] Reduce a significant cs_main lock freeze (jonasschnelli)
  8978. -- #10242 `f6f3b58` [qt] Don't call method on null WalletModel object (ryanofsky)
  8979. -- #10093 `a3e756b` [Qt] Don't add arguments of sensitive command to console window (jonasschnelli)
  8980. -- #10362 `95546c8` [GUI] Add OSX keystroke to RPCConsole info (spencerlievens)
  8981. -- #9697 `962cd3f` [Qt] simple fee bumper with user verification (jonasschnelli)
  8982. -- #10390 `e477516` [wallet] remove minimum total fee option (instagibbs)
  8983. -- #10420 `4314544` Add Qt tests for wallet spends & bumpfee (ryanofsky)
  8984. -- #10454 `c1c9a95` Fix broken q4 test build (ryanofsky)
  8985. -- #10449 `64beb13` Overhaul Qt fee bumper (jonasschnelli)
  8986. -- #10582 `7c72fb9` Pass in smart fee slider value to coin control dialog (morcos)
  8987. -- #10673 `4c72cc3` [qt] Avoid potential null pointer dereference in TransactionView::exportClicked() (practicalswift)
  8988. -- #10769 `8fdd23a` [Qt] replace fee slider with a Dropdown, extend conf. targets (jonasschnelli)
  8989. -- #10870 `412b466` [Qt] Use wallet 0 in rpc console if running with multiple wallets (jonasschnelli)
  8990. -- #10988 `a9dd111` qt: Increase BLOCK_CHAIN_SIZE constants (laanwj)
  8991. -- #10644 `e292140` Slightly overhaul NSI pixmaps (jonasschnelli)
  8992. -- #10660 `0c3542e` Allow to cancel the txdb upgrade via splashscreen keypress 'q' (jonasschnelli)
  8993. -
  8994. -### Wallet
  8995. -- #9359 `f7ec7cf` Add test for CWalletTx::GetImmatureCredit() returning stale values (ryanofsky)
  8996. -- #9576 `56ab672` [wallet] Remove redundant initialization (practicalswift)
  8997. -- #9333 `fa625b0` Document CWalletTx::mapValue entries and remove erase of nonexistent "version" entry (ryanofsky)
  8998. -- #9906 `72fb515` Disallow copy constructor CReserveKeys (instagibbs)
  8999. -- #9369 `3178b2c` Factor out CWallet::nTimeSmart computation into a method (ryanofsky)
  9000. -- #9830 `afcd7c0` Add safe flag to listunspent result (NicolasDorier)
  9001. -- #9993 `c49355c` Initialize nRelockTime (pstratem)
  9002. -- #9818 `3d857f3` Save watch only key timestamps when reimporting keys (ryanofsky)
  9003. -- #9294 `f34cdcb` Use internal HD chain for change outputs (hd split) (jonasschnelli)
  9004. -- #10164 `e183ea2` Wallet: reduce excess logic InMempool() (kewde)
  9005. -- #10186 `c9ff4f8` Remove SYNC_TRANSACTION_NOT_IN_BLOCK magic number (jnewbery)
  9006. -- #10226 `64c45aa` wallet: Use boost to more portably ensure -wallet specifies only a filename (luke-jr)
  9007. -- #9827 `c91ca0a` Improve ScanForWalletTransactions return value (ryanofsky)
  9008. -- #9951 `fa1ac28` Wallet database handling abstractions/simplifications (laanwj)
  9009. -- #10265 `c29a0d4` [wallet] [moveonly] Check non-null pindex before potentially referencing (kallewoof)
  9010. -- #10283 `a550f6e` Cleanup: reduce to one GetMinimumFee call signature (morcos)
  9011. -- #10294 `e2b99b1` [Wallet] unset change position when there is no change (instagibbs)
  9012. -- #10115 `d3dce0e` Avoid reading the old hd master key during wallet encryption (TheBlueMatt)
  9013. -- #10341 `18c9deb` rpc/wallet: Workaround older UniValue which returns a std::string temporary for get_str (luke-jr)
  9014. -- #10308 `94e5227` [wallet] Securely erase potentially sensitive keys/values (tjps)
  9015. -- #10257 `ea1fd43` [test] Add test for getmemoryinfo (jimmysong)
  9016. -- #10295 `ce8176d` [qt] Move some WalletModel functions into CWallet (ryanofsky)
  9017. -- #10506 `7cc2c67` Fix bumpfee test after #10449 (ryanofsky)
  9018. -- #10500 `098b01d` Avoid CWalletTx copies in GetAddressBalances and GetAddressGroupings (ryanofsky)
  9019. -- #10455 `0747d33` Simplify feebumper minimum fee code slightly (ryanofsky)
  9020. -- #10522 `2805d60` [wallet] Remove unused variables (practicalswift)
  9021. -- #8694 `177433a` Basic multiwallet support (luke-jr)
  9022. -- #10598 `7a74f88` Supress struct/class mismatch warnings introduced in #10284 (paveljanik)
  9023. -- #9343 `209eef6` Don't create change at dust limit (morcos)
  9024. -- #10744 `ed88e31` Use method name via __func__ macro (darksh1ne)
  9025. -- #10712 `e8b9523` Add change output if necessary to reduce excess fee (morcos)
  9026. -- #10816 `1c011ff` Properly forbid -salvagewallet and -zapwallettxes for multi wallet (morcos)
  9027. -- #10235 `5cfdda2` Track keypool entries as internal vs external in memory (TheBlueMatt)
  9028. -- #10330 `bf0a08b` [wallet] fix zapwallettxes interaction with persistent mempool (jnewbery)
  9029. -- #10831 `0b01935` Batch flushing operations to the walletdb during top up and increase keypool size (gmaxwell)
  9030. -- #10795 `7b6e8bc` No longer ever reuse keypool indexes (TheBlueMatt)
  9031. -- #10849 `bde4f93` Multiwallet: simplest endpoint support (jonasschnelli)
  9032. -- #10817 `9022aa3` Redefine Dust and add a discard_rate (morcos)
  9033. -- #10883 `bf3b742` Rename -usewallet to -rpcwallet (morcos)
  9034. -- #10604 `420238d` [wallet] [tests] Add listwallets RPC, include wallet name in `getwalletinfo` and add multiwallet test (jnewbery)
  9035. -- #10885 `70888a3` Reject invalid wallets (promag)
  9036. -- #10949 `af56397` Clarify help message for -discardfee (morcos)
  9037. -- #10942 `2e857bb` Eliminate fee overpaying edge case when subtracting fee from recipients (morcos)
  9038. -- #10995 `fa64636` Fix resendwallettransactions assert failure if -walletbroadcast=0 (TheBlueMatt)
  9039. -- #11022 `653a46d` Basic keypool topup (jnewbery)
  9040. -- #11081 `9fe1f6b` Add length check for CExtKey deserialization (jonasschnelli, guidovranken)
  9041. -- #11044 `4ef8374` [wallet] Keypool topup cleanups (jnewbery)
  9042. -- #11145 `e51bb71` Fix rounding bug in calculation of minimum change (morcos)
  9043. -- #9605 `779f2f9` Use CScheduler for wallet flushing, remove ThreadFlushWalletDB (TheBlueMatt)
  9044. -- #10108 `4e3efd4` ApproximateBestSubset should take inputs by reference, not value (RHavar)
  9045. -
  9046. -### Tests and QA
  9047. -- #9744 `8efd1c8` Remove unused module from rpc-tests (34ro)
  9048. -- #9657 `7ff4a53` Improve rpc-tests.py (jnewbery)
  9049. -- #9766 `7146d96` Add --exclude option to rpc-tests.py (jnewbery)
  9050. -- #9577 `d6064a8` Fix docstrings in qa tests (jnewbery)
  9051. -- #9823 `a13a417` qa: Set correct path for binaries in rpc tests (MarcoFalke)
  9052. -- #9847 `6206252` Extra test vector for BIP32 (sipa)
  9053. -- #9350 `88c2ae3` [Trivial] Adding label for amount inside of tx_valid/tx_invalid.json (Christewart)
  9054. -- #9888 `36afd4d` travis: Verify commits only for one target (MarcoFalke)
  9055. -- #9904 `58861ad` test: Fail if InitBlockIndex fails (laanwj)
  9056. -- #9828 `67c5cc1` Avoid -Wshadow warnings in wallet_tests (ryanofsky)
  9057. -- #9832 `48c3429` [qa] assert_start_raises_init_error (NicolasDorier)
  9058. -- #9739 `9d5fcbf` Fix BIP68 activation test (jnewbery)
  9059. -- #9547 `d32581c` bench: Assert that division by zero is unreachable (practicalswift)
  9060. -- #9843 `c78adbf` Fix segwit getblocktemplate test (jnewbery)
  9061. -- #9929 `d5ce14e` tests: Delete unused function _rpchost_to_args (laanwj)
  9062. -- #9555 `19be26a` [test] Avoid reading a potentially uninitialized variable in tx_invalid-test (transaction_tests.cpp) (practicalswift)
  9063. -- #9945 `ac23a7c` Improve logging in bctest.py if there is a formatting mismatch (jnewbery)
  9064. -- #9768 `8910b47` [qa] Add logging to test_framework.py (jnewbery)
  9065. -- #9972 `21833f9` Fix extended rpc tests broken by #9768 (jnewbery)
  9066. -- #9977 `857d1e1` QA: getblocktemplate_longpoll.py should always use >0 fee tx (sdaftuar)
  9067. -- #9970 `3cc13ea` Improve readability of segwit.py, smartfees.py (sdaftuar)
  9068. -- #9497 `2c781fb` CCheckQueue Unit Tests (JeremyRubin)
  9069. -- #10024 `9225de2` [trivial] Use log.info() instead of print() in remaining functional test cases (jnewbery)
  9070. -- #9956 `3192e52` Reorganise qa directory (jnewbery)
  9071. -- #10017 `02d64bd` combine_logs.py - aggregates log files from multiple bitcoinds during functional tests (jnewbery)
  9072. -- #10047 `dfef6b6` [tests] Remove unused variables and imports (practicalswift)
  9073. -- #9701 `a230b05` Make bumpfee tests less fragile (ryanofsky)
  9074. -- #10053 `ca20923` [test] Allow functional test cases to be skipped (jnewbery)
  9075. -- #10052 `a0b1e57` [test] Run extended tests once daily in Travis (jnewbery)
  9076. -- #10069 `1118493` [QA] Fix typo in fundrawtransaction test (NicolasDorier)
  9077. -- #10083 `c044f03` [QA] Renaming rawTx into rawtx (NicolasDorier)
  9078. -- #10073 `b1a4f27` Actually run assumevalid.py (jnewbery)
  9079. -- #9780 `c412fd8` Suppress noisy output from qa tests in Travis (jnewbery)
  9080. -- #10096 `79af9fb` Check that all test scripts in test/functional are being run (jnewbery)
  9081. -- #10076 `5b029aa` [qa] combine_logs: Use ordered list for logfiles (MarcoFalke)
  9082. -- #10107 `f2734c2` Remove unused variable. Remove accidental trailing semicolons in Python code (practicalswift)
  9083. -- #10109 `8ac8041` Remove SingleNodeConnCB (jnewbery)
  9084. -- #10114 `edc62c9` [tests] sync_with_ping should assert that ping hasn't timed out (jnewbery)
  9085. -- #10128 `427d2fd` Speed Up CuckooCache tests (JeremyRubin)
  9086. -- #10072 `12af74b` Remove sources of unreliablility in extended functional tests (jnewbery)
  9087. -- #10077 `ebfd653` [qa] Add setnetworkactive smoke test (MarcoFalke)
  9088. -- #10152 `080d7c7` [trivial] remove unused line in Travis config (jnewbery)
  9089. -- #10159 `df1ca9e` [tests] color test results and sort alphabetically (jnewbery)
  9090. -- #10124 `88799ea` [test] Suppress test logging spam (jnewbery)
  9091. -- #10142 `ed09dd3` Run bitcoin_test-qt under minimal QPA platform (ryanofsky)
  9092. -- #9949 `a27dbc5` [bench] Avoid function call arguments which are pointers to uninitialized values (practicalswift)
  9093. -- #10187 `b44adf9` tests: Fix test_runner return value in case of skipped test (laanwj)
  9094. -- #10197 `d86bb07` [tests] Functional test warnings (jnewbery)
  9095. -- #10219 `9111df9` Tests: Order Python Tests Differently (jimmysong)
  9096. -- #10229 `f3db4c6` Tests: Add test for getdifficulty (jimmysong)
  9097. -- #10224 `2723bcd` [test] Add test for getaddednodeinfo (jimmysong)
  9098. -- #10023 `c530c15` [tests] remove maxblocksinflight.py (functionality covered by other test) (jnewbery)
  9099. -- #10097 `1b25b6d` Move zmq test skipping logic into individual test case (jnewbery)
  9100. -- #10272 `54e2d87` [Tests] Prevent warning: variable 'x' is uninitialized (paveljanik)
  9101. -- #10225 `e0a7e19` [test] Add aborttrescan tests (kallewoof)
  9102. -- #10278 `8254a8a` [test] Add Unit Test for GetListenPort (jimmysong)
  9103. -- #10280 `47535d7` [test] Unit test amount.h/amount.cpp (jimmysong)
  9104. -- #10256 `80c3a73` [test] Add test for gettxout to wallet.py (jimmysong)
  9105. -- #10264 `492d22f` [test] Add tests for getconnectioncount, getnettotals and ping (jimmysong)
  9106. -- #10169 `8f3e384` [tests] Remove func test code duplication (jnewbery)
  9107. -- #10198 `dc8fc0c` [tests] Remove is_network_split from functional test framework (jnewbery)
  9108. -- #10255 `3c5e6c9` [test] Add test for listaddressgroupings (jimmysong)
  9109. -- #10137 `75171f0` Remove unused import. Remove accidental trailing semicolons (practicalswift)
  9110. -- #10307 `83073de` [tests] allow zmq test to be run in out-of-tree builds (jnewbery)
  9111. -- #10344 `e927483` [tests] Fix abandonconflict.py intermittency (jnewbery)
  9112. -- #10318 `170bc2c` [tests] fix wait_for_inv() (jnewbery)
  9113. -- #10171 `fff72de` [tests] Add node methods to test framework (jnewbery)
  9114. -- #10352 `23d78c4` test: Add elapsed time to RPC tracing (laanwj)
  9115. -- #10342 `6a796b2` [tests] Improve mempool_persist test (jnewbery)
  9116. -- #10287 `776ba23` [tests] Update Unit Test for addrman.h/addrman.cpp (jimmysong)
  9117. -- #10365 `7ee5236` [tests] increase timeouts in sendheaders test (jnewbery)
  9118. -- #10361 `f6241b3` qa: disablewallet: Check that wallet is really disabled (MarcoFalke)
  9119. -- #10371 `4b766fc` [tests] Clean up addrman_tests.cpp (jimmysong)
  9120. -- #10253 `87abe20` [test] Add test for getnetworkhashps (jimmysong)
  9121. -- #10376 `8bd16ee` [tests] fix disconnect_ban intermittency (jnewbery)
  9122. -- #10374 `5411997` qa: Warn when specified test is not found (MarcoFalke)
  9123. -- #10405 `0542978` tests: Correct testcase in script_tests.json for large number OP_EQUAL (laanwj)
  9124. -- #10429 `6b99daf` tests: fix spurious addrman test failure (theuni)
  9125. -- #10433 `8e57256` [tests] improve tmpdir structure (jnewbery)
  9126. -- #10415 `217b416` [tests] Speed up fuzzing by ~200x when using afl-fuzz (practicalswift)
  9127. -- #10445 `b4b057a` Add test for empty chain and reorg consistency for gettxoutsetinfo (gmaxwell)
  9128. -- #10423 `1aefc94` [tests] skipped tests should clean up after themselves (jnewbery)
  9129. -- #10359 `329fc1d` [tests] functional tests should call BitcoinTestFramework start/stop node methods (jnewbery)
  9130. -- #10514 `e103b3f` Bugfix: missing == 0 after randrange (sipa)
  9131. -- #10515 `c871f32` [test] Add test for getchaintxstats (jimmysong)
  9132. -- #10509 `bea5b00` Remove xvfb configuration from travis (ryanofsky)
  9133. -- #10535 `30853e1` [qa] fundrawtx: Fix shutdown race (MarcoFalke)
  9134. -- #9909 `300f8e7` tests: Add FindEarliestAtLeast test for edge cases (ryanofsky)
  9135. -- #10331 `75e898c` Share config between util and functional tests (jnewbery)
  9136. -- #10321 `e801084` Use FastRandomContext for all tests (sipa)
  9137. -- #10524 `6c2d81f` [tests] Remove printf(...) (practicalswift)
  9138. -- #10547 `71ab6e5` [tests] Use FastRandomContext instead of boost::random::{mt19937,uniform_int_distribution} (practicalswift)
  9139. -- #10551 `6702617` [Tests] Wallet encryption functional tests (achow101)
  9140. -- #10555 `643fa0b` [tests] various improvements to zmq_test.py (jnewbery)
  9141. -- #10533 `d083bd9` [tests] Use cookie auth instead of rpcuser and rpcpassword (achow101)
  9142. -- #10632 `c68a9a6` qa: Add stopatheight test (MarcoFalke)
  9143. -- #10636 `4bc853b` [qa] util: Check return code after closing bitcoind proc (MarcoFalke)
  9144. -- #10662 `e0a7801` Initialize randomness in benchmarks (achow101)
  9145. -- #10612 `7c87a9c` The young person's guide to the test_framework (jnewbery)
  9146. -- #10659 `acb1153` [qa] blockchain: Pass on closed connection during generate call (MarcoFalke)
  9147. -- #10690 `416af3e` [qa] Bugfix: allow overriding extra_args in ComparisonTestFramework (sdaftuar)
  9148. -- #10556 `65cc7aa` Move stop/start functions from utils.py into BitcoinTestFramework (jnewbery)
  9149. -- #10704 `dd07f47` [tests] nits in dbcrash.py (jnewbery)
  9150. -- #10743 `be82498` [test] don't run dbcrash.py on Travis (jnewbery)
  9151. -- #10761 `d3b5870` [tests] fix replace_by_fee.py (jnewbery)
  9152. -- #10759 `1d4805c` Fix multi_rpc test for hosts that dont default to utf8 (TheBlueMatt)
  9153. -- #10190 `e4f226a` [tests] mining functional tests (including regression test for submitblock) (jnewbery)
  9154. -- #10739 `1fc783f` test: Move variable `state` down where it is used (paveljanik)
  9155. -- #9980 `fee0d80` Fix mem access violation merkleblock (Christewart)
  9156. -- #10893 `0c173a1` [QA] Avoid running multiwallet.py twice (jonasschnelli)
  9157. -- #10927 `9d5e8f9` test: Make sure wallet.backup is created in temp path (laanwj)
  9158. -- #10899 `f29d5db` [test] Qt: Use _putenv_s instead of setenv on Windows builds (brianmcmichael)
  9159. -- #10912 `5c8eb79` [tests] Fix incorrect memory_cleanse(?) call in crypto_tests.cpp (practicalswift)
  9160. -- #11001 `fa8a063` [tests] Test disconnecting unsupported service bits logic (jnewbery)
  9161. -- #10695 `929fd72` [qa] Rewrite BIP65/BIP66 functional tests (sdaftuar)
  9162. -- #10963 `ecd2135` [bench] Restore format state of cout after printing with std::fixed/setprecision (practicalswift)
  9163. -- #11025 `e5d26e4` qa: Fix inv race in example_test (MarcoFalke)
  9164. -- #10765 `2c811e0` Tests: address placement should be deterministic by default (ReneNyffenegger)
  9165. -- #11000 `ac016e1` test: Add resendwallettransactions functional tests (promag)
  9166. -- #11032 `aeb3175` [qa] Fix block message processing error in sendheaders.py (sdaftuar)
  9167. -- #10105 `0b9fb68` [tests] fixup - make all Travis test runs quiet, non just cron job runs (jnewbery)
  9168. -- #10222 `6ce7337` [tests] test_runner - check unicode (jnewbery)
  9169. -- #10327 `35da2ae` [tests] remove import-abort-rescan.py (jnewbery)
  9170. -- #11023 `bf74d37` [tests] Add option to attach a python debugger if functional test fails (jnewbery)
  9171. -- #10565 `8c2098a` [coverage] Remove subtrees and benchmarks from coverage report (achow101)
  9172. -
  9173. -### Miscellaneous
  9174. -- #9871 `be8ba2c` Add a tree sha512 hash to merge commits (sipa)
  9175. -- #9821 `d19d45a` util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD (laanwj)
  9176. -- #9903 `ba80a68` Docs: add details to -rpcclienttimeout doc (ian-kelling)
  9177. -- #9910 `53c300f` Docs: correct and elaborate -rpcbind doc (ian-kelling)
  9178. -- #9905 `01b7cda` [contrib] gh-merge: Move second sha512 check to the end (MarcoFalke)
  9179. -- #9880 `4df8213` Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1 (TheBlueMatt)
  9180. -- #9932 `00c13ea` Fix verify-commits on travis and always check top commit's tree (TheBlueMatt)
  9181. -- #9952 `6996e06` Add historical release notes for 0.14.0 (laanwj)
  9182. -- #9940 `fa99663` Fix verify-commits on OSX, update for new bad Tree-SHA512, point travis to different keyservers (TheBlueMatt)
  9183. -- #9963 `8040ae6` util: Properly handle errors during log message formatting (laanwj)
  9184. -- #9984 `cce056d` devtools: Make github-merge compute SHA512 from git, instead of worktree (laanwj)
  9185. -- #9995 `8bcf934` [doc] clarify blockchain size and pruning (askmike)
  9186. -- #9734 `0c17afc` Add updating of chainTxData to release process (sipa)
  9187. -- #10063 `530fcbd` add missing spaces so that markdown recognizes headline (flack)
  9188. -- #10085 `db1ae54` Docs: remove 'noconnect' option (jlopp)
  9189. -- #10090 `8e4f7e7` Update bitcoin.conf with example for pruning (coinables)
  9190. -- #9424 `1a5aaab` Change LogAcceptCategory to use uint32_t rather than sets of strings (gmaxwell)
  9191. -- #10036 `fbf36ca` Fix init README format to render correctly on github (jlopp)
  9192. -- #10058 `a2cd0b0` No need to use OpenSSL malloc/free (tjps)
  9193. -- #10123 `471ed00` Allow debug logs to be excluded from specified component (jnewbery)
  9194. -- #10104 `fadf078` linearize script: Option to use RPC cookie (achow101)
  9195. -- #10162 `a3a2160` [trivial] Log calls to getblocktemplate (jnewbery)
  9196. -- #10155 `928695b` build: Deduplicate version numbers (laanwj)
  9197. -- #10211 `a86255b` [doc] Contributor fixes & new "finding reviewers" section (kallewoof)
  9198. -- #10250 `1428f30` Fix some empty vector references (sipa)
  9199. -- #10270 `95f5e44` Remove Clang workaround for Boost 1.46 (fanquake)
  9200. -- #10263 `cb007e4` Trivial: fix fee estimate write error log message (CryptAxe)
  9201. -- #9670 `bd9ec0e` contrib: github-merge improvements (laanwj)
  9202. -- #10260 `1d75597` [doc] Minor corrections to osx dependencies (fanquake)
  9203. -- #10189 `750c5a5` devtools/net: add a verifier for scriptable changes. Use it to make CNode::id private (theuni)
  9204. -- #10322 `bc64b5a` Use hardware timestamps in RNG seeding (sipa)
  9205. -- #10381 `7f2b9e0` Shadowing warnings are not enabled by default, update doc accordingly (paveljanik)
  9206. -- #10380 `b6ee855` [doc] Removing comments about dirty entries on txmempool (madeo)
  9207. -- #10383 `d0c37ee` [logging] log system time and mock time (jnewbery)
  9208. -- #10404 `b45a52a` doc: Add logging to FinalizeNode() (sdaftuar)
  9209. -- #10388 `526e839` Output line to debug.log when IsInitialBlockDownload latches to false (morcos)
  9210. -- #10372 `15254e9` Add perf counter data to GetStrongRandBytes state in scheduler (TheBlueMatt)
  9211. -- #10461 `55b72f3` Update style guide (sipa)
  9212. -- #10486 `10e8c0a` devtools: Retry after signing fails in github-merge (laanwj)
  9213. -- #10447 `f259263` Make bitcoind invalid argument error message specific (laanwj)
  9214. -- #10495 `6a38b79` contrib: Update location of seeds.txt (laanwj)
  9215. -- #10469 `b6b150b` Fixing typo in rpcdump.cpp help message (keystrike)
  9216. -- #10451 `27b9931` contrib/init/bitcoind.openrcconf: Don't disable wallet by default (luke-jr)
  9217. -- #10323 `00d3692` Update to latest libsecp256k1 master (sipa)
  9218. -- #10422 `cec9e1e` Fix timestamp in fee estimate debug message (morcos)
  9219. -- #10566 `5d034ee` [docs] Use the "domain name setup" image (previously unused) in the gitian docs (practicalswift)
  9220. -- #10534 `a514ac3` Clarify prevector::erase and avoid swap-to-clear (sipa)
  9221. -- #10575 `22ec768` Header include guideline (sipa)
  9222. -- #10480 `fbf5d3b` Improve commit-check-script.sh (sipa)
  9223. -- #10502 `1ad3d4e` scripted-diff: Remove BOOST_FOREACH, Q_FOREACH and PAIRTYPE (jtimon)
  9224. -- #10377 `b63be2c` Use rdrand as entropy source on supported platforms (sipa)
  9225. -- #9895 `228c319` Turn TryCreateDirectory() into TryCreateDirectories() (benma)
  9226. -- #10602 `d76e84a` Make clang-format use C++11 features (e.g. A<A<int>> instead of A<A<int> >) (practicalswift)
  9227. -- #10623 `c38f540` doc: Add 0.14.2 release notes (MarcoFalke)
  9228. -- #10276 `b750b33` contrib/verifybinaries: allow filtering by platform (knocte)
  9229. -- #10248 `01c4b14` Rewrite addrdb with less duplication using CHashVerifier (sipa)
  9230. -- #10577 `232508f` Add an explanation of quickly hashing onto a non-power of two range (gmaxwell)
  9231. -- #10608 `eee398f` Add a comment explaining the use of MAX_BLOCK_BASE_SIZE (gmaxwell)
  9232. -- #10728 `7397af9` fix typo in help text for removeprunedfunds (AkioNak)
  9233. -- #10193 `6dbcc74` scripted-diff: Remove #include <boost/foreach.hpp> (jtimon)
  9234. -- #10676 `379aed0` document script-based return fields for validateaddress (instagibbs)
  9235. -- #10651 `cef4b5c` Verify binaries from bitcoincore.org and bitcoin.org (TheBlueMatt)
  9236. -- #10786 `ca4c545` Add PR description to merge commit in github-merge.py (sipa)
  9237. -- #10812 `c5904e8` [utils] Allow bitcoin-cli's -rpcconnect option to be used with square brackets (jnewbery)
  9238. -- #10842 `3895e25` Fix incorrect Doxygen tag (@ince ? @since). Doxygen parameter name matching (practicalswift)
  9239. -- #10681 `df0793f` add gdb attach process to test README (instagibbs)
  9240. -- #10789 `1124328` Punctuation/grammer fixes in rpcwallet.cpp (stevendlander)
  9241. -- #10655 `78f307b` Properly document target_confirmations in listsinceblock (RHavar)
  9242. -- #10917 `5c003cb` developer-notes: add reference to snake_case and PascalCase (benma)
  9243. -- #11003 `4b5a7ce` Docs: Capitalize bullet points in CONTRIBUTING guide (eklitzke)
  9244. -- #10968 `98aa3f6` Add instructions for parallel gitian builds (coblee)
  9245. -- #11076 `1c4b9b3` 0.15 release-notes nits: fix redundancy, remove accidental parenthesis & fix range style (practicalswift)
  9246. -- #11090 `8f0121c` Update contributor names in release-notes.md (Derek701)
  9247. -- #11056 `cbdd338` disable jni in builds (instagibbs)
  9248. -- #11080 `2b59cfb` doc: Update build-openbsd for 6.1 (laanwj)
  9249. -- #11119 `0a6af47` [doc] build-windows: Mention that only trusty works (MarcoFalke)
  9250. -- #11108 `e8ad101` Changing -txindex requires -reindex, not -reindex-chainstate (TheBlueMatt)
  9251. -- #9792 `342b9bc` FastRandomContext improvements and switch to ChaCha20 (sipa)
  9252. -- #9505 `67ed40e` Prevector Quick Destruct (JeremyRubin)
  9253. -- #10820 `ef37f20` Use cpuid intrinsics instead of asm code (sipa)
  9254. -- #9999 `a328904` [LevelDB] Plug leveldb logs to bitcoin logs (NicolasDorier)
  9255. -- #9693 `c5e9e42` Prevent integer overflow in ReadVarInt (gmaxwell)
  9256. -- #10129 `351d0ad` scheduler: fix sub-second precision with boost < 1.50 (theuni)
  9257. -- #10153 `fade788` logging: Fix off-by-one for shrinkdebugfile default (MarcoFalke)
  9258. -- #10305 `c45da32` Fix potential NPD introduced in b297426c (TheBlueMatt)
  9259. -- #10338 `daf3e7d` Maintain state across GetStrongRandBytes calls (sipa)
  9260. -- #10544 `a4fe077` Update to LevelDB 1.20 (sipa)
  9261. -- #10614 `cafe24f` random: fix crash on some 64bit platforms (theuni)
  9262. -- #10714 `2a09a38` Avoid printing incorrect block indexing time due to uninitialized variable (practicalswift)
  9263. -- #10837 `8bc6d1f` Fix resource leak on error in GetDevURandom (corebob)
  9264. -- #10832 `89bb036` init: Factor out AppInitLockDataDirectory and fix startup core dump issue (laanwj)
  9265. -- #10914 `b995a37` Add missing lock in CScheduler::AreThreadsServicingQueue() (TheBlueMatt)
  9266. -- #10958 `659c096` Update to latest Bitcoin patches for LevelDB (sipa)
  9267. -- #10919 `c1c671f` Fix more init bugs (TheBlueMatt)
  9268. -
  9269. -Credits
  9270. -=======
  9271. -
  9272. -Thanks to everyone who directly contributed to this release:
  9273. -
  9274. -- [The Bitcoin Core Developers](/doc/release-notes)
  9275. -- Adrian Gallagher
  9276. -- aunyks
  9277. -- coblee
  9278. -- gabrieldov
  9279. -- romanornr
  9280. -- shaolinfry
  9281. -- ultragtx
  9282. -- voidmain
  9283. -- xinxi
  9284. \ No newline at end of file
  9285. diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
  9286. index 95dc463..9b6f14a 100644
  9287. --- a/doc/man/Makefile.am
  9288. +++ b/doc/man/Makefile.am
  9289. @@ -1,13 +1,13 @@
  9290.  dist_man1_MANS=
  9291.  
  9292.  if BUILD_BITCOIND
  9293. -  dist_man1_MANS+=litecoind.1
  9294. +  dist_man1_MANS+=litecoincashd.1
  9295.  endif
  9296.  
  9297.  if ENABLE_QT
  9298. -  dist_man1_MANS+=litecoin-qt.1
  9299. +  dist_man1_MANS+=litecoincash-qt.1
  9300.  endif
  9301.  
  9302.  if BUILD_BITCOIN_UTILS
  9303. -  dist_man1_MANS+=litecoin-cli.1 litecoin-tx.1
  9304. +  dist_man1_MANS+=litecoincash-cli.1 litecoincash-tx.1
  9305.  endif
  9306. diff --git a/doc/man/litecoin-cli.1 b/doc/man/litecoin-cli.1
  9307. deleted file mode 100644
  9308. index 7283c81..0000000
  9309. --- a/doc/man/litecoin-cli.1
  9310. +++ /dev/null
  9311. @@ -1,94 +0,0 @@
  9312. -.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.3.
  9313. -.TH LITECOIN-CLI "1" "September 2017" "litecoin-cli v0.15.0.1" "User Commands"
  9314. -.SH NAME
  9315. -litecoin-cli \- manual page for litecoin-cli v0.15.0.1
  9316. -.SH DESCRIPTION
  9317. -Litecoin Core RPC client version v0.15.0.1\-dirty
  9318. -.SS "Usage:"
  9319. -.TP
  9320. -litecoin\-cli [options] <command> [params]
  9321. -Send command to Litecoin Core
  9322. -.IP
  9323. -litecoin\-cli [options] \fB\-named\fR <command> [name=value] ... Send command to Litecoin Core (with named arguments)
  9324. -litecoin\-cli [options] help                List commands
  9325. -litecoin\-cli [options] help <command>      Get help for a command
  9326. -.SH OPTIONS
  9327. -.HP
  9328. -\-?
  9329. -.IP
  9330. -This help message
  9331. -.HP
  9332. -\fB\-conf=\fR<file>
  9333. -.IP
  9334. -Specify configuration file (default: litecoin.conf)
  9335. -.HP
  9336. -\fB\-datadir=\fR<dir>
  9337. -.IP
  9338. -Specify data directory
  9339. -.PP
  9340. -Chain selection options:
  9341. -.HP
  9342. -\fB\-testnet\fR
  9343. -.IP
  9344. -Use the test chain
  9345. -.HP
  9346. -\fB\-regtest\fR
  9347. -.IP
  9348. -Enter regression test mode, which uses a special chain in which blocks
  9349. -can be solved instantly. This is intended for regression testing
  9350. -tools and app development.
  9351. -.HP
  9352. -\fB\-named\fR
  9353. -.IP
  9354. -Pass named instead of positional arguments (default: false)
  9355. -.HP
  9356. -\fB\-rpcconnect=\fR<ip>
  9357. -.IP
  9358. -Send commands to node running on <ip> (default: 127.0.0.1)
  9359. -.HP
  9360. -\fB\-rpcport=\fR<port>
  9361. -.IP
  9362. -Connect to JSON\-RPC on <port> (default: 9332 or testnet: 19332)
  9363. -.HP
  9364. -\fB\-rpcwait\fR
  9365. -.IP
  9366. -Wait for RPC server to start
  9367. -.HP
  9368. -\fB\-rpcuser=\fR<user>
  9369. -.IP
  9370. -Username for JSON\-RPC connections
  9371. -.HP
  9372. -\fB\-rpcpassword=\fR<pw>
  9373. -.IP
  9374. -Password for JSON\-RPC connections
  9375. -.HP
  9376. -\fB\-rpcclienttimeout=\fR<n>
  9377. -.IP
  9378. -Timeout in seconds during HTTP requests, or 0 for no timeout. (default:
  9379. -900)
  9380. -.HP
  9381. -\fB\-stdin\fR
  9382. -.IP
  9383. -Read extra arguments from standard input, one per line until EOF/Ctrl\-D
  9384. -(recommended for sensitive information such as passphrases)
  9385. -.HP
  9386. -\fB\-rpcwallet=\fR<walletname>
  9387. -.IP
  9388. -Send RPC for non\-default wallet on RPC server (argument is wallet
  9389. -filename in litecoind directory, required if litecoind/\-Qt runs
  9390. -with multiple wallets)
  9391. -.SH COPYRIGHT
  9392. -Copyright (C) 2009-2017 The Bitcoin Core developers
  9393. -Copyright (C) 2011-2017 The Litecoin Core developers
  9394. -
  9395. -Please contribute if you find Litecoin Core useful. Visit
  9396. -<https://litecoin.org> for further information about the software.
  9397. -The source code is available from <https://github.com/litecoin-project/litecoin>.
  9398. -
  9399. -This is experimental software.
  9400. -Distributed under the MIT software license, see the accompanying file COPYING
  9401. -or <https://opensource.org/licenses/MIT>
  9402. -
  9403. -This product includes software developed by the OpenSSL Project for use in the
  9404. -OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
  9405. -Eric Young and UPnP software written by Thomas Bernard.
  9406. diff --git a/doc/man/litecoin-qt.1 b/doc/man/litecoin-qt.1
  9407. deleted file mode 100644
  9408. index e3a1e5f..0000000
  9409. --- a/doc/man/litecoin-qt.1
  9410. +++ /dev/null
  9411. @@ -1,562 +0,0 @@
  9412. -.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.3.
  9413. -.TH LITECOIN-QT "1" "September 2017" "litecoin-qt v0.15.0.1" "User Commands"
  9414. -.SH NAME
  9415. -litecoin-qt \- manual page for litecoin-qt v0.15.0.1
  9416. -.SH DESCRIPTION
  9417. -Litecoin Core version v0.15.0.1\-dirty (64\-bit)
  9418. -Usage:
  9419. -.IP
  9420. -litecoin\-qt [command\-line options]
  9421. -.SH OPTIONS
  9422. -.HP
  9423. -\-?
  9424. -.IP
  9425. -Print this help message and exit
  9426. -.HP
  9427. -\fB\-version\fR
  9428. -.IP
  9429. -Print version and exit
  9430. -.HP
  9431. -\fB\-alertnotify=\fR<cmd>
  9432. -.IP
  9433. -Execute command when a relevant alert is received or we see a really
  9434. -long fork (%s in cmd is replaced by message)
  9435. -.HP
  9436. -\fB\-blocknotify=\fR<cmd>
  9437. -.IP
  9438. -Execute command when the best block changes (%s in cmd is replaced by
  9439. -block hash)
  9440. -.HP
  9441. -\fB\-assumevalid=\fR<hex>
  9442. -.IP
  9443. -If this block is in the chain assume that it and its ancestors are valid
  9444. -and potentially skip their script verification (0 to verify all,
  9445. -default:
  9446. -29c8c00e1a5f446a6364a29633d3f1ee16428d87c8d3851a1c570be8170b04c2,
  9447. -testnet:
  9448. -ad8ff6c2f5580d2b50bd881e11312425ea84fa99f322bf132beb722f97971bba)
  9449. -.HP
  9450. -\fB\-conf=\fR<file>
  9451. -.IP
  9452. -Specify configuration file (default: litecoin.conf)
  9453. -.HP
  9454. -\fB\-datadir=\fR<dir>
  9455. -.IP
  9456. -Specify data directory
  9457. -.HP
  9458. -\fB\-dbcache=\fR<n>
  9459. -.IP
  9460. -Set database cache size in megabytes (4 to 16384, default: 450)
  9461. -.HP
  9462. -\fB\-loadblock=\fR<file>
  9463. -.IP
  9464. -Imports blocks from external blk000??.dat file on startup
  9465. -.HP
  9466. -\fB\-maxorphantx=\fR<n>
  9467. -.IP
  9468. -Keep at most <n> unconnectable transactions in memory (default: 100)
  9469. -.HP
  9470. -\fB\-maxmempool=\fR<n>
  9471. -.IP
  9472. -Keep the transaction memory pool below <n> megabytes (default: 5)
  9473. -.HP
  9474. -\fB\-mempoolexpiry=\fR<n>
  9475. -.IP
  9476. -Do not keep transactions in the mempool longer than <n> hours (default:
  9477. -336)
  9478. -.HP
  9479. -\fB\-persistmempool\fR
  9480. -.IP
  9481. -Whether to save the mempool on shutdown and load on restart (default: 1)
  9482. -.HP
  9483. -\fB\-blockreconstructionextratxn=\fR<n>
  9484. -.IP
  9485. -Extra transactions to keep in memory for compact block reconstructions
  9486. -(default: 100)
  9487. -.HP
  9488. -\fB\-par=\fR<n>
  9489. -.IP
  9490. -Set the number of script verification threads (\fB\-6\fR to 16, 0 = auto, <0 =
  9491. -leave that many cores free, default: 0)
  9492. -.HP
  9493. -\fB\-pid=\fR<file>
  9494. -.IP
  9495. -Specify pid file (default: litecoind.pid)
  9496. -.HP
  9497. -\fB\-prune=\fR<n>
  9498. -.IP
  9499. -Reduce storage requirements by enabling pruning (deleting) of old
  9500. -blocks. This allows the pruneblockchain RPC to be called to
  9501. -delete specific blocks, and enables automatic pruning of old
  9502. -blocks if a target size in MiB is provided. This mode is
  9503. -incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this
  9504. -setting requires re\-downloading the entire blockchain. (default:
  9505. -0 = disable pruning blocks, 1 = allow manual pruning via RPC,
  9506. ->550 = automatically prune block files to stay under the
  9507. -specified target size in MiB)
  9508. -.HP
  9509. -\fB\-reindex\-chainstate\fR
  9510. -.IP
  9511. -Rebuild chain state from the currently indexed blocks
  9512. -.HP
  9513. -\fB\-reindex\fR
  9514. -.IP
  9515. -Rebuild chain state and block index from the blk*.dat files on disk
  9516. -.HP
  9517. -\fB\-sysperms\fR
  9518. -.IP
  9519. -Create new files with system default permissions, instead of umask 077
  9520. -(only effective with disabled wallet functionality)
  9521. -.HP
  9522. -\fB\-txindex\fR
  9523. -.IP
  9524. -Maintain a full transaction index, used by the getrawtransaction rpc
  9525. -call (default: 0)
  9526. -.PP
  9527. -Connection options:
  9528. -.HP
  9529. -\fB\-addnode=\fR<ip>
  9530. -.IP
  9531. -Add a node to connect to and attempt to keep the connection open
  9532. -.HP
  9533. -\fB\-banscore=\fR<n>
  9534. -.IP
  9535. -Threshold for disconnecting misbehaving peers (default: 100)
  9536. -.HP
  9537. -\fB\-bantime=\fR<n>
  9538. -.IP
  9539. -Number of seconds to keep misbehaving peers from reconnecting (default:
  9540. -86400)
  9541. -.HP
  9542. -\fB\-bind=\fR<addr>
  9543. -.IP
  9544. -Bind to given address and always listen on it. Use [host]:port notation
  9545. -for IPv6
  9546. -.HP
  9547. -\fB\-connect=\fR<ip>
  9548. -.IP
  9549. -Connect only to the specified node(s); \fB\-connect\fR=\fI\,0\/\fR disables automatic
  9550. -connections
  9551. -.HP
  9552. -\fB\-discover\fR
  9553. -.IP
  9554. -Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
  9555. -or \fB\-proxy\fR)
  9556. -.HP
  9557. -\fB\-dns\fR
  9558. -.IP
  9559. -Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
  9560. -.HP
  9561. -\fB\-dnsseed\fR
  9562. -.IP
  9563. -Query for peer addresses via DNS lookup, if low on addresses (default: 1
  9564. -unless \fB\-connect\fR used)
  9565. -.HP
  9566. -\fB\-externalip=\fR<ip>
  9567. -.IP
  9568. -Specify your own public address
  9569. -.HP
  9570. -\fB\-forcednsseed\fR
  9571. -.IP
  9572. -Always query for peer addresses via DNS lookup (default: 0)
  9573. -.HP
  9574. -\fB\-listen\fR
  9575. -.IP
  9576. -Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR)
  9577. -.HP
  9578. -\fB\-listenonion\fR
  9579. -.IP
  9580. -Automatically create Tor hidden service (default: 1)
  9581. -.HP
  9582. -\fB\-maxconnections=\fR<n>
  9583. -.IP
  9584. -Maintain at most <n> connections to peers (default: 125)
  9585. -.HP
  9586. -\fB\-maxreceivebuffer=\fR<n>
  9587. -.IP
  9588. -Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
  9589. -.HP
  9590. -\fB\-maxsendbuffer=\fR<n>
  9591. -.IP
  9592. -Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
  9593. -.HP
  9594. -\fB\-maxtimeadjustment\fR
  9595. -.IP
  9596. -Maximum allowed median peer time offset adjustment. Local perspective of
  9597. -time may be influenced by peers forward or backward by this
  9598. -amount. (default: 4200 seconds)
  9599. -.HP
  9600. -\fB\-onion=\fR<ip:port>
  9601. -.IP
  9602. -Use separate SOCKS5 proxy to reach peers via Tor hidden services
  9603. -(default: \fB\-proxy\fR)
  9604. -.HP
  9605. -\fB\-onlynet=\fR<net>
  9606. -.IP
  9607. -Only connect to nodes in network <net> (ipv4, ipv6 or onion)
  9608. -.HP
  9609. -\fB\-permitbaremultisig\fR
  9610. -.IP
  9611. -Relay non\-P2SH multisig (default: 1)
  9612. -.HP
  9613. -\fB\-peerbloomfilters\fR
  9614. -.IP
  9615. -Support filtering of blocks and transaction with bloom filters (default:
  9616. -1)
  9617. -.HP
  9618. -\fB\-port=\fR<port>
  9619. -.IP
  9620. -Listen for connections on <port> (default: 8333 or testnet: 18333)
  9621. -.HP
  9622. -\fB\-proxy=\fR<ip:port>
  9623. -.IP
  9624. -Connect through SOCKS5 proxy
  9625. -.HP
  9626. -\fB\-proxyrandomize\fR
  9627. -.IP
  9628. -Randomize credentials for every proxy connection. This enables Tor
  9629. -stream isolation (default: 1)
  9630. -.HP
  9631. -\fB\-seednode=\fR<ip>
  9632. -.IP
  9633. -Connect to a node to retrieve peer addresses, and disconnect
  9634. -.HP
  9635. -\fB\-timeout=\fR<n>
  9636. -.IP
  9637. -Specify connection timeout in milliseconds (minimum: 1, default: 5000)
  9638. -.HP
  9639. -\fB\-torcontrol=\fR<ip>:<port>
  9640. -.IP
  9641. -Tor control port to use if onion listening enabled (default:
  9642. -127.0.0.1:9051)
  9643. -.HP
  9644. -\fB\-torpassword=\fR<pass>
  9645. -.IP
  9646. -Tor control port password (default: empty)
  9647. -.HP
  9648. -\fB\-upnp\fR
  9649. -.IP
  9650. -Use UPnP to map the listening port (default: 0)
  9651. -.HP
  9652. -\fB\-whitebind=\fR<addr>
  9653. -.IP
  9654. -Bind to given address and whitelist peers connecting to it. Use
  9655. -[host]:port notation for IPv6
  9656. -.HP
  9657. -\fB\-whitelist=\fR<IP address or network>
  9658. -.IP
  9659. -Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
  9660. -CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
  9661. -times. Whitelisted peers cannot be DoS banned and their
  9662. -transactions are always relayed, even if they are already in the
  9663. -mempool, useful e.g. for a gateway
  9664. -.HP
  9665. -\fB\-maxuploadtarget=\fR<n>
  9666. -.IP
  9667. -Tries to keep outbound traffic under the given target (in MiB per 24h),
  9668. -0 = no limit (default: 0)
  9669. -.PP
  9670. -Wallet options:
  9671. -.HP
  9672. -\fB\-disablewallet\fR
  9673. -.IP
  9674. -Do not load the wallet and disable wallet RPC calls
  9675. -.HP
  9676. -\fB\-keypool=\fR<n>
  9677. -.IP
  9678. -Set key pool size to <n> (default: 1000)
  9679. -.HP
  9680. -\fB\-fallbackfee=\fR<amt>
  9681. -.IP
  9682. -A fee rate (in LTC/kB) that will be used when fee estimation has
  9683. -insufficient data (default: 0.002)
  9684. -.HP
  9685. -\fB\-discardfee=\fR<amt>
  9686. -.IP
  9687. -The fee rate (in LTC/kB) that indicates your tolerance for discarding
  9688. -change by adding it to the fee (default: 0.0001). Note: An output
  9689. -is discarded if it is dust at this rate, but we will always
  9690. -discard up to the dust relay fee and a discard fee above that is
  9691. -limited by the fee estimate for the longest target
  9692. -.HP
  9693. -\fB\-mintxfee=\fR<amt>
  9694. -.IP
  9695. -Fees (in LTC/kB) smaller than this are considered zero fee for
  9696. -transaction creation (default: 0.001)
  9697. -.HP
  9698. -\fB\-paytxfee=\fR<amt>
  9699. -.IP
  9700. -Fee (in LTC/kB) to add to transactions you send (default: 0.00)
  9701. -.HP
  9702. -\fB\-rescan\fR
  9703. -.IP
  9704. -Rescan the block chain for missing wallet transactions on startup
  9705. -.HP
  9706. -\fB\-salvagewallet\fR
  9707. -.IP
  9708. -Attempt to recover private keys from a corrupt wallet on startup
  9709. -.HP
  9710. -\fB\-spendzeroconfchange\fR
  9711. -.IP
  9712. -Spend unconfirmed change when sending transactions (default: 1)
  9713. -.HP
  9714. -\fB\-txconfirmtarget=\fR<n>
  9715. -.IP
  9716. -If paytxfee is not set, include enough fee so transactions begin
  9717. -confirmation on average within n blocks (default: 6)
  9718. -.HP
  9719. -\fB\-usehd\fR
  9720. -.IP
  9721. -Use hierarchical deterministic key generation (HD) after BIP32. Only has
  9722. -effect during wallet creation/first start (default: 1)
  9723. -.HP
  9724. -\fB\-walletrbf\fR
  9725. -.IP
  9726. -Send transactions with full\-RBF opt\-in enabled (default: 0)
  9727. -.HP
  9728. -\fB\-upgradewallet\fR
  9729. -.IP
  9730. -Upgrade wallet to latest format on startup
  9731. -.HP
  9732. -\fB\-wallet=\fR<file>
  9733. -.IP
  9734. -Specify wallet file (within data directory) (default: wallet.dat)
  9735. -.HP
  9736. -\fB\-walletbroadcast\fR
  9737. -.IP
  9738. -Make the wallet broadcast transactions (default: 1)
  9739. -.HP
  9740. -\fB\-walletnotify=\fR<cmd>
  9741. -.IP
  9742. -Execute command when a wallet transaction changes (%s in cmd is replaced
  9743. -by TxID)
  9744. -.HP
  9745. -\fB\-zapwallettxes=\fR<mode>
  9746. -.IP
  9747. -Delete all wallet transactions and only recover those parts of the
  9748. -blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
  9749. -account owner and payment request information, 2 = drop tx meta
  9750. -data)
  9751. -.PP
  9752. -ZeroMQ notification options:
  9753. -.HP
  9754. -\fB\-zmqpubhashblock=\fR<address>
  9755. -.IP
  9756. -Enable publish hash block in <address>
  9757. -.HP
  9758. -\fB\-zmqpubhashtx=\fR<address>
  9759. -.IP
  9760. -Enable publish hash transaction in <address>
  9761. -.HP
  9762. -\fB\-zmqpubrawblock=\fR<address>
  9763. -.IP
  9764. -Enable publish raw block in <address>
  9765. -.HP
  9766. -\fB\-zmqpubrawtx=\fR<address>
  9767. -.IP
  9768. -Enable publish raw transaction in <address>
  9769. -.PP
  9770. -Debugging/Testing options:
  9771. -.HP
  9772. -\fB\-uacomment=\fR<cmt>
  9773. -.IP
  9774. -Append comment to the user agent string
  9775. -.HP
  9776. -\fB\-debug=\fR<category>
  9777. -.IP
  9778. -Output debugging information (default: 0, supplying <category> is
  9779. -optional). If <category> is not supplied or if <category> = 1,
  9780. -output all debugging information. <category> can be: net, tor,
  9781. -mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
  9782. -selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
  9783. -libevent, coindb, qt, leveldb.
  9784. -.HP
  9785. -\fB\-debugexclude=\fR<category>
  9786. -.IP
  9787. -Exclude debugging information for a category. Can be used in conjunction
  9788. -with \fB\-debug\fR=\fI\,1\/\fR to output debug logs for all categories except one
  9789. -or more specified categories.
  9790. -.HP
  9791. -\fB\-help\-debug\fR
  9792. -.IP
  9793. -Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR)
  9794. -.HP
  9795. -\fB\-logips\fR
  9796. -.IP
  9797. -Include IP addresses in debug output (default: 0)
  9798. -.HP
  9799. -\fB\-logtimestamps\fR
  9800. -.IP
  9801. -Prepend debug output with timestamp (default: 1)
  9802. -.HP
  9803. -\fB\-maxtxfee=\fR<amt>
  9804. -.IP
  9805. -Maximum total fees (in LTC) to use in a single wallet transaction or raw
  9806. -transaction; setting this too low may abort large transactions
  9807. -(default: 0.10)
  9808. -.HP
  9809. -\fB\-printtoconsole\fR
  9810. -.IP
  9811. -Send trace/debug info to console instead of debug.log file
  9812. -.HP
  9813. -\fB\-shrinkdebugfile\fR
  9814. -.IP
  9815. -Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
  9816. -.PP
  9817. -Chain selection options:
  9818. -.HP
  9819. -\fB\-testnet\fR
  9820. -.IP
  9821. -Use the test chain
  9822. -.PP
  9823. -Node relay options:
  9824. -.HP
  9825. -\fB\-bytespersigop\fR
  9826. -.IP
  9827. -Equivalent bytes per sigop in transactions for relay and mining
  9828. -(default: 20)
  9829. -.HP
  9830. -\fB\-datacarrier\fR
  9831. -.IP
  9832. -Relay and mine data carrier transactions (default: 1)
  9833. -.HP
  9834. -\fB\-datacarriersize\fR
  9835. -.IP
  9836. -Maximum size of data in data carrier transactions we relay and mine
  9837. -(default: 83)
  9838. -.HP
  9839. -\fB\-mempoolreplacement\fR
  9840. -.IP
  9841. -Enable transaction replacement in the memory pool (default: 1)
  9842. -.HP
  9843. -\fB\-minrelaytxfee=\fR<amt>
  9844. -.IP
  9845. -Fees (in LTC/kB) smaller than this are considered zero fee for relaying,
  9846. -mining and transaction creation (default: 0.001)
  9847. -.HP
  9848. -\fB\-whitelistrelay\fR
  9849. -.IP
  9850. -Accept relayed transactions received from whitelisted peers even when
  9851. -not relaying transactions (default: 1)
  9852. -.HP
  9853. -\fB\-whitelistforcerelay\fR
  9854. -.IP
  9855. -Force relay of transactions from whitelisted peers even if they violate
  9856. -local relay policy (default: 1)
  9857. -.PP
  9858. -Block creation options:
  9859. -.HP
  9860. -\fB\-blockmaxweight=\fR<n>
  9861. -.IP
  9862. -Set maximum BIP141 block weight (default: 3000000)
  9863. -.HP
  9864. -\fB\-blockmaxsize=\fR<n>
  9865. -.IP
  9866. -Set maximum block size in bytes (default: 750000)
  9867. -.HP
  9868. -\fB\-blockmintxfee=\fR<amt>
  9869. -.IP
  9870. -Set lowest fee rate (in LTC/kB) for transactions to be included in block
  9871. -creation. (default: 0.00001)
  9872. -.PP
  9873. -RPC server options:
  9874. -.HP
  9875. -\fB\-server\fR
  9876. -.IP
  9877. -Accept command line and JSON\-RPC commands
  9878. -.HP
  9879. -\fB\-rest\fR
  9880. -.IP
  9881. -Accept public REST requests (default: 0)
  9882. -.HP
  9883. -\fB\-rpcbind=\fR<addr>[:port]
  9884. -.IP
  9885. -Bind to given address to listen for JSON\-RPC connections. This option is
  9886. -ignored unless \fB\-rpcallowip\fR is also passed. Port is optional and
  9887. -overrides \fB\-rpcport\fR. Use [host]:port notation for IPv6. This
  9888. -option can be specified multiple times (default: 127.0.0.1 and
  9889. -::1 i.e., localhost, or if \fB\-rpcallowip\fR has been specified,
  9890. -0.0.0.0 and :: i.e., all addresses)
  9891. -.HP
  9892. -\fB\-rpccookiefile=\fR<loc>
  9893. -.IP
  9894. -Location of the auth cookie (default: data dir)
  9895. -.HP
  9896. -\fB\-rpcuser=\fR<user>
  9897. -.IP
  9898. -Username for JSON\-RPC connections
  9899. -.HP
  9900. -\fB\-rpcpassword=\fR<pw>
  9901. -.IP
  9902. -Password for JSON\-RPC connections
  9903. -.HP
  9904. -\fB\-rpcauth=\fR<userpw>
  9905. -.IP
  9906. -Username and hashed password for JSON\-RPC connections. The field
  9907. -<userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
  9908. -canonical python script is included in share/rpcuser. The client
  9909. -then connects normally using the
  9910. -rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
  9911. -option can be specified multiple times
  9912. -.HP
  9913. -\fB\-rpcport=\fR<port>
  9914. -.IP
  9915. -Listen for JSON\-RPC connections on <port> (default: 9332 or testnet:
  9916. -19332)
  9917. -.HP
  9918. -\fB\-rpcallowip=\fR<ip>
  9919. -.IP
  9920. -Allow JSON\-RPC connections from specified source. Valid for <ip> are a
  9921. -single IP (e.g. 1.2.3.4), a network/netmask (e.g.
  9922. -1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
  9923. -option can be specified multiple times
  9924. -.HP
  9925. -\fB\-rpcserialversion\fR
  9926. -.IP
  9927. -Sets the serialization of raw transaction or block hex returned in
  9928. -non\-verbose mode, non\-segwit(0) or segwit(1) (default: 1)
  9929. -.HP
  9930. -\fB\-rpcthreads=\fR<n>
  9931. -.IP
  9932. -Set the number of threads to service RPC calls (default: 4)
  9933. -.PP
  9934. -UI Options:
  9935. -.HP
  9936. -\fB\-choosedatadir\fR
  9937. -.IP
  9938. -Choose data directory on startup (default: 0)
  9939. -.HP
  9940. -\fB\-lang=\fR<lang>
  9941. -.IP
  9942. -Set language, for example "de_DE" (default: system locale)
  9943. -.HP
  9944. -\fB\-min\fR
  9945. -.IP
  9946. -Start minimized
  9947. -.HP
  9948. -\fB\-rootcertificates=\fR<file>
  9949. -.IP
  9950. -Set SSL root certificates for payment request (default: \fB\-system\-\fR)
  9951. -.HP
  9952. -\fB\-splash\fR
  9953. -.IP
  9954. -Show splash screen on startup (default: 1)
  9955. -.HP
  9956. -\fB\-resetguisettings\fR
  9957. -.IP
  9958. -Reset all settings changed in the GUI
  9959. -.SH COPYRIGHT
  9960. -Copyright (C) 2009-2017 The Bitcoin Core developers
  9961. -Copyright (C) 2011-2017 The Litecoin Core developers
  9962. -
  9963. -Please contribute if you find Litecoin Core useful. Visit
  9964. -<https://litecoin.org> for further information about the software.
  9965. -The source code is available from <https://github.com/litecoin-project/litecoin>.
  9966. -
  9967. -This is experimental software.
  9968. -Distributed under the MIT software license, see the accompanying file COPYING
  9969. -or <https://opensource.org/licenses/MIT>
  9970. -
  9971. -This product includes software developed by the OpenSSL Project for use in the
  9972. -OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
  9973. -Eric Young and UPnP software written by Thomas Bernard.
  9974. diff --git a/doc/man/litecoin-tx.1 b/doc/man/litecoin-tx.1
  9975. deleted file mode 100644
  9976. index 5e0a6b7..0000000
  9977. --- a/doc/man/litecoin-tx.1
  9978. +++ /dev/null
  9979. @@ -1,128 +0,0 @@
  9980. -.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.3.
  9981. -.TH LITECOIN-TX "1" "September 2017" "litecoin-tx v0.15.0.1" "User Commands"
  9982. -.SH NAME
  9983. -litecoin-tx \- manual page for litecoin-tx v0.15.0.1
  9984. -.SH DESCRIPTION
  9985. -Litecoin Core litecoin\-tx utility version v0.15.0.1\-dirty
  9986. -.SS "Usage:"
  9987. -.TP
  9988. -litecoin\-tx [options] <hex\-tx> [commands]
  9989. -Update hex\-encoded litecoin transaction
  9990. -.TP
  9991. -litecoin\-tx [options] \fB\-create\fR [commands]
  9992. -Create hex\-encoded litecoin transaction
  9993. -.SH OPTIONS
  9994. -.HP
  9995. -\-?
  9996. -.IP
  9997. -This help message
  9998. -.HP
  9999. -\fB\-create\fR
  10000. -.IP
  10001. -Create new, empty TX.
  10002. -.HP
  10003. -\fB\-json\fR
  10004. -.IP
  10005. -Select JSON output
  10006. -.HP
  10007. -\fB\-txid\fR
  10008. -.IP
  10009. -Output only the hex\-encoded transaction id of the resultant transaction.
  10010. -.PP
  10011. -Chain selection options:
  10012. -.HP
  10013. -\fB\-testnet\fR
  10014. -.IP
  10015. -Use the test chain
  10016. -.HP
  10017. -\fB\-regtest\fR
  10018. -.IP
  10019. -Enter regression test mode, which uses a special chain in which blocks
  10020. -can be solved instantly. This is intended for regression testing
  10021. -tools and app development.
  10022. -.PP
  10023. -Commands:
  10024. -.IP
  10025. -delin=N
  10026. -.IP
  10027. -Delete input N from TX
  10028. -.IP
  10029. -delout=N
  10030. -.IP
  10031. -Delete output N from TX
  10032. -.IP
  10033. -in=TXID:VOUT(:SEQUENCE_NUMBER)
  10034. -.IP
  10035. -Add input to TX
  10036. -.IP
  10037. -locktime=N
  10038. -.IP
  10039. -Set TX lock time to N
  10040. -.IP
  10041. -nversion=N
  10042. -.IP
  10043. -Set TX version to N
  10044. -.IP
  10045. -replaceable(=N)
  10046. -.IP
  10047. -Set RBF opt\-in sequence number for input N (if not provided, opt\-in all
  10048. -available inputs)
  10049. -.IP
  10050. -outaddr=VALUE:ADDRESS
  10051. -.IP
  10052. -Add address\-based output to TX
  10053. -.IP
  10054. -outpubkey=VALUE:PUBKEY[:FLAGS]
  10055. -.IP
  10056. -Add pay\-to\-pubkey output to TX. Optionally add the "W" flag to produce a
  10057. -pay\-to\-witness\-pubkey\-hash output. Optionally add the "S" flag to
  10058. -wrap the output in a pay\-to\-script\-hash.
  10059. -.IP
  10060. -outdata=[VALUE:]DATA
  10061. -.IP
  10062. -Add data\-based output to TX
  10063. -.IP
  10064. -outscript=VALUE:SCRIPT[:FLAGS]
  10065. -.IP
  10066. -Add raw script output to TX. Optionally add the "W" flag to produce a
  10067. -pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to
  10068. -wrap the output in a pay\-to\-script\-hash.
  10069. -.IP
  10070. -outmultisig=VALUE:REQUIRED:PUBKEYS:PUBKEY1:PUBKEY2:....[:FLAGS]
  10071. -.IP
  10072. -Add Pay To n\-of\-m Multi\-sig output to TX. n = REQUIRED, m = PUBKEYS.
  10073. -Optionally add the "W" flag to produce a
  10074. -pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to
  10075. -wrap the output in a pay\-to\-script\-hash.
  10076. -.IP
  10077. -sign=SIGHASH\-FLAGS
  10078. -.IP
  10079. -Add zero or more signatures to transaction. This command requires JSON
  10080. -registers:prevtxs=JSON object, privatekeys=JSON object. See
  10081. -signrawtransaction docs for format of sighash flags, JSON
  10082. -objects.
  10083. -.PP
  10084. -Register Commands:
  10085. -.IP
  10086. -load=NAME:FILENAME
  10087. -.IP
  10088. -Load JSON file FILENAME into register NAME
  10089. -.IP
  10090. -set=NAME:JSON\-STRING
  10091. -.IP
  10092. -Set register NAME to given JSON\-STRING
  10093. -.SH COPYRIGHT
  10094. -Copyright (C) 2009-2017 The Bitcoin Core developers
  10095. -Copyright (C) 2011-2017 The Litecoin Core developers
  10096. -
  10097. -Please contribute if you find Litecoin Core useful. Visit
  10098. -<https://litecoin.org> for further information about the software.
  10099. -The source code is available from <https://github.com/litecoin-project/litecoin>.
  10100. -
  10101. -This is experimental software.
  10102. -Distributed under the MIT software license, see the accompanying file COPYING
  10103. -or <https://opensource.org/licenses/MIT>
  10104. -
  10105. -This product includes software developed by the OpenSSL Project for use in the
  10106. -OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
  10107. -Eric Young and UPnP software written by Thomas Bernard.
  10108. diff --git a/doc/man/litecoincash-cli.1 b/doc/man/litecoincash-cli.1
  10109. new file mode 100644
  10110. index 0000000..59d78ef
  10111. --- /dev/null
  10112. +++ b/doc/man/litecoincash-cli.1
  10113. @@ -0,0 +1,94 @@
  10114. +.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.3.
  10115. +.TH LITECOINCASH-CLI "1" "September 2017" "litecoincash-cli v0.15.0.1" "User Commands"
  10116. +.SH NAME
  10117. +litecoincash-cli \- manual page for litecoincash-cli v0.15.0.1
  10118. +.SH DESCRIPTION
  10119. +LitecoinCash Core RPC client version v0.15.0.1\-dirty
  10120. +.SS "Usage:"
  10121. +.TP
  10122. +litecoincash\-cli [options] <command> [params]
  10123. +Send command to LitecoinCash Core
  10124. +.IP
  10125. +litecoincash\-cli [options] \fB\-named\fR <command> [name=value] ... Send command to LitecoinCash Core (with named arguments)
  10126. +litecoincash\-cli [options] help                List commands
  10127. +litecoincash\-cli [options] help <command>      Get help for a command
  10128. +.SH OPTIONS
  10129. +.HP
  10130. +\-?
  10131. +.IP
  10132. +This help message
  10133. +.HP
  10134. +\fB\-conf=\fR<file>
  10135. +.IP
  10136. +Specify configuration file (default: litecoincash.conf)
  10137. +.HP
  10138. +\fB\-datadir=\fR<dir>
  10139. +.IP
  10140. +Specify data directory
  10141. +.PP
  10142. +Chain selection options:
  10143. +.HP
  10144. +\fB\-testnet\fR
  10145. +.IP
  10146. +Use the test chain
  10147. +.HP
  10148. +\fB\-regtest\fR
  10149. +.IP
  10150. +Enter regression test mode, which uses a special chain in which blocks
  10151. +can be solved instantly. This is intended for regression testing
  10152. +tools and app development.
  10153. +.HP
  10154. +\fB\-named\fR
  10155. +.IP
  10156. +Pass named instead of positional arguments (default: false)
  10157. +.HP
  10158. +\fB\-rpcconnect=\fR<ip>
  10159. +.IP
  10160. +Send commands to node running on <ip> (default: 127.0.0.1)
  10161. +.HP
  10162. +\fB\-rpcport=\fR<port>
  10163. +.IP
  10164. +Connect to JSON\-RPC on <port> (default: 62457 or testnet: 62455)
  10165. +.HP
  10166. +\fB\-rpcwait\fR
  10167. +.IP
  10168. +Wait for RPC server to start
  10169. +.HP
  10170. +\fB\-rpcuser=\fR<user>
  10171. +.IP
  10172. +Username for JSON\-RPC connections
  10173. +.HP
  10174. +\fB\-rpcpassword=\fR<pw>
  10175. +.IP
  10176. +Password for JSON\-RPC connections
  10177. +.HP
  10178. +\fB\-rpcclienttimeout=\fR<n>
  10179. +.IP
  10180. +Timeout in seconds during HTTP requests, or 0 for no timeout. (default:
  10181. +900)
  10182. +.HP
  10183. +\fB\-stdin\fR
  10184. +.IP
  10185. +Read extra arguments from standard input, one per line until EOF/Ctrl\-D
  10186. +(recommended for sensitive information such as passphrases)
  10187. +.HP
  10188. +\fB\-rpcwallet=\fR<walletname>
  10189. +.IP
  10190. +Send RPC for non\-default wallet on RPC server (argument is wallet
  10191. +filename in litecoincashd directory, required if litecoincashd/\-Qt runs
  10192. +with multiple wallets)
  10193. +.SH COPYRIGHT
  10194. +Copyright (C) 2009-2017 The Bitcoin Core developers
  10195. +Copyright (C) 2011-2017 The Litecoin Core developers
  10196. +
  10197. +Please contribute if you find LitecoinCash Core useful. Visit
  10198. +<https://litecoincash.org> for further information about the software.
  10199. +The source code is available from <https://github.com/litecoincash-project/litecoincash>.
  10200. +
  10201. +This is experimental software.
  10202. +Distributed under the MIT software license, see the accompanying file COPYING
  10203. +or <https://opensource.org/licenses/MIT>
  10204. +
  10205. +This product includes software developed by the OpenSSL Project for use in the
  10206. +OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
  10207. +Eric Young and UPnP software written by Thomas Bernard.
  10208. diff --git a/doc/man/litecoincash-qt.1 b/doc/man/litecoincash-qt.1
  10209. new file mode 100644
  10210. index 0000000..f08bd3f
  10211. --- /dev/null
  10212. +++ b/doc/man/litecoincash-qt.1
  10213. @@ -0,0 +1,562 @@
  10214. +.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.3.
  10215. +.TH LITECOINCASH-QT "1" "September 2017" "litecoincash-qt v0.15.0.1" "User Commands"
  10216. +.SH NAME
  10217. +litecoincash-qt \- manual page for litecoincash-qt v0.15.0.1
  10218. +.SH DESCRIPTION
  10219. +LitecoinCash Core version v0.15.0.1\-dirty (64\-bit)
  10220. +Usage:
  10221. +.IP
  10222. +litecoincash\-qt [command\-line options]
  10223. +.SH OPTIONS
  10224. +.HP
  10225. +\-?
  10226. +.IP
  10227. +Print this help message and exit
  10228. +.HP
  10229. +\fB\-version\fR
  10230. +.IP
  10231. +Print version and exit
  10232. +.HP
  10233. +\fB\-alertnotify=\fR<cmd>
  10234. +.IP
  10235. +Execute command when a relevant alert is received or we see a really
  10236. +long fork (%s in cmd is replaced by message)
  10237. +.HP
  10238. +\fB\-blocknotify=\fR<cmd>
  10239. +.IP
  10240. +Execute command when the best block changes (%s in cmd is replaced by
  10241. +block hash)
  10242. +.HP
  10243. +\fB\-assumevalid=\fR<hex>
  10244. +.IP
  10245. +If this block is in the chain assume that it and its ancestors are valid
  10246. +and potentially skip their script verification (0 to verify all,
  10247. +default:
  10248. +29c8c00e1a5f446a6364a29633d3f1ee16428d87c8d3851a1c570be8170b04c2,
  10249. +testnet:
  10250. +ad8ff6c2f5580d2b50bd881e11312425ea84fa99f322bf132beb722f97971bba)
  10251. +.HP
  10252. +\fB\-conf=\fR<file>
  10253. +.IP
  10254. +Specify configuration file (default: litecoincash.conf)
  10255. +.HP
  10256. +\fB\-datadir=\fR<dir>
  10257. +.IP
  10258. +Specify data directory
  10259. +.HP
  10260. +\fB\-dbcache=\fR<n>
  10261. +.IP
  10262. +Set database cache size in megabytes (4 to 16384, default: 450)
  10263. +.HP
  10264. +\fB\-loadblock=\fR<file>
  10265. +.IP
  10266. +Imports blocks from external blk000??.dat file on startup
  10267. +.HP
  10268. +\fB\-maxorphantx=\fR<n>
  10269. +.IP
  10270. +Keep at most <n> unconnectable transactions in memory (default: 100)
  10271. +.HP
  10272. +\fB\-maxmempool=\fR<n>
  10273. +.IP
  10274. +Keep the transaction memory pool below <n> megabytes (default: 5)
  10275. +.HP
  10276. +\fB\-mempoolexpiry=\fR<n>
  10277. +.IP
  10278. +Do not keep transactions in the mempool longer than <n> hours (default:
  10279. +336)
  10280. +.HP
  10281. +\fB\-persistmempool\fR
  10282. +.IP
  10283. +Whether to save the mempool on shutdown and load on restart (default: 1)
  10284. +.HP
  10285. +\fB\-blockreconstructionextratxn=\fR<n>
  10286. +.IP
  10287. +Extra transactions to keep in memory for compact block reconstructions
  10288. +(default: 100)
  10289. +.HP
  10290. +\fB\-par=\fR<n>
  10291. +.IP
  10292. +Set the number of script verification threads (\fB\-6\fR to 16, 0 = auto, <0 =
  10293. +leave that many cores free, default: 0)
  10294. +.HP
  10295. +\fB\-pid=\fR<file>
  10296. +.IP
  10297. +Specify pid file (default: litecoincashd.pid)
  10298. +.HP
  10299. +\fB\-prune=\fR<n>
  10300. +.IP
  10301. +Reduce storage requirements by enabling pruning (deleting) of old
  10302. +blocks. This allows the pruneblockchain RPC to be called to
  10303. +delete specific blocks, and enables automatic pruning of old
  10304. +blocks if a target size in MiB is provided. This mode is
  10305. +incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this
  10306. +setting requires re\-downloading the entire blockchain. (default:
  10307. +0 = disable pruning blocks, 1 = allow manual pruning via RPC,
  10308. +>550 = automatically prune block files to stay under the
  10309. +specified target size in MiB)
  10310. +.HP
  10311. +\fB\-reindex\-chainstate\fR
  10312. +.IP
  10313. +Rebuild chain state from the currently indexed blocks
  10314. +.HP
  10315. +\fB\-reindex\fR
  10316. +.IP
  10317. +Rebuild chain state and block index from the blk*.dat files on disk
  10318. +.HP
  10319. +\fB\-sysperms\fR
  10320. +.IP
  10321. +Create new files with system default permissions, instead of umask 077
  10322. +(only effective with disabled wallet functionality)
  10323. +.HP
  10324. +\fB\-txindex\fR
  10325. +.IP
  10326. +Maintain a full transaction index, used by the getrawtransaction rpc
  10327. +call (default: 0)
  10328. +.PP
  10329. +Connection options:
  10330. +.HP
  10331. +\fB\-addnode=\fR<ip>
  10332. +.IP
  10333. +Add a node to connect to and attempt to keep the connection open
  10334. +.HP
  10335. +\fB\-banscore=\fR<n>
  10336. +.IP
  10337. +Threshold for disconnecting misbehaving peers (default: 100)
  10338. +.HP
  10339. +\fB\-bantime=\fR<n>
  10340. +.IP
  10341. +Number of seconds to keep misbehaving peers from reconnecting (default:
  10342. +86400)
  10343. +.HP
  10344. +\fB\-bind=\fR<addr>
  10345. +.IP
  10346. +Bind to given address and always listen on it. Use [host]:port notation
  10347. +for IPv6
  10348. +.HP
  10349. +\fB\-connect=\fR<ip>
  10350. +.IP
  10351. +Connect only to the specified node(s); \fB\-connect\fR=\fI\,0\/\fR disables automatic
  10352. +connections
  10353. +.HP
  10354. +\fB\-discover\fR
  10355. +.IP
  10356. +Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
  10357. +or \fB\-proxy\fR)
  10358. +.HP
  10359. +\fB\-dns\fR
  10360. +.IP
  10361. +Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
  10362. +.HP
  10363. +\fB\-dnsseed\fR
  10364. +.IP
  10365. +Query for peer addresses via DNS lookup, if low on addresses (default: 1
  10366. +unless \fB\-connect\fR used)
  10367. +.HP
  10368. +\fB\-externalip=\fR<ip>
  10369. +.IP
  10370. +Specify your own public address
  10371. +.HP
  10372. +\fB\-forcednsseed\fR
  10373. +.IP
  10374. +Always query for peer addresses via DNS lookup (default: 0)
  10375. +.HP
  10376. +\fB\-listen\fR
  10377. +.IP
  10378. +Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR)
  10379. +.HP
  10380. +\fB\-listenonion\fR
  10381. +.IP
  10382. +Automatically create Tor hidden service (default: 1)
  10383. +.HP
  10384. +\fB\-maxconnections=\fR<n>
  10385. +.IP
  10386. +Maintain at most <n> connections to peers (default: 125)
  10387. +.HP
  10388. +\fB\-maxreceivebuffer=\fR<n>
  10389. +.IP
  10390. +Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
  10391. +.HP
  10392. +\fB\-maxsendbuffer=\fR<n>
  10393. +.IP
  10394. +Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
  10395. +.HP
  10396. +\fB\-maxtimeadjustment\fR
  10397. +.IP
  10398. +Maximum allowed median peer time offset adjustment. Local perspective of
  10399. +time may be influenced by peers forward or backward by this
  10400. +amount. (default: 4200 seconds)
  10401. +.HP
  10402. +\fB\-onion=\fR<ip:port>
  10403. +.IP
  10404. +Use separate SOCKS5 proxy to reach peers via Tor hidden services
  10405. +(default: \fB\-proxy\fR)
  10406. +.HP
  10407. +\fB\-onlynet=\fR<net>
  10408. +.IP
  10409. +Only connect to nodes in network <net> (ipv4, ipv6 or onion)
  10410. +.HP
  10411. +\fB\-permitbaremultisig\fR
  10412. +.IP
  10413. +Relay non\-P2SH multisig (default: 1)
  10414. +.HP
  10415. +\fB\-peerbloomfilters\fR
  10416. +.IP
  10417. +Support filtering of blocks and transaction with bloom filters (default:
  10418. +1)
  10419. +.HP
  10420. +\fB\-port=\fR<port>
  10421. +.IP
  10422. +Listen for connections on <port> (default: 62458 or testnet: 62456)
  10423. +.HP
  10424. +\fB\-proxy=\fR<ip:port>
  10425. +.IP
  10426. +Connect through SOCKS5 proxy
  10427. +.HP
  10428. +\fB\-proxyrandomize\fR
  10429. +.IP
  10430. +Randomize credentials for every proxy connection. This enables Tor
  10431. +stream isolation (default: 1)
  10432. +.HP
  10433. +\fB\-seednode=\fR<ip>
  10434. +.IP
  10435. +Connect to a node to retrieve peer addresses, and disconnect
  10436. +.HP
  10437. +\fB\-timeout=\fR<n>
  10438. +.IP
  10439. +Specify connection timeout in milliseconds (minimum: 1, default: 5000)
  10440. +.HP
  10441. +\fB\-torcontrol=\fR<ip>:<port>
  10442. +.IP
  10443. +Tor control port to use if onion listening enabled (default:
  10444. +127.0.0.1:9051)
  10445. +.HP
  10446. +\fB\-torpassword=\fR<pass>
  10447. +.IP
  10448. +Tor control port password (default: empty)
  10449. +.HP
  10450. +\fB\-upnp\fR
  10451. +.IP
  10452. +Use UPnP to map the listening port (default: 0)
  10453. +.HP
  10454. +\fB\-whitebind=\fR<addr>
  10455. +.IP
  10456. +Bind to given address and whitelist peers connecting to it. Use
  10457. +[host]:port notation for IPv6
  10458. +.HP
  10459. +\fB\-whitelist=\fR<IP address or network>
  10460. +.IP
  10461. +Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
  10462. +CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
  10463. +times. Whitelisted peers cannot be DoS banned and their
  10464. +transactions are always relayed, even if they are already in the
  10465. +mempool, useful e.g. for a gateway
  10466. +.HP
  10467. +\fB\-maxuploadtarget=\fR<n>
  10468. +.IP
  10469. +Tries to keep outbound traffic under the given target (in MiB per 24h),
  10470. +0 = no limit (default: 0)
  10471. +.PP
  10472. +Wallet options:
  10473. +.HP
  10474. +\fB\-disablewallet\fR
  10475. +.IP
  10476. +Do not load the wallet and disable wallet RPC calls
  10477. +.HP
  10478. +\fB\-keypool=\fR<n>
  10479. +.IP
  10480. +Set key pool size to <n> (default: 1000)
  10481. +.HP
  10482. +\fB\-fallbackfee=\fR<amt>
  10483. +.IP
  10484. +A fee rate (in LCC/kB) that will be used when fee estimation has
  10485. +insufficient data (default: 0.002)
  10486. +.HP
  10487. +\fB\-discardfee=\fR<amt>
  10488. +.IP
  10489. +The fee rate (in LCC/kB) that indicates your tolerance for discarding
  10490. +change by adding it to the fee (default: 0.0001). Note: An output
  10491. +is discarded if it is dust at this rate, but we will always
  10492. +discard up to the dust relay fee and a discard fee above that is
  10493. +limited by the fee estimate for the longest target
  10494. +.HP
  10495. +\fB\-mintxfee=\fR<amt>
  10496. +.IP
  10497. +Fees (in LCC/kB) smaller than this are considered zero fee for
  10498. +transaction creation (default: 0.001)
  10499. +.HP
  10500. +\fB\-paytxfee=\fR<amt>
  10501. +.IP
  10502. +Fee (in LCC/kB) to add to transactions you send (default: 0.00)
  10503. +.HP
  10504. +\fB\-rescan\fR
  10505. +.IP
  10506. +Rescan the block chain for missing wallet transactions on startup
  10507. +.HP
  10508. +\fB\-salvagewallet\fR
  10509. +.IP
  10510. +Attempt to recover private keys from a corrupt wallet on startup
  10511. +.HP
  10512. +\fB\-spendzeroconfchange\fR
  10513. +.IP
  10514. +Spend unconfirmed change when sending transactions (default: 1)
  10515. +.HP
  10516. +\fB\-txconfirmtarget=\fR<n>
  10517. +.IP
  10518. +If paytxfee is not set, include enough fee so transactions begin
  10519. +confirmation on average within n blocks (default: 6)
  10520. +.HP
  10521. +\fB\-usehd\fR
  10522. +.IP
  10523. +Use hierarchical deterministic key generation (HD) after BIP32. Only has
  10524. +effect during wallet creation/first start (default: 1)
  10525. +.HP
  10526. +\fB\-walletrbf\fR
  10527. +.IP
  10528. +Send transactions with full\-RBF opt\-in enabled (default: 0)
  10529. +.HP
  10530. +\fB\-upgradewallet\fR
  10531. +.IP
  10532. +Upgrade wallet to latest format on startup
  10533. +.HP
  10534. +\fB\-wallet=\fR<file>
  10535. +.IP
  10536. +Specify wallet file (within data directory) (default: wallet.dat)
  10537. +.HP
  10538. +\fB\-walletbroadcast\fR
  10539. +.IP
  10540. +Make the wallet broadcast transactions (default: 1)
  10541. +.HP
  10542. +\fB\-walletnotify=\fR<cmd>
  10543. +.IP
  10544. +Execute command when a wallet transaction changes (%s in cmd is replaced
  10545. +by TxID)
  10546. +.HP
  10547. +\fB\-zapwallettxes=\fR<mode>
  10548. +.IP
  10549. +Delete all wallet transactions and only recover those parts of the
  10550. +blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
  10551. +account owner and payment request information, 2 = drop tx meta
  10552. +data)
  10553. +.PP
  10554. +ZeroMQ notification options:
  10555. +.HP
  10556. +\fB\-zmqpubhashblock=\fR<address>
  10557. +.IP
  10558. +Enable publish hash block in <address>
  10559. +.HP
  10560. +\fB\-zmqpubhashtx=\fR<address>
  10561. +.IP
  10562. +Enable publish hash transaction in <address>
  10563. +.HP
  10564. +\fB\-zmqpubrawblock=\fR<address>
  10565. +.IP
  10566. +Enable publish raw block in <address>
  10567. +.HP
  10568. +\fB\-zmqpubrawtx=\fR<address>
  10569. +.IP
  10570. +Enable publish raw transaction in <address>
  10571. +.PP
  10572. +Debugging/Testing options:
  10573. +.HP
  10574. +\fB\-uacomment=\fR<cmt>
  10575. +.IP
  10576. +Append comment to the user agent string
  10577. +.HP
  10578. +\fB\-debug=\fR<category>
  10579. +.IP
  10580. +Output debugging information (default: 0, supplying <category> is
  10581. +optional). If <category> is not supplied or if <category> = 1,
  10582. +output all debugging information. <category> can be: net, tor,
  10583. +mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
  10584. +selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
  10585. +libevent, coindb, qt, leveldb.
  10586. +.HP
  10587. +\fB\-debugexclude=\fR<category>
  10588. +.IP
  10589. +Exclude debugging information for a category. Can be used in conjunction
  10590. +with \fB\-debug\fR=\fI\,1\/\fR to output debug logs for all categories except one
  10591. +or more specified categories.
  10592. +.HP
  10593. +\fB\-help\-debug\fR
  10594. +.IP
  10595. +Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR)
  10596. +.HP
  10597. +\fB\-logips\fR
  10598. +.IP
  10599. +Include IP addresses in debug output (default: 0)
  10600. +.HP
  10601. +\fB\-logtimestamps\fR
  10602. +.IP
  10603. +Prepend debug output with timestamp (default: 1)
  10604. +.HP
  10605. +\fB\-maxtxfee=\fR<amt>
  10606. +.IP
  10607. +Maximum total fees (in LCC) to use in a single wallet transaction or raw
  10608. +transaction; setting this too low may abort large transactions
  10609. +(default: 0.10)
  10610. +.HP
  10611. +\fB\-printtoconsole\fR
  10612. +.IP
  10613. +Send trace/debug info to console instead of debug.log file
  10614. +.HP
  10615. +\fB\-shrinkdebugfile\fR
  10616. +.IP
  10617. +Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
  10618. +.PP
  10619. +Chain selection options:
  10620. +.HP
  10621. +\fB\-testnet\fR
  10622. +.IP
  10623. +Use the test chain
  10624. +.PP
  10625. +Node relay options:
  10626. +.HP
  10627. +\fB\-bytespersigop\fR
  10628. +.IP
  10629. +Equivalent bytes per sigop in transactions for relay and mining
  10630. +(default: 20)
  10631. +.HP
  10632. +\fB\-datacarrier\fR
  10633. +.IP
  10634. +Relay and mine data carrier transactions (default: 1)
  10635. +.HP
  10636. +\fB\-datacarriersize\fR
  10637. +.IP
  10638. +Maximum size of data in data carrier transactions we relay and mine
  10639. +(default: 83)
  10640. +.HP
  10641. +\fB\-mempoolreplacement\fR
  10642. +.IP
  10643. +Enable transaction replacement in the memory pool (default: 1)
  10644. +.HP
  10645. +\fB\-minrelaytxfee=\fR<amt>
  10646. +.IP
  10647. +Fees (in LCC/kB) smaller than this are considered zero fee for relaying,
  10648. +mining and transaction creation (default: 0.001)
  10649. +.HP
  10650. +\fB\-whitelistrelay\fR
  10651. +.IP
  10652. +Accept relayed transactions received from whitelisted peers even when
  10653. +not relaying transactions (default: 1)
  10654. +.HP
  10655. +\fB\-whitelistforcerelay\fR
  10656. +.IP
  10657. +Force relay of transactions from whitelisted peers even if they violate
  10658. +local relay policy (default: 1)
  10659. +.PP
  10660. +Block creation options:
  10661. +.HP
  10662. +\fB\-blockmaxweight=\fR<n>
  10663. +.IP
  10664. +Set maximum BIP141 block weight (default: 3000000)
  10665. +.HP
  10666. +\fB\-blockmaxsize=\fR<n>
  10667. +.IP
  10668. +Set maximum block size in bytes (default: 750000)
  10669. +.HP
  10670. +\fB\-blockmintxfee=\fR<amt>
  10671. +.IP
  10672. +Set lowest fee rate (in LCC/kB) for transactions to be included in block
  10673. +creation. (default: 0.00001)
  10674. +.PP
  10675. +RPC server options:
  10676. +.HP
  10677. +\fB\-server\fR
  10678. +.IP
  10679. +Accept command line and JSON\-RPC commands
  10680. +.HP
  10681. +\fB\-rest\fR
  10682. +.IP
  10683. +Accept public REST requests (default: 0)
  10684. +.HP
  10685. +\fB\-rpcbind=\fR<addr>[:port]
  10686. +.IP
  10687. +Bind to given address to listen for JSON\-RPC connections. This option is
  10688. +ignored unless \fB\-rpcallowip\fR is also passed. Port is optional and
  10689. +overrides \fB\-rpcport\fR. Use [host]:port notation for IPv6. This
  10690. +option can be specified multiple times (default: 127.0.0.1 and
  10691. +::1 i.e., localhost, or if \fB\-rpcallowip\fR has been specified,
  10692. +0.0.0.0 and :: i.e., all addresses)
  10693. +.HP
  10694. +\fB\-rpccookiefile=\fR<loc>
  10695. +.IP
  10696. +Location of the auth cookie (default: data dir)
  10697. +.HP
  10698. +\fB\-rpcuser=\fR<user>
  10699. +.IP
  10700. +Username for JSON\-RPC connections
  10701. +.HP
  10702. +\fB\-rpcpassword=\fR<pw>
  10703. +.IP
  10704. +Password for JSON\-RPC connections
  10705. +.HP
  10706. +\fB\-rpcauth=\fR<userpw>
  10707. +.IP
  10708. +Username and hashed password for JSON\-RPC connections. The field
  10709. +<userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
  10710. +canonical python script is included in share/rpcuser. The client
  10711. +then connects normally using the
  10712. +rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
  10713. +option can be specified multiple times
  10714. +.HP
  10715. +\fB\-rpcport=\fR<port>
  10716. +.IP
  10717. +Listen for JSON\-RPC connections on <port> (default: 62457 or testnet:
  10718. +62455)
  10719. +.HP
  10720. +\fB\-rpcallowip=\fR<ip>
  10721. +.IP
  10722. +Allow JSON\-RPC connections from specified source. Valid for <ip> are a
  10723. +single IP (e.g. 1.2.3.4), a network/netmask (e.g.
  10724. +1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
  10725. +option can be specified multiple times
  10726. +.HP
  10727. +\fB\-rpcserialversion\fR
  10728. +.IP
  10729. +Sets the serialization of raw transaction or block hex returned in
  10730. +non\-verbose mode, non\-segwit(0) or segwit(1) (default: 1)
  10731. +.HP
  10732. +\fB\-rpcthreads=\fR<n>
  10733. +.IP
  10734. +Set the number of threads to service RPC calls (default: 4)
  10735. +.PP
  10736. +UI Options:
  10737. +.HP
  10738. +\fB\-choosedatadir\fR
  10739. +.IP
  10740. +Choose data directory on startup (default: 0)
  10741. +.HP
  10742. +\fB\-lang=\fR<lang>
  10743. +.IP
  10744. +Set language, for example "de_DE" (default: system locale)
  10745. +.HP
  10746. +\fB\-min\fR
  10747. +.IP
  10748. +Start minimized
  10749. +.HP
  10750. +\fB\-rootcertificates=\fR<file>
  10751. +.IP
  10752. +Set SSL root certificates for payment request (default: \fB\-system\-\fR)
  10753. +.HP
  10754. +\fB\-splash\fR
  10755. +.IP
  10756. +Show splash screen on startup (default: 1)
  10757. +.HP
  10758. +\fB\-resetguisettings\fR
  10759. +.IP
  10760. +Reset all settings changed in the GUI
  10761. +.SH COPYRIGHT
  10762. +Copyright (C) 2009-2017 The Bitcoin Core developers
  10763. +Copyright (C) 2011-2017 The Litecoin Core developers
  10764. +
  10765. +Please contribute if you find LitecoinCash Core useful. Visit
  10766. +<https://litecoincash.org> for further information about the software.
  10767. +The source code is available from <https://github.com/litecoincash-project/litecoincash>.
  10768. +
  10769. +This is experimental software.
  10770. +Distributed under the MIT software license, see the accompanying file COPYING
  10771. +or <https://opensource.org/licenses/MIT>
  10772. +
  10773. +This product includes software developed by the OpenSSL Project for use in the
  10774. +OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
  10775. +Eric Young and UPnP software written by Thomas Bernard.
  10776. diff --git a/doc/man/litecoincash-tx.1 b/doc/man/litecoincash-tx.1
  10777. new file mode 100644
  10778. index 0000000..0e876b3
  10779. --- /dev/null
  10780. +++ b/doc/man/litecoincash-tx.1
  10781. @@ -0,0 +1,128 @@
  10782. +.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.3.
  10783. +.TH LITECOINCASH-TX "1" "September 2017" "litecoincash-tx v0.15.0.1" "User Commands"
  10784. +.SH NAME
  10785. +litecoincash-tx \- manual page for litecoincash-tx v0.15.0.1
  10786. +.SH DESCRIPTION
  10787. +LitecoinCash Core litecoincash\-tx utility version v0.15.0.1\-dirty
  10788. +.SS "Usage:"
  10789. +.TP
  10790. +litecoincash\-tx [options] <hex\-tx> [commands]
  10791. +Update hex\-encoded litecoincash transaction
  10792. +.TP
  10793. +litecoincash\-tx [options] \fB\-create\fR [commands]
  10794. +Create hex\-encoded litecoincash transaction
  10795. +.SH OPTIONS
  10796. +.HP
  10797. +\-?
  10798. +.IP
  10799. +This help message
  10800. +.HP
  10801. +\fB\-create\fR
  10802. +.IP
  10803. +Create new, empty TX.
  10804. +.HP
  10805. +\fB\-json\fR
  10806. +.IP
  10807. +Select JSON output
  10808. +.HP
  10809. +\fB\-txid\fR
  10810. +.IP
  10811. +Output only the hex\-encoded transaction id of the resultant transaction.
  10812. +.PP
  10813. +Chain selection options:
  10814. +.HP
  10815. +\fB\-testnet\fR
  10816. +.IP
  10817. +Use the test chain
  10818. +.HP
  10819. +\fB\-regtest\fR
  10820. +.IP
  10821. +Enter regression test mode, which uses a special chain in which blocks
  10822. +can be solved instantly. This is intended for regression testing
  10823. +tools and app development.
  10824. +.PP
  10825. +Commands:
  10826. +.IP
  10827. +delin=N
  10828. +.IP
  10829. +Delete input N from TX
  10830. +.IP
  10831. +delout=N
  10832. +.IP
  10833. +Delete output N from TX
  10834. +.IP
  10835. +in=TXID:VOUT(:SEQUENCE_NUMBER)
  10836. +.IP
  10837. +Add input to TX
  10838. +.IP
  10839. +locktime=N
  10840. +.IP
  10841. +Set TX lock time to N
  10842. +.IP
  10843. +nversion=N
  10844. +.IP
  10845. +Set TX version to N
  10846. +.IP
  10847. +replaceable(=N)
  10848. +.IP
  10849. +Set RBF opt\-in sequence number for input N (if not provided, opt\-in all
  10850. +available inputs)
  10851. +.IP
  10852. +outaddr=VALUE:ADDRESS
  10853. +.IP
  10854. +Add address\-based output to TX
  10855. +.IP
  10856. +outpubkey=VALUE:PUBKEY[:FLAGS]
  10857. +.IP
  10858. +Add pay\-to\-pubkey output to TX. Optionally add the "W" flag to produce a
  10859. +pay\-to\-witness\-pubkey\-hash output. Optionally add the "S" flag to
  10860. +wrap the output in a pay\-to\-script\-hash.
  10861. +.IP
  10862. +outdata=[VALUE:]DATA
  10863. +.IP
  10864. +Add data\-based output to TX
  10865. +.IP
  10866. +outscript=VALUE:SCRIPT[:FLAGS]
  10867. +.IP
  10868. +Add raw script output to TX. Optionally add the "W" flag to produce a
  10869. +pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to
  10870. +wrap the output in a pay\-to\-script\-hash.
  10871. +.IP
  10872. +outmultisig=VALUE:REQUIRED:PUBKEYS:PUBKEY1:PUBKEY2:....[:FLAGS]
  10873. +.IP
  10874. +Add Pay To n\-of\-m Multi\-sig output to TX. n = REQUIRED, m = PUBKEYS.
  10875. +Optionally add the "W" flag to produce a
  10876. +pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to
  10877. +wrap the output in a pay\-to\-script\-hash.
  10878. +.IP
  10879. +sign=SIGHASH\-FLAGS
  10880. +.IP
  10881. +Add zero or more signatures to transaction. This command requires JSON
  10882. +registers:prevtxs=JSON object, privatekeys=JSON object. See
  10883. +signrawtransaction docs for format of sighash flags, JSON
  10884. +objects.
  10885. +.PP
  10886. +Register Commands:
  10887. +.IP
  10888. +load=NAME:FILENAME
  10889. +.IP
  10890. +Load JSON file FILENAME into register NAME
  10891. +.IP
  10892. +set=NAME:JSON\-STRING
  10893. +.IP
  10894. +Set register NAME to given JSON\-STRING
  10895. +.SH COPYRIGHT
  10896. +Copyright (C) 2009-2017 The Bitcoin Core developers
  10897. +Copyright (C) 2011-2017 The Litecoin Core developers
  10898. +
  10899. +Please contribute if you find LitecoinCash Core useful. Visit
  10900. +<https://litecoincash.org> for further information about the software.
  10901. +The source code is available from <https://github.com/litecoincash-project/litecoincash>.
  10902. +
  10903. +This is experimental software.
  10904. +Distributed under the MIT software license, see the accompanying file COPYING
  10905. +or <https://opensource.org/licenses/MIT>
  10906. +
  10907. +This product includes software developed by the OpenSSL Project for use in the
  10908. +OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
  10909. +Eric Young and UPnP software written by Thomas Bernard.
  10910. diff --git a/doc/man/litecoincashd.1 b/doc/man/litecoincashd.1
  10911. new file mode 100644
  10912. index 0000000..06a280d
  10913. --- /dev/null
  10914. +++ b/doc/man/litecoincashd.1
  10915. @@ -0,0 +1,541 @@
  10916. +.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.3.
  10917. +.TH LITECOINCASHD "1" "September 2017" "litecoincashd v0.15.0.1" "User Commands"
  10918. +.SH NAME
  10919. +litecoincashd \- manual page for litecoincashd v0.15.0.1
  10920. +.SH DESCRIPTION
  10921. +LitecoinCash Core Daemon version v0.15.0.1\-dirty
  10922. +.SS "Usage:"
  10923. +.TP
  10924. +litecoincashd [options]
  10925. +Start LitecoinCash Core Daemon
  10926. +.SH OPTIONS
  10927. +.HP
  10928. +\-?
  10929. +.IP
  10930. +Print this help message and exit
  10931. +.HP
  10932. +\fB\-version\fR
  10933. +.IP
  10934. +Print version and exit
  10935. +.HP
  10936. +\fB\-alertnotify=\fR<cmd>
  10937. +.IP
  10938. +Execute command when a relevant alert is received or we see a really
  10939. +long fork (%s in cmd is replaced by message)
  10940. +.HP
  10941. +\fB\-blocknotify=\fR<cmd>
  10942. +.IP
  10943. +Execute command when the best block changes (%s in cmd is replaced by
  10944. +block hash)
  10945. +.HP
  10946. +\fB\-assumevalid=\fR<hex>
  10947. +.IP
  10948. +If this block is in the chain assume that it and its ancestors are valid
  10949. +and potentially skip their script verification (0 to verify all,
  10950. +default:
  10951. +29c8c00e1a5f446a6364a29633d3f1ee16428d87c8d3851a1c570be8170b04c2,
  10952. +testnet:
  10953. +ad8ff6c2f5580d2b50bd881e11312425ea84fa99f322bf132beb722f97971bba)
  10954. +.HP
  10955. +\fB\-conf=\fR<file>
  10956. +.IP
  10957. +Specify configuration file (default: litecoincash.conf)
  10958. +.HP
  10959. +\fB\-daemon\fR
  10960. +.IP
  10961. +Run in the background as a daemon and accept commands
  10962. +.HP
  10963. +\fB\-datadir=\fR<dir>
  10964. +.IP
  10965. +Specify data directory
  10966. +.HP
  10967. +\fB\-dbcache=\fR<n>
  10968. +.IP
  10969. +Set database cache size in megabytes (4 to 16384, default: 450)
  10970. +.HP
  10971. +\fB\-loadblock=\fR<file>
  10972. +.IP
  10973. +Imports blocks from external blk000??.dat file on startup
  10974. +.HP
  10975. +\fB\-maxorphantx=\fR<n>
  10976. +.IP
  10977. +Keep at most <n> unconnectable transactions in memory (default: 100)
  10978. +.HP
  10979. +\fB\-maxmempool=\fR<n>
  10980. +.IP
  10981. +Keep the transaction memory pool below <n> megabytes (default: 5)
  10982. +.HP
  10983. +\fB\-mempoolexpiry=\fR<n>
  10984. +.IP
  10985. +Do not keep transactions in the mempool longer than <n> hours (default:
  10986. +336)
  10987. +.HP
  10988. +\fB\-persistmempool\fR
  10989. +.IP
  10990. +Whether to save the mempool on shutdown and load on restart (default: 1)
  10991. +.HP
  10992. +\fB\-blockreconstructionextratxn=\fR<n>
  10993. +.IP
  10994. +Extra transactions to keep in memory for compact block reconstructions
  10995. +(default: 100)
  10996. +.HP
  10997. +\fB\-par=\fR<n>
  10998. +.IP
  10999. +Set the number of script verification threads (\fB\-6\fR to 16, 0 = auto, <0 =
  11000. +leave that many cores free, default: 0)
  11001. +.HP
  11002. +\fB\-pid=\fR<file>
  11003. +.IP
  11004. +Specify pid file (default: litecoincashd.pid)
  11005. +.HP
  11006. +\fB\-prune=\fR<n>
  11007. +.IP
  11008. +Reduce storage requirements by enabling pruning (deleting) of old
  11009. +blocks. This allows the pruneblockchain RPC to be called to
  11010. +delete specific blocks, and enables automatic pruning of old
  11011. +blocks if a target size in MiB is provided. This mode is
  11012. +incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this
  11013. +setting requires re\-downloading the entire blockchain. (default:
  11014. +0 = disable pruning blocks, 1 = allow manual pruning via RPC,
  11015. +>550 = automatically prune block files to stay under the
  11016. +specified target size in MiB)
  11017. +.HP
  11018. +\fB\-reindex\-chainstate\fR
  11019. +.IP
  11020. +Rebuild chain state from the currently indexed blocks
  11021. +.HP
  11022. +\fB\-reindex\fR
  11023. +.IP
  11024. +Rebuild chain state and block index from the blk*.dat files on disk
  11025. +.HP
  11026. +\fB\-sysperms\fR
  11027. +.IP
  11028. +Create new files with system default permissions, instead of umask 077
  11029. +(only effective with disabled wallet functionality)
  11030. +.HP
  11031. +\fB\-txindex\fR
  11032. +.IP
  11033. +Maintain a full transaction index, used by the getrawtransaction rpc
  11034. +call (default: 0)
  11035. +.PP
  11036. +Connection options:
  11037. +.HP
  11038. +\fB\-addnode=\fR<ip>
  11039. +.IP
  11040. +Add a node to connect to and attempt to keep the connection open
  11041. +.HP
  11042. +\fB\-banscore=\fR<n>
  11043. +.IP
  11044. +Threshold for disconnecting misbehaving peers (default: 100)
  11045. +.HP
  11046. +\fB\-bantime=\fR<n>
  11047. +.IP
  11048. +Number of seconds to keep misbehaving peers from reconnecting (default:
  11049. +86400)
  11050. +.HP
  11051. +\fB\-bind=\fR<addr>
  11052. +.IP
  11053. +Bind to given address and always listen on it. Use [host]:port notation
  11054. +for IPv6
  11055. +.HP
  11056. +\fB\-connect=\fR<ip>
  11057. +.IP
  11058. +Connect only to the specified node(s); \fB\-connect\fR=\fI\,0\/\fR disables automatic
  11059. +connections
  11060. +.HP
  11061. +\fB\-discover\fR
  11062. +.IP
  11063. +Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
  11064. +or \fB\-proxy\fR)
  11065. +.HP
  11066. +\fB\-dns\fR
  11067. +.IP
  11068. +Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
  11069. +.HP
  11070. +\fB\-dnsseed\fR
  11071. +.IP
  11072. +Query for peer addresses via DNS lookup, if low on addresses (default: 1
  11073. +unless \fB\-connect\fR used)
  11074. +.HP
  11075. +\fB\-externalip=\fR<ip>
  11076. +.IP
  11077. +Specify your own public address
  11078. +.HP
  11079. +\fB\-forcednsseed\fR
  11080. +.IP
  11081. +Always query for peer addresses via DNS lookup (default: 0)
  11082. +.HP
  11083. +\fB\-listen\fR
  11084. +.IP
  11085. +Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR)
  11086. +.HP
  11087. +\fB\-listenonion\fR
  11088. +.IP
  11089. +Automatically create Tor hidden service (default: 1)
  11090. +.HP
  11091. +\fB\-maxconnections=\fR<n>
  11092. +.IP
  11093. +Maintain at most <n> connections to peers (default: 125)
  11094. +.HP
  11095. +\fB\-maxreceivebuffer=\fR<n>
  11096. +.IP
  11097. +Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
  11098. +.HP
  11099. +\fB\-maxsendbuffer=\fR<n>
  11100. +.IP
  11101. +Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
  11102. +.HP
  11103. +\fB\-maxtimeadjustment\fR
  11104. +.IP
  11105. +Maximum allowed median peer time offset adjustment. Local perspective of
  11106. +time may be influenced by peers forward or backward by this
  11107. +amount. (default: 4200 seconds)
  11108. +.HP
  11109. +\fB\-onion=\fR<ip:port>
  11110. +.IP
  11111. +Use separate SOCKS5 proxy to reach peers via Tor hidden services
  11112. +(default: \fB\-proxy\fR)
  11113. +.HP
  11114. +\fB\-onlynet=\fR<net>
  11115. +.IP
  11116. +Only connect to nodes in network <net> (ipv4, ipv6 or onion)
  11117. +.HP
  11118. +\fB\-permitbaremultisig\fR
  11119. +.IP
  11120. +Relay non\-P2SH multisig (default: 1)
  11121. +.HP
  11122. +\fB\-peerbloomfilters\fR
  11123. +.IP
  11124. +Support filtering of blocks and transaction with bloom filters (default:
  11125. +1)
  11126. +.HP
  11127. +\fB\-port=\fR<port>
  11128. +.IP
  11129. +Listen for connections on <port> (default: 62458 or testnet: 62456)
  11130. +.HP
  11131. +\fB\-proxy=\fR<ip:port>
  11132. +.IP
  11133. +Connect through SOCKS5 proxy
  11134. +.HP
  11135. +\fB\-proxyrandomize\fR
  11136. +.IP
  11137. +Randomize credentials for every proxy connection. This enables Tor
  11138. +stream isolation (default: 1)
  11139. +.HP
  11140. +\fB\-seednode=\fR<ip>
  11141. +.IP
  11142. +Connect to a node to retrieve peer addresses, and disconnect
  11143. +.HP
  11144. +\fB\-timeout=\fR<n>
  11145. +.IP
  11146. +Specify connection timeout in milliseconds (minimum: 1, default: 5000)
  11147. +.HP
  11148. +\fB\-torcontrol=\fR<ip>:<port>
  11149. +.IP
  11150. +Tor control port to use if onion listening enabled (default:
  11151. +127.0.0.1:9051)
  11152. +.HP
  11153. +\fB\-torpassword=\fR<pass>
  11154. +.IP
  11155. +Tor control port password (default: empty)
  11156. +.HP
  11157. +\fB\-upnp\fR
  11158. +.IP
  11159. +Use UPnP to map the listening port (default: 0)
  11160. +.HP
  11161. +\fB\-whitebind=\fR<addr>
  11162. +.IP
  11163. +Bind to given address and whitelist peers connecting to it. Use
  11164. +[host]:port notation for IPv6
  11165. +.HP
  11166. +\fB\-whitelist=\fR<IP address or network>
  11167. +.IP
  11168. +Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
  11169. +CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
  11170. +times. Whitelisted peers cannot be DoS banned and their
  11171. +transactions are always relayed, even if they are already in the
  11172. +mempool, useful e.g. for a gateway
  11173. +.HP
  11174. +\fB\-maxuploadtarget=\fR<n>
  11175. +.IP
  11176. +Tries to keep outbound traffic under the given target (in MiB per 24h),
  11177. +0 = no limit (default: 0)
  11178. +.PP
  11179. +Wallet options:
  11180. +.HP
  11181. +\fB\-disablewallet\fR
  11182. +.IP
  11183. +Do not load the wallet and disable wallet RPC calls
  11184. +.HP
  11185. +\fB\-keypool=\fR<n>
  11186. +.IP
  11187. +Set key pool size to <n> (default: 1000)
  11188. +.HP
  11189. +\fB\-fallbackfee=\fR<amt>
  11190. +.IP
  11191. +A fee rate (in LCC/kB) that will be used when fee estimation has
  11192. +insufficient data (default: 0.002)
  11193. +.HP
  11194. +\fB\-discardfee=\fR<amt>
  11195. +.IP
  11196. +The fee rate (in BTC/kB) that indicates your tolerance for discarding
  11197. +change by adding it to the fee (default: 0.0001). Note: An output
  11198. +is discarded if it is dust at this rate, but we will always
  11199. +discard up to the dust relay fee and a discard fee above that is
  11200. +limited by the fee estimate for the longest target
  11201. +.HP
  11202. +\fB\-mintxfee=\fR<amt>
  11203. +.IP
  11204. +Fees (in LCC/kB) smaller than this are considered zero fee for
  11205. +transaction creation (default: 0.001)
  11206. +.HP
  11207. +\fB\-paytxfee=\fR<amt>
  11208. +.IP
  11209. +Fee (in LCC/kB) to add to transactions you send (default: 0.00)
  11210. +.HP
  11211. +\fB\-rescan\fR
  11212. +.IP
  11213. +Rescan the block chain for missing wallet transactions on startup
  11214. +.HP
  11215. +\fB\-salvagewallet\fR
  11216. +.IP
  11217. +Attempt to recover private keys from a corrupt wallet on startup
  11218. +.HP
  11219. +\fB\-spendzeroconfchange\fR
  11220. +.IP
  11221. +Spend unconfirmed change when sending transactions (default: 1)
  11222. +.HP
  11223. +\fB\-txconfirmtarget=\fR<n>
  11224. +.IP
  11225. +If paytxfee is not set, include enough fee so transactions begin
  11226. +confirmation on average within n blocks (default: 6)
  11227. +.HP
  11228. +\fB\-usehd\fR
  11229. +.IP
  11230. +Use hierarchical deterministic key generation (HD) after BIP32. Only has
  11231. +effect during wallet creation/first start (default: 1)
  11232. +.HP
  11233. +\fB\-walletrbf\fR
  11234. +.IP
  11235. +Send transactions with full\-RBF opt\-in enabled (default: 0)
  11236. +.HP
  11237. +\fB\-upgradewallet\fR
  11238. +.IP
  11239. +Upgrade wallet to latest format on startup
  11240. +.HP
  11241. +\fB\-wallet=\fR<file>
  11242. +.IP
  11243. +Specify wallet file (within data directory) (default: wallet.dat)
  11244. +.HP
  11245. +\fB\-walletbroadcast\fR
  11246. +.IP
  11247. +Make the wallet broadcast transactions (default: 1)
  11248. +.HP
  11249. +\fB\-walletnotify=\fR<cmd>
  11250. +.IP
  11251. +Execute command when a wallet transaction changes (%s in cmd is replaced
  11252. +by TxID)
  11253. +.HP
  11254. +\fB\-zapwallettxes=\fR<mode>
  11255. +.IP
  11256. +Delete all wallet transactions and only recover those parts of the
  11257. +blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
  11258. +account owner and payment request information, 2 = drop tx meta
  11259. +data)
  11260. +.PP
  11261. +ZeroMQ notification options:
  11262. +.HP
  11263. +\fB\-zmqpubhashblock=\fR<address>
  11264. +.IP
  11265. +Enable publish hash block in <address>
  11266. +.HP
  11267. +\fB\-zmqpubhashtx=\fR<address>
  11268. +.IP
  11269. +Enable publish hash transaction in <address>
  11270. +.HP
  11271. +\fB\-zmqpubrawblock=\fR<address>
  11272. +.IP
  11273. +Enable publish raw block in <address>
  11274. +.HP
  11275. +\fB\-zmqpubrawtx=\fR<address>
  11276. +.IP
  11277. +Enable publish raw transaction in <address>
  11278. +.PP
  11279. +Debugging/Testing options:
  11280. +.HP
  11281. +\fB\-uacomment=\fR<cmt>
  11282. +.IP
  11283. +Append comment to the user agent string
  11284. +.HP
  11285. +\fB\-debug=\fR<category>
  11286. +.IP
  11287. +Output debugging information (default: 0, supplying <category> is
  11288. +optional). If <category> is not supplied or if <category> = 1,
  11289. +output all debugging information. <category> can be: net, tor,
  11290. +mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
  11291. +selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
  11292. +libevent, coindb, qt, leveldb.
  11293. +.HP
  11294. +\fB\-debugexclude=\fR<category>
  11295. +.IP
  11296. +Exclude debugging information for a category. Can be used in conjunction
  11297. +with \fB\-debug\fR=\fI\,1\/\fR to output debug logs for all categories except one
  11298. +or more specified categories.
  11299. +.HP
  11300. +\fB\-help\-debug\fR
  11301. +.IP
  11302. +Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR)
  11303. +.HP
  11304. +\fB\-logips\fR
  11305. +.IP
  11306. +Include IP addresses in debug output (default: 0)
  11307. +.HP
  11308. +\fB\-logtimestamps\fR
  11309. +.IP
  11310. +Prepend debug output with timestamp (default: 1)
  11311. +.HP
  11312. +\fB\-maxtxfee=\fR<amt>
  11313. +.IP
  11314. +Maximum total fees (in LCC) to use in a single wallet transaction or raw
  11315. +transaction; setting this too low may abort large transactions
  11316. +(default: 0.10)
  11317. +.HP
  11318. +\fB\-printtoconsole\fR
  11319. +.IP
  11320. +Send trace/debug info to console instead of debug.log file
  11321. +.HP
  11322. +\fB\-shrinkdebugfile\fR
  11323. +.IP
  11324. +Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
  11325. +.PP
  11326. +Chain selection options:
  11327. +.HP
  11328. +\fB\-testnet\fR
  11329. +.IP
  11330. +Use the test chain
  11331. +.PP
  11332. +Node relay options:
  11333. +.HP
  11334. +\fB\-bytespersigop\fR
  11335. +.IP
  11336. +Equivalent bytes per sigop in transactions for relay and mining
  11337. +(default: 20)
  11338. +.HP
  11339. +\fB\-datacarrier\fR
  11340. +.IP
  11341. +Relay and mine data carrier transactions (default: 1)
  11342. +.HP
  11343. +\fB\-datacarriersize\fR
  11344. +.IP
  11345. +Maximum size of data in data carrier transactions we relay and mine
  11346. +(default: 83)
  11347. +.HP
  11348. +\fB\-mempoolreplacement\fR
  11349. +.IP
  11350. +Enable transaction replacement in the memory pool (default: 1)
  11351. +.HP
  11352. +\fB\-minrelaytxfee=\fR<amt>
  11353. +.IP
  11354. +Fees (in BTC/kB) smaller than this are considered zero fee for relaying,
  11355. +mining and transaction creation (default: 0.00001)
  11356. +.HP
  11357. +\fB\-whitelistrelay\fR
  11358. +.IP
  11359. +Accept relayed transactions received from whitelisted peers even when
  11360. +not relaying transactions (default: 1)
  11361. +.HP
  11362. +\fB\-whitelistforcerelay\fR
  11363. +.IP
  11364. +Force relay of transactions from whitelisted peers even if they violate
  11365. +local relay policy (default: 1)
  11366. +.PP
  11367. +Block creation options:
  11368. +.HP
  11369. +\fB\-blockmaxweight=\fR<n>
  11370. +.IP
  11371. +Set maximum BIP141 block weight (default: 3000000)
  11372. +.HP
  11373. +\fB\-blockmaxsize=\fR<n>
  11374. +.IP
  11375. +Set maximum block size in bytes (default: 750000)
  11376. +.HP
  11377. +\fB\-blockmintxfee=\fR<amt>
  11378. +.IP
  11379. +Set lowest fee rate (in LCC/kB) for transactions to be included in block
  11380. +creation. (default: 0.00001)
  11381. +.PP
  11382. +RPC server options:
  11383. +.HP
  11384. +\fB\-server\fR
  11385. +.IP
  11386. +Accept command line and JSON\-RPC commands
  11387. +.HP
  11388. +\fB\-rest\fR
  11389. +.IP
  11390. +Accept public REST requests (default: 0)
  11391. +.HP
  11392. +\fB\-rpcbind=\fR<addr>[:port]
  11393. +.IP
  11394. +Bind to given address to listen for JSON\-RPC connections. This option is
  11395. +ignored unless \fB\-rpcallowip\fR is also passed. Port is optional and
  11396. +overrides \fB\-rpcport\fR. Use [host]:port notation for IPv6. This
  11397. +option can be specified multiple times (default: 127.0.0.1 and
  11398. +::1 i.e., localhost, or if \fB\-rpcallowip\fR has been specified,
  11399. +0.0.0.0 and :: i.e., all addresses)
  11400. +.HP
  11401. +\fB\-rpccookiefile=\fR<loc>
  11402. +.IP
  11403. +Location of the auth cookie (default: data dir)
  11404. +.HP
  11405. +\fB\-rpcuser=\fR<user>
  11406. +.IP
  11407. +Username for JSON\-RPC connections
  11408. +.HP
  11409. +\fB\-rpcpassword=\fR<pw>
  11410. +.IP
  11411. +Password for JSON\-RPC connections
  11412. +.HP
  11413. +\fB\-rpcauth=\fR<userpw>
  11414. +.IP
  11415. +Username and hashed password for JSON\-RPC connections. The field
  11416. +<userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
  11417. +canonical python script is included in share/rpcuser. The client
  11418. +then connects normally using the
  11419. +rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
  11420. +option can be specified multiple times
  11421. +.HP
  11422. +\fB\-rpcport=\fR<port>
  11423. +.IP
  11424. +Listen for JSON\-RPC connections on <port> (default: 62457 or testnet:
  11425. +62455)
  11426. +.HP
  11427. +\fB\-rpcallowip=\fR<ip>
  11428. +.IP
  11429. +Allow JSON\-RPC connections from specified source. Valid for <ip> are a
  11430. +single IP (e.g. 1.2.3.4), a network/netmask (e.g.
  11431. +1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
  11432. +option can be specified multiple times
  11433. +.HP
  11434. +\fB\-rpcserialversion\fR
  11435. +.IP
  11436. +Sets the serialization of raw transaction or block hex returned in
  11437. +non\-verbose mode, non\-segwit(0) or segwit(1) (default: 1)
  11438. +.HP
  11439. +\fB\-rpcthreads=\fR<n>
  11440. +.IP
  11441. +Set the number of threads to service RPC calls (default: 4)
  11442. +.SH COPYRIGHT
  11443. +Copyright (C) 2009-2017 The Bitcoin Core developers
  11444. +Copyright (C) 2011-2017 The Litecoin Core developers
  11445. +
  11446. +Please contribute if you find LitecoinCash Core useful. Visit
  11447. +<https://litecoincash.org> for further information about the software.
  11448. +The source code is available from <https://github.com/litecoincash-project/litecoincash>.
  11449. +
  11450. +This is experimental software.
  11451. +Distributed under the MIT software license, see the accompanying file COPYING
  11452. +or <https://opensource.org/licenses/MIT>
  11453. +
  11454. +This product includes software developed by the OpenSSL Project for use in the
  11455. +OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
  11456. +Eric Young and UPnP software written by Thomas Bernard.
  11457. diff --git a/doc/man/litecoind.1 b/doc/man/litecoind.1
  11458. deleted file mode 100644
  11459. index 8de36b1..0000000
  11460. --- a/doc/man/litecoind.1
  11461. +++ /dev/null
  11462. @@ -1,541 +0,0 @@
  11463. -.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.3.
  11464. -.TH LITECOIND "1" "September 2017" "litecoind v0.15.0.1" "User Commands"
  11465. -.SH NAME
  11466. -litecoind \- manual page for litecoind v0.15.0.1
  11467. -.SH DESCRIPTION
  11468. -Litecoin Core Daemon version v0.15.0.1\-dirty
  11469. -.SS "Usage:"
  11470. -.TP
  11471. -litecoind [options]
  11472. -Start Litecoin Core Daemon
  11473. -.SH OPTIONS
  11474. -.HP
  11475. -\-?
  11476. -.IP
  11477. -Print this help message and exit
  11478. -.HP
  11479. -\fB\-version\fR
  11480. -.IP
  11481. -Print version and exit
  11482. -.HP
  11483. -\fB\-alertnotify=\fR<cmd>
  11484. -.IP
  11485. -Execute command when a relevant alert is received or we see a really
  11486. -long fork (%s in cmd is replaced by message)
  11487. -.HP
  11488. -\fB\-blocknotify=\fR<cmd>
  11489. -.IP
  11490. -Execute command when the best block changes (%s in cmd is replaced by
  11491. -block hash)
  11492. -.HP
  11493. -\fB\-assumevalid=\fR<hex>
  11494. -.IP
  11495. -If this block is in the chain assume that it and its ancestors are valid
  11496. -and potentially skip their script verification (0 to verify all,
  11497. -default:
  11498. -29c8c00e1a5f446a6364a29633d3f1ee16428d87c8d3851a1c570be8170b04c2,
  11499. -testnet:
  11500. -ad8ff6c2f5580d2b50bd881e11312425ea84fa99f322bf132beb722f97971bba)
  11501. -.HP
  11502. -\fB\-conf=\fR<file>
  11503. -.IP
  11504. -Specify configuration file (default: litecoin.conf)
  11505. -.HP
  11506. -\fB\-daemon\fR
  11507. -.IP
  11508. -Run in the background as a daemon and accept commands
  11509. -.HP
  11510. -\fB\-datadir=\fR<dir>
  11511. -.IP
  11512. -Specify data directory
  11513. -.HP
  11514. -\fB\-dbcache=\fR<n>
  11515. -.IP
  11516. -Set database cache size in megabytes (4 to 16384, default: 450)
  11517. -.HP
  11518. -\fB\-loadblock=\fR<file>
  11519. -.IP
  11520. -Imports blocks from external blk000??.dat file on startup
  11521. -.HP
  11522. -\fB\-maxorphantx=\fR<n>
  11523. -.IP
  11524. -Keep at most <n> unconnectable transactions in memory (default: 100)
  11525. -.HP
  11526. -\fB\-maxmempool=\fR<n>
  11527. -.IP
  11528. -Keep the transaction memory pool below <n> megabytes (default: 5)
  11529. -.HP
  11530. -\fB\-mempoolexpiry=\fR<n>
  11531. -.IP
  11532. -Do not keep transactions in the mempool longer than <n> hours (default:
  11533. -336)
  11534. -.HP
  11535. -\fB\-persistmempool\fR
  11536. -.IP
  11537. -Whether to save the mempool on shutdown and load on restart (default: 1)
  11538. -.HP
  11539. -\fB\-blockreconstructionextratxn=\fR<n>
  11540. -.IP
  11541. -Extra transactions to keep in memory for compact block reconstructions
  11542. -(default: 100)
  11543. -.HP
  11544. -\fB\-par=\fR<n>
  11545. -.IP
  11546. -Set the number of script verification threads (\fB\-6\fR to 16, 0 = auto, <0 =
  11547. -leave that many cores free, default: 0)
  11548. -.HP
  11549. -\fB\-pid=\fR<file>
  11550. -.IP
  11551. -Specify pid file (default: litecoind.pid)
  11552. -.HP
  11553. -\fB\-prune=\fR<n>
  11554. -.IP
  11555. -Reduce storage requirements by enabling pruning (deleting) of old
  11556. -blocks. This allows the pruneblockchain RPC to be called to
  11557. -delete specific blocks, and enables automatic pruning of old
  11558. -blocks if a target size in MiB is provided. This mode is
  11559. -incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this
  11560. -setting requires re\-downloading the entire blockchain. (default:
  11561. -0 = disable pruning blocks, 1 = allow manual pruning via RPC,
  11562. ->550 = automatically prune block files to stay under the
  11563. -specified target size in MiB)
  11564. -.HP
  11565. -\fB\-reindex\-chainstate\fR
  11566. -.IP
  11567. -Rebuild chain state from the currently indexed blocks
  11568. -.HP
  11569. -\fB\-reindex\fR
  11570. -.IP
  11571. -Rebuild chain state and block index from the blk*.dat files on disk
  11572. -.HP
  11573. -\fB\-sysperms\fR
  11574. -.IP
  11575. -Create new files with system default permissions, instead of umask 077
  11576. -(only effective with disabled wallet functionality)
  11577. -.HP
  11578. -\fB\-txindex\fR
  11579. -.IP
  11580. -Maintain a full transaction index, used by the getrawtransaction rpc
  11581. -call (default: 0)
  11582. -.PP
  11583. -Connection options:
  11584. -.HP
  11585. -\fB\-addnode=\fR<ip>
  11586. -.IP
  11587. -Add a node to connect to and attempt to keep the connection open
  11588. -.HP
  11589. -\fB\-banscore=\fR<n>
  11590. -.IP
  11591. -Threshold for disconnecting misbehaving peers (default: 100)
  11592. -.HP
  11593. -\fB\-bantime=\fR<n>
  11594. -.IP
  11595. -Number of seconds to keep misbehaving peers from reconnecting (default:
  11596. -86400)
  11597. -.HP
  11598. -\fB\-bind=\fR<addr>
  11599. -.IP
  11600. -Bind to given address and always listen on it. Use [host]:port notation
  11601. -for IPv6
  11602. -.HP
  11603. -\fB\-connect=\fR<ip>
  11604. -.IP
  11605. -Connect only to the specified node(s); \fB\-connect\fR=\fI\,0\/\fR disables automatic
  11606. -connections
  11607. -.HP
  11608. -\fB\-discover\fR
  11609. -.IP
  11610. -Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
  11611. -or \fB\-proxy\fR)
  11612. -.HP
  11613. -\fB\-dns\fR
  11614. -.IP
  11615. -Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
  11616. -.HP
  11617. -\fB\-dnsseed\fR
  11618. -.IP
  11619. -Query for peer addresses via DNS lookup, if low on addresses (default: 1
  11620. -unless \fB\-connect\fR used)
  11621. -.HP
  11622. -\fB\-externalip=\fR<ip>
  11623. -.IP
  11624. -Specify your own public address
  11625. -.HP
  11626. -\fB\-forcednsseed\fR
  11627. -.IP
  11628. -Always query for peer addresses via DNS lookup (default: 0)
  11629. -.HP
  11630. -\fB\-listen\fR
  11631. -.IP
  11632. -Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR)
  11633. -.HP
  11634. -\fB\-listenonion\fR
  11635. -.IP
  11636. -Automatically create Tor hidden service (default: 1)
  11637. -.HP
  11638. -\fB\-maxconnections=\fR<n>
  11639. -.IP
  11640. -Maintain at most <n> connections to peers (default: 125)
  11641. -.HP
  11642. -\fB\-maxreceivebuffer=\fR<n>
  11643. -.IP
  11644. -Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
  11645. -.HP
  11646. -\fB\-maxsendbuffer=\fR<n>
  11647. -.IP
  11648. -Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
  11649. -.HP
  11650. -\fB\-maxtimeadjustment\fR
  11651. -.IP
  11652. -Maximum allowed median peer time offset adjustment. Local perspective of
  11653. -time may be influenced by peers forward or backward by this
  11654. -amount. (default: 4200 seconds)
  11655. -.HP
  11656. -\fB\-onion=\fR<ip:port>
  11657. -.IP
  11658. -Use separate SOCKS5 proxy to reach peers via Tor hidden services
  11659. -(default: \fB\-proxy\fR)
  11660. -.HP
  11661. -\fB\-onlynet=\fR<net>
  11662. -.IP
  11663. -Only connect to nodes in network <net> (ipv4, ipv6 or onion)
  11664. -.HP
  11665. -\fB\-permitbaremultisig\fR
  11666. -.IP
  11667. -Relay non\-P2SH multisig (default: 1)
  11668. -.HP
  11669. -\fB\-peerbloomfilters\fR
  11670. -.IP
  11671. -Support filtering of blocks and transaction with bloom filters (default:
  11672. -1)
  11673. -.HP
  11674. -\fB\-port=\fR<port>
  11675. -.IP
  11676. -Listen for connections on <port> (default: 8333 or testnet: 18333)
  11677. -.HP
  11678. -\fB\-proxy=\fR<ip:port>
  11679. -.IP
  11680. -Connect through SOCKS5 proxy
  11681. -.HP
  11682. -\fB\-proxyrandomize\fR
  11683. -.IP
  11684. -Randomize credentials for every proxy connection. This enables Tor
  11685. -stream isolation (default: 1)
  11686. -.HP
  11687. -\fB\-seednode=\fR<ip>
  11688. -.IP
  11689. -Connect to a node to retrieve peer addresses, and disconnect
  11690. -.HP
  11691. -\fB\-timeout=\fR<n>
  11692. -.IP
  11693. -Specify connection timeout in milliseconds (minimum: 1, default: 5000)
  11694. -.HP
  11695. -\fB\-torcontrol=\fR<ip>:<port>
  11696. -.IP
  11697. -Tor control port to use if onion listening enabled (default:
  11698. -127.0.0.1:9051)
  11699. -.HP
  11700. -\fB\-torpassword=\fR<pass>
  11701. -.IP
  11702. -Tor control port password (default: empty)
  11703. -.HP
  11704. -\fB\-upnp\fR
  11705. -.IP
  11706. -Use UPnP to map the listening port (default: 0)
  11707. -.HP
  11708. -\fB\-whitebind=\fR<addr>
  11709. -.IP
  11710. -Bind to given address and whitelist peers connecting to it. Use
  11711. -[host]:port notation for IPv6
  11712. -.HP
  11713. -\fB\-whitelist=\fR<IP address or network>
  11714. -.IP
  11715. -Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
  11716. -CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
  11717. -times. Whitelisted peers cannot be DoS banned and their
  11718. -transactions are always relayed, even if they are already in the
  11719. -mempool, useful e.g. for a gateway
  11720. -.HP
  11721. -\fB\-maxuploadtarget=\fR<n>
  11722. -.IP
  11723. -Tries to keep outbound traffic under the given target (in MiB per 24h),
  11724. -0 = no limit (default: 0)
  11725. -.PP
  11726. -Wallet options:
  11727. -.HP
  11728. -\fB\-disablewallet\fR
  11729. -.IP
  11730. -Do not load the wallet and disable wallet RPC calls
  11731. -.HP
  11732. -\fB\-keypool=\fR<n>
  11733. -.IP
  11734. -Set key pool size to <n> (default: 1000)
  11735. -.HP
  11736. -\fB\-fallbackfee=\fR<amt>
  11737. -.IP
  11738. -A fee rate (in LTC/kB) that will be used when fee estimation has
  11739. -insufficient data (default: 0.002)
  11740. -.HP
  11741. -\fB\-discardfee=\fR<amt>
  11742. -.IP
  11743. -The fee rate (in BTC/kB) that indicates your tolerance for discarding
  11744. -change by adding it to the fee (default: 0.0001). Note: An output
  11745. -is discarded if it is dust at this rate, but we will always
  11746. -discard up to the dust relay fee and a discard fee above that is
  11747. -limited by the fee estimate for the longest target
  11748. -.HP
  11749. -\fB\-mintxfee=\fR<amt>
  11750. -.IP
  11751. -Fees (in LTC/kB) smaller than this are considered zero fee for
  11752. -transaction creation (default: 0.001)
  11753. -.HP
  11754. -\fB\-paytxfee=\fR<amt>
  11755. -.IP
  11756. -Fee (in LTC/kB) to add to transactions you send (default: 0.00)
  11757. -.HP
  11758. -\fB\-rescan\fR
  11759. -.IP
  11760. -Rescan the block chain for missing wallet transactions on startup
  11761. -.HP
  11762. -\fB\-salvagewallet\fR
  11763. -.IP
  11764. -Attempt to recover private keys from a corrupt wallet on startup
  11765. -.HP
  11766. -\fB\-spendzeroconfchange\fR
  11767. -.IP
  11768. -Spend unconfirmed change when sending transactions (default: 1)
  11769. -.HP
  11770. -\fB\-txconfirmtarget=\fR<n>
  11771. -.IP
  11772. -If paytxfee is not set, include enough fee so transactions begin
  11773. -confirmation on average within n blocks (default: 6)
  11774. -.HP
  11775. -\fB\-usehd\fR
  11776. -.IP
  11777. -Use hierarchical deterministic key generation (HD) after BIP32. Only has
  11778. -effect during wallet creation/first start (default: 1)
  11779. -.HP
  11780. -\fB\-walletrbf\fR
  11781. -.IP
  11782. -Send transactions with full\-RBF opt\-in enabled (default: 0)
  11783. -.HP
  11784. -\fB\-upgradewallet\fR
  11785. -.IP
  11786. -Upgrade wallet to latest format on startup
  11787. -.HP
  11788. -\fB\-wallet=\fR<file>
  11789. -.IP
  11790. -Specify wallet file (within data directory) (default: wallet.dat)
  11791. -.HP
  11792. -\fB\-walletbroadcast\fR
  11793. -.IP
  11794. -Make the wallet broadcast transactions (default: 1)
  11795. -.HP
  11796. -\fB\-walletnotify=\fR<cmd>
  11797. -.IP
  11798. -Execute command when a wallet transaction changes (%s in cmd is replaced
  11799. -by TxID)
  11800. -.HP
  11801. -\fB\-zapwallettxes=\fR<mode>
  11802. -.IP
  11803. -Delete all wallet transactions and only recover those parts of the
  11804. -blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
  11805. -account owner and payment request information, 2 = drop tx meta
  11806. -data)
  11807. -.PP
  11808. -ZeroMQ notification options:
  11809. -.HP
  11810. -\fB\-zmqpubhashblock=\fR<address>
  11811. -.IP
  11812. -Enable publish hash block in <address>
  11813. -.HP
  11814. -\fB\-zmqpubhashtx=\fR<address>
  11815. -.IP
  11816. -Enable publish hash transaction in <address>
  11817. -.HP
  11818. -\fB\-zmqpubrawblock=\fR<address>
  11819. -.IP
  11820. -Enable publish raw block in <address>
  11821. -.HP
  11822. -\fB\-zmqpubrawtx=\fR<address>
  11823. -.IP
  11824. -Enable publish raw transaction in <address>
  11825. -.PP
  11826. -Debugging/Testing options:
  11827. -.HP
  11828. -\fB\-uacomment=\fR<cmt>
  11829. -.IP
  11830. -Append comment to the user agent string
  11831. -.HP
  11832. -\fB\-debug=\fR<category>
  11833. -.IP
  11834. -Output debugging information (default: 0, supplying <category> is
  11835. -optional). If <category> is not supplied or if <category> = 1,
  11836. -output all debugging information. <category> can be: net, tor,
  11837. -mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
  11838. -selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
  11839. -libevent, coindb, qt, leveldb.
  11840. -.HP
  11841. -\fB\-debugexclude=\fR<category>
  11842. -.IP
  11843. -Exclude debugging information for a category. Can be used in conjunction
  11844. -with \fB\-debug\fR=\fI\,1\/\fR to output debug logs for all categories except one
  11845. -or more specified categories.
  11846. -.HP
  11847. -\fB\-help\-debug\fR
  11848. -.IP
  11849. -Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR)
  11850. -.HP
  11851. -\fB\-logips\fR
  11852. -.IP
  11853. -Include IP addresses in debug output (default: 0)
  11854. -.HP
  11855. -\fB\-logtimestamps\fR
  11856. -.IP
  11857. -Prepend debug output with timestamp (default: 1)
  11858. -.HP
  11859. -\fB\-maxtxfee=\fR<amt>
  11860. -.IP
  11861. -Maximum total fees (in LTC) to use in a single wallet transaction or raw
  11862. -transaction; setting this too low may abort large transactions
  11863. -(default: 0.10)
  11864. -.HP
  11865. -\fB\-printtoconsole\fR
  11866. -.IP
  11867. -Send trace/debug info to console instead of debug.log file
  11868. -.HP
  11869. -\fB\-shrinkdebugfile\fR
  11870. -.IP
  11871. -Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
  11872. -.PP
  11873. -Chain selection options:
  11874. -.HP
  11875. -\fB\-testnet\fR
  11876. -.IP
  11877. -Use the test chain
  11878. -.PP
  11879. -Node relay options:
  11880. -.HP
  11881. -\fB\-bytespersigop\fR
  11882. -.IP
  11883. -Equivalent bytes per sigop in transactions for relay and mining
  11884. -(default: 20)
  11885. -.HP
  11886. -\fB\-datacarrier\fR
  11887. -.IP
  11888. -Relay and mine data carrier transactions (default: 1)
  11889. -.HP
  11890. -\fB\-datacarriersize\fR
  11891. -.IP
  11892. -Maximum size of data in data carrier transactions we relay and mine
  11893. -(default: 83)
  11894. -.HP
  11895. -\fB\-mempoolreplacement\fR
  11896. -.IP
  11897. -Enable transaction replacement in the memory pool (default: 1)
  11898. -.HP
  11899. -\fB\-minrelaytxfee=\fR<amt>
  11900. -.IP
  11901. -Fees (in BTC/kB) smaller than this are considered zero fee for relaying,
  11902. -mining and transaction creation (default: 0.00001)
  11903. -.HP
  11904. -\fB\-whitelistrelay\fR
  11905. -.IP
  11906. -Accept relayed transactions received from whitelisted peers even when
  11907. -not relaying transactions (default: 1)
  11908. -.HP
  11909. -\fB\-whitelistforcerelay\fR
  11910. -.IP
  11911. -Force relay of transactions from whitelisted peers even if they violate
  11912. -local relay policy (default: 1)
  11913. -.PP
  11914. -Block creation options:
  11915. -.HP
  11916. -\fB\-blockmaxweight=\fR<n>
  11917. -.IP
  11918. -Set maximum BIP141 block weight (default: 3000000)
  11919. -.HP
  11920. -\fB\-blockmaxsize=\fR<n>
  11921. -.IP
  11922. -Set maximum block size in bytes (default: 750000)
  11923. -.HP
  11924. -\fB\-blockmintxfee=\fR<amt>
  11925. -.IP
  11926. -Set lowest fee rate (in LTC/kB) for transactions to be included in block
  11927. -creation. (default: 0.00001)
  11928. -.PP
  11929. -RPC server options:
  11930. -.HP
  11931. -\fB\-server\fR
  11932. -.IP
  11933. -Accept command line and JSON\-RPC commands
  11934. -.HP
  11935. -\fB\-rest\fR
  11936. -.IP
  11937. -Accept public REST requests (default: 0)
  11938. -.HP
  11939. -\fB\-rpcbind=\fR<addr>[:port]
  11940. -.IP
  11941. -Bind to given address to listen for JSON\-RPC connections. This option is
  11942. -ignored unless \fB\-rpcallowip\fR is also passed. Port is optional and
  11943. -overrides \fB\-rpcport\fR. Use [host]:port notation for IPv6. This
  11944. -option can be specified multiple times (default: 127.0.0.1 and
  11945. -::1 i.e., localhost, or if \fB\-rpcallowip\fR has been specified,
  11946. -0.0.0.0 and :: i.e., all addresses)
  11947. -.HP
  11948. -\fB\-rpccookiefile=\fR<loc>
  11949. -.IP
  11950. -Location of the auth cookie (default: data dir)
  11951. -.HP
  11952. -\fB\-rpcuser=\fR<user>
  11953. -.IP
  11954. -Username for JSON\-RPC connections
  11955. -.HP
  11956. -\fB\-rpcpassword=\fR<pw>
  11957. -.IP
  11958. -Password for JSON\-RPC connections
  11959. -.HP
  11960. -\fB\-rpcauth=\fR<userpw>
  11961. -.IP
  11962. -Username and hashed password for JSON\-RPC connections. The field
  11963. -<userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
  11964. -canonical python script is included in share/rpcuser. The client
  11965. -then connects normally using the
  11966. -rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
  11967. -option can be specified multiple times
  11968. -.HP
  11969. -\fB\-rpcport=\fR<port>
  11970. -.IP
  11971. -Listen for JSON\-RPC connections on <port> (default: 9332 or testnet:
  11972. -19332)
  11973. -.HP
  11974. -\fB\-rpcallowip=\fR<ip>
  11975. -.IP
  11976. -Allow JSON\-RPC connections from specified source. Valid for <ip> are a
  11977. -single IP (e.g. 1.2.3.4), a network/netmask (e.g.
  11978. -1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
  11979. -option can be specified multiple times
  11980. -.HP
  11981. -\fB\-rpcserialversion\fR
  11982. -.IP
  11983. -Sets the serialization of raw transaction or block hex returned in
  11984. -non\-verbose mode, non\-segwit(0) or segwit(1) (default: 1)
  11985. -.HP
  11986. -\fB\-rpcthreads=\fR<n>
  11987. -.IP
  11988. -Set the number of threads to service RPC calls (default: 4)
  11989. -.SH COPYRIGHT
  11990. -Copyright (C) 2009-2017 The Bitcoin Core developers
  11991. -Copyright (C) 2011-2017 The Litecoin Core developers
  11992. -
  11993. -Please contribute if you find Litecoin Core useful. Visit
  11994. -<https://litecoin.org> for further information about the software.
  11995. -The source code is available from <https://github.com/litecoin-project/litecoin>.
  11996. -
  11997. -This is experimental software.
  11998. -Distributed under the MIT software license, see the accompanying file COPYING
  11999. -or <https://opensource.org/licenses/MIT>
  12000. -
  12001. -This product includes software developed by the OpenSSL Project for use in the
  12002. -OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
  12003. -Eric Young and UPnP software written by Thomas Bernard.
  12004. diff --git a/doc/reduce-traffic.md b/doc/reduce-traffic.md
  12005. index d09b43f..6653e5f 100644
  12006. --- a/doc/reduce-traffic.md
  12007. +++ b/doc/reduce-traffic.md
  12008. @@ -3,7 +3,7 @@ Reduce Traffic
  12009.  
  12010.  Some node operators need to deal with bandwidth caps imposed by their ISPs.
  12011.  
  12012. -By default, litecoin-core allows up to 125 connections to different peers, 8 of
  12013. +By default, litecoincash-core allows up to 125 connections to different peers, 8 of
  12014.  which are outbound. You can therefore, have at most 117 inbound connections.
  12015.  
  12016.  The default settings can result in relatively significant traffic consumption.
  12017. @@ -33,5 +33,5 @@ blocks and transactions to fewer nodes.
  12018.  ## 3. Reduce maximum connections (`-maxconnections=<num>`)
  12019.  
  12020.  Reducing the maximum connected nodes to a minimum could be desirable if traffic
  12021. -limits are tiny. Keep in mind that litecoin's trustless model works best if you are
  12022. +limits are tiny. Keep in mind that litecoincash's trustless model works best if you are
  12023.  connected to a handful of nodes.
  12024. diff --git a/doc/release-notes-litecoin.md b/doc/release-notes-litecoin.md
  12025. deleted file mode 100644
  12026. index 34bccfb..0000000
  12027. --- a/doc/release-notes-litecoin.md
  12028. +++ /dev/null
  12029. @@ -1,266 +0,0 @@
  12030. -Litecoin Core version *0.15.1* is now available from:
  12031. -
  12032. -  <https://download.litecoin.org/litecoin-0.15.1/>
  12033. -
  12034. -This is a new minor version release, including various bugfixes and
  12035. -performance improvements, as well as updated translations.
  12036. -
  12037. -Please report bugs using the issue tracker at GitHub:
  12038. -
  12039. -  <https://github.com/litecoin-project/litecoin/issues>
  12040. -
  12041. -To receive security and update notifications, please subscribe to:
  12042. -
  12043. -  <https://groups.google.com/forum/#!forum/litecoin-dev>
  12044. -
  12045. -How to Upgrade
  12046. -==============
  12047. -
  12048. -If you are running an older version, shut it down. Wait until it has completely
  12049. -shut down (which might take a few minutes for older versions), then run the
  12050. -installer (on Windows) or just copy over `/Applications/Litecoin-Qt` (on Mac)
  12051. -or `litecoind`/`litecoin-qt` (on Linux).
  12052. -
  12053. -The first time you run version 0.15.0 or higher, your chainstate database will
  12054. -be converted to a new format, which will take anywhere from a few minutes to
  12055. -half an hour, depending on the speed of your machine.
  12056. -
  12057. -The file format of `fee_estimates.dat` changed in version 0.15.0. Hence, a
  12058. -downgrade from version 0.15 or upgrade to version 0.15 will cause all fee
  12059. -estimates to be discarded.
  12060. -
  12061. -Note that the block database format also changed in version 0.8.0 and there is no
  12062. -automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading
  12063. -directly from 0.7.x and earlier without redownloading the blockchain is not supported.
  12064. -However, as usual, old wallet versions are still supported.
  12065. -
  12066. -Downgrading warning
  12067. --------------------
  12068. -
  12069. -The chainstate database for this release is not compatible with previous
  12070. -releases, so if you run 0.15 and then decide to switch back to any
  12071. -older version, you will need to run the old release with the `-reindex-chainstate`
  12072. -option to rebuild the chainstate data structures in the old format.
  12073. -
  12074. -If your node has pruning enabled, this will entail re-downloading and
  12075. -processing the entire blockchain.
  12076. -
  12077. -Compatibility
  12078. -==============
  12079. -
  12080. -Litecoin Core is extensively tested on multiple operating systems using
  12081. -the Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not supported.
  12082. -
  12083. -Litecoin Core should also work on most other Unix-like systems but is not
  12084. -frequently tested on them.
  12085. -
  12086. -
  12087. -Notable changes
  12088. -===============
  12089. -
  12090. -Network fork safety enhancements
  12091. ---------------------------------
  12092. -
  12093. -A number of changes to the way Litecoin Core deals with peer connections and invalid blocks
  12094. -have been made, as a safety precaution against blockchain forks and misbehaving peers.
  12095. -
  12096. -- Unrequested blocks with less work than the minimum-chain-work are now no longer processed even
  12097. -if they have more work than the tip (a potential issue during IBD where the tip may have low-work).
  12098. -This prevents peers wasting the resources of a node.
  12099. -
  12100. -- Peers which provide a chain with less work than the minimum-chain-work during IBD will now be disconnected.
  12101. -
  12102. -- For a given outbound peer, we now check whether their best known block has at least as much work as our tip. If it
  12103. -doesn't, and if we still haven't heard about a block with sufficient work after a 20 minute timeout, then we send
  12104. -a single getheaders message, and wait 2 more minutes. If after two minutes their best known block has insufficient
  12105. -work, we disconnect that peer. We protect 4 of our outbound peers from being disconnected by this logic to prevent
  12106. -excessive network topology changes as a result of this algorithm, while still ensuring that we have a reasonable
  12107. -number of nodes not known to be on bogus chains.
  12108. -
  12109. -- Outbound (non-manual) peers that serve us block headers that are already known to be invalid (other than compact
  12110. -block announcements, because BIP 152 explicitly permits nodes to relay compact blocks before fully validating them)
  12111. -will now be disconnected.
  12112. -
  12113. -- If the chain tip has not been advanced for over 30 minutes, we now assume the tip may be stale and will try to connect
  12114. -to an additional outbound peer. A periodic check ensures that if this extra peer connection is in use, we will disconnect
  12115. -the peer that least recently announced a new block.
  12116. -
  12117. -- The set of all known invalid-themselves blocks (i.e. blocks which we attempted to connect but which were found to be
  12118. -invalid) are now tracked and used to check if new headers build on an invalid chain. This ensures that everything that
  12119. -descends from an invalid block is marked as such.
  12120. -
  12121. -Minimum relay fee lowered
  12122. --------------------------
  12123. -
  12124. -The minimum relay fee `-minrelayfee` has been lowered to 0.01 lites per kB (0.00001 LTC). This is to prepare for dropping the minimum transaction fee to 0.1 lites per kB (0.0001 LTC) in the next release.
  12125. -
  12126. -Mempool replacement disabled by default
  12127. ----------------------------------------
  12128. -
  12129. -Mempool replacement `--mempoolreplacement` has been disabled by default.
  12130. -
  12131. -Miner block size limiting deprecated
  12132. -------------------------------------
  12133. -
  12134. -Though blockmaxweight has been preferred for limiting the size of blocks returned by
  12135. -getblocktemplate since 0.13.0, blockmaxsize remained as an option for those who wished
  12136. -to limit their block size directly. Using this option resulted in a few UI issues as
  12137. -well as non-optimal fee selection and ever-so-slightly worse performance, and has thus
  12138. -now been deprecated. Further, the blockmaxsize option is now used only to calculate an
  12139. -implied blockmaxweight, instead of limiting block size directly. Any miners who wish
  12140. -to limit their blocks by size, instead of by weight, will have to do so manually by
  12141. -removing transactions from their block template directly.
  12142. -
  12143. -
  12144. -GUI settings backed up on reset
  12145. --------------------------------
  12146. -
  12147. -The GUI settings will now be written to `guisettings.ini.bak` in the data directory before wiping them when
  12148. -the `-resetguisettings` argument is used. This can be used to retroactively troubleshoot issues due to the
  12149. -GUI settings.
  12150. -
  12151. -
  12152. -Duplicate wallets disallowed
  12153. -----------------------------
  12154. -
  12155. -Previously, it was possible to open the same wallet twice by manually copying the wallet file, causing
  12156. -issues when both were opened simultaneously. It is no longer possible to open copies of the same wallet.
  12157. -
  12158. -
  12159. -Debug `-minimumchainwork` argument added
  12160. -----------------------------------------
  12161. -
  12162. -A hidden debug argument `-minimumchainwork` has been added to allow a custom minimum work value to be used
  12163. -when validating a chain.
  12164. -
  12165. -
  12166. -Low-level RPC changes
  12167. -----------------------
  12168. -
  12169. -- The "currentblocksize" value in getmininginfo has been removed.
  12170. -
  12171. -- `dumpwallet` no longer allows overwriting files. This is a security measure
  12172. -  as well as prevents dangerous user mistakes.
  12173. -
  12174. -- `backupwallet` will now fail when attempting to backup to source file, rather than
  12175. -  destroying the wallet.
  12176. -
  12177. -- `listsinceblock` will now throw an error if an unknown `blockhash` argument
  12178. -  value is passed, instead of returning a list of all wallet transactions since
  12179. -  the genesis block. The behaviour is unchanged when an empty string is provided.
  12180. -
  12181. -0.15.1 Change log
  12182. -=================
  12183. -
  12184. -### Mining
  12185. -- #11100 `7871a7d` Fix confusing blockmax{size,weight} options, dont default to throwing away money (TheBlueMatt)
  12186. -
  12187. -### RPC and other APIs
  12188. -- #10859 `2a5d099` gettxout: Slightly improve doc and tests (jtimon)
  12189. -- #11267 `b1a6c94` update cli for estimate\*fee argument rename (laanwj)
  12190. -- #11483 `20cdc2b` Fix importmulti bug when importing an already imported key (pedrobranco)
  12191. -- #9937 `a43be5b` Prevent `dumpwallet` from overwriting files (laanwj)
  12192. -- #11465 `405e069` Update named args documentation for importprivkey (dusty-wil)
  12193. -- #11131 `b278a43` Write authcookie atomically (laanwj)
  12194. -- #11565 `7d4546f` Make listsinceblock refuse unknown block hash (ryanofsky)
  12195. -- #11593 `8195cb0` Work-around an upstream libevent bug (theuni)
  12196. -
  12197. -### P2P protocol and network code
  12198. -- #11397 `27e861a` Improve and document SOCKS code (laanwj)
  12199. -- #11252 `0fe2a9a` When clearing addrman clear mapInfo and mapAddr (instagibbs)
  12200. -- #11527 `a2bd86a` Remove my testnet DNS seed (schildbach)
  12201. -- #10756 `0a5477c` net processing: swap out signals for an interface class (theuni)
  12202. -- #11531 `55b7abf` Check that new headers are not a descendant of an invalid block (more effeciently) (TheBlueMatt)
  12203. -- #11560 `49bf090` Connect to a new outbound peer if our tip is stale (sdaftuar)
  12204. -- #11568 `fc966bb` Disconnect outbound peers on invalid chains (sdaftuar)
  12205. -- #11578 `ec8dedf` Add missing lock in ProcessHeadersMessage(...) (practicalswift)
  12206. -- #11456 `6f27965` Replace relevant services logic with a function suite (TheBlueMatt)
  12207. -- #11490 `bf191a7` Disconnect from outbound peers with bad headers chains (sdaftuar)
  12208. -
  12209. -### Validation
  12210. -- #10357 `da4908c` Allow setting nMinimumChainWork on command line (sdaftuar)
  12211. -- #11458 `2df65ee` Don't process unrequested, low-work blocks (sdaftuar)
  12212. -
  12213. -### Build system
  12214. -- #11440 `b6c0209` Fix validationinterface build on super old boost/clang (TheBlueMatt)
  12215. -- #11530 `265bb21` Add share/rpcuser to dist. source code archive (MarcoFalke)
  12216. -
  12217. -### GUI
  12218. -- #11334 `19d63e8` Remove custom fee radio group and remove nCustomFeeRadio setting (achow101)
  12219. -- #11198 `7310f1f` Fix display of package name on 'open config file' tooltip (esotericnonsense)
  12220. -- #11015 `6642558` Add delay before filtering transactions (lclc)
  12221. -- #11338 `6a62c74` Backup former GUI settings on `-resetguisettings` (laanwj)
  12222. -- #11335 `8d13b42` Replace save|restoreWindowGeometry with Qt functions (MeshCollider)
  12223. -- #11237 `2e31b1d` Fixing division by zero in time remaining (MeshCollider)
  12224. -- #11247 `47c02a8` Use IsMine to validate custom change address (MarcoFalke)
  12225. -
  12226. -### Wallet
  12227. -- #11017 `9e8aae3` Close DB on error (kallewoof)
  12228. -- #11225 `6b4d9f2` Update stored witness in AddToWallet (sdaftuar)
  12229. -- #11126 `2cb720a` Acquire cs_main lock before cs_wallet during wallet initialization (ryanofsky)
  12230. -- #11476 `9c8006d` Avoid opening copied wallet databases simultaneously (ryanofsky)
  12231. -- #11492 `de7053f` Fix leak in CDB constructor (promag)
  12232. -- #11376 `fd79ed6` Ensure backupwallet fails when attempting to backup to source file (tomasvdw)
  12233. -- #11326 `d570aa4` Fix crash on shutdown with invalid wallet (MeshCollider)
  12234. -
  12235. -### Tests and QA
  12236. -- #11399 `a825d4a` Fix bip68-sequence rpc test (jl2012)
  12237. -- #11150 `847c75e` Add getmininginfo test (mess110)
  12238. -- #11407 `806c78f` add functional test for mempoolreplacement command line arg (instagibbs)
  12239. -- #11433 `e169349` Restore bitcoin-util-test py2 compatibility (MarcoFalke)
  12240. -- #11308 `2e1ac70` zapwallettxes: Wait up to 3s for mempool reload (MarcoFalke)
  12241. -- #10798 `716066d` test bitcoin-cli (jnewbery)
  12242. -- #11443 `019c492` Allow "make cov" out-of-tree; Fix rpc mapping check (MarcoFalke)
  12243. -- #11445 `51bad91` 0.15.1 Backports (MarcoFalke)
  12244. -- #11319 `2f0b30a` Fix error introduced into p2p-segwit.py, and prevent future similar errors (sdaftuar)
  12245. -- #10552 `e4605d9` Tests for zmqpubrawtx and zmqpubrawblock (achow101)
  12246. -- #11067 `eeb24a3` TestNode: Add wait_until_stopped helper method (MarcoFalke)
  12247. -- #11068 `5398f20` Move wait_until to util (MarcoFalke)
  12248. -- #11125 `812c870` Add bitcoin-cli -stdin and -stdinrpcpass functional tests (promag)
  12249. -- #11077 `1d80d1e` fix timeout issues from TestNode (jnewbery)
  12250. -- #11078 `f1ced0d` Make p2p-leaktests.py more robust (jnewbery)
  12251. -- #11210 `f3f7891` Stop test_bitcoin-qt touching ~/.bitcoin (MeshCollider)
  12252. -- #11234 `f0b6795` Remove redundant testutil.cpp|h files (MeshCollider)
  12253. -- #11215 `cef0319` fixups from set_test_params() (jnewbery)
  12254. -- #11345 `f9cf7b5` Check connectivity before sending in assumevalid.py (jnewbery)
  12255. -- #11091 `c276c1e` Increase initial RPC timeout to 60 seconds (laanwj)
  12256. -- #10711 `fc2aa09` Introduce TestNode (jnewbery)
  12257. -- #11230 `d8dd8e7` Fixup dbcrash interaction with add_nodes() (jnewbery)
  12258. -- #11241 `4424176` Improve signmessages functional test (mess110)
  12259. -- #11116 `2c4ff35` Unit tests for script/standard and IsMine functions (jimpo)
  12260. -- #11422 `a36f332` Verify DBWrapper iterators are taking snapshots (TheBlueMatt)
  12261. -- #11121 `bb5e7cb` TestNode tidyups (jnewbery)
  12262. -- #11521 `ca0f3f7` travis: move back to the minimal image (theuni)
  12263. -- #11538 `adbc9d1` Fix race condition failures in replace-by-fee.py, sendheaders.py (sdaftuar)
  12264. -- #11472 `4108879` Make tmpdir option an absolute path, misc cleanup (MarcoFalke)
  12265. -- #10853 `5b728c8` Fix RPC failure testing (again) (jnewbery)
  12266. -- #11310 `b6468d3` Test listwallets RPC (mess110)
  12267. -
  12268. -### Miscellaneous
  12269. -- #11377 `75997c3` Disallow uncompressed pubkeys in bitcoin-tx [multisig] output adds (TheBlueMatt)
  12270. -- #11437 `dea3b87` [Docs] Update Windows build instructions for using WSL and Ubuntu 17.04 (fanquake)
  12271. -- #11318 `8b61aee` Put back inadvertently removed copyright notices (gmaxwell)
  12272. -- #11442 `cf18f42` [Docs] Update OpenBSD Build Instructions for OpenBSD 6.2 (fanquake)
  12273. -- #10957 `50bd3f6` Avoid returning a BIP9Stats object with uninitialized values (practicalswift)
  12274. -- #11539 `01223a0` [verify-commits] Allow revoked keys to expire (TheBlueMatt)
  12275. -
  12276. -
  12277. -Credits
  12278. -=======
  12279. -
  12280. -Thanks to everyone who directly contributed to this release:
  12281. -
  12282. -- [The Bitcoin Core Developers](/doc/release-notes)
  12283. -- Adrian Gallagher
  12284. -- aunyks
  12285. -- coblee
  12286. -- gabrieldov
  12287. -- Martin Smith
  12288. -- ppm0
  12289. -- romanornr
  12290. -- shaolinfry
  12291. -- spl0i7
  12292. -- ultragtx
  12293. -- VKoskiv
  12294. -- voidmain
  12295. -- xinxi
  12296. \ No newline at end of file
  12297. diff --git a/doc/release-notes.md b/doc/release-notes.md
  12298. index 75d2e09..32bf667 100644
  12299. --- a/doc/release-notes.md
  12300. +++ b/doc/release-notes.md
  12301. @@ -1,13 +1,8 @@
  12302. -Bitcoin Core version *0.15.1* is now available from:
  12303. +Bitcoin Core version *0.15.0.1* is now available from:
  12304.  
  12305. -  <https://bitcoincore.org/bin/bitcoin-core-0.15.1/>
  12306. +  <https://bitcoin.org/bin/bitcoin-core-0.15.0.1/>
  12307.  
  12308. -or
  12309. -
  12310. -  <https://bitcoin.org/bin/bitcoin-core-0.15.1/>
  12311. -
  12312. -This is a new minor version release, including various bugfixes and
  12313. -performance improvements, as well as updated translations.
  12314. +This is a minor bug fix for 0.15.0.
  12315.  
  12316.  Please report bugs using the issue tracker at GitHub:
  12317.  
  12318. @@ -30,7 +25,7 @@ be converted to a new format, which will take anywhere from a few minutes to
  12319.  half an hour, depending on the speed of your machine.
  12320.  
  12321.  The file format of `fee_estimates.dat` changed in version 0.15.0. Hence, a
  12322. -downgrade from version 0.15 or upgrade to version 0.15 will cause all fee
  12323. +downgrade from version 0.15.0 or upgrade to version 0.15.0 will cause all fee
  12324.  estimates to be discarded.
  12325.  
  12326.  Note that the block database format also changed in version 0.8.0 and there is no
  12327. @@ -58,220 +53,31 @@ the Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not su
  12328.  Bitcoin Core should also work on most other Unix-like systems but is not
  12329.  frequently tested on them.
  12330.  
  12331. -
  12332.  Notable changes
  12333.  ===============
  12334.  
  12335. -Network fork safety enhancements
  12336. ---------------------------------
  12337. -
  12338. -A number of changes to the way Bitcoin Core deals with peer connections and invalid blocks
  12339. -have been made, as a safety precaution against blockchain forks and misbehaving peers.
  12340. -
  12341. -- Unrequested blocks with less work than the minimum-chain-work are now no longer processed even
  12342. -if they have more work than the tip (a potential issue during IBD where the tip may have low-work).
  12343. -This prevents peers wasting the resources of a node.
  12344. -
  12345. -- Peers which provide a chain with less work than the minimum-chain-work during IBD will now be disconnected.
  12346. -
  12347. -- For a given outbound peer, we now check whether their best known block has at least as much work as our tip. If it
  12348. -doesn't, and if we still haven't heard about a block with sufficient work after a 20 minute timeout, then we send
  12349. -a single getheaders message, and wait 2 more minutes. If after two minutes their best known block has insufficient
  12350. -work, we disconnect that peer. We protect 4 of our outbound peers from being disconnected by this logic to prevent
  12351. -excessive network topology changes as a result of this algorithm, while still ensuring that we have a reasonable
  12352. -number of nodes not known to be on bogus chains.
  12353. -
  12354. -- Outbound (non-manual) peers that serve us block headers that are already known to be invalid (other than compact
  12355. -block announcements, because BIP 152 explicitly permits nodes to relay compact blocks before fully validating them)
  12356. -will now be disconnected.
  12357. -
  12358. -- If the chain tip has not been advanced for over 30 minutes, we now assume the tip may be stale and will try to connect
  12359. -to an additional outbound peer. A periodic check ensures that if this extra peer connection is in use, we will disconnect
  12360. -the peer that least recently announced a new block.
  12361. -
  12362. -- The set of all known invalid-themselves blocks (i.e. blocks which we attempted to connect but which were found to be
  12363. -invalid) are now tracked and used to check if new headers build on an invalid chain. This ensures that everything that
  12364. -descends from an invalid block is marked as such.
  12365. -
  12366. -
  12367. -Miner block size limiting deprecated
  12368. -------------------------------------
  12369. -
  12370. -Though blockmaxweight has been preferred for limiting the size of blocks returned by
  12371. -getblocktemplate since 0.13.0, blockmaxsize remained as an option for those who wished
  12372. -to limit their block size directly. Using this option resulted in a few UI issues as
  12373. -well as non-optimal fee selection and ever-so-slightly worse performance, and has thus
  12374. -now been deprecated. Further, the blockmaxsize option is now used only to calculate an
  12375. -implied blockmaxweight, instead of limiting block size directly. Any miners who wish
  12376. -to limit their blocks by size, instead of by weight, will have to do so manually by
  12377. -removing transactions from their block template directly.
  12378. -
  12379. -
  12380. -GUI settings backed up on reset
  12381. --------------------------------
  12382. -
  12383. -The GUI settings will now be written to `guisettings.ini.bak` in the data directory before wiping them when
  12384. -the `-resetguisettings` argument is used. This can be used to retroactively troubleshoot issues due to the
  12385. -GUI settings.
  12386. -
  12387. -
  12388. -Duplicate wallets disallowed
  12389. -----------------------------
  12390. -
  12391. -Previously, it was possible to open the same wallet twice by manually copying the wallet file, causing
  12392. -issues when both were opened simultaneously. It is no longer possible to open copies of the same wallet.
  12393. -
  12394. -
  12395. -Debug `-minimumchainwork` argument added
  12396. -----------------------------------------
  12397. -
  12398. -A hidden debug argument `-minimumchainwork` has been added to allow a custom minimum work value to be used
  12399. -when validating a chain.
  12400. -
  12401. -
  12402. -Low-level RPC changes
  12403. -----------------------
  12404. -
  12405. -- The "currentblocksize" value in getmininginfo has been removed.
  12406. -
  12407. -- `dumpwallet` no longer allows overwriting files. This is a security measure
  12408. -  as well as prevents dangerous user mistakes.
  12409. -
  12410. -- `backupwallet` will now fail when attempting to backup to source file, rather than
  12411. -  destroying the wallet.
  12412. -
  12413. -- `listsinceblock` will now throw an error if an unknown `blockhash` argument
  12414. -  value is passed, instead of returning a list of all wallet transactions since
  12415. -  the genesis block. The behaviour is unchanged when an empty string is provided.
  12416. -
  12417. -0.15.1 Change log
  12418. -=================
  12419. -
  12420. -### Mining
  12421. -- #11100 `7871a7d` Fix confusing blockmax{size,weight} options, dont default to throwing away money (TheBlueMatt)
  12422. -
  12423. -### RPC and other APIs
  12424. -- #10859 `2a5d099` gettxout: Slightly improve doc and tests (jtimon)
  12425. -- #11267 `b1a6c94` update cli for estimate\*fee argument rename (laanwj)
  12426. -- #11483 `20cdc2b` Fix importmulti bug when importing an already imported key (pedrobranco)
  12427. -- #9937 `a43be5b` Prevent `dumpwallet` from overwriting files (laanwj)
  12428. -- #11465 `405e069` Update named args documentation for importprivkey (dusty-wil)
  12429. -- #11131 `b278a43` Write authcookie atomically (laanwj)
  12430. -- #11565 `7d4546f` Make listsinceblock refuse unknown block hash (ryanofsky)
  12431. -- #11593 `8195cb0` Work-around an upstream libevent bug (theuni)
  12432. -
  12433. -### P2P protocol and network code
  12434. -- #11397 `27e861a` Improve and document SOCKS code (laanwj)
  12435. -- #11252 `0fe2a9a` When clearing addrman clear mapInfo and mapAddr (instagibbs)
  12436. -- #11527 `a2bd86a` Remove my testnet DNS seed (schildbach)
  12437. -- #10756 `0a5477c` net processing: swap out signals for an interface class (theuni)
  12438. -- #11531 `55b7abf` Check that new headers are not a descendant of an invalid block (more effeciently) (TheBlueMatt)
  12439. -- #11560 `49bf090` Connect to a new outbound peer if our tip is stale (sdaftuar)
  12440. -- #11568 `fc966bb` Disconnect outbound peers on invalid chains (sdaftuar)
  12441. -- #11578 `ec8dedf` Add missing lock in ProcessHeadersMessage(...) (practicalswift)
  12442. -- #11456 `6f27965` Replace relevant services logic with a function suite (TheBlueMatt)
  12443. -- #11490 `bf191a7` Disconnect from outbound peers with bad headers chains (sdaftuar)
  12444. -
  12445. -### Validation
  12446. -- #10357 `da4908c` Allow setting nMinimumChainWork on command line (sdaftuar)
  12447. -- #11458 `2df65ee` Don't process unrequested, low-work blocks (sdaftuar)
  12448. -
  12449. -### Build system
  12450. -- #11440 `b6c0209` Fix validationinterface build on super old boost/clang (TheBlueMatt)
  12451. -- #11530 `265bb21` Add share/rpcuser to dist. source code archive (MarcoFalke)
  12452. -
  12453. -### GUI
  12454. -- #11334 `19d63e8` Remove custom fee radio group and remove nCustomFeeRadio setting (achow101)
  12455. -- #11198 `7310f1f` Fix display of package name on 'open config file' tooltip (esotericnonsense)
  12456. -- #11015 `6642558` Add delay before filtering transactions (lclc)
  12457. -- #11338 `6a62c74` Backup former GUI settings on `-resetguisettings` (laanwj)
  12458. -- #11335 `8d13b42` Replace save|restoreWindowGeometry with Qt functions (MeshCollider)
  12459. -- #11237 `2e31b1d` Fixing division by zero in time remaining (MeshCollider)
  12460. -- #11247 `47c02a8` Use IsMine to validate custom change address (MarcoFalke)
  12461. +GUI startup crash issue
  12462. +-------------------------
  12463.  
  12464. -### Wallet
  12465. -- #11017 `9e8aae3` Close DB on error (kallewoof)
  12466. -- #11225 `6b4d9f2` Update stored witness in AddToWallet (sdaftuar)
  12467. -- #11126 `2cb720a` Acquire cs_main lock before cs_wallet during wallet initialization (ryanofsky)
  12468. -- #11476 `9c8006d` Avoid opening copied wallet databases simultaneously (ryanofsky)
  12469. -- #11492 `de7053f` Fix leak in CDB constructor (promag)
  12470. -- #11376 `fd79ed6` Ensure backupwallet fails when attempting to backup to source file (tomasvdw)
  12471. -- #11326 `d570aa4` Fix crash on shutdown with invalid wallet (MeshCollider)
  12472. +After upgrade to 0.15.0, some clients would crash at startup because a custom
  12473. +fee setting was configured that no longer exists in the GUI. This is a minimal
  12474. +patch to avoid this issue from occuring.
  12475.  
  12476. -### Tests and QA
  12477. -- #11399 `a825d4a` Fix bip68-sequence rpc test (jl2012)
  12478. -- #11150 `847c75e` Add getmininginfo test (mess110)
  12479. -- #11407 `806c78f` add functional test for mempoolreplacement command line arg (instagibbs)
  12480. -- #11433 `e169349` Restore bitcoin-util-test py2 compatibility (MarcoFalke)
  12481. -- #11308 `2e1ac70` zapwallettxes: Wait up to 3s for mempool reload (MarcoFalke)
  12482. -- #10798 `716066d` test bitcoin-cli (jnewbery)
  12483. -- #11443 `019c492` Allow "make cov" out-of-tree; Fix rpc mapping check (MarcoFalke)
  12484. -- #11445 `51bad91` 0.15.1 Backports (MarcoFalke)
  12485. -- #11319 `2f0b30a` Fix error introduced into p2p-segwit.py, and prevent future similar errors (sdaftuar)
  12486. -- #10552 `e4605d9` Tests for zmqpubrawtx and zmqpubrawblock (achow101)
  12487. -- #11067 `eeb24a3` TestNode: Add wait_until_stopped helper method (MarcoFalke)
  12488. -- #11068 `5398f20` Move wait_until to util (MarcoFalke)
  12489. -- #11125 `812c870` Add bitcoin-cli -stdin and -stdinrpcpass functional tests (promag)
  12490. -- #11077 `1d80d1e` fix timeout issues from TestNode (jnewbery)
  12491. -- #11078 `f1ced0d` Make p2p-leaktests.py more robust (jnewbery)
  12492. -- #11210 `f3f7891` Stop test_bitcoin-qt touching ~/.bitcoin (MeshCollider)
  12493. -- #11234 `f0b6795` Remove redundant testutil.cpp|h files (MeshCollider)
  12494. -- #11215 `cef0319` fixups from set_test_params() (jnewbery)
  12495. -- #11345 `f9cf7b5` Check connectivity before sending in assumevalid.py (jnewbery)
  12496. -- #11091 `c276c1e` Increase initial RPC timeout to 60 seconds (laanwj)
  12497. -- #10711 `fc2aa09` Introduce TestNode (jnewbery)
  12498. -- #11230 `d8dd8e7` Fixup dbcrash interaction with add_nodes() (jnewbery)
  12499. -- #11241 `4424176` Improve signmessages functional test (mess110)
  12500. -- #11116 `2c4ff35` Unit tests for script/standard and IsMine functions (jimpo)
  12501. -- #11422 `a36f332` Verify DBWrapper iterators are taking snapshots (TheBlueMatt)
  12502. -- #11121 `bb5e7cb` TestNode tidyups (jnewbery)
  12503. -- #11521 `ca0f3f7` travis: move back to the minimal image (theuni)
  12504. -- #11538 `adbc9d1` Fix race condition failures in replace-by-fee.py, sendheaders.py (sdaftuar)
  12505. -- #11472 `4108879` Make tmpdir option an absolute path, misc cleanup (MarcoFalke)
  12506. -- #10853 `5b728c8` Fix RPC failure testing (again) (jnewbery)
  12507. -- #11310 `b6468d3` Test listwallets RPC (mess110)
  12508. +0.15.0.1 Change log
  12509. +====================
  12510.  
  12511. -### Miscellaneous
  12512. -- #11377 `75997c3` Disallow uncompressed pubkeys in bitcoin-tx [multisig] output adds (TheBlueMatt)
  12513. -- #11437 `dea3b87` [Docs] Update Windows build instructions for using WSL and Ubuntu 17.04 (fanquake)
  12514. -- #11318 `8b61aee` Put back inadvertently removed copyright notices (gmaxwell)
  12515. -- #11442 `cf18f42` [Docs] Update OpenBSD Build Instructions for OpenBSD 6.2 (fanquake)
  12516. -- #10957 `50bd3f6` Avoid returning a BIP9Stats object with uninitialized values (practicalswift)
  12517. -- #11539 `01223a0` [verify-commits] Allow revoked keys to expire (TheBlueMatt)
  12518. +-  #11332 `46c8d23` Fix possible crash with invalid nCustomFeeRadio in QSettings (achow101, TheBlueMatt)
  12519.  
  12520. +Also the manpages were updated, as this was forgotten for 0.15.0.
  12521.  
  12522.  Credits
  12523.  =======
  12524.  
  12525.  Thanks to everyone who directly contributed to this release:
  12526.  
  12527. -- Andreas Schildbach
  12528.  - Andrew Chow
  12529. -- Chris Moore
  12530. -- Cory Fields
  12531. -- Cristian Mircea Messel
  12532. -- Daniel Edgecumbe
  12533. -- Donal OConnor
  12534. -- Dusty Williams
  12535. -- fanquake
  12536. -- Gregory Sanders
  12537. -- Jim Posen
  12538. -- John Newbery
  12539. -- Johnson Lau
  12540. -- João Barbosa
  12541. -- Jorge Timón
  12542. -- Karl-Johan Alm
  12543. -- Lucas Betschart
  12544. -- MarcoFalke
  12545.  - Matt Corallo
  12546. -- Paul Berg
  12547. -- Pedro Branco
  12548. -- Pieter Wuille
  12549. -- practicalswift
  12550. -- Russell Yanofsky
  12551. -- Samuel Dobson
  12552. -- Suhas Daftuar
  12553. -- Tomas van der Wansem
  12554. +- Jonas Schnelli
  12555.  - Wladimir J. van der Laan
  12556.  
  12557.  As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
  12558. diff --git a/doc/release-notes/release-notes-0.15.0.1.md b/doc/release-notes/release-notes-0.15.0.1.md
  12559. deleted file mode 100644
  12560. index 53ab02c..0000000
  12561. --- a/doc/release-notes/release-notes-0.15.0.1.md
  12562. +++ /dev/null
  12563. @@ -1,87 +0,0 @@
  12564. -Bitcoin Core version *0.15.0.1* is now available from:
  12565. -
  12566. -  <https://bitcoin.org/bin/bitcoin-core-0.15.0.1/>
  12567. -
  12568. -and
  12569. -
  12570. -  <https://bitcoincore.org/bin/bitcoin-core-0.15.0.1/>
  12571. -
  12572. -This is a minor bug fix for 0.15.0.
  12573. -
  12574. -Please report bugs using the issue tracker at GitHub:
  12575. -
  12576. -  <https://github.com/bitcoin/bitcoin/issues>
  12577. -
  12578. -To receive security and update notifications, please subscribe to:
  12579. -
  12580. -  <https://bitcoincore.org/en/list/announcements/join/>
  12581. -
  12582. -How to Upgrade
  12583. -==============
  12584. -
  12585. -If you are running an older version, shut it down. Wait until it has completely
  12586. -shut down (which might take a few minutes for older versions), then run the
  12587. -installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)
  12588. -or `bitcoind`/`bitcoin-qt` (on Linux).
  12589. -
  12590. -The first time you run version 0.15.0 or higher, your chainstate database will
  12591. -be converted to a new format, which will take anywhere from a few minutes to
  12592. -half an hour, depending on the speed of your machine.
  12593. -
  12594. -The file format of `fee_estimates.dat` changed in version 0.15.0. Hence, a
  12595. -downgrade from version 0.15.0 or upgrade to version 0.15.0 will cause all fee
  12596. -estimates to be discarded.
  12597. -
  12598. -Note that the block database format also changed in version 0.8.0 and there is no
  12599. -automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading
  12600. -directly from 0.7.x and earlier without redownloading the blockchain is not supported.
  12601. -However, as usual, old wallet versions are still supported.
  12602. -
  12603. -Downgrading warning
  12604. --------------------
  12605. -
  12606. -The chainstate database for this release is not compatible with previous
  12607. -releases, so if you run 0.15 and then decide to switch back to any
  12608. -older version, you will need to run the old release with the `-reindex-chainstate`
  12609. -option to rebuild the chainstate data structures in the old format.
  12610. -
  12611. -If your node has pruning enabled, this will entail re-downloading and
  12612. -processing the entire blockchain.
  12613. -
  12614. -Compatibility
  12615. -==============
  12616. -
  12617. -Bitcoin Core is extensively tested on multiple operating systems using
  12618. -the Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not supported.
  12619. -
  12620. -Bitcoin Core should also work on most other Unix-like systems but is not
  12621. -frequently tested on them.
  12622. -
  12623. -Notable changes
  12624. -===============
  12625. -
  12626. -GUI startup crash issue
  12627. --------------------------
  12628. -
  12629. -After upgrade to 0.15.0, some clients would crash at startup because a custom
  12630. -fee setting was configured that no longer exists in the GUI. This is a minimal
  12631. -patch to avoid this issue from occuring.
  12632. -
  12633. -0.15.0.1 Change log
  12634. -====================
  12635. -
  12636. --  #11332 `46c8d23` Fix possible crash with invalid nCustomFeeRadio in QSettings (achow101, TheBlueMatt)
  12637. -
  12638. -Also the manpages were updated, as this was forgotten for 0.15.0.
  12639. -
  12640. -Credits
  12641. -=======
  12642. -
  12643. -Thanks to everyone who directly contributed to this release:
  12644. -
  12645. -- Andrew Chow
  12646. -- Matt Corallo
  12647. -- Jonas Schnelli
  12648. -- Wladimir J. van der Laan
  12649. -
  12650. -As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
  12651. diff --git a/doc/release-notes/release-notes-0.15.0.md b/doc/release-notes/release-notes-0.15.0.md
  12652. deleted file mode 100644
  12653. index 29816ca..0000000
  12654. --- a/doc/release-notes/release-notes-0.15.0.md
  12655. +++ /dev/null
  12656. @@ -1,878 +0,0 @@
  12657. -Bitcoin Core version *0.15.0* is now available from:
  12658. -
  12659. -  <https://bitcoin.org/bin/bitcoin-core-0.15.0/>
  12660. -
  12661. -This is a new major version release, including new features, various bugfixes
  12662. -and performance improvements, as well as updated translations.
  12663. -
  12664. -Please report bugs using the issue tracker at GitHub:
  12665. -
  12666. -  <https://github.com/bitcoin/bitcoin/issues>
  12667. -
  12668. -To receive security and update notifications, please subscribe to:
  12669. -
  12670. -  <https://bitcoincore.org/en/list/announcements/join/>
  12671. -
  12672. -How to Upgrade
  12673. -==============
  12674. -
  12675. -If you are running an older version, shut it down. Wait until it has completely
  12676. -shut down (which might take a few minutes for older versions), then run the
  12677. -installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)
  12678. -or `bitcoind`/`bitcoin-qt` (on Linux).
  12679. -
  12680. -The first time you run version 0.15.0, your chainstate database will be converted to a
  12681. -new format, which will take anywhere from a few minutes to half an hour,
  12682. -depending on the speed of your machine.
  12683. -
  12684. -The file format of `fee_estimates.dat` changed in version 0.15.0. Hence, a
  12685. -downgrade from version 0.15.0 or upgrade to version 0.15.0 will cause all fee
  12686. -estimates to be discarded.
  12687. -
  12688. -Note that the block database format also changed in version 0.8.0 and there is no
  12689. -automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading
  12690. -directly from 0.7.x and earlier without redownloading the blockchain is not supported.
  12691. -However, as usual, old wallet versions are still supported.
  12692. -
  12693. -Downgrading warning
  12694. --------------------
  12695. -
  12696. -The chainstate database for this release is not compatible with previous
  12697. -releases, so if you run 0.15 and then decide to switch back to any
  12698. -older version, you will need to run the old release with the `-reindex-chainstate`
  12699. -option to rebuild the chainstate data structures in the old format.
  12700. -
  12701. -If your node has pruning enabled, this will entail re-downloading and
  12702. -processing the entire blockchain.
  12703. -
  12704. -Compatibility
  12705. -==============
  12706. -
  12707. -Bitcoin Core is extensively tested on multiple operating systems using
  12708. -the Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not supported.
  12709. -
  12710. -Bitcoin Core should also work on most other Unix-like systems but is not
  12711. -frequently tested on them.
  12712. -
  12713. -Notes for 0.15.0
  12714. -================
  12715. -
  12716. -Current SegWit support
  12717. -----------------------
  12718. -
  12719. -Version 0.15.0 supports adding a segregated witness address via the `addwitnessaddress` RPC, but
  12720. -please note that this is a testing/expert RPC, which does not guarantee recovery from backup. Only use
  12721. -this RPC if you know what you are doing. More complete wallet support for segregated witness is coming
  12722. -in a next version.
  12723. -
  12724. -Rescanning with encrypted wallets
  12725. ----------------------------------
  12726. -
  12727. -As in previous versions, when using an encrypted HD wallet, the keypool cannot be topped up without unlocking
  12728. -the wallet. This means that currently, in order to recover from a backup of an encrypted HD wallet, the user
  12729. -must unlock the wallet with a really long timeout and manually trigger a rescan, otherwise they risk missing
  12730. -some keys when auto-topup cannot run. Unfortunately there is no `rescan` RPC in this version, that will be
  12731. -included in a future version, so for now a rescan can be triggered using one of the `import*` commands, using
  12732. -a dummy address generated by another (trusted) wallet.
  12733. -
  12734. -Notable changes
  12735. -===============
  12736. -
  12737. -Performance Improvements
  12738. -------------------------
  12739. -
  12740. -Version 0.15 contains a number of significant performance improvements, which make
  12741. -Initial Block Download, startup, transaction and block validation much faster:
  12742. -
  12743. -- The chainstate database (which is used for tracking UTXOs) has been changed
  12744. -  from a per-transaction model to a per-output model (See [PR 10195](https://github.com/bitcoin/bitcoin/pull/10195)). Advantages of this model
  12745. -  are that it:
  12746. -    - avoids the CPU overhead of deserializing and serializing the unused outputs;
  12747. -    - has more predictable memory usage;
  12748. -    - uses simpler code;
  12749. -    - is adaptable to various future cache flushing strategies.
  12750. -
  12751. -  As a result, validating the blockchain during Initial Block Download (IBD) and reindex
  12752. -  is ~30-40% faster, uses 10-20% less memory, and flushes to disk far less frequently.
  12753. -  The only downside is that the on-disk database is 15% larger. During the conversion from the previous format
  12754. -  a few extra gigabytes may be used.
  12755. -- Earlier versions experienced a spike in memory usage while flushing UTXO updates to disk.
  12756. -  As a result, only half of the available memory was actually used as cache, and the other half was
  12757. -  reserved to accommodate flushing. This is no longer the case (See [PR 10148](https://github.com/bitcoin/bitcoin/pull/10148)), and the entirety of
  12758. -  the available cache (see `-dbcache`) is now actually used as cache. This reduces the flushing
  12759. -  frequency by a factor 2 or more.
  12760. -- In previous versions, signature validation for transactions has been cached when the
  12761. -  transaction is accepted to the mempool. Version 0.15 extends this to cache the entire script
  12762. -  validity (See [PR 10192](https://github.com/bitcoin/bitcoin/pull/10192)). This means that if a transaction in a block has already been accepted to the
  12763. -  mempool, the scriptSig does not need to be re-evaluated. Empirical tests show that
  12764. -  this results in new block validation being 40-50% faster.
  12765. -- LevelDB has been upgraded to version 1.20 (See [PR 10544](https://github.com/bitcoin/bitcoin/pull/10544)). This version contains hardware acceleration for CRC
  12766. -  on architectures supporting SSE 4.2. As a result, synchronization and block validation are now faster.
  12767. -- SHA256 hashing has been optimized for architectures supporting SSE 4 (See [PR 10821](https://github.com/bitcoin/bitcoin/pull/10821)). SHA256 is around
  12768. -  50% faster on supported hardware, which results in around 5% faster IBD and block
  12769. -  validation. In version 0.15, SHA256 hardware optimization is disabled in release builds by
  12770. -  default, but can be enabled by using `--enable-experimental-asm` when building.
  12771. -- Refill of the keypool no longer flushes the wallet between each key which resulted in a ~20x speedup in creating a new wallet. Part of this speedup was used to increase the default keypool to 1000 keys to make recovery more robust. (See [PR 10831](https://github.com/bitcoin/bitcoin/pull/10831)).
  12772. -
  12773. -Fee Estimation Improvements
  12774. ----------------------------
  12775. -
  12776. -Fee estimation has been significantly improved in version 0.15, with more accurate fee estimates used by the wallet and a wider range of options for advanced users of the `estimatesmartfee` and `estimaterawfee` RPCs (See [PR 10199](https://github.com/bitcoin/bitcoin/pull/10199)).
  12777. -
  12778. -### Changes to internal logic and wallet behavior
  12779. -
  12780. -- Internally, estimates are now tracked on 3 different time horizons. This allows for longer targets and means estimates adjust more quickly to changes in conditions.
  12781. -- Estimates can now be *conservative* or *economical*. *Conservative* estimates use longer time horizons to produce an estimate which is less susceptible to rapid changes in fee conditions. *Economical* estimates use shorter time horizons and will be more affected by short-term changes in fee conditions. Economical estimates may be considerably lower during periods of low transaction activity (for example over weekends), but may result in transactions being unconfirmed if prevailing fees increase rapidly.
  12782. -- By default, the wallet will use conservative fee estimates to increase the reliability of transactions being confirmed within the desired target. For transactions that are marked as replaceable, the wallet will use an economical estimate by default, since the fee can be 'bumped' if the fee conditions change rapidly (See [PR 10589](https://github.com/bitcoin/bitcoin/pull/10589)).
  12783. -- Estimates can now be made for confirmation targets up to 1008 blocks (one week).
  12784. -- More data on historical fee rates is stored, leading to more precise fee estimates.
  12785. -- Transactions which leave the mempool due to eviction or other non-confirmed reasons are now taken into account by the fee estimation logic, leading to more accurate fee estimates.
  12786. -- The fee estimation logic will make sure enough data has been gathered to return a meaningful estimate. If there is insufficient data, a fallback default fee is used.
  12787. -
  12788. -### Changes to fee estimate RPCs
  12789. -
  12790. -- The `estimatefee` RPC is now deprecated in favor of using only `estimatesmartfee` (which is the implementation used by the GUI)
  12791. -- The `estimatesmartfee` RPC interface has been changed (See [PR 10707](https://github.com/bitcoin/bitcoin/pull/10707)):
  12792. -    - The `nblocks` argument has been renamed to `conf_target` (to be consistent with other RPC methods).
  12793. -    - An `estimate_mode` argument has been added. This argument takes one of the following strings: `CONSERVATIVE`, `ECONOMICAL` or `UNSET` (which defaults to `CONSERVATIVE`).
  12794. -    - The RPC return object now contains an `errors` member, which returns errors encountered during processing.
  12795. -    - If Bitcoin Core has not been running for long enough and has not seen enough blocks or transactions to produce an accurate fee estimation, an error will be returned (previously a value of -1 was used to indicate an error, which could be confused for a feerate).
  12796. -- A new `estimaterawfee` RPC is added to provide raw fee data. External clients can query and use this data in their own fee estimation logic.
  12797. -
  12798. -Multi-wallet support
  12799. ---------------------
  12800. -
  12801. -Bitcoin Core now supports loading multiple, separate wallets (See [PR 8694](https://github.com/bitcoin/bitcoin/pull/8694), [PR 10849](https://github.com/bitcoin/bitcoin/pull/10849)). The wallets are completely separated, with individual balances, keys and received transactions.
  12802. -
  12803. -Multi-wallet is enabled by using more than one `-wallet` argument when starting Bitcoin, either on the command line or in the Bitcoin config file.
  12804. -
  12805. -**In Bitcoin-Qt, only the first wallet will be displayed and accessible for creating and signing transactions.** GUI selectable multiple wallets will be supported in a future version. However, even in 0.15 other loaded wallets will remain synchronized to the node's current tip in the background. This can be useful if running a pruned node, since loading a wallet where the most recent sync is beyond the pruned height results in having to download and revalidate the whole blockchain. Continuing to synchronize all wallets in the background avoids this problem.
  12806. -
  12807. -Bitcoin Core 0.15.0 contains the following changes to the RPC interface and `bitcoin-cli` for multi-wallet:
  12808. -
  12809. -* When running Bitcoin Core with a single wallet, there are **no** changes to the RPC interface or `bitcoin-cli`. All RPC calls and `bitcoin-cli` commands continue to work as before.
  12810. -* When running Bitcoin Core with multi-wallet, all *node-level* RPC methods continue to work as before. HTTP RPC requests should be send to the normal `<RPC IP address>:<RPC port>/` endpoint, and `bitcoin-cli` commands should be run as before. A *node-level* RPC method is any method which does not require access to the wallet.
  12811. -* When running Bitcoin Core with multi-wallet, *wallet-level* RPC methods must specify the wallet for which they're intended in every request. HTTP RPC requests should be send to the `<RPC IP address>:<RPC port>/wallet/<wallet name>/` endpoint, for example `127.0.0.1:8332/wallet/wallet1.dat/`. `bitcoin-cli` commands should be run with a `-rpcwallet` option, for example `bitcoin-cli -rpcwallet=wallet1.dat getbalance`.
  12812. -* A new *node-level* `listwallets` RPC method is added to display which wallets are currently loaded. The names returned by this method are the same as those used in the HTTP endpoint and for the `rpcwallet` argument.
  12813. -
  12814. -Note that while multi-wallet is now fully supported, the RPC multi-wallet interface should be considered unstable for version 0.15.0, and there may backwards-incompatible changes in future versions.
  12815. -
  12816. -Replace-by-fee control in the GUI
  12817. ----------------------------------
  12818. -
  12819. -Bitcoin Core has supported creating opt-in replace-by-fee (RBF) transactions
  12820. -since version 0.12.0, and since version 0.14.0 has included a `bumpfee` RPC method to
  12821. -replace unconfirmed opt-in RBF transactions with a new transaction that pays
  12822. -a higher fee.
  12823. -
  12824. -In version 0.15, creating an opt-in RBF transaction and replacing the unconfirmed
  12825. -transaction with a higher-fee transaction are both supported in the GUI (See [PR 9592](https://github.com/bitcoin/bitcoin/pull/9592)).
  12826. -
  12827. -Removal of Coin Age Priority
  12828. -----------------------------
  12829. -
  12830. -In previous versions of Bitcoin Core, a portion of each block could be reserved for transactions based on the age and value of UTXOs they spent. This concept (Coin Age Priority) is a policy choice by miners, and there are no consensus rules around the inclusion of Coin Age Priority transactions in blocks. In practice, only a few miners continue to use Coin Age Priority for transaction selection in blocks. Bitcoin Core 0.15 removes all remaining support for Coin Age Priority (See [PR 9602](https://github.com/bitcoin/bitcoin/pull/9602)). This has the following implications:
  12831. -
  12832. -- The concept of *free transactions* has been removed. High Coin Age Priority transactions would previously be allowed to be relayed even if they didn't attach a miner fee. This is no longer possible since there is no concept of Coin Age Priority. The `-limitfreerelay` and `-relaypriority` options which controlled relay of free transactions have therefore been removed.
  12833. -- The `-sendfreetransactions` option has been removed, since almost all miners do not include transactions which do not attach a transaction fee.
  12834. -- The `-blockprioritysize` option has been removed.
  12835. -- The `estimatepriority` and `estimatesmartpriority` RPCs have been removed.
  12836. -- The `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry` and `getrawmempool` RPCs no longer return `startingpriority` and `currentpriority`.
  12837. -- The `prioritisetransaction` RPC no longer takes a `priority_delta` argument, which is replaced by a `dummy` argument for backwards compatibility with clients using positional arguments. The RPC is still used to change the apparent fee-rate of the transaction by using the `fee_delta` argument.
  12838. -- `-minrelaytxfee` can now be set to 0. If `minrelaytxfee` is set, then fees smaller than `minrelaytxfee` (per kB) are rejected from relaying, mining and transaction creation. This defaults to 1000 satoshi/kB.
  12839. -- The `-printpriority` option has been updated to only output the fee rate and hash of transactions included in a block by the mining code.
  12840. -
  12841. -Mempool Persistence Across Restarts
  12842. ------------------------------------
  12843. -
  12844. -Version 0.14 introduced mempool persistence across restarts (the mempool is saved to a `mempool.dat` file in the data directory prior to shutdown and restores the mempool when the node is restarted). Version 0.15 allows this feature to be switched on or off using the `-persistmempool` command-line option (See [PR 9966](https://github.com/bitcoin/bitcoin/pull/9966)). By default, the option is set to true, and the mempool is saved on shutdown and reloaded on startup. If set to false, the `mempool.dat` file will not be loaded on startup or saved on shutdown.
  12845. -
  12846. -New RPC methods
  12847. ----------------
  12848. -
  12849. -Version 0.15 introduces several new RPC methods:
  12850. -
  12851. -- `abortrescan` stops current wallet rescan, e.g. when triggered by an `importprivkey` call (See [PR 10208](https://github.com/bitcoin/bitcoin/pull/10208)).
  12852. -- `combinerawtransaction` accepts a JSON array of raw transactions and combines them into a single raw transaction (See [PR 10571](https://github.com/bitcoin/bitcoin/pull/10571)).
  12853. -- `estimaterawfee` returns raw fee data so that customized logic can be implemented to analyze the data and calculate estimates. See [Fee Estimation Improvements](#fee-estimation-improvements) for full details on changes to the fee estimation logic and interface.
  12854. -- `getchaintxstats` returns statistics about the total number and rate of transactions
  12855. -  in the chain (See [PR 9733](https://github.com/bitcoin/bitcoin/pull/9733)).
  12856. -- `listwallets` lists wallets which are currently loaded. See the *Multi-wallet* section
  12857. -  of these release notes for full details (See [Multi-wallet support](#multi-wallet-support)).
  12858. -- `uptime` returns the total runtime of the `bitcoind` server since its last start (See [PR 10400](https://github.com/bitcoin/bitcoin/pull/10400)).
  12859. -
  12860. -Low-level RPC changes
  12861. ----------------------
  12862. -
  12863. -- When using Bitcoin Core in multi-wallet mode, RPC requests for wallet methods must specify
  12864. -  the wallet that they're intended for. See [Multi-wallet support](#multi-wallet-support) for full details.
  12865. -
  12866. -- The new database model no longer stores information about transaction
  12867. -  versions of unspent outputs (See [Performance improvements](#performance-improvements)). This means that:
  12868. -  - The `gettxout` RPC no longer has a `version` field in the response.
  12869. -  - The `gettxoutsetinfo` RPC reports `hash_serialized_2` instead of `hash_serialized`,
  12870. -    which does not commit to the transaction versions of unspent outputs, but does
  12871. -    commit to the height and coinbase information.
  12872. -  - The `getutxos` REST path no longer reports the `txvers` field in JSON format,
  12873. -    and always reports 0 for transaction versions in the binary format
  12874. -
  12875. -- The `estimatefee` RPC is deprecated. Clients should switch to using the `estimatesmartfee` RPC, which returns better fee estimates. See [Fee Estimation Improvements](#fee-estimation-improvements) for full details on changes to the fee estimation logic and interface.
  12876. -
  12877. -- The `gettxoutsetinfo` response now contains `disk_size` and `bogosize` instead of
  12878. -  `bytes_serialized`. The first is a more accurate estimate of actual disk usage, but
  12879. -  is not deterministic. The second is unrelated to disk usage, but is a
  12880. -  database-independent metric of UTXO set size: it counts every UTXO entry as 50 + the
  12881. -  length of its scriptPubKey (See [PR 10426](https://github.com/bitcoin/bitcoin/pull/10426)).
  12882. -
  12883. -- `signrawtransaction` can no longer be used to combine multiple transactions into a single transaction. Instead, use the new `combinerawtransaction` RPC (See [PR 10571](https://github.com/bitcoin/bitcoin/pull/10571)).
  12884. -
  12885. -- `fundrawtransaction` no longer accepts a `reserveChangeKey` option. This option used to allow RPC users to fund a raw transaction using an key from the keypool for the change address without removing it from the available keys in the keypool. The key could then be re-used for a `getnewaddress` call, which could potentially result in confusing or dangerous behaviour (See [PR 10784](https://github.com/bitcoin/bitcoin/pull/10784)).
  12886. -
  12887. -- `estimatepriority` and `estimatesmartpriority` have been removed. See [Removal of Coin Age Priority](#removal-of-coin-age-priority).
  12888. -
  12889. -- The `listunspent` RPC now takes a `query_options` argument (see [PR 8952](https://github.com/bitcoin/bitcoin/pull/8952)), which is a JSON object
  12890. -  containing one or more of the following members:
  12891. -  - `minimumAmount` - a number specifying the minimum value of each UTXO
  12892. -  - `maximumAmount` - a number specifying the maximum value of each UTXO
  12893. -  - `maximumCount` - a number specifying the minimum number of UTXOs
  12894. -  - `minimumSumAmount` - a number specifying the minimum sum value of all UTXOs
  12895. -
  12896. -- The `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry` and `getrawmempool` RPCs no longer return `startingpriority` and `currentpriority`. See [Removal of Coin Age Priority](#removal-of-coin-age-priority).
  12897. -
  12898. -- The `dumpwallet` RPC now returns the full absolute path to the dumped wallet. It
  12899. -  used to return no value, even if successful (See [PR 9740](https://github.com/bitcoin/bitcoin/pull/9740)).
  12900. -
  12901. -- In the `getpeerinfo` RPC, the return object for each peer now returns an `addrbind` member, which contains the ip address and port of the connection to the peer. This is in addition to the `addrlocal` member which contains the ip address and port of the local node as reported by the peer (See [PR 10478](https://github.com/bitcoin/bitcoin/pull/10478)).
  12902. -
  12903. -- The `disconnectnode` RPC can now disconnect a node specified by node ID (as well as by IP address/port). To disconnect a node based on node ID, call the RPC with the new `nodeid` argument (See [PR 10143](https://github.com/bitcoin/bitcoin/pull/10143)).
  12904. -
  12905. -- The second argument in `prioritisetransaction` has been renamed from `priority_delta` to `dummy` since Bitcoin Core no longer has a concept of coin age priority. The `dummy` argument has no functional effect, but is retained for positional argument compatibility. See [Removal of Coin Age Priority](#removal-of-coin-age-priority).
  12906. -
  12907. -- The `resendwallettransactions` RPC throws an error if the `-walletbroadcast` option is set to false (See [PR 10995](https://github.com/bitcoin/bitcoin/pull/10995)).
  12908. -
  12909. -- The second argument in the `submitblock` RPC argument has been renamed from `parameters` to `dummy`. This argument never had any effect, and the renaming is simply to communicate this fact to the user (See [PR 10191](https://github.com/bitcoin/bitcoin/pull/10191))
  12910. -  (Clients should, however, use positional arguments for `submitblock` in order to be compatible with BIP 22.)
  12911. -
  12912. -- The `verbose` argument of `getblock` has been renamed to `verbosity` and now takes an integer from 0 to 2. Verbose level 0 is equivalent to `verbose=false`. Verbose level 1 is equivalent to `verbose=true`. Verbose level 2 will give the full transaction details of each transaction in the output as given by `getrawtransaction`. The old behavior of using the `verbose` named argument and a boolean value is still maintained for compatibility.
  12913. -
  12914. -- Error codes have been updated to be more accurate for the following error cases (See [PR 9853](https://github.com/bitcoin/bitcoin/pull/9853)):
  12915. -  - `getblock` now returns RPC_MISC_ERROR if the block can't be found on disk (for
  12916. -  example if the block has been pruned). Previously returned RPC_INTERNAL_ERROR.
  12917. -  - `pruneblockchain` now returns RPC_MISC_ERROR if the blocks cannot be pruned
  12918. -  because the node is not in pruned mode. Previously returned RPC_METHOD_NOT_FOUND.
  12919. -  - `pruneblockchain` now returns RPC_INVALID_PARAMETER if the blocks cannot be pruned
  12920. -  because the supplied timestamp is too late. Previously returned RPC_INTERNAL_ERROR.
  12921. -  - `pruneblockchain` now returns RPC_MISC_ERROR if the blocks cannot be pruned
  12922. -  because the blockchain is too short. Previously returned RPC_INTERNAL_ERROR.
  12923. -  - `setban` now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the supplied IP address
  12924. -  or subnet is invalid. Previously returned RPC_CLIENT_NODE_ALREADY_ADDED.
  12925. -  - `setban` now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the user tries to unban
  12926. -  a node that has not previously been banned. Previously returned RPC_MISC_ERROR.
  12927. -  - `removeprunedfunds` now returns RPC_WALLET_ERROR if `bitcoind` is unable to remove
  12928. -  the transaction. Previously returned RPC_INTERNAL_ERROR.
  12929. -  - `removeprunedfunds` now returns RPC_INVALID_PARAMETER if the transaction does not
  12930. -  exist in the wallet. Previously returned RPC_INTERNAL_ERROR.
  12931. -  - `fundrawtransaction` now returns RPC_INVALID_ADDRESS_OR_KEY if an invalid change
  12932. -  address is provided. Previously returned RPC_INVALID_PARAMETER.
  12933. -  - `fundrawtransaction` now returns RPC_WALLET_ERROR if `bitcoind` is unable to create
  12934. -  the transaction. The error message provides further details. Previously returned
  12935. -  RPC_INTERNAL_ERROR.
  12936. -  - `bumpfee` now returns RPC_INVALID_PARAMETER if the provided transaction has
  12937. -  descendants in the wallet. Previously returned RPC_MISC_ERROR.
  12938. -  - `bumpfee` now returns RPC_INVALID_PARAMETER if the provided transaction has
  12939. -  descendants in the mempool. Previously returned RPC_MISC_ERROR.
  12940. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has
  12941. -  has been mined or conflicts with a mined transaction. Previously returned
  12942. -  RPC_INVALID_ADDRESS_OR_KEY.
  12943. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction is not
  12944. -  BIP 125 replaceable. Previously returned RPC_INVALID_ADDRESS_OR_KEY.
  12945. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has already
  12946. -  been bumped by a different transaction. Previously returned RPC_INVALID_REQUEST.
  12947. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction contains
  12948. -  inputs which don't belong to this wallet. Previously returned RPC_INVALID_ADDRESS_OR_KEY.
  12949. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has multiple change
  12950. -  outputs. Previously returned RPC_MISC_ERROR.
  12951. -  - `bumpfee` now returns RPC_WALLET_ERROR if the provided transaction has no change
  12952. -  output. Previously returned RPC_MISC_ERROR.
  12953. -  - `bumpfee` now returns RPC_WALLET_ERROR if the fee is too high. Previously returned
  12954. -  RPC_MISC_ERROR.
  12955. -  - `bumpfee` now returns RPC_WALLET_ERROR if the fee is too low. Previously returned
  12956. -  RPC_MISC_ERROR.
  12957. -  - `bumpfee` now returns RPC_WALLET_ERROR if the change output is too small to bump the
  12958. -  fee. Previously returned RPC_MISC_ERROR.
  12959. -
  12960. -0.15.0 Change log
  12961. -=================
  12962. -
  12963. -### RPC and other APIs
  12964. -- #9485 `61a640e` ZMQ example using python3 and asyncio (mcelrath)
  12965. -- #9894 `0496e15` remove 'label' filter for rpc command help (instagibbs)
  12966. -- #9853 `02bd6e9` Fix error codes from various RPCs (jnewbery)
  12967. -- #9842 `598ef9c` Fix RPC failure testing (continuation of #9707) (jnewbery)
  12968. -- #10038 `d34995a` Add mallocinfo mode to `getmemoryinfo` RPC (laanwj)
  12969. -- #9500 `3568b30` [Qt][RPC] Autocomplete commands for 'help' command in debug console (achow101)
  12970. -- #10056 `e6156a0` [zmq] Call va_end() on va_start()ed args (kallewoof)
  12971. -- #10086 `7438cea` Trivial: move rpcserialversion into RPC option group (jlopp)
  12972. -- #10150 `350b224` [rpc] Add logging rpc (jnewbery)
  12973. -- #10208 `393160c` [wallet] Rescan abortability (kallewoof)
  12974. -- #10143 `a987def` [net] Allow disconnectnode RPC to be called with node id (jnewbery)
  12975. -- #10281 `0e8499c` doc: Add RPC interface guidelines (laanwj)
  12976. -- #9733 `d4732f3` Add getchaintxstats RPC (sipa)
  12977. -- #10310 `f4b15e2` [doc] Add hint about getmempoolentry to getrawmempool help (kallewoof)
  12978. -- #8704 `96c850c` [RPC] Transaction details in getblock (achow101)
  12979. -- #8952 `9390845` Add query options to listunspent RPC call (pedrobranco)
  12980. -- #10413 `08ac35a` Fix docs (there's no rpc command setpaytxfee) (RHavar)
  12981. -- #8384 `e317c0d` Add witness data output to TxInError messages (instagibbs)
  12982. -- #9571 `4677151` RPC: getblockchaininfo returns BIP signaling statistics  (pinheadmz)
  12983. -- #10450 `ef2d062` Fix bumpfee rpc "errors" return value (ryanofsky)
  12984. -- #10475 `39039b1` [RPC] getmempoolinfo mempoolminfee is a BTC/KB feerate (instagibbs)
  12985. -- #10478 `296928e` rpc: Add listen address to incoming connections in `getpeerinfo` (laanwj)
  12986. -- #10403 `08d0390` Fix importmulti failure to return rescan errors (ryanofsky)
  12987. -- #9740 `9fec4da` Add friendly output to dumpwallet (aideca)
  12988. -- #10426 `16f6c98` Replace bytes_serialized with bogosize (sipa)
  12989. -- #10252 `980deaf` RPC/Mining: Restore API compatibility for prioritisetransaction (luke-jr)
  12990. -- #9672 `46311e7` Opt-into-RBF for RPC & bitcoin-tx (luke-jr)
  12991. -- #10481 `9c248e3` Decodehextx scripts sanity check  (achow101)
  12992. -- #10488 `fa1f106` Note that the prioritizetransaction dummy value is deprecated, and has no meaning (TheBlueMatt)
  12993. -- #9738 `c94b89e` gettxoutproof() should return consistent result (jnewbery)
  12994. -- #10191 `00350bd` [trivial] Rename unused RPC arguments 'dummy' (jnewbery)
  12995. -- #10627 `b62b4c8` fixed listunspent rpc convert parameter (tnakagawa)
  12996. -- #10412 `bef02fb` Improve wallet rescan API (ryanofsky)
  12997. -- #10400 `1680ee0` [RPC] Add an uptime command that displays the amount of time (in seconds) bitcoind has been running (rvelhote)
  12998. -- #10683 `d81bec7` rpc: Move the `generate` RPC call to rpcwallet (laanwj)
  12999. -- #10710 `30bc0f6` REST/RPC example update (Mirobit)
  13000. -- #10747 `9edda0c` [rpc] fix verbose argument for getblock in bitcoin-cli (jnewbery)
  13001. -- #10589 `104f5f2` More economical fee estimates for RBF and RPC options to control (morcos)
  13002. -- #10543 `b27b004` Change API to estimaterawfee (morcos)
  13003. -- #10807 `afd2fca` getbalance example covers at least 6 confirms (instagibbs)
  13004. -- #10707 `75b5643` Better API for estimatesmartfee RPC  (morcos)
  13005. -- #10784 `9e8d6a3` Do not allow users to get keys from keypool without reserving them (TheBlueMatt)
  13006. -- #10857 `d445a2c` [RPC] Add a deprecation warning to getinfo's output (achow101)
  13007. -- #10571 `adf170d` [RPC]Move transaction combining from signrawtransaction to new RPC (achow101)
  13008. -- #10783 `041dad9` [RPC] Various rpc argument fixes (instagibbs)
  13009. -- #9622 `6ef3c7e` [rpc] listsinceblock should include lost transactions when parameter is a reorg'd block (kallewoof)
  13010. -- #10799 `8537187` Prevent user from specifying conflicting parameters to fundrawtx (TheBlueMatt)
  13011. -- #10931 `0b11a07` Fix misleading "Method not found" multiwallet errors (ryanofsky)
  13012. -- #10788 `f66c596` [RPC] Fix addwitnessaddress by replacing ismine with producesignature (achow101)
  13013. -- #10999 `627c3c0` Fix amounts formatting in `decoderawtransaction` (laanwj)
  13014. -- #11002 `4268426` [wallet] return correct error code from resendwallettransaction (jnewbery)
  13015. -- #11029 `96a63a3` [RPC] trivial: gettxout no longer shows version of tx (FelixWeis)
  13016. -- #11083 `6c2b008` Fix combinerawtransaction RPC help result section (jonasnick)
  13017. -- #11027 `07164bb` [RPC] Only return hex field once in getrawtransaction (achow101)
  13018. -- #10698 `5af6572` Be consistent in calling transactions "replaceable" for Opt-In RBF (TheBlueMatt)
  13019. -
  13020. -### Block and transaction handling
  13021. -- #9801 `a8c5751` Removed redundant parameter from mempool.PrioritiseTransaction (gubatron)
  13022. -- #9819 `1efc99c` Remove harmless read of unusued priority estimates (morcos)
  13023. -- #9822 `b7547fa` Remove block file location upgrade code (benma)
  13024. -- #9602 `30ff3a2` Remove coin age priority and free transactions - implementation (morcos)
  13025. -- #9548 `47510ad` Remove min reasonable fee (morcos)
  13026. -- #10249 `c73af54` Switch CCoinsMap from boost to std unordered_map (sipa)
  13027. -- #9966 `2a183de` Control mempool persistence using a command line parameter (jnewbery)
  13028. -- #10199 `318ea50` Better fee estimates (morcos)
  13029. -- #10196 `bee3529` Bugfix: PrioritiseTransaction updates the mempool tx counter (sdaftuar)
  13030. -- #10195 `1088b02` Switch chainstate db and cache to per-txout model (sipa)
  13031. -- #10284 `c2ab38b` Always log debug information for fee calculation in CreateTransaction (morcos)
  13032. -- #10503 `efbcf2b` Use REJECT_DUPLICATE for already known and conflicted txn (sipa)
  13033. -- #10537 `b3eb0d6` Few Minor per-utxo assert-semantics re-adds and tweak (TheBlueMatt)
  13034. -- #10626 `8c841a3` doc: Remove outdated minrelaytxfee comment (MarcoFalke)
  13035. -- #10559 `234ffc6` Change semantics of HaveCoinInCache to match HaveCoin (morcos)
  13036. -- #10581 `7878353` Simplify return values of GetCoin/HaveCoin(InCache) (sipa)
  13037. -- #10684 `a381f6a` Remove no longer used mempool.exists(outpoint) (morcos)
  13038. -- #10148 `d4e551a` Use non-atomic flushing with block replay (sipa)
  13039. -- #10685 `30c2130` Clarify CCoinsViewMemPool documentation (TheBlueMatt)
  13040. -- #10558 `90a002e` Address nits from per-utxo change (morcos)
  13041. -- #10706 `6859ad2` Improve wallet fee logic and fix GUI bugs (morcos)
  13042. -- #10526 `754aa02` Force on-the-fly compaction during pertxout upgrade (sipa)
  13043. -- #10985 `d896d5c` Add undocumented -forcecompactdb to force LevelDB compactions (sipa)
  13044. -- #10292 `e4bbd3d` Improved efficiency in COutPoint constructors (mm-s)
  13045. -- #10290 `8d6d43e` Add -stopatheight for benchmarking (sipa)
  13046. -
  13047. -### P2P protocol and network code
  13048. -- #9726 `7639d38` netbase: Do not print an error on connection timeouts through proxy (laanwj)
  13049. -- #9805 `5b583ef` Add seed.btc.petertodd.org to mainnet DNS seeds (petertodd)
  13050. -- #9861 `22f609f` Trivial: Debug log ambiguity fix for peer addrs (keystrike)
  13051. -- #9774 `90cb2a2` Enable host lookups for -proxy and -onion parameters (jmcorgan)
  13052. -- #9558 `7b585cf` Clarify assumptions made about when BlockCheck is called (TheBlueMatt)
  13053. -- #10135 `e19586a` [p2p] Send the correct error code in reject messages (jnewbery)
  13054. -- #9665 `eab00d9` Use cached [compact] blocks to respond to getdata messages (TheBlueMatt)
  13055. -- #10215 `a077a90` Check interruptNet during dnsseed lookups (TheBlueMatt)
  13056. -- #10234 `faf2dea` [net] listbanned RPC and QT should show correct banned subnets (jnewbery)
  13057. -- #10134 `314ebdf` [qa] Fixes segwit block relay test after inv-direct-fetch was disabled (sdaftuar)
  13058. -- #10351 `3f57c55` removed unused code in INV message (Greg-Griffith)
  13059. -- #10061 `ae78609` [net] Added SetSocketNoDelay() utility function (tjps)
  13060. -- #10408 `28c6e8d` Net: Improvements to Tor control port parser (str4d)
  13061. -- #10460 `5c63d66` Broadcast address every day, not 9 hours (sipa)
  13062. -- #10471 `400fdd0` Denote functions CNode::GetRecvVersion() and CNode::GetRefCount()  as const (pavlosantoniou)
  13063. -- #10345 `67700b3` [P2P] Timeout for headers sync (sdaftuar)
  13064. -- #10564 `8d9f45e` Return early in IsBanned (gmaxwell)
  13065. -- #10587 `de8db47` Net: Fix resource leak in ReadBinaryFile(...) (practicalswift)
  13066. -- #9549 `b33ca14` [net] Avoid possibility of NULL pointer dereference in MarkBlockAsInFlight(...) (practicalswift)
  13067. -- #10446 `2772dc9` net: avoid extra dns query per seed (theuni)
  13068. -- #10824 `9dd6a2b` Avoid unnecessary work in SetNetworkActive (promag)
  13069. -- #10948 `df3a6f4` p2p: Hardcoded seeds update pre-0.15 branch (laanwj)
  13070. -- #10977 `02f4c4a` [net] Fix use of uninitialized value in getnetworkinfo(const JSONRPCRequest&) (practicalswift)
  13071. -- #10982 `c8b62c7` Disconnect network service bits 6 and 8 until Aug 1, 2018 (TheBlueMatt)
  13072. -- #11012 `0e5cff6` Make sure to clean up mapBlockSource if we've already seen the block (theuni)
  13073. -
  13074. -### Validation
  13075. -- #9725 `67023e9` CValidationInterface Cleanups (TheBlueMatt)
  13076. -- #10178 `2584925` Remove CValidationInterface::UpdatedTransaction (TheBlueMatt)
  13077. -- #10201 `a6548a4` pass Consensus::Params& to functions in validation.cpp and make them static (mariodian)
  13078. -- #10297 `431a548` Simplify DisconnectBlock arguments/return value (sipa)
  13079. -- #10464 `f94b7d5` Introduce static DoWarning (simplify UpdateTip) (jtimon)
  13080. -- #10569 `2e7d8f8` Fix stopatheight (achow101)
  13081. -- #10192 `2935b46` Cache full script execution results in addition to signatures (TheBlueMatt)
  13082. -- #10179 `21ed30a` Give CValidationInterface Support for calling notifications on the CScheduler Thread (TheBlueMatt)
  13083. -- #10557 `66270a4` Make check to distinguish between orphan txs and old txs more efficient (morcos)
  13084. -- #10775 `7c2400c` nCheckDepth chain height fix (romanornr)
  13085. -- #10821 `16240f4` Add SSE4 optimized SHA256 (sipa)
  13086. -- #10854 `04d395e` Avoid using sizes on non-fixed-width types to derive protocol constants (gmaxwell)
  13087. -- #10945 `2a50b11` Update defaultAssumeValid according to release-process.md (gmaxwell)
  13088. -- #10986 `2361208` Update chain transaction statistics (sipa)
  13089. -- #11028 `6bdf4b3` Avoid masking of difficulty adjustment errors by checkpoints (sipa)
  13090. -- #9533 `cb598cf` Allow non-power-of-2 signature cache sizes (sipa)
  13091. -- #9208 `acd9957` Improve DisconnectTip performance (sdaftuar)
  13092. -- #10618 `f90603a` Remove confusing MAX_BLOCK_BASE_SIZE (gmaxwell)
  13093. -- #10758 `bd92424` Fix some chainstate-init-order bugs (TheBlueMatt)
  13094. -- #10550 `b7296bc` Don't return stale data from CCoinsViewCache::Cursor() (ryanofsky)
  13095. -- #10998 `2507fd5` Fix upgrade cancel warnings (TheBlueMatt)
  13096. -- #9868 `cbdb473` Abstract out the command line options for block assembly (sipa)
  13097. -
  13098. -### Build system
  13099. -- #9727 `5f0556d` Remove fallbacks for boost_filesystem < v3 (laanwj)
  13100. -- #9788 `50a2265` gitian: bump descriptors for master (theuni)
  13101. -- #9794 `7ca2f54` Minor update to qrencode package builder (mitchellcash)
  13102. -- #9514 `2cc0df1` release: Windows signing script (theuni)
  13103. -- #9921 `8b789d8` build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL (laanwj)
  13104. -- #10011 `32d1b34` build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT (laanwj)
  13105. -- #9946 `90dd9e6` Fix build errors if spaces in path or parent directory (pinheadmz)
  13106. -- #10136 `81da4c7` build: Disable Wshadow warning (laanwj)
  13107. -- #10166 `64962ae` Ignore Doxyfile generated from Doxyfile.in template (paveljanik)
  13108. -- #10239 `0416ea9` Make Boost use std::atomic internally (sipa)
  13109. -- #10228 `27faa6c` build: regenerate bitcoin-config.h as necessary (theuni)
  13110. -- #10273 `8979f45` [scripts] Minor improvements to `macdeployqtplus` script (chrisgavin)
  13111. -- #10325 `a26280b` 0.15.0 Depends Updates (fanquake)
  13112. -- #10328 `79aeff6` Update contrib/debian to latest Ubuntu PPA upload (TheBlueMatt)
  13113. -- #7522 `d25449f` Bugfix: Only use git for build info if the repository is actually the right one (luke-jr)
  13114. -- #10489 `e654d61` build: silence gcc7's implicit fallthrough warning (theuni)
  13115. -- #10549 `ad1a13e` Avoid printing generic and duplicated "checking for QT" during ./configure (drizzt)
  13116. -- #10628 `8465b68` [depends] expat 2.2.1 (fanquake)
  13117. -- #10806 `db825d2` build: verify that the assembler can handle crc32 functions (theuni)
  13118. -- #10766 `b4d03be` Building Environment: Set ARFLAGS to cr (ReneNyffenegger)
  13119. -- #10803 `91edda8` Explicitly search for bdb5.3 (pstratem)
  13120. -- #10855 `81560b0` random: only use getentropy on openbsd (theuni)
  13121. -- #10508 `1caafa6` Run Qt wallet tests on travis (ryanofsky)
  13122. -- #10851 `e222618` depends: fix fontconfig with newer glibc (theuni)
  13123. -- #10971 `88b1e4b` build: fix missing sse42 in depends builds (theuni)
  13124. -- #11097 `129b03f` gitian: quick hack to fix version string in releases (theuni)
  13125. -- #10039 `919aaf6` Fix compile errors with Qt 5.3.2 and Boost 1.55.0 (ryanofsky)
  13126. -- #10168 `7032021` Fix build warning from #error text (jnewbery)
  13127. -- #10301 `318392c` Check if sys/random.h is required for getentropy (jameshilliard)
  13128. -
  13129. -### GUI
  13130. -- #9724 `1a9fd5c` Qt/Intro: Add explanation of IBD process (luke-jr)
  13131. -- #9834 `b00ba62` qt: clean up initialize/shutdown signals (benma)
  13132. -- #9481 `ce01e62` [Qt] Show more significant warning if we fall back to the default fee (jonasschnelli)
  13133. -- #9974 `b9f930b` Add basic Qt wallet test (ryanofsky)
  13134. -- #9690 `a387d3a` Change 'Clear' button string to 'Reset' (da2x)
  13135. -- #9592 `9c7b7cf` [Qt] Add checkbox in the GUI to opt-in to RBF when creating a transaction (ryanofsky)
  13136. -- #10098 `2b477e6` Make qt wallet test compatible with qt4 (ryanofsky)
  13137. -- #9890 `1fa4ae6` Add a button to open the config file in a text editor (ericshawlinux)
  13138. -- #10156 `51833a1` Fix for issues with startup and multiple monitors on windows (AllanDoensen)
  13139. -- #10177 `de01da7` Changed "Send" button default status from true to false (KibbledJiveElkZoo)
  13140. -- #10221 `e96486c` Stop treating coinbase outputs differently in GUI: show them at 1conf (TheBlueMatt)
  13141. -- #10231 `987a6c0` [Qt] Reduce a significant cs_main lock freeze (jonasschnelli)
  13142. -- #10242 `f6f3b58` [qt] Don't call method on null WalletModel object (ryanofsky)
  13143. -- #10093 `a3e756b` [Qt] Don't add arguments of sensitive command to console window (jonasschnelli)
  13144. -- #10362 `95546c8` [GUI] Add OSX keystroke to RPCConsole info (spencerlievens)
  13145. -- #9697 `962cd3f` [Qt] simple fee bumper with user verification (jonasschnelli)
  13146. -- #10390 `e477516` [wallet] remove minimum total fee option (instagibbs)
  13147. -- #10420 `4314544` Add Qt tests for wallet spends & bumpfee (ryanofsky)
  13148. -- #10454 `c1c9a95` Fix broken q4 test build (ryanofsky)
  13149. -- #10449 `64beb13` Overhaul Qt fee bumper (jonasschnelli)
  13150. -- #10582 `7c72fb9` Pass in smart fee slider value to coin control dialog (morcos)
  13151. -- #10673 `4c72cc3` [qt] Avoid potential null pointer dereference in TransactionView::exportClicked() (practicalswift)
  13152. -- #10769 `8fdd23a` [Qt] replace fee slider with a Dropdown, extend conf. targets (jonasschnelli)
  13153. -- #10870 `412b466` [Qt] Use wallet 0 in rpc console if running with multiple wallets (jonasschnelli)
  13154. -- #10988 `a9dd111` qt: Increase BLOCK_CHAIN_SIZE constants (laanwj)
  13155. -- #10644 `e292140` Slightly overhaul NSI pixmaps (jonasschnelli)
  13156. -- #10660 `0c3542e` Allow to cancel the txdb upgrade via splashscreen keypress 'q' (jonasschnelli)
  13157. -
  13158. -### Wallet
  13159. -- #9359 `f7ec7cf` Add test for CWalletTx::GetImmatureCredit() returning stale values (ryanofsky)
  13160. -- #9576 `56ab672` [wallet] Remove redundant initialization (practicalswift)
  13161. -- #9333 `fa625b0` Document CWalletTx::mapValue entries and remove erase of nonexistent "version" entry (ryanofsky)
  13162. -- #9906 `72fb515` Disallow copy constructor CReserveKeys (instagibbs)
  13163. -- #9369 `3178b2c` Factor out CWallet::nTimeSmart computation into a method (ryanofsky)
  13164. -- #9830 `afcd7c0` Add safe flag to listunspent result (NicolasDorier)
  13165. -- #9993 `c49355c` Initialize nRelockTime (pstratem)
  13166. -- #9818 `3d857f3` Save watch only key timestamps when reimporting keys (ryanofsky)
  13167. -- #9294 `f34cdcb` Use internal HD chain for change outputs (hd split) (jonasschnelli)
  13168. -- #10164 `e183ea2` Wallet: reduce excess logic InMempool() (kewde)
  13169. -- #10186 `c9ff4f8` Remove SYNC_TRANSACTION_NOT_IN_BLOCK magic number (jnewbery)
  13170. -- #10226 `64c45aa` wallet: Use boost to more portably ensure -wallet specifies only a filename (luke-jr)
  13171. -- #9827 `c91ca0a` Improve ScanForWalletTransactions return value (ryanofsky)
  13172. -- #9951 `fa1ac28` Wallet database handling abstractions/simplifications (laanwj)
  13173. -- #10265 `c29a0d4` [wallet] [moveonly] Check non-null pindex before potentially referencing (kallewoof)
  13174. -- #10283 `a550f6e` Cleanup: reduce to one GetMinimumFee call signature (morcos)
  13175. -- #10294 `e2b99b1` [Wallet] unset change position when there is no change (instagibbs)
  13176. -- #10115 `d3dce0e` Avoid reading the old hd master key during wallet encryption (TheBlueMatt)
  13177. -- #10341 `18c9deb` rpc/wallet: Workaround older UniValue which returns a std::string temporary for get_str (luke-jr)
  13178. -- #10308 `94e5227` [wallet] Securely erase potentially sensitive keys/values (tjps)
  13179. -- #10257 `ea1fd43` [test] Add test for getmemoryinfo (jimmysong)
  13180. -- #10295 `ce8176d` [qt] Move some WalletModel functions into CWallet (ryanofsky)
  13181. -- #10506 `7cc2c67` Fix bumpfee test after #10449 (ryanofsky)
  13182. -- #10500 `098b01d` Avoid CWalletTx copies in GetAddressBalances and GetAddressGroupings (ryanofsky)
  13183. -- #10455 `0747d33` Simplify feebumper minimum fee code slightly (ryanofsky)
  13184. -- #10522 `2805d60` [wallet] Remove unused variables (practicalswift)
  13185. -- #8694 `177433a` Basic multiwallet support (luke-jr)
  13186. -- #10598 `7a74f88` Supress struct/class mismatch warnings introduced in #10284 (paveljanik)
  13187. -- #9343 `209eef6` Don't create change at dust limit (morcos)
  13188. -- #10744 `ed88e31` Use method name via __func__ macro (darksh1ne)
  13189. -- #10712 `e8b9523` Add change output if necessary to reduce excess fee (morcos)
  13190. -- #10816 `1c011ff` Properly forbid -salvagewallet and -zapwallettxes for multi wallet (morcos)
  13191. -- #10235 `5cfdda2` Track keypool entries as internal vs external in memory (TheBlueMatt)
  13192. -- #10330 `bf0a08b` [wallet] fix zapwallettxes interaction with persistent mempool (jnewbery)
  13193. -- #10831 `0b01935` Batch flushing operations to the walletdb during top up and increase keypool size (gmaxwell)
  13194. -- #10795 `7b6e8bc` No longer ever reuse keypool indexes (TheBlueMatt)
  13195. -- #10849 `bde4f93` Multiwallet: simplest endpoint support (jonasschnelli)
  13196. -- #10817 `9022aa3` Redefine Dust and add a discard_rate (morcos)
  13197. -- #10883 `bf3b742` Rename -usewallet to -rpcwallet (morcos)
  13198. -- #10604 `420238d` [wallet] [tests] Add listwallets RPC, include wallet name in `getwalletinfo` and add multiwallet test (jnewbery)
  13199. -- #10885 `70888a3` Reject invalid wallets (promag)
  13200. -- #10949 `af56397` Clarify help message for -discardfee (morcos)
  13201. -- #10942 `2e857bb` Eliminate fee overpaying edge case when subtracting fee from recipients (morcos)
  13202. -- #10995 `fa64636` Fix resendwallettransactions assert failure if -walletbroadcast=0 (TheBlueMatt)
  13203. -- #11022 `653a46d` Basic keypool topup (jnewbery)
  13204. -- #11081 `9fe1f6b` Add length check for CExtKey deserialization (jonasschnelli, guidovranken)
  13205. -- #11044 `4ef8374` [wallet] Keypool topup cleanups (jnewbery)
  13206. -- #11145 `e51bb71` Fix rounding bug in calculation of minimum change (morcos)
  13207. -- #9605 `779f2f9` Use CScheduler for wallet flushing, remove ThreadFlushWalletDB (TheBlueMatt)
  13208. -- #10108 `4e3efd4` ApproximateBestSubset should take inputs by reference, not value (RHavar)
  13209. -
  13210. -### Tests and QA
  13211. -- #9744 `8efd1c8` Remove unused module from rpc-tests (34ro)
  13212. -- #9657 `7ff4a53` Improve rpc-tests.py (jnewbery)
  13213. -- #9766 `7146d96` Add --exclude option to rpc-tests.py (jnewbery)
  13214. -- #9577 `d6064a8` Fix docstrings in qa tests (jnewbery)
  13215. -- #9823 `a13a417` qa: Set correct path for binaries in rpc tests (MarcoFalke)
  13216. -- #9847 `6206252` Extra test vector for BIP32 (sipa)
  13217. -- #9350 `88c2ae3` [Trivial] Adding label for amount inside of tx_valid/tx_invalid.json (Christewart)
  13218. -- #9888 `36afd4d` travis: Verify commits only for one target (MarcoFalke)
  13219. -- #9904 `58861ad` test: Fail if InitBlockIndex fails (laanwj)
  13220. -- #9828 `67c5cc1` Avoid -Wshadow warnings in wallet_tests (ryanofsky)
  13221. -- #9832 `48c3429` [qa] assert_start_raises_init_error (NicolasDorier)
  13222. -- #9739 `9d5fcbf` Fix BIP68 activation test (jnewbery)
  13223. -- #9547 `d32581c` bench: Assert that division by zero is unreachable (practicalswift)
  13224. -- #9843 `c78adbf` Fix segwit getblocktemplate test (jnewbery)
  13225. -- #9929 `d5ce14e` tests: Delete unused function _rpchost_to_args (laanwj)
  13226. -- #9555 `19be26a` [test] Avoid reading a potentially uninitialized variable in tx_invalid-test (transaction_tests.cpp) (practicalswift)
  13227. -- #9945 `ac23a7c` Improve logging in bctest.py if there is a formatting mismatch (jnewbery)
  13228. -- #9768 `8910b47` [qa] Add logging to test_framework.py (jnewbery)
  13229. -- #9972 `21833f9` Fix extended rpc tests broken by #9768 (jnewbery)
  13230. -- #9977 `857d1e1` QA: getblocktemplate_longpoll.py should always use >0 fee tx (sdaftuar)
  13231. -- #9970 `3cc13ea` Improve readability of segwit.py, smartfees.py (sdaftuar)
  13232. -- #9497 `2c781fb` CCheckQueue Unit Tests (JeremyRubin)
  13233. -- #10024 `9225de2` [trivial] Use log.info() instead of print() in remaining functional test cases (jnewbery)
  13234. -- #9956 `3192e52` Reorganise qa directory (jnewbery)
  13235. -- #10017 `02d64bd` combine_logs.py - aggregates log files from multiple bitcoinds during functional tests (jnewbery)
  13236. -- #10047 `dfef6b6` [tests] Remove unused variables and imports (practicalswift)
  13237. -- #9701 `a230b05` Make bumpfee tests less fragile (ryanofsky)
  13238. -- #10053 `ca20923` [test] Allow functional test cases to be skipped (jnewbery)
  13239. -- #10052 `a0b1e57` [test] Run extended tests once daily in Travis (jnewbery)
  13240. -- #10069 `1118493` [QA] Fix typo in fundrawtransaction test (NicolasDorier)
  13241. -- #10083 `c044f03` [QA] Renaming rawTx into rawtx (NicolasDorier)
  13242. -- #10073 `b1a4f27` Actually run assumevalid.py (jnewbery)
  13243. -- #9780 `c412fd8` Suppress noisy output from qa tests in Travis (jnewbery)
  13244. -- #10096 `79af9fb` Check that all test scripts in test/functional are being run (jnewbery)
  13245. -- #10076 `5b029aa` [qa] combine_logs: Use ordered list for logfiles (MarcoFalke)
  13246. -- #10107 `f2734c2` Remove unused variable. Remove accidental trailing semicolons in Python code (practicalswift)
  13247. -- #10109 `8ac8041` Remove SingleNodeConnCB (jnewbery)
  13248. -- #10114 `edc62c9` [tests] sync_with_ping should assert that ping hasn't timed out (jnewbery)
  13249. -- #10128 `427d2fd` Speed Up CuckooCache tests (JeremyRubin)
  13250. -- #10072 `12af74b` Remove sources of unreliablility in extended functional tests (jnewbery)
  13251. -- #10077 `ebfd653` [qa] Add setnetworkactive smoke test (MarcoFalke)
  13252. -- #10152 `080d7c7` [trivial] remove unused line in Travis config (jnewbery)
  13253. -- #10159 `df1ca9e` [tests] color test results and sort alphabetically (jnewbery)
  13254. -- #10124 `88799ea` [test] Suppress test logging spam (jnewbery)
  13255. -- #10142 `ed09dd3` Run bitcoin_test-qt under minimal QPA platform (ryanofsky)
  13256. -- #9949 `a27dbc5` [bench] Avoid function call arguments which are pointers to uninitialized values (practicalswift)
  13257. -- #10187 `b44adf9` tests: Fix test_runner return value in case of skipped test (laanwj)
  13258. -- #10197 `d86bb07` [tests] Functional test warnings (jnewbery)
  13259. -- #10219 `9111df9` Tests: Order Python Tests Differently (jimmysong)
  13260. -- #10229 `f3db4c6` Tests: Add test for getdifficulty (jimmysong)
  13261. -- #10224 `2723bcd` [test] Add test for getaddednodeinfo (jimmysong)
  13262. -- #10023 `c530c15` [tests] remove maxblocksinflight.py (functionality covered by other test) (jnewbery)
  13263. -- #10097 `1b25b6d` Move zmq test skipping logic into individual test case (jnewbery)
  13264. -- #10272 `54e2d87` [Tests] Prevent warning: variable 'x' is uninitialized (paveljanik)
  13265. -- #10225 `e0a7e19` [test] Add aborttrescan tests (kallewoof)
  13266. -- #10278 `8254a8a` [test] Add Unit Test for GetListenPort (jimmysong)
  13267. -- #10280 `47535d7` [test] Unit test amount.h/amount.cpp (jimmysong)
  13268. -- #10256 `80c3a73` [test] Add test for gettxout to wallet.py (jimmysong)
  13269. -- #10264 `492d22f` [test] Add tests for getconnectioncount, getnettotals and ping (jimmysong)
  13270. -- #10169 `8f3e384` [tests] Remove func test code duplication (jnewbery)
  13271. -- #10198 `dc8fc0c` [tests] Remove is_network_split from functional test framework (jnewbery)
  13272. -- #10255 `3c5e6c9` [test] Add test for listaddressgroupings (jimmysong)
  13273. -- #10137 `75171f0` Remove unused import. Remove accidental trailing semicolons (practicalswift)
  13274. -- #10307 `83073de` [tests] allow zmq test to be run in out-of-tree builds (jnewbery)
  13275. -- #10344 `e927483` [tests] Fix abandonconflict.py intermittency (jnewbery)
  13276. -- #10318 `170bc2c` [tests] fix wait_for_inv() (jnewbery)
  13277. -- #10171 `fff72de` [tests] Add node methods to test framework (jnewbery)
  13278. -- #10352 `23d78c4` test: Add elapsed time to RPC tracing (laanwj)
  13279. -- #10342 `6a796b2` [tests] Improve mempool_persist test (jnewbery)
  13280. -- #10287 `776ba23` [tests] Update Unit Test for addrman.h/addrman.cpp (jimmysong)
  13281. -- #10365 `7ee5236` [tests] increase timeouts in sendheaders test (jnewbery)
  13282. -- #10361 `f6241b3` qa: disablewallet: Check that wallet is really disabled (MarcoFalke)
  13283. -- #10371 `4b766fc` [tests] Clean up addrman_tests.cpp (jimmysong)
  13284. -- #10253 `87abe20` [test] Add test for getnetworkhashps (jimmysong)
  13285. -- #10376 `8bd16ee` [tests] fix disconnect_ban intermittency (jnewbery)
  13286. -- #10374 `5411997` qa: Warn when specified test is not found (MarcoFalke)
  13287. -- #10405 `0542978` tests: Correct testcase in script_tests.json for large number OP_EQUAL (laanwj)
  13288. -- #10429 `6b99daf` tests: fix spurious addrman test failure (theuni)
  13289. -- #10433 `8e57256` [tests] improve tmpdir structure (jnewbery)
  13290. -- #10415 `217b416` [tests] Speed up fuzzing by ~200x when using afl-fuzz (practicalswift)
  13291. -- #10445 `b4b057a` Add test for empty chain and reorg consistency for gettxoutsetinfo (gmaxwell)
  13292. -- #10423 `1aefc94` [tests] skipped tests should clean up after themselves (jnewbery)
  13293. -- #10359 `329fc1d` [tests] functional tests should call BitcoinTestFramework start/stop node methods (jnewbery)
  13294. -- #10514 `e103b3f` Bugfix: missing == 0 after randrange (sipa)
  13295. -- #10515 `c871f32` [test] Add test for getchaintxstats (jimmysong)
  13296. -- #10509 `bea5b00` Remove xvfb configuration from travis (ryanofsky)
  13297. -- #10535 `30853e1` [qa] fundrawtx: Fix shutdown race (MarcoFalke)
  13298. -- #9909 `300f8e7` tests: Add FindEarliestAtLeast test for edge cases (ryanofsky)
  13299. -- #10331 `75e898c` Share config between util and functional tests (jnewbery)
  13300. -- #10321 `e801084` Use FastRandomContext for all tests (sipa)
  13301. -- #10524 `6c2d81f` [tests] Remove printf(...) (practicalswift)
  13302. -- #10547 `71ab6e5` [tests] Use FastRandomContext instead of boost::random::{mt19937,uniform_int_distribution} (practicalswift)
  13303. -- #10551 `6702617` [Tests] Wallet encryption functional tests (achow101)
  13304. -- #10555 `643fa0b` [tests] various improvements to zmq_test.py (jnewbery)
  13305. -- #10533 `d083bd9` [tests] Use cookie auth instead of rpcuser and rpcpassword (achow101)
  13306. -- #10632 `c68a9a6` qa: Add stopatheight test (MarcoFalke)
  13307. -- #10636 `4bc853b` [qa] util: Check return code after closing bitcoind proc (MarcoFalke)
  13308. -- #10662 `e0a7801` Initialize randomness in benchmarks (achow101)
  13309. -- #10612 `7c87a9c` The young person's guide to the test_framework (jnewbery)
  13310. -- #10659 `acb1153` [qa] blockchain: Pass on closed connection during generate call (MarcoFalke)
  13311. -- #10690 `416af3e` [qa] Bugfix: allow overriding extra_args in ComparisonTestFramework (sdaftuar)
  13312. -- #10556 `65cc7aa` Move stop/start functions from utils.py into BitcoinTestFramework (jnewbery)
  13313. -- #10704 `dd07f47` [tests] nits in dbcrash.py (jnewbery)
  13314. -- #10743 `be82498` [test] don't run dbcrash.py on Travis (jnewbery)
  13315. -- #10761 `d3b5870` [tests] fix replace_by_fee.py (jnewbery)
  13316. -- #10759 `1d4805c` Fix multi_rpc test for hosts that dont default to utf8 (TheBlueMatt)
  13317. -- #10190 `e4f226a` [tests] mining functional tests (including regression test for submitblock) (jnewbery)
  13318. -- #10739 `1fc783f` test: Move variable `state` down where it is used (paveljanik)
  13319. -- #9980 `fee0d80` Fix mem access violation merkleblock (Christewart)
  13320. -- #10893 `0c173a1` [QA] Avoid running multiwallet.py twice (jonasschnelli)
  13321. -- #10927 `9d5e8f9` test: Make sure wallet.backup is created in temp path (laanwj)
  13322. -- #10899 `f29d5db` [test] Qt: Use _putenv_s instead of setenv on Windows builds (brianmcmichael)
  13323. -- #10912 `5c8eb79` [tests] Fix incorrect memory_cleanse(?) call in crypto_tests.cpp (practicalswift)
  13324. -- #11001 `fa8a063` [tests] Test disconnecting unsupported service bits logic (jnewbery)
  13325. -- #10695 `929fd72` [qa] Rewrite BIP65/BIP66 functional tests (sdaftuar)
  13326. -- #10963 `ecd2135` [bench] Restore format state of cout after printing with std::fixed/setprecision (practicalswift)
  13327. -- #11025 `e5d26e4` qa: Fix inv race in example_test (MarcoFalke)
  13328. -- #10765 `2c811e0` Tests: address placement should be deterministic by default (ReneNyffenegger)
  13329. -- #11000 `ac016e1` test: Add resendwallettransactions functional tests (promag)
  13330. -- #11032 `aeb3175` [qa] Fix block message processing error in sendheaders.py (sdaftuar)
  13331. -- #10105 `0b9fb68` [tests] fixup - make all Travis test runs quiet, non just cron job runs (jnewbery)
  13332. -- #10222 `6ce7337` [tests] test_runner - check unicode (jnewbery)
  13333. -- #10327 `35da2ae` [tests] remove import-abort-rescan.py (jnewbery)
  13334. -- #11023 `bf74d37` [tests] Add option to attach a python debugger if functional test fails (jnewbery)
  13335. -- #10565 `8c2098a` [coverage] Remove subtrees and benchmarks from coverage report (achow101)
  13336. -
  13337. -### Miscellaneous
  13338. -- #9871 `be8ba2c` Add a tree sha512 hash to merge commits (sipa)
  13339. -- #9821 `d19d45a` util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD (laanwj)
  13340. -- #9903 `ba80a68` Docs: add details to -rpcclienttimeout doc (ian-kelling)
  13341. -- #9910 `53c300f` Docs: correct and elaborate -rpcbind doc (ian-kelling)
  13342. -- #9905 `01b7cda` [contrib] gh-merge: Move second sha512 check to the end (MarcoFalke)
  13343. -- #9880 `4df8213` Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1 (TheBlueMatt)
  13344. -- #9932 `00c13ea` Fix verify-commits on travis and always check top commit's tree (TheBlueMatt)
  13345. -- #9952 `6996e06` Add historical release notes for 0.14.0 (laanwj)
  13346. -- #9940 `fa99663` Fix verify-commits on OSX, update for new bad Tree-SHA512, point travis to different keyservers (TheBlueMatt)
  13347. -- #9963 `8040ae6` util: Properly handle errors during log message formatting (laanwj)
  13348. -- #9984 `cce056d` devtools: Make github-merge compute SHA512 from git, instead of worktree (laanwj)
  13349. -- #9995 `8bcf934` [doc] clarify blockchain size and pruning (askmike)
  13350. -- #9734 `0c17afc` Add updating of chainTxData to release process (sipa)
  13351. -- #10063 `530fcbd` add missing spaces so that markdown recognizes headline (flack)
  13352. -- #10085 `db1ae54` Docs: remove 'noconnect' option (jlopp)
  13353. -- #10090 `8e4f7e7` Update bitcoin.conf with example for pruning (coinables)
  13354. -- #9424 `1a5aaab` Change LogAcceptCategory to use uint32_t rather than sets of strings (gmaxwell)
  13355. -- #10036 `fbf36ca` Fix init README format to render correctly on github (jlopp)
  13356. -- #10058 `a2cd0b0` No need to use OpenSSL malloc/free (tjps)
  13357. -- #10123 `471ed00` Allow debug logs to be excluded from specified component (jnewbery)
  13358. -- #10104 `fadf078` linearize script: Option to use RPC cookie (achow101)
  13359. -- #10162 `a3a2160` [trivial] Log calls to getblocktemplate (jnewbery)
  13360. -- #10155 `928695b` build: Deduplicate version numbers (laanwj)
  13361. -- #10211 `a86255b` [doc] Contributor fixes & new "finding reviewers" section (kallewoof)
  13362. -- #10250 `1428f30` Fix some empty vector references (sipa)
  13363. -- #10270 `95f5e44` Remove Clang workaround for Boost 1.46 (fanquake)
  13364. -- #10263 `cb007e4` Trivial: fix fee estimate write error log message (CryptAxe)
  13365. -- #9670 `bd9ec0e` contrib: github-merge improvements (laanwj)
  13366. -- #10260 `1d75597` [doc] Minor corrections to osx dependencies (fanquake)
  13367. -- #10189 `750c5a5` devtools/net: add a verifier for scriptable changes. Use it to make CNode::id private (theuni)
  13368. -- #10322 `bc64b5a` Use hardware timestamps in RNG seeding (sipa)
  13369. -- #10381 `7f2b9e0` Shadowing warnings are not enabled by default, update doc accordingly (paveljanik)
  13370. -- #10380 `b6ee855` [doc] Removing comments about dirty entries on txmempool (madeo)
  13371. -- #10383 `d0c37ee` [logging] log system time and mock time (jnewbery)
  13372. -- #10404 `b45a52a` doc: Add logging to FinalizeNode() (sdaftuar)
  13373. -- #10388 `526e839` Output line to debug.log when IsInitialBlockDownload latches to false (morcos)
  13374. -- #10372 `15254e9` Add perf counter data to GetStrongRandBytes state in scheduler (TheBlueMatt)
  13375. -- #10461 `55b72f3` Update style guide (sipa)
  13376. -- #10486 `10e8c0a` devtools: Retry after signing fails in github-merge (laanwj)
  13377. -- #10447 `f259263` Make bitcoind invalid argument error message specific (laanwj)
  13378. -- #10495 `6a38b79` contrib: Update location of seeds.txt (laanwj)
  13379. -- #10469 `b6b150b` Fixing typo in rpcdump.cpp help message (keystrike)
  13380. -- #10451 `27b9931` contrib/init/bitcoind.openrcconf: Don't disable wallet by default (luke-jr)
  13381. -- #10323 `00d3692` Update to latest libsecp256k1 master (sipa)
  13382. -- #10422 `cec9e1e` Fix timestamp in fee estimate debug message (morcos)
  13383. -- #10566 `5d034ee` [docs] Use the "domain name setup" image (previously unused) in the gitian docs (practicalswift)
  13384. -- #10534 `a514ac3` Clarify prevector::erase and avoid swap-to-clear (sipa)
  13385. -- #10575 `22ec768` Header include guideline (sipa)
  13386. -- #10480 `fbf5d3b` Improve commit-check-script.sh (sipa)
  13387. -- #10502 `1ad3d4e` scripted-diff: Remove BOOST_FOREACH, Q_FOREACH and PAIRTYPE (jtimon)
  13388. -- #10377 `b63be2c` Use rdrand as entropy source on supported platforms (sipa)
  13389. -- #9895 `228c319` Turn TryCreateDirectory() into TryCreateDirectories() (benma)
  13390. -- #10602 `d76e84a` Make clang-format use C++11 features (e.g. A<A<int>> instead of A<A<int> >) (practicalswift)
  13391. -- #10623 `c38f540` doc: Add 0.14.2 release notes (MarcoFalke)
  13392. -- #10276 `b750b33` contrib/verifybinaries: allow filtering by platform (knocte)
  13393. -- #10248 `01c4b14` Rewrite addrdb with less duplication using CHashVerifier (sipa)
  13394. -- #10577 `232508f` Add an explanation of quickly hashing onto a non-power of two range (gmaxwell)
  13395. -- #10608 `eee398f` Add a comment explaining the use of MAX_BLOCK_BASE_SIZE (gmaxwell)
  13396. -- #10728 `7397af9` fix typo in help text for removeprunedfunds (AkioNak)
  13397. -- #10193 `6dbcc74` scripted-diff: Remove #include <boost/foreach.hpp> (jtimon)
  13398. -- #10676 `379aed0` document script-based return fields for validateaddress (instagibbs)
  13399. -- #10651 `cef4b5c` Verify binaries from bitcoincore.org and bitcoin.org (TheBlueMatt)
  13400. -- #10786 `ca4c545` Add PR description to merge commit in github-merge.py (sipa)
  13401. -- #10812 `c5904e8` [utils] Allow bitcoin-cli's -rpcconnect option to be used with square brackets (jnewbery)
  13402. -- #10842 `3895e25` Fix incorrect Doxygen tag (@ince ? @since). Doxygen parameter name matching (practicalswift)
  13403. -- #10681 `df0793f` add gdb attach process to test README (instagibbs)
  13404. -- #10789 `1124328` Punctuation/grammer fixes in rpcwallet.cpp (stevendlander)
  13405. -- #10655 `78f307b` Properly document target_confirmations in listsinceblock (RHavar)
  13406. -- #10917 `5c003cb` developer-notes: add reference to snake_case and PascalCase (benma)
  13407. -- #11003 `4b5a7ce` Docs: Capitalize bullet points in CONTRIBUTING guide (eklitzke)
  13408. -- #10968 `98aa3f6` Add instructions for parallel gitian builds (coblee)
  13409. -- #11076 `1c4b9b3` 0.15 release-notes nits: fix redundancy, remove accidental parenthesis & fix range style (practicalswift)
  13410. -- #11090 `8f0121c` Update contributor names in release-notes.md (Derek701)
  13411. -- #11056 `cbdd338` disable jni in builds (instagibbs)
  13412. -- #11080 `2b59cfb` doc: Update build-openbsd for 6.1 (laanwj)
  13413. -- #11119 `0a6af47` [doc] build-windows: Mention that only trusty works (MarcoFalke)
  13414. -- #11108 `e8ad101` Changing -txindex requires -reindex, not -reindex-chainstate (TheBlueMatt)
  13415. -- #9792 `342b9bc` FastRandomContext improvements and switch to ChaCha20 (sipa)
  13416. -- #9505 `67ed40e` Prevector Quick Destruct (JeremyRubin)
  13417. -- #10820 `ef37f20` Use cpuid intrinsics instead of asm code (sipa)
  13418. -- #9999 `a328904` [LevelDB] Plug leveldb logs to bitcoin logs (NicolasDorier)
  13419. -- #9693 `c5e9e42` Prevent integer overflow in ReadVarInt (gmaxwell)
  13420. -- #10129 `351d0ad` scheduler: fix sub-second precision with boost < 1.50 (theuni)
  13421. -- #10153 `fade788` logging: Fix off-by-one for shrinkdebugfile default (MarcoFalke)
  13422. -- #10305 `c45da32` Fix potential NPD introduced in b297426c (TheBlueMatt)
  13423. -- #10338 `daf3e7d` Maintain state across GetStrongRandBytes calls (sipa)
  13424. -- #10544 `a4fe077` Update to LevelDB 1.20 (sipa)
  13425. -- #10614 `cafe24f` random: fix crash on some 64bit platforms (theuni)
  13426. -- #10714 `2a09a38` Avoid printing incorrect block indexing time due to uninitialized variable (practicalswift)
  13427. -- #10837 `8bc6d1f` Fix resource leak on error in GetDevURandom (corebob)
  13428. -- #10832 `89bb036` init: Factor out AppInitLockDataDirectory and fix startup core dump issue (laanwj)
  13429. -- #10914 `b995a37` Add missing lock in CScheduler::AreThreadsServicingQueue() (TheBlueMatt)
  13430. -- #10958 `659c096` Update to latest Bitcoin patches for LevelDB (sipa)
  13431. -- #10919 `c1c671f` Fix more init bugs (TheBlueMatt)
  13432. -
  13433. -Credits
  13434. -=======
  13435. -
  13436. -Thanks to everyone who directly contributed to this release:
  13437. -
  13438. -- ??? ??
  13439. -- Ahmad Kazi
  13440. -- aideca
  13441. -- Akio Nakamura
  13442. -- Alex Morcos
  13443. -- Allan Doensen
  13444. -- Andres G. Aragoneses
  13445. -- Andrew Chow
  13446. -- Angel Leon
  13447. -- Awemany
  13448. -- Bob McElrath
  13449. -- Brian McMichael
  13450. -- BtcDrak
  13451. -- Charlie Lee
  13452. -- Chris Gavin
  13453. -- Chris Stewart
  13454. -- Cory Fields
  13455. -- CryptAxe
  13456. -- Dag Robole
  13457. -- Daniel Aleksandersen
  13458. -- Daniel Cousens
  13459. -- darksh1ne
  13460. -- Dimitris Tsapakidis
  13461. -- Eric Shaw
  13462. -- Evan Klitzke
  13463. -- fanquake
  13464. -- Felix Weis
  13465. -- flack
  13466. -- Guido Vranken
  13467. -- Greg Griffith
  13468. -- Gregory Maxwell
  13469. -- Gregory Sanders
  13470. -- Ian Kelling
  13471. -- Jack Grigg
  13472. -- James Evans
  13473. -- James Hilliard
  13474. -- Jameson Lopp
  13475. -- Jeremy Rubin
  13476. -- Jimmy Song
  13477. -- João Barbosa
  13478. -- Johnathan Corgan
  13479. -- John Newbery
  13480. -- Jonas Schnelli
  13481. -- Jorge Timón
  13482. -- Karl-Johan Alm
  13483. -- kewde
  13484. -- KibbledJiveElkZoo
  13485. -- Kirit Thadaka
  13486. -- kobake
  13487. -- Kyle Honeycutt
  13488. -- Lawrence Nahum
  13489. -- Luke Dashjr
  13490. -- Marco Falke
  13491. -- Marcos Mayorga
  13492. -- Marijn Stollenga
  13493. -- Mario Dian
  13494. -- Mark Friedenbach
  13495. -- Marko Bencun
  13496. -- Masahiko Hyuga
  13497. -- Matt Corallo
  13498. -- Matthew Zipkin
  13499. -- Matthias Grundmann
  13500. -- Michael Goldstein
  13501. -- Michael Rotarius
  13502. -- Mikerah
  13503. -- Mike van Rossum
  13504. -- Mitchell Cash
  13505. -- Nicolas Dorier
  13506. -- Patrick Strateman
  13507. -- Pavel Janík
  13508. -- Pavlos Antoniou
  13509. -- Pavol Rusnak
  13510. -- Pedro Branco
  13511. -- Peter Todd
  13512. -- Pieter Wuille
  13513. -- practicalswift
  13514. -- René Nyffenegger
  13515. -- Ricardo Velhote
  13516. -- romanornr
  13517. -- Russell Yanofsky
  13518. -- Rusty Russell
  13519. -- Ryan Havar
  13520. -- shaolinfry
  13521. -- Shigeya Suzuki
  13522. -- Simone Madeo
  13523. -- Spencer Lievens
  13524. -- Steven D. Lander
  13525. -- Suhas Daftuar
  13526. -- Takashi Mitsuta
  13527. -- Thomas Snider
  13528. -- Timothy Redaelli
  13529. -- tintinweb
  13530. -- tnaka
  13531. -- Warren Togami
  13532. -- Wladimir J. van der Laan
  13533. -
  13534. -As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
  13535. diff --git a/doc/release-process.md b/doc/release-process.md
  13536. index 41e66f6..049dbb0 100644
  13537. --- a/doc/release-process.md
  13538. +++ b/doc/release-process.md
  13539. @@ -5,7 +5,7 @@ Before every release candidate:
  13540.  
  13541.  * Update translations (ping wumpus on IRC) see [translation_process.md](https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md#synchronising-translations).
  13542.  
  13543. -* Update manpages, see [gen-manpages.sh](https://github.com/litecoin-project/litecoin/blob/master/contrib/devtools/README.md#gen-manpagessh).
  13544. +* Update manpages, see [gen-manpages.sh](https://github.com/litecoincash-project/litecoincash/blob/master/contrib/devtools/README.md#gen-manpagessh).
  13545.  
  13546.  Before every minor and major release:
  13547.  
  13548. @@ -33,12 +33,12 @@ If you're using the automated script (found in [contrib/gitian-build.sh](/contri
  13549.  Check out the source code in the following directory hierarchy.
  13550.  
  13551.      cd /path/to/your/toplevel/build
  13552. -    git clone https://github.com/litecoin-project/gitian.sigs.ltc.git
  13553. -    git clone https://github.com/litecoin-project/litecoin-detached-sigs.git
  13554. +    git clone https://github.com/litecoincash-project/gitian.sigs.lch.git
  13555. +    git clone https://github.com/litecoincash-project/litecoincash-detached-sigs.git
  13556.      git clone https://github.com/devrandom/gitian-builder.git
  13557. -    git clone https://github.com/litecoin-project/litecoin.git
  13558. +    git clone https://github.com/litecoincash-project/litecoincash.git
  13559.  
  13560. -### Litecoin maintainers/release engineers, suggestion for writing release notes
  13561. +### LitecoinCash maintainers/release engineers, suggestion for writing release notes
  13562.  
  13563.  Write release notes. git shortlog helps a lot, for example:
  13564.  
  13565. @@ -61,16 +61,16 @@ If you're using the automated script (found in [contrib/gitian-build.sh](/contri
  13566.  
  13567.  Setup Gitian descriptors:
  13568.  
  13569. -    pushd ./litecoin
  13570. +    pushd ./litecoincash
  13571.      export SIGNER=(your Gitian key, ie bluematt, sipa, etc)
  13572.      export VERSION=(new version, e.g. 0.8.0)
  13573.      git fetch
  13574.      git checkout v${VERSION}
  13575.      popd
  13576.  
  13577. -Ensure your gitian.sigs.ltc are up-to-date if you wish to gverify your builds against other Gitian signatures.
  13578. +Ensure your gitian.sigs.lch are up-to-date if you wish to gverify your builds against other Gitian signatures.
  13579.  
  13580. -    pushd ./gitian.sigs.ltc
  13581. +    pushd ./gitian.sigs.lch
  13582.      git pull
  13583.      popd
  13584.  
  13585. @@ -95,7 +95,7 @@ Create the OS X SDK tarball, see the [OS X readme](README_osx.md) for details, a
  13586.  By default, Gitian will fetch source files as needed. To cache them ahead of time:
  13587.  
  13588.      pushd ./gitian-builder
  13589. -    make -C ../litecoin/depends download SOURCES_PATH=`pwd`/cache/common
  13590. +    make -C ../litecoincash/depends download SOURCES_PATH=`pwd`/cache/common
  13591.      popd
  13592.  
  13593.  Only missing files will be fetched, so this is safe to re-run for each build.
  13594. @@ -103,62 +103,62 @@ Only missing files will be fetched, so this is safe to re-run for each build.
  13595.  NOTE: Offline builds must use the --url flag to ensure Gitian fetches only from local URLs. For example:
  13596.  
  13597.      pushd ./gitian-builder
  13598. -    ./bin/gbuild --url litecoin=/path/to/litecoin,signature=/path/to/sigs {rest of arguments}
  13599. +    ./bin/gbuild --url litecoincash=/path/to/litecoincash,signature=/path/to/sigs {rest of arguments}
  13600.      popd
  13601.  
  13602.  The gbuild invocations below <b>DO NOT DO THIS</b> by default.
  13603.  
  13604. -### Build and sign Litecoin Core for Linux, Windows, and OS X:
  13605. +### Build and sign LitecoinCash Core for Linux, Windows, and OS X:
  13606.  
  13607.      pushd ./gitian-builder
  13608. -    ./bin/gbuild --num-make 2 --memory 3000 --commit litecoin=v${VERSION} ../litecoin/contrib/gitian-descriptors/gitian-linux.yml
  13609. -    ./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs.ltc/ ../litecoin/contrib/gitian-descriptors/gitian-linux.yml
  13610. -    mv build/out/litecoin-*.tar.gz build/out/src/litecoin-*.tar.gz ../
  13611. -
  13612. -    ./bin/gbuild --num-make 2 --memory 3000 --commit litecoin=v${VERSION} ../litecoin/contrib/gitian-descriptors/gitian-win.yml
  13613. -    ./bin/gsign --signer $SIGNER --release ${VERSION}-win-unsigned --destination ../gitian.sigs.ltc/ ../litecoin/contrib/gitian-descriptors/gitian-win.yml
  13614. -    mv build/out/litecoin-*-win-unsigned.tar.gz inputs/litecoin-win-unsigned.tar.gz
  13615. -    mv build/out/litecoin-*.zip build/out/litecoin-*.exe ../
  13616. -
  13617. -    ./bin/gbuild --num-make 2 --memory 3000 --commit litecoin=v${VERSION} ../litecoin/contrib/gitian-descriptors/gitian-osx.yml
  13618. -    ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs.ltc/ ../litecoin/contrib/gitian-descriptors/gitian-osx.yml
  13619. -    mv build/out/litecoin-*-osx-unsigned.tar.gz inputs/litecoin-osx-unsigned.tar.gz
  13620. -    mv build/out/litecoin-*.tar.gz build/out/litecoin-*.dmg ../
  13621. +    ./bin/gbuild --num-make 2 --memory 3000 --commit litecoincash=v${VERSION} ../litecoincash/contrib/gitian-descriptors/gitian-linux.yml
  13622. +    ./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs.lch/ ../litecoincash/contrib/gitian-descriptors/gitian-linux.yml
  13623. +    mv build/out/litecoincash-*.tar.gz build/out/src/litecoincash-*.tar.gz ../
  13624. +
  13625. +    ./bin/gbuild --num-make 2 --memory 3000 --commit litecoincash=v${VERSION} ../litecoincash/contrib/gitian-descriptors/gitian-win.yml
  13626. +    ./bin/gsign --signer $SIGNER --release ${VERSION}-win-unsigned --destination ../gitian.sigs.lch/ ../litecoincash/contrib/gitian-descriptors/gitian-win.yml
  13627. +    mv build/out/litecoincash-*-win-unsigned.tar.gz inputs/litecoincash-win-unsigned.tar.gz
  13628. +    mv build/out/litecoincash-*.zip build/out/litecoincash-*.exe ../
  13629. +
  13630. +    ./bin/gbuild --num-make 2 --memory 3000 --commit litecoincash=v${VERSION} ../litecoincash/contrib/gitian-descriptors/gitian-osx.yml
  13631. +    ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs.lch/ ../litecoincash/contrib/gitian-descriptors/gitian-osx.yml
  13632. +    mv build/out/litecoincash-*-osx-unsigned.tar.gz inputs/litecoincash-osx-unsigned.tar.gz
  13633. +    mv build/out/litecoincash-*.tar.gz build/out/litecoincash-*.dmg ../
  13634.      popd
  13635.  
  13636.  Build output expected:
  13637.  
  13638. -  1. source tarball (`litecoin-${VERSION}.tar.gz`)
  13639. -  2. linux 32-bit and 64-bit dist tarballs (`litecoin-${VERSION}-linux[32|64].tar.gz`)
  13640. -  3. windows 32-bit and 64-bit unsigned installers and dist zips (`litecoin-${VERSION}-win[32|64]-setup-unsigned.exe`, `litecoin-${VERSION}-win[32|64].zip`)
  13641. -  4. OS X unsigned installer and dist tarball (`litecoin-${VERSION}-osx-unsigned.dmg`, `litecoin-${VERSION}-osx64.tar.gz`)
  13642. -  5. Gitian signatures (in `gitian.sigs.ltc/${VERSION}-<linux|{win,osx}-unsigned>/(your Gitian key)/`)
  13643. +  1. source tarball (`litecoincash-${VERSION}.tar.gz`)
  13644. +  2. linux 32-bit and 64-bit dist tarballs (`litecoincash-${VERSION}-linux[32|64].tar.gz`)
  13645. +  3. windows 32-bit and 64-bit unsigned installers and dist zips (`litecoincash-${VERSION}-win[32|64]-setup-unsigned.exe`, `litecoincash-${VERSION}-win[32|64].zip`)
  13646. +  4. OS X unsigned installer and dist tarball (`litecoincash-${VERSION}-osx-unsigned.dmg`, `litecoincash-${VERSION}-osx64.tar.gz`)
  13647. +  5. Gitian signatures (in `gitian.sigs.lch/${VERSION}-<linux|{win,osx}-unsigned>/(your Gitian key)/`)
  13648.  
  13649.  ### Verify other gitian builders signatures to your own. (Optional)
  13650.  
  13651.  Add other gitian builders keys to your gpg keyring, and/or refresh keys.
  13652.  
  13653. -    gpg --import litecoin/contrib/gitian-keys/*.pgp
  13654. +    gpg --import litecoincash/contrib/gitian-keys/*.pgp
  13655.      gpg --refresh-keys
  13656.  
  13657.  Verify the signatures
  13658.  
  13659.      pushd ./gitian-builder
  13660. -    ./bin/gverify -v -d ../gitian.sigs.ltc/ -r ${VERSION}-linux ../litecoin/contrib/gitian-descriptors/gitian-linux.yml
  13661. -    ./bin/gverify -v -d ../gitian.sigs.ltc/ -r ${VERSION}-win-unsigned ../litecoin/contrib/gitian-descriptors/gitian-win.yml
  13662. -    ./bin/gverify -v -d ../gitian.sigs.ltc/ -r ${VERSION}-osx-unsigned ../litecoin/contrib/gitian-descriptors/gitian-osx.yml
  13663. +    ./bin/gverify -v -d ../gitian.sigs.lch/ -r ${VERSION}-linux ../litecoincash/contrib/gitian-descriptors/gitian-linux.yml
  13664. +    ./bin/gverify -v -d ../gitian.sigs.lch/ -r ${VERSION}-win-unsigned ../litecoincash/contrib/gitian-descriptors/gitian-win.yml
  13665. +    ./bin/gverify -v -d ../gitian.sigs.lch/ -r ${VERSION}-osx-unsigned ../litecoincash/contrib/gitian-descriptors/gitian-osx.yml
  13666.      popd
  13667.  
  13668.  ### Next steps:
  13669.  
  13670. -Commit your signature to gitian.sigs.ltc:
  13671. +Commit your signature to gitian.sigs.lch:
  13672.  
  13673. -    pushd gitian.sigs.ltc
  13674. +    pushd gitian.sigs.lch
  13675.      git add ${VERSION}-linux/${SIGNER}
  13676.      git add ${VERSION}-win-unsigned/${SIGNER}
  13677.      git add ${VERSION}-osx-unsigned/${SIGNER}
  13678.      git commit -a
  13679. -    git push  # Assuming you can push to the gitian.sigs.ltc tree
  13680. +    git push  # Assuming you can push to the gitian.sigs.lch tree
  13681.      popd
  13682.  
  13683.  Codesigner only: Create Windows/OS X detached signatures:
  13684. @@ -167,22 +167,22 @@ Codesigner only: Create Windows/OS X detached signatures:
  13685.  
  13686.  Codesigner only: Sign the osx binary:
  13687.  
  13688. -    transfer litecoin-osx-unsigned.tar.gz to osx for signing
  13689. -    tar xf litecoin-osx-unsigned.tar.gz
  13690. +    transfer litecoincash-osx-unsigned.tar.gz to osx for signing
  13691. +    tar xf litecoincash-osx-unsigned.tar.gz
  13692.      ./detached-sig-create.sh -s "Key ID"
  13693.      Enter the keychain password and authorize the signature
  13694.      Move signature-osx.tar.gz back to the gitian host
  13695.  
  13696.  Codesigner only: Sign the windows binaries:
  13697.  
  13698. -    tar xf litecoin-win-unsigned.tar.gz
  13699. +    tar xf litecoincash-win-unsigned.tar.gz
  13700.      ./detached-sig-create.sh -key /path/to/codesign.key
  13701.      Enter the passphrase for the key when prompted
  13702.      signature-win.tar.gz will be created
  13703.  
  13704.  Codesigner only: Commit the detached codesign payloads:
  13705.  
  13706. -    cd ~/litecoin-detached-sigs
  13707. +    cd ~/litecoincash-detached-sigs
  13708.      checkout the appropriate branch for this release series
  13709.      rm -rf *
  13710.      tar xf signature-osx.tar.gz
  13711. @@ -195,34 +195,34 @@ Codesigner only: Commit the detached codesign payloads:
  13712.  Non-codesigners: wait for Windows/OS X detached signatures:
  13713.  
  13714.  - Once the Windows/OS X builds each have 3 matching signatures, they will be signed with their respective release keys.
  13715. -- Detached signatures will then be committed to the [litecoin-detached-sigs](https://github.com/litecoin-project/litecoin-detached-sigs) repository, which can be combined with the unsigned apps to create signed binaries.
  13716. +- Detached signatures will then be committed to the [litecoincash-detached-sigs](https://github.com/litecoincash-project/litecoincash-detached-sigs) repository, which can be combined with the unsigned apps to create signed binaries.
  13717.  
  13718.  Create (and optionally verify) the signed OS X binary:
  13719.  
  13720.      pushd ./gitian-builder
  13721. -    ./bin/gbuild -i --commit signature=v${VERSION} ../litecoin/contrib/gitian-descriptors/gitian-osx-signer.yml
  13722. -    ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-signed --destination ../gitian.sigs.ltc/ ../litecoin/contrib/gitian-descriptors/gitian-osx-signer.yml
  13723. -    ./bin/gverify -v -d ../gitian.sigs.ltc/ -r ${VERSION}-osx-signed ../litecoin/contrib/gitian-descriptors/gitian-osx-signer.yml
  13724. -    mv build/out/litecoin-osx-signed.dmg ../litecoin-${VERSION}-osx.dmg
  13725. +    ./bin/gbuild -i --commit signature=v${VERSION} ../litecoincash/contrib/gitian-descriptors/gitian-osx-signer.yml
  13726. +    ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-signed --destination ../gitian.sigs.lch/ ../litecoincash/contrib/gitian-descriptors/gitian-osx-signer.yml
  13727. +    ./bin/gverify -v -d ../gitian.sigs.lch/ -r ${VERSION}-osx-signed ../litecoincash/contrib/gitian-descriptors/gitian-osx-signer.yml
  13728. +    mv build/out/litecoincash-osx-signed.dmg ../litecoincash-${VERSION}-osx.dmg
  13729.      popd
  13730.  
  13731.  Create (and optionally verify) the signed Windows binaries:
  13732.  
  13733.      pushd ./gitian-builder
  13734. -    ./bin/gbuild -i --commit signature=v${VERSION} ../litecoin/contrib/gitian-descriptors/gitian-win-signer.yml
  13735. -    ./bin/gsign --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs.ltc/ ../litecoin/contrib/gitian-descriptors/gitian-win-signer.yml
  13736. -    ./bin/gverify -v -d ../gitian.sigs.ltc/ -r ${VERSION}-win-signed ../litecoin/contrib/gitian-descriptors/gitian-win-signer.yml
  13737. -    mv build/out/litecoin-*win64-setup.exe ../litecoin-${VERSION}-win64-setup.exe
  13738. -    mv build/out/litecoin-*win32-setup.exe ../litecoin-${VERSION}-win32-setup.exe
  13739. +    ./bin/gbuild -i --commit signature=v${VERSION} ../litecoincash/contrib/gitian-descriptors/gitian-win-signer.yml
  13740. +    ./bin/gsign --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs.lch/ ../litecoincash/contrib/gitian-descriptors/gitian-win-signer.yml
  13741. +    ./bin/gverify -v -d ../gitian.sigs.lch/ -r ${VERSION}-win-signed ../litecoincash/contrib/gitian-descriptors/gitian-win-signer.yml
  13742. +    mv build/out/litecoincash-*win64-setup.exe ../litecoincash-${VERSION}-win64-setup.exe
  13743. +    mv build/out/litecoincash-*win32-setup.exe ../litecoincash-${VERSION}-win32-setup.exe
  13744.      popd
  13745.  
  13746.  Commit your signature for the signed OS X/Windows binaries:
  13747.  
  13748. -    pushd gitian.sigs.ltc
  13749. +    pushd gitian.sigs.lch
  13750.      git add ${VERSION}-osx-signed/${SIGNER}
  13751.      git add ${VERSION}-win-signed/${SIGNER}
  13752.      git commit -a
  13753. -    git push  # Assuming you can push to the gitian.sigs.ltc tree
  13754. +    git push  # Assuming you can push to the gitian.sigs.lch tree
  13755.      popd
  13756.  
  13757.  ### After 3 or more people have gitian-built and their results match:
  13758. @@ -235,23 +235,23 @@ sha256sum * > SHA256SUMS
  13759.  
  13760.  The list of files should be:
  13761.  ```
  13762. -litecoin-${VERSION}-aarch64-linux-gnu.tar.gz
  13763. -litecoin-${VERSION}-arm-linux-gnueabihf.tar.gz
  13764. -litecoin-${VERSION}-i686-pc-linux-gnu.tar.gz
  13765. -litecoin-${VERSION}-x86_64-linux-gnu.tar.gz
  13766. -litecoin-${VERSION}-osx64.tar.gz
  13767. -litecoin-${VERSION}-osx.dmg
  13768. -litecoin-${VERSION}.tar.gz
  13769. -litecoin-${VERSION}-win32-setup.exe
  13770. -litecoin-${VERSION}-win32.zip
  13771. -litecoin-${VERSION}-win64-setup.exe
  13772. -litecoin-${VERSION}-win64.zip
  13773. +litecoincash-${VERSION}-aarch64-linux-gnu.tar.gz
  13774. +litecoincash-${VERSION}-arm-linux-gnueabihf.tar.gz
  13775. +litecoincash-${VERSION}-i686-pc-linux-gnu.tar.gz
  13776. +litecoincash-${VERSION}-x86_64-linux-gnu.tar.gz
  13777. +litecoincash-${VERSION}-osx64.tar.gz
  13778. +litecoincash-${VERSION}-osx.dmg
  13779. +litecoincash-${VERSION}.tar.gz
  13780. +litecoincash-${VERSION}-win32-setup.exe
  13781. +litecoincash-${VERSION}-win32.zip
  13782. +litecoincash-${VERSION}-win64-setup.exe
  13783. +litecoincash-${VERSION}-win64.zip
  13784.  ```
  13785.  The `*-debug*` files generated by the gitian build contain debug symbols
  13786.  for troubleshooting by developers. It is assumed that anyone that is interested
  13787.  in debugging can run gitian to generate the files for themselves. To avoid
  13788.  end-user confusion about which file to pick, as well as save storage
  13789. -space *do not upload these to the litecoin.org server, nor put them in the torrent*.
  13790. +space *do not upload these to the litecoincash.org server, nor put them in the torrent*.
  13791.  
  13792.  - GPG-sign it, delete the unsigned file:
  13793.  ```
  13794. @@ -261,24 +261,24 @@ rm SHA256SUMS
  13795.  (the digest algorithm is forced to sha256 to avoid confusion of the `Hash:` header that GPG adds with the SHA256 used for the files)
  13796.  Note: check that SHA256SUMS itself doesn't end up in SHA256SUMS, which is a spurious/nonsensical entry.
  13797.  
  13798. -- Upload zips and installers, as well as `SHA256SUMS.asc` from last step, to the litecoin.org server.
  13799. +- Upload zips and installers, as well as `SHA256SUMS.asc` from last step, to the litecoincash.org server.
  13800.  
  13801.  ```
  13802.  
  13803. -- Update litecoin.org version
  13804. +- Update litecoincash.org version
  13805.  
  13806.  - Announce the release:
  13807.  
  13808. -  - litecoin-dev and litecoin-dev mailing list
  13809. +  - litecoincash-dev and litecoincash-dev mailing list
  13810.  
  13811. -  - blog.litecoin.org blog post
  13812. +  - blog.litecoincash.org blog post
  13813.  
  13814. -  - Update title of #litecoin and #litecoin-dev on Freenode IRC
  13815. +  - Update title of #litecoincash and #litecoincash-dev on Freenode IRC
  13816.  
  13817. -  - Optionally twitter, reddit /r/Litecoin, ... but this will usually sort out itself
  13818. +  - Optionally twitter, reddit /r/LitecoinCash, ... but this will usually sort out itself
  13819.  
  13820.    - Archive release notes for the new version to `doc/release-notes/` (branch `master` and branch of the release)
  13821.  
  13822. -  - Create a [new GitHub release](https://github.com/litecoin-project/litecoin/releases/new) with a link to the archived release notes.
  13823. +  - Create a [new GitHub release](https://github.com/litecoincash-project/litecoincash/releases/new) with a link to the archived release notes.
  13824.  
  13825.    - Celebrate
  13826. diff --git a/doc/tor.md b/doc/tor.md
  13827. index 68ef6ba..3110f55 100644
  13828. --- a/doc/tor.md
  13829. +++ b/doc/tor.md
  13830. @@ -1,16 +1,16 @@
  13831. -TOR SUPPORT IN LITECOIN
  13832. +TOR SUPPORT IN LITECOINCASH
  13833.  ======================
  13834.  
  13835. -It is possible to run Litecoin as a Tor hidden service, and connect to such services.
  13836. +It is possible to run LitecoinCash as a Tor hidden service, and connect to such services.
  13837.  
  13838.  The following directions assume you have a Tor proxy running on port 9050. Many distributions default to having a SOCKS proxy listening on port 9050, but others may not. In particular, the Tor Browser Bundle defaults to listening on port 9150. See [Tor Project FAQ:TBBSocksPort](https://www.torproject.org/docs/faq.html.en#TBBSocksPort) for how to properly
  13839.  configure Tor.
  13840.  
  13841.  
  13842. -1. Run litecoin behind a Tor proxy
  13843. +1. Run litecoincash behind a Tor proxy
  13844.  ---------------------------------
  13845.  
  13846. -The first step is running Litecoin behind a Tor proxy. This will already make all
  13847. +The first step is running LitecoinCash behind a Tor proxy. This will already make all
  13848.  outgoing connections be anonymized, but more is possible.
  13849.  
  13850.     -proxy=ip:port  Set the proxy server. If SOCKS5 is selected (default), this proxy
  13851. @@ -31,27 +31,27 @@ outgoing connections be anonymized, but more is possible.
  13852.  
  13853.  In a typical situation, this suffices to run behind a Tor proxy:
  13854.  
  13855. -   ./litecoin -proxy=127.0.0.1:9050
  13856. +   ./litecoincash -proxy=127.0.0.1:9050
  13857.  
  13858.  
  13859. -2. Run a litecoin hidden server
  13860. +2. Run a litecoincash hidden server
  13861.  ------------------------------
  13862.  
  13863.  If you configure your Tor system accordingly, it is possible to make your node also
  13864.  reachable from the Tor network. Add these lines to your /etc/tor/torrc (or equivalent
  13865.  config file):
  13866.  
  13867. -   HiddenServiceDir /var/lib/tor/litecoin-service/
  13868. +   HiddenServiceDir /var/lib/tor/litecoincash-service/
  13869.     HiddenServicePort 9333 127.0.0.1:9333
  13870.     HiddenServicePort 19335 127.0.0.1:19335
  13871.  
  13872.  The directory can be different of course, but (both) port numbers should be equal to
  13873. -your litecoind's P2P listen port (9333 by default).
  13874. +your litecoincashd's P2P listen port (9333 by default).
  13875.  
  13876. -   -externalip=X   You can tell litecoin about its publicly reachable address using
  13877. +   -externalip=X   You can tell litecoincash about its publicly reachable address using
  13878.                     this option, and this can be a .onion address. Given the above
  13879.                     configuration, you can find your onion address in
  13880. -                   /var/lib/tor/litecoin-service/hostname. Onion addresses are given
  13881. +                   /var/lib/tor/litecoincash-service/hostname. Onion addresses are given
  13882.                     preference for your node to advertise itself with, for connections
  13883.                     coming from unroutable addresses (such as 127.0.0.1, where the
  13884.                     Tor proxy typically runs).
  13885. @@ -68,49 +68,49 @@ your litecoind's P2P listen port (9333 by default).
  13886.  
  13887.  In a typical situation, where you're only reachable via Tor, this should suffice:
  13888.  
  13889. -   ./litecoind -proxy=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -listen
  13890. +   ./litecoincashd -proxy=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -listen
  13891.  
  13892.  (obviously, replace the Onion address with your own). It should be noted that you still
  13893.  listen on all devices and another node could establish a clearnet connection, when knowing
  13894.  your address. To mitigate this, additionally bind the address of your Tor proxy:
  13895.  
  13896. -   ./litecoind ... -bind=127.0.0.1
  13897. +   ./litecoincashd ... -bind=127.0.0.1
  13898.  
  13899.  If you don't care too much about hiding your node, and want to be reachable on IPv4
  13900.  as well, use `discover` instead:
  13901.  
  13902. -   ./litecoind ... -discover
  13903. +   ./litecoincashd ... -discover
  13904.  
  13905.  and open port 9333 on your firewall (or use -upnp).
  13906.  
  13907.  If you only want to use Tor to reach onion addresses, but not use it as a proxy
  13908.  for normal IPv4/IPv6 communication, use:
  13909.  
  13910. -   ./litecoin -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
  13911. +   ./litecoincash -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
  13912.  
  13913.  3. Automatically listen on Tor
  13914.  --------------------------------
  13915.  
  13916.  Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket
  13917.  API, to create and destroy 'ephemeral' hidden services programmatically.
  13918. -Litecoin Core has been updated to make use of this.
  13919. +LitecoinCash Core has been updated to make use of this.
  13920.  
  13921.  This means that if Tor is running (and proper authentication has been configured),
  13922. -Litecoin Core automatically creates a hidden service to listen on. This will positively
  13923. +LitecoinCash Core automatically creates a hidden service to listen on. This will positively
  13924.  affect the number of available .onion nodes.
  13925.  
  13926. -This new feature is enabled by default if Litecoin Core is listening (`-listen`), and
  13927. +This new feature is enabled by default if LitecoinCash Core is listening (`-listen`), and
  13928.  requires a Tor connection to work. It can be explicitly disabled with `-listenonion=0`
  13929.  and, if not disabled, configured using the `-torcontrol` and `-torpassword` settings.
  13930.  To show verbose debugging information, pass `-debug=tor`.
  13931.  
  13932.  Connecting to Tor's control socket API requires one of two authentication methods to be
  13933. -configured. For cookie authentication the user running litecoind must have write access
  13934. +configured. For cookie authentication the user running litecoincashd must have write access
  13935.  to the `CookieAuthFile` specified in Tor configuration. In some cases this is
  13936.  preconfigured and the creation of a hidden service is automatic. If permission problems
  13937.  are seen with `-debug=tor` they can be resolved by adding both the user running tor and
  13938. -the user running litecoind to the same group and setting permissions appropriately. On
  13939. -Debian-based systems the user running litecoind can be added to the debian-tor group,
  13940. +the user running litecoincashd to the same group and setting permissions appropriately. On
  13941. +Debian-based systems the user running litecoincashd can be added to the debian-tor group,
  13942.  which has the appropriate permissions. An alternative authentication method is the use
  13943.  of the `-torpassword` flag and a `hash-password` which can be enabled and specified in
  13944.  Tor configuration.
  13945. @@ -118,7 +118,7 @@ Tor configuration.
  13946.  4. Privacy recommendations
  13947.  ---------------------------
  13948.  
  13949. -- Do not add anything but litecoin ports to the hidden service created in section 2.
  13950. +- Do not add anything but litecoincash ports to the hidden service created in section 2.
  13951.    If you run a web service too, create a new hidden service for that.
  13952.    Otherwise it is trivial to link them, which may reduce privacy. Hidden
  13953.    services created automatically (as in section 3) always have only one port
  13954. diff --git a/doc/travis-ci.md b/doc/travis-ci.md
  13955. index c076751..d39e614 100644
  13956. --- a/doc/travis-ci.md
  13957. +++ b/doc/travis-ci.md
  13958. @@ -32,7 +32,7 @@ trigger cache-invalidation and rebuilds as necessary.
  13959.  
  13960.  These caches can be manually removed if necessary. This is one of the very few
  13961.  manual operations that is possible with Travis, and it can be done by the
  13962. -Litecoin Core committer via the Travis web interface.
  13963. +LitecoinCash Core committer via the Travis web interface.
  13964.  
  13965.  In some cases, secure strings may be needed for hiding sensitive info such as
  13966.  private keys or URLs. The travis client may be used to create these strings:
  13967. diff --git a/doc/zmq.md b/doc/zmq.md
  13968. index e22548c..6999e2c 100644
  13969. --- a/doc/zmq.md
  13970. +++ b/doc/zmq.md
  13971. @@ -5,8 +5,8 @@ connections, inter-process communication, and shared-memory,
  13972.  providing various message-oriented semantics such as publish/subscribe,
  13973.  request/reply, and push/pull.
  13974.  
  13975. -The Litecoin Core daemon can be configured to act as a trusted "border
  13976. -router", implementing the litecoin wire protocol and relay, making
  13977. +The LitecoinCash Core daemon can be configured to act as a trusted "border
  13978. +router", implementing the litecoincash wire protocol and relay, making
  13979.  consensus decisions, maintaining the local blockchain database,
  13980.  broadcasting locally generated transactions into the network, and
  13981.  providing a queryable RPC interface to interact on a polled basis for
  13982. @@ -33,7 +33,7 @@ buffering or reassembly.
  13983.  
  13984.  ## Prerequisites
  13985.  
  13986. -The ZeroMQ feature in Litecoin Core requires ZeroMQ API version 4.x or
  13987. +The ZeroMQ feature in LitecoinCash Core requires ZeroMQ API version 4.x or
  13988.  newer. Typically, it is packaged by distributions as something like
  13989.  *libzmq3-dev*. The C++ wrapper for ZeroMQ is *not* needed.
  13990.  
  13991. @@ -45,7 +45,7 @@ operation.
  13992.  
  13993.  By default, the ZeroMQ feature is automatically compiled in if the
  13994.  necessary prerequisites are found.  To disable, use --disable-zmq
  13995. -during the *configure* step of building litecoind:
  13996. +during the *configure* step of building litecoincashd:
  13997.  
  13998.      $ ./configure --disable-zmq (other options)
  13999.  
  14000. @@ -66,8 +66,8 @@ address. The same address can be used in more than one notification.
  14001.  
  14002.  For instance:
  14003.  
  14004. -    $ litecoind -zmqpubhashtx=tcp://127.0.0.1:28332 \
  14005. -               -zmqpubrawtx=ipc:///tmp/litecoind.tx.raw
  14006. +    $ litecoincashd -zmqpubhashtx=tcp://127.0.0.1:28332 \
  14007. +               -zmqpubrawtx=ipc:///tmp/litecoincashd.tx.raw
  14008.  
  14009.  Each PUB notification has a topic and body, where the header
  14010.  corresponds to the notification type. For instance, for the
  14011. @@ -75,7 +75,7 @@ notification `-zmqpubhashtx` the topic is `hashtx` (no null
  14012.  terminator) and the body is the hexadecimal transaction hash (32
  14013.  bytes).
  14014.  
  14015. -These options can also be provided in litecoin.conf.
  14016. +These options can also be provided in litecoincash.conf.
  14017.  
  14018.  ZeroMQ endpoint specifiers for TCP (and others) are documented in the
  14019.  [ZeroMQ API](http://api.zeromq.org/4-0:_start).
  14020. @@ -87,9 +87,9 @@ arriving. Please see `contrib/zmq/zmq_sub.py` for a working example.
  14021.  
  14022.  ## Remarks
  14023.  
  14024. -From the perspective of litecoind, the ZeroMQ socket is write-only; PUB
  14025. +From the perspective of litecoincashd, the ZeroMQ socket is write-only; PUB
  14026.  sockets don't even have a read function. Thus, there is no state
  14027. -introduced into litecoind directly. Furthermore, no information is
  14028. +introduced into litecoincashd directly. Furthermore, no information is
  14029.  broadcast that wasn't already received from the public P2P network.
  14030.  
  14031.  No authentication or authorization is done on connecting clients; it
  14032. @@ -102,5 +102,5 @@ retrieve the chain from the last known block to the new tip.
  14033.  
  14034.  There are several possibilities that ZMQ notification can get lost
  14035.  during transmission depending on the communication type your are
  14036. -using. Litecoind appends an up-counting sequence number to each
  14037. +using. LitecoinCashd appends an up-counting sequence number to each
  14038.  notification which allows listeners to detect lost notifications.
  14039. diff --git a/share/genbuild.sh b/share/genbuild.sh
  14040. old mode 100755
  14041. new mode 100644
  14042. diff --git a/share/pixmaps/bitcoin.ico b/share/pixmaps/bitcoin.ico
  14043. index 3753370..9d02d8d 100644
  14044. Binary files a/share/pixmaps/bitcoin.ico and b/share/pixmaps/bitcoin.ico differ
  14045. diff --git a/share/pixmaps/bitcoin128.png b/share/pixmaps/bitcoin128.png
  14046. index 12e4b22..660b3b8 100644
  14047. Binary files a/share/pixmaps/bitcoin128.png and b/share/pixmaps/bitcoin128.png differ
  14048. diff --git a/share/pixmaps/bitcoin128.xpm b/share/pixmaps/bitcoin128.xpm
  14049. index 0c4b00e..803687a 100644
  14050. --- a/share/pixmaps/bitcoin128.xpm
  14051. +++ b/share/pixmaps/bitcoin128.xpm
  14052. @@ -1,225 +1,189 @@
  14053.  /* XPM */
  14054. -static char *bitcoin___[] = {
  14055. +static char *_517408262038[] = {
  14056.  /* columns rows colors chars-per-pixel */
  14057. -"128 128 91 1",
  14058. -"  c #353634",
  14059. -". c #373836",
  14060. -"X c #383937",
  14061. -"o c #3D3E3C",
  14062. -"O c #3F403E",
  14063. -"+ c #40413F",
  14064. -"@ c #434442",
  14065. -"# c #474847",
  14066. -"$ c #484947",
  14067. -"% c #4B4C4B",
  14068. -"& c #4F504E",
  14069. -"* c #50514F",
  14070. -"= c #4F5150",
  14071. -"- c #545553",
  14072. -"; c #575857",
  14073. -": c #585957",
  14074. -"> c #575858",
  14075. -", c #5B5C5B",
  14076. -"< c #5F605E",
  14077. -"1 c #60615F",
  14078. -"2 c #5F6160",
  14079. -"3 c #646464",
  14080. -"4 c #676867",
  14081. -"5 c #686967",
  14082. -"6 c #6B6C6B",
  14083. -"7 c #6F706F",
  14084. -"8 c #6F7070",
  14085. -"9 c #717372",
  14086. -"0 c #777877",
  14087. -"q c #7B7C7B",
  14088. -"w c #80807F",
  14089. -"e c #7F8080",
  14090. -"r c #838484",
  14091. -"t c #888987",
  14092. -"y c #878888",
  14093. -"u c #8B8B8B",
  14094. -"i c #8F908F",
  14095. -"p c #90908F",
  14096. -"a c #8D8E90",
  14097. -"s c #8F9092",
  14098. -"d c #949595",
  14099. -"f c #979896",
  14100. -"g c #989897",
  14101. -"h c #959698",
  14102. -"j c #979899",
  14103. -"k c #9A9B9C",
  14104. -"l c #9FA09F",
  14105. -"z c #9E9FA1",
  14106. -"x c #9FA0A1",
  14107. -"c c #A3A4A4",
  14108. -"v c #A7A8A7",
  14109. -"b c #A6A7A9",
  14110. -"n c #A7A8A8",
  14111. -"m c #ACADAD",
  14112. -"M c #ADAFB1",
  14113. -"N c #AFB0B3",
  14114. -"B c #B3B4B6",
  14115. -"V c #B7B8B7",
  14116. -"C c #B6B7BA",
  14117. -"Z c #B7B8BB",
  14118. -"A c #BABABD",
  14119. -"S c #BFC0BF",
  14120. -"D c #BDBEC1",
  14121. -"F c #BFC0C2",
  14122. -"G c #C2C3C4",
  14123. -"H c #C5C6C9",
  14124. -"J c #C7C8CA",
  14125. -"K c #CACBCC",
  14126. -"L c #CECED1",
  14127. -"P c #CFD0D1",
  14128. -"I c #D3D4D4",
  14129. -"U c #D6D6D8",
  14130. -"Y c #D7D8D9",
  14131. -"T c #DBDBDC",
  14132. -"R c #E0DFDF",
  14133. -"E c #E0E0DF",
  14134. -"W c #DFDFE0",
  14135. -"Q c #DFE0E0",
  14136. -"! c #E3E4E4",
  14137. -"~ c #E7E7E8",
  14138. -"^ c #E7E8E8",
  14139. -"/ c #EBEBEC",
  14140. -"( c #EFEFF0",
  14141. -") c #F0EFF0",
  14142. -"_ c #EFF0F0",
  14143. -"` c #F4F5F5",
  14144. -"' c #F6F7F8",
  14145. -"] c #F8F7F8",
  14146. -"[ c #F7F8F8",
  14147. -"{ c #FDFDFD",
  14148. -"} c None",
  14149. +"128 128 55 1 ",
  14150. +"  c #3F3F3F",
  14151. +". c #424242",
  14152. +"X c #4B4B4B",
  14153. +"o c #535353",
  14154. +"O c #575758",
  14155. +"+ c #5C5C5C",
  14156. +"@ c #646464",
  14157. +"# c #6C6C6C",
  14158. +"$ c #747474",
  14159. +"% c #7B7B7B",
  14160. +"& c #7E7E80",
  14161. +"* c #7E8081",
  14162. +"= c #848484",
  14163. +"- c #878889",
  14164. +"; c #8B8B8B",
  14165. +": c #8E8F90",
  14166. +"> c #8E9090",
  14167. +", c #949494",
  14168. +"< c #97989A",
  14169. +"1 c #9C9C9C",
  14170. +"2 c #9E9FA0",
  14171. +"3 c #9FA0A1",
  14172. +"4 c #A3A3A4",
  14173. +"5 c #A7A7A9",
  14174. +"6 c #A6A8A9",
  14175. +"7 c #ACACAC",
  14176. +"8 c #AEAFB1",
  14177. +"9 c #AFB0B1",
  14178. +"0 c #B4B4B4",
  14179. +"q c #B6B7B8",
  14180. +"w c #B6B8BA",
  14181. +"e c #B9BABC",
  14182. +"r c #BDBEC0",
  14183. +"t c #BFC1C2",
  14184. +"y c #C2C3C3",
  14185. +"u c #C6C7C9",
  14186. +"i c #C7C8CA",
  14187. +"p c #CCCDCD",
  14188. +"a c #CECFD0",
  14189. +"s c #CFD0D1",
  14190. +"d c #D3D3D4",
  14191. +"f c #D6D7D8",
  14192. +"g c #D7D8D9",
  14193. +"h c #DCDCDC",
  14194. +"j c #DEDFE0",
  14195. +"k c #DFE0E1",
  14196. +"l c #E3E3E4",
  14197. +"z c #E7E7E8",
  14198. +"x c #E7E8E8",
  14199. +"c c #ECECEC",
  14200. +"v c #EFEFF0",
  14201. +"b c #EFF0F0",
  14202. +"n c #F4F4F4",
  14203. +"m c #FFFFFF",
  14204. +"M c None",
  14205.  /* pixels */
  14206. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14207. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14208. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14209. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}  .  X .  ..}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14210. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} XoooooOoOooooooOoooooX }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14211. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}ooooooooOooooooooooooooooooOoooX}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14212. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}XoOoooOOoOooooooooooooooooOooooOoooooX}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14213. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.ooooooooooooooOoooOooOooOOooooOooooooOooooX}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14214. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} o@oOOooooooooooooooooooooOoOooooooooooooooooooOX }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14215. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}XoooooooooooooooooOooooooXXXXXXoooooooooooOoOOoOoooooX}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14216. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}XoOoooooooooooooooXXo+@%*--:,,:;-&%#ooo.oooooooOoooOooooO }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14217. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} ooooooooooOoooo  o*5rcVKT!~~^^^^~!!TKVcr5*o  ooooooooooooooo }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14218. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}oooooooooooooo  #5gST`'[{{[[{[[[[{[[[[{{{`_TAg6#. XoooooooooooOo}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14219. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} ooooooooooooXo$9nI`[{['][[][[[[[[]][[[[[[[[[{{[)Un9%Xooooooooooooo }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14220. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}oooOooOooooo o,kI`{{['['[[[][[[[[[[[[[[[[[[[[][[[]{{'Ik,X oooooooooOOo}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14221. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}XoOooooooooooo6B^'{'''[[[[[[{[[[{[{[{[{[{{[[{[][]][[][[{[^B6oooOoooooooooX}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14222. -"}}}}}}}}}}}}}}}}}}}}}}}}}}oooooooooooo@9D`[[[[[{[''{][{'[{{[['{[{{[{[[{[{[{][{''[[[[[{`A9@oooooooOoooX}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14223. -"}}}}}}}}}}}}}}}}}}}}}}}}}oOoooooooooo4A`{]'[[[[[{'{]{'{]{{[{{{{{]{{{{{{{[{[{{]{[{[[[[''{_A4ooooooooOooo}}}}}}}}}}}}}}}}}}}}}}}}}",
  14224. -"}}}}}}}}}}}}}}}}}}}}}}}}ooooooooooo-c/['[[[[]][['{[{{{{{{[{{{{{{{{{{{{{{{[{[{{[]['[[[[''[{^c-ooooooooooo}}}}}}}}}}}}}}}}}}}}}}}}",
  14225. -"}}}}}}}}}}}}}}}}}}}}}}}OooooooooooqY][''[[[['{{][{{[{{{{{{{{{{{{{{{{{{{{{{{{{[{{{{{'{[[[['{[IqooOoooooOoo}}}}}}}}}}}}}}}}}}}}}}}",
  14226. -"}}}}}}}}}}}}}}}}}}}}}}ooooooOoo %m`'''['[{][{{{{{{{{{{{{{[`/~QQW!!~~/']{{{{{{{{{{{{][[[['''[[`m% oooooOooo}}}}}}}}}}}}}}}}}}}}}}",
  14227. -"}}}}}}}}}}}}}}}}}}}}}ooooooooo.5I[''[[['{[{[{[{{{{{{{(!YKGDACCDCBBCCZAGJU!`'{{{{{{[{{{[{{][[]]]I5.ooooooooo}}}}}}}}}}}}}}}}}}}}}",
  14228. -"}}}}}}}}}}}}}}}}}}}}oooooooooot^{'[[[['{[[{{{{{{{'~YHZBBBBCCCCCCCCCCCCVBBBCG!{{{{{{{{{{[{'[[[['[^toXoooooooo}}}}}}}}}}}}}}}}}}}}",
  14229. -"}}}}}}}}}}}}}}}}}}}oooOooooook'['[[[[{{[{{{{{{{/YGCBCCCCCCCCCCCCCCCCCCCBBALW`{{{{{{{{{{{{[{[{[{[['kooooOoooOo}}}}}}}}}}}}}}}}}}}",
  14230. -"}}}}}}}}}}}}}}}}}}oOooooooo$m][]{']]{{{{{{{{'~LNBBCCCCCCBCCCCCCCCCCCCVZJT`{{{{{{{{{{{{{{{{[{{]][[[]N$ooooooooO}}}}}}}}}}}}}}}}}}",
  14231. -"}}}}}}}}}}}}}}}}}ooooooooo%V[[[[['{['{]{]{{~LDNDCCCCZDDDDDDCDDCDDCDDGT/{{{{{{{{{{{{{{{{{{{{[[{[[[[[]Z%ooooooooo}}}}}}}}}}}}}}}}}",
  14232. -"}}}}}}}}}}}}}}}}ooooooooo%A{[[[[]{]{{{{{{(LDCCDMCZCCMzhzkkkkhzzzhzcCSGHGHGHGGGG){{{{{{{{{{{{{][][[[[]A%XoooooOoX}}}}}}}}}}}}}}}}",
  14233. -"}}}}}}}}}}}}}}} ooooOooo$Z[][[[[]{{[{{{'YDNCCCDNCCCDeXooooooooXoOOOO++++OO+++O$Y{{{{{{{{{{{{{{{{{[[[]{Z$ooooooo+ }}}}}}}}}}}}}}}",
  14234. -"}}}}}}}}}}}}}}}oooooooooM'''[[{[]{{{{{(HBCCCNDNDDBCC3Xooooooooooooooooooooooo 3){{{{{{{{/){{{{{]{[[[][{mOoooooOoo}}}}}}}}}}}}}}}",
  14235. -"}}}}}}}}}}}}}}oooooooook'''{{[[{{{{{'WDNCCDCDNDNBBDM%oOoooooooooooooooooooOOo p{{{{{{`WJAAW{{{{{{[{[[][[loooOooooo}}}}}}}}}}}}}}",
  14236. -"}}}}}}}}}}}}}oooo@oooot'['[[['{{{{{]UCBDCCBCNDNDBDDhooOyVVVVBBVVCZZZZZZZVVwoooA{{{'!LABBCCCI]{{{{[[[{[[['uXoooooooX}}}}}}}}}}}}}",
  14237. -"}}}}}}}}}}}}}ooooooo 5^[[[''{{[{{{'LBBBDCCCCDNDNDNDq.O#P{{{{{{{{{{{{{{{{{{rXo*E[/YGCBCCCCCCCL]{{{{{[[][[[^5 oooOooo}}}}}}}}}}}}}",
  14238. -"}}}}}}}}}}}}oooooooX%I[[[[[{[{{{{`JBCCCZCCCCCCCBCGI5Xo3/{{{{{{{{{{{{{{{{{^>oX6WHCBBCCCCCCZCZBJ`{{{[{][[[[{I%oooooooo}}}}}}}}}}}}",
  14239. -"}}}}}}}}}}} ooooooo+m[[[[[{[{{{{`HBCCCCCZCCCCBDL~[E%oXr{{{{{{{{{{{{{{{{{{H@OXqCNCCCCCCCCCCCCZBJ'{{{{{[]{[[[moooooooo }}}}}}}}}}}",
  14240. -"}}}}}}}}}}}oOoooooow`][{]{[{{{{`JBCCCCCCCCBZJW`{{{ZoooB{{{{{{{{{{{{{{{{{{cXoOhDBCCCDCCCCCZZCCCBJ'{{{{[{][''`rXooooooo}}}}}}}}}}}",
  14241. -"}}}}}}}}}}oooooooo-T[][[[[{{{{]LCZCCCCCCAHY({{{{{{p.o$I{{{{{{{{{{{{{{{{{]0Xo%MDBCCCCCCCCCCCCCZCNK{{{{{[{[''{T-oooooooo}}}}}}}}}}",
  14242. -"}}}}}}}}}}OooOoooon{'[]]{[{[{{UBCCCCBCGI/[{{{{{{{`4Xo5`{{{{{{{{{{{{{{{{{~:o.3DBBDCCCCCCDCCZCBCDL~{{{{{[['[[[{noooooooo}}}}}}}}}}",
  14243. -"}}}}}}}}}XooooooX6^['[[{{{{{{WBCCCBDL!'{{{{{{{{{{Y$o.u{{{{{{{{{{{{{{{{{{G@oXeDBDBCCCCCCCZBBDJ!`{{{{{{{{{{'[[[^5ooOoooo.}}}}}}}}}",
  14244. -"}}}}}}}}}ooooooo@D{'[[{[{{{{/ACBCHW){{{{{{{{{{{{{mXooZ{{{{{{{{{{{{{{{{{{goo+zDCCCCCDCCBBZHY({{{{{{{{{]{{{[[[[{A@ooooOoo}}}}}}}}}",
  14245. -"}}}}}}}} ooooooo9`'''{[[[{{'HBGU(]{{{{{{{{{{{{{{[r o*R{{{{{{{{{{{{{{{{{'0Xo-BACCCDBBBBDI^[{{{{{{{{{{{{{{{[{['[`9ooooooo }}}}}}}}",
  14246. -"}}}}}}}}ooooooo+F{'[[[{{{{{!K~[{{{{{{{{{{{{{{{{{/:XX7`{{{{{{{{{{{{{{{{{!-oX6AZCCCNBAKW'{{{{{{{{{{{{{{{{{{[[[''{Foooooooo}}}}}}}}",
  14247. -"}}}}}}}}oooOoO 7`[[[[[[{{{{[{{{{{{{{{{{{{{{{{{{{K+OXg{{{{{{{{{{{{{{{{{{A+ootACBBCHT`{{{{{{{{{{{{{{{{{{{{{{[{{[[`8 oooooO}}}}}}}}",
  14248. -"}}}}}}}ooOooooXV{[[[{[{{{{{{{{{{{{{{{{{{{{{{{{{{c ooG{{{{{{{{{{{{{{{{{{dXo@xZBDI~[{{{{{{{{{{{{{{{{{{{{{{{{{{[['{CooooOOoo}}}}}}}",
  14249. -"}}}}}}}Oooooo.3/[[[[[{{{{{{{{{{{{{{{{{{{{{{{{{{`9Xo-!{{{{{{{{{{{{{{{{{`5Xo:CL!'{{{{{{{{{{{{{{{{{{{{{{{{{{{{[[''{^1ooooooo}}}}}}}",
  14250. -"}}}}}} OOooooXl{[[{{[{{{{{{{{{{{{{{{{{{{{{{{[^IC%o 9[{{{{{{{{{{{{{{{{{T$oXt){{{{{{{{{{{{{{{{{{{{{{{{{^!{{{{][{[[{lXoooooo }}}}}}",
  14251. -"}}}}}}Xoooooo$Y[][[[{{{{{{{{{{{{{{{{{{{{{{(YHAAd+o k{{{{{{{{{{{{{{{{{{VoooV{{{{{{`{{{{{{{{{{{{{{{{(TJAC~{{{{[][[[U$oooOooo}}}}}}",
  14252. -"}}}}}}Ooooo+.9'']][{{{{{{{{{{{{{{{{{{{{`WJABCCA0oo@K{{{{{{{{{{{{{{{{{[y o&T{{{/Grc{{{{{{{{{{{{{`!KDBCCBL{{{]{[{[''0 oOoooo}}}}}}",
  14253. -"}}}}}}oOoooo m{'{[[[]{{{{{{{{{{{{{{{'~KACCCCCCB2oo:^{{{{{{{{{{{{{{{{{`,oX6']Il3@.V{{{{{{{{{{[^UDCBCCCCCZ/{{{{[]]'{m oooooo}}}}}}",
  14254. -"}}}}}.oooooo#T[[[{{[{{{{{{{{{{{{{[/IFCCCZCCCCAb%o r[{{{{{{{{{{{{{{{{{I$oorB9$oXo&T{{{{{{{[(TGDBCCCCZCCCBU{{{{{]{[[T#ooooooX}}}}}",
  14255. -"}}}}}oooooo 6`[[[[]{{{{{{{{{{{{)THCBBCCCCCCZCDaoooM{{{{{{{{{{{{{{{{{{mooo@o oooX8`{{{{{)!HCBCCBCCZCCCCCCG]{{[[{[[[`6 ooooOo}}}}}",
  14256. -"}}}}}+oOooo g[[[[]{{{{{{{{{{'!KACCCCZCCCCZCCCA0oo#I{{{{{{{{{{{{{{{{{{e oooooooood{{{[~PDBBCCCCCCZCCCCCCCZ^{{{{[[[[[g ooOoo+}}}}}",
  14257. -"}}}}}oooooooS{[[{{{[{{{{{[/PFCBCCCCCCCCCCCZCCB>o.3({{{{{{{{{{{{{{{{{^:ooooo$-oo+F{/YGCVCCCCCACCCZCZCCZCCBU{{{{{[['{Sooooooo}}}}}",
  14258. -"}}}} oooooo-R[[[{[{{{{{(THBBCCCZCACZCCCCCCCCZc@OXu{{{{{{{{{{{{{{{{{{K@oo@4kI0 o&HLCBCCZCCCCCCACCCZCCCCCCBH]{{{{][[[R-XooOoo }}}}",
  14259. -"}}}}oooooo 5`[[[][{[{'LABCCCCZCCCCCCCZCZCCCCAuOoXZ{{{{{{{{{{{{{{{{{{g -tG`{/-oo,CBCCCCCCCCCCCCCCCCCZCCCBAP[{{[[{{[[)5Xoooooo}}}}",
  14260. -"}}}}ooooooXt''[{[{{{{!BCCCCZCCCCCCCCCZCCCCCCZ9Xo%T{{{{{{{{{{{{{{{{{{cn!{{{{G@oXqDCCCCCCCCCCCCCCACCCCCAHT`{{{{{[{[[[]rXoooooo}}}}",
  14261. -"}}}}oOoooooc['[[]{{{{IBCZCCCCCZCCCZCCCCZCBAJK<oX6]{{{{{{{{{{{{{{{{{{[{{{{{{z.ookDCZCZCCCCACCCCCCCBCGY/[{{{{{{{{[[[[{cooooooo}}}}",
  14262. -"}}}}oOoooooZ{[[[{[{{{KBCCCCCCCCCCZCCCCBBDP~{I%o d{{{{{{{{{{{{{{{{{{{{{{{{{'0Xo$NACCCCZCCCCCCCCBCDL~'{{{{{{{{{{{{{[[{V+oo+ooO}}}}",
  14263. -"}}}XooooOo$K[[[{[{{{]DBCCCCCZCZCCCCCCAK!`{{{mooOG{{{{{{{{{{{{{{{{{{{{{{{{{!-o.4ACZCCCCCCCCCCCAJW`{{{{{{{{{{{{{[{[][{K@oooooo }}}",
  14264. -"}}} Oooooo%T{[[[[{{{`DCCCCZCCCCCBBCHT`{{{{{{rXo;~{{{{{{{{{{{{{{{{{{{{{{{{{G+oXrDCCCCCCZCCBCGY/{{{{{{{{{{{{{{{{{[[[][T%oooo+o.}}}",
  14265. -"}}}.oooOoX*![[[[[{{{(ZCCZZCCZCBBDI~{{{{{{{{!:oX0'{{{{{{{{{{{{{{{{{{{{{{{{{dXo@zZCCCCZCCBDL~[{{{{{{{{{{{{{{{{{{{{{[]]!*Xooooo }}}",
  14266. -"}}} oooooo-![][{{{{{^CCCCCCBCDL!`{{{{{{{[Tc3oooc{{{{{{{{{{{{{{{{{{{{{{{`Ja%oo-BCCCCBVZJ!`{{{{{{{{{{{{{{{{{{{{[{{{[[{!*oOoooO.}}}",
  14267. -"}}}XoooooX-~[][[[{{{~CCCBCZHT({{{{{{{{EB0$XXoo@K{{{{{{{{{{{{{{{{{{{{'Yc6@ ooX6DCBBCHY`[{{{{{{{{{{{{{{{{{{{{{{{{[][[]~-XoOooo }}}",
  14268. -"}}} oooOoo;![{[{{{{{!BBCGU/{{{{{{{{{!t-oooooo@9/{{{{{{{{{{{{{{{{{{~B0%oXoooo@aCCGI^[{{{{{{{{{{{{{{{{{{{{{{{{{{{{{[[{~-oooooo.}}}",
  14269. -"}}} OooooX;~[[[[[{{{!DP~'{{{{{{{{{{{g ooo o,uG){{{{{{{{{{{{{{{{{{T:o oooo@,exDL!'{{{{{{{{{{{{{{{{{{{{{{{{'~`{{{{[[[[~;XOoooo }}}",
  14270. -"}}} oOoooX-~[[[{[{{{''{{{{{{{{{{{{{`7ooo%qV^{{{{{{{{{{{{{{{{{{{{{n.oooo-8dBK!`{{{{{{{{{{{{{{{{{{{{{{{{[/YGC!{{{[{[[{~-XoooooX}}}",
  14271. -"}}} oooooo-~[[[[{{{{{{{{{{{{{{{{{{{R-oo9T[{{{{{{{{{{{{{{{{{{{{{{{rooO4aMGY/{{{{{{{{{{{{{{{{{{{{{{{{{`THACCB!{{{{][[[~-ooooOo }}}",
  14272. -"}}}.oooOoo-![[[{[{{{{{{{{{{{{{{{{{{ZoooV{{{{{{{{{{{{{{{{{{{{{{{{/,oX,GY^'{{{{{{{{{{{{{{{{{{{{{{{{'!KDBVCCCB~{{{[{['{!-.oooOo }}}",
  14273. -"}}} oOoooo-!{[[[[{{{{{{{{{{{{{{{{{{u.o%U{{{{{{{{{{{{{{{{{{{{{{{{K@o u'{{{{{{{{{{{{{{{{{{{{{{{{[~IFCBCCCCCCC/{{{{{[['!*oooooo }}}",
  14274. -"}}}.oooooo%E[[[{{{{{{{{{{{{{{{{{{{`3XX5`{{{{{{{{{{{{{{{{{{{{{{{{voooG{{{{{{{{{{{{{{{{{{{{{{{(YGCCCCZCCCCCCD({{{{''[[Q&oooooO.}}}",
  14275. -"}}} oOoOoo$I[[[[[{{{{{{{{{{{{{{{{'G#o.d{{{{{{{{{{{{{{{{{{{{{{{{[qoo*!{{{{{{{{{{{{{{{{{{{{'QKABCCCCCCCCCCCCD`{{[[{['{I$ooOooo }}}",
  14276. -"}}}}oooooX@G{[[[]{{{{{{{{{{{{{`!KGroooA{{{{{[{{{{{{{{{{{{{{{{{{^,o 9]{{{{{{{{{{{{{{{{{'~IDCBCCCCCCZCZCCCCBH[{{{{[[[{G@oooooo}}}}",
  14277. -"}}}}ooOooooB{[[{[{]{{{{{{{{[/UDCCZ5oo-!{{'YkV{{{{{{{{{{{{{{{{{{G#o.c{{{{{{{{{{{{{{{{/TGCBCCCCCCCCCCCCCCCCBP{{{[{[[[{Booooooo}}}}",
  14278. -"}}}}oooooOXg[[[[{{{{{{{{{(THDBCCZM-o 9`!B0%oV{{{{{{{{{{{{{{{{{{cXo+K{{{{{{{{{{{{{)WKDBBBCCCCCCCCCCCCCCCCCBT{{{{][[[[g.ooOooo}}}}",
  14279. -"}}}}ooooooX0'[[[[]{{{{`!KDCBCCCCDk@oo9y>ooX*T{{{{{{{{{{{{{{{{{'9Xo1){{{{{{{{{{[^PGACCCDZDAAAAAAAAZZCCCCCCB~{{{[{[{[`0ooooooo}}}}",
  14280. -"}}}}XoooooX1/][{{[{[{'GVCCZCCCCCAeooOoXoOoX6'{{{{{{{{{{{{{{{{{!-OX7GJJGJJHKKGBcddhhhhhhhdddhhhdhhMACCCCAHT{{{][{[[[/3.oooooX}}}}",
  14281. -"}}}} ooOOoX$I][]]{{{{{JBZCCCCCCCC3oooOooo+.d{{{{{{{{{{{{{{{{{{A+O++@@#@@#@@@@+o@o@@o@@O@@+@O@@@o#cZBBGI/[{{{{{{][[]I@ooooOo.}}}}",
  14282. -"}}}}}ooooooXB{[[['{{{{WBCCCCCCCAM$oooX@@oooG{{{{{{{{{{{{{{{{{[d oOOooooooooooooooooooooooooooooo>MAK~'{{{{{{{{[{[[{Booooooo}}}}}",
  14283. -"}}}}}OOooo+ r[[[{{]{{{(ACCCCCCCAho.o=9h3Xo*!{{{{{{{{{{{{{{{{{`4 XXXXooXoooXoo.Xooo.ooXooo.Xoooo.qW`{{{{{{{{{[{{[{[[r oooooO}}}}}",
  14284. -"}}}}}ooooOoX,/['''[{{{{HBCCCZCCD9o3aMKL-o 0[{{{{{{{{{{{{{{{{{'FVVVVVVVVVBBCVVVVBVVVVBVVVVCBCro+XC{{{{{{{{{{{{{[{[]^,.oooooo}}}}}",
  14285. -"}}}}}Xoooooo+J{'[[{[{{{WCZCZCCACscGY~]FOo c{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{tXo$T{{{{{{{{{{{{[[[[{JOoOoooO }}}}}",
  14286. -"}}}}}}oooooo d[[[[{[{{{'DBCCCCBAI~`{{{gXo@K{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{^3o 6'{{{{{{{{{{{{[{[[{d oooooo}}}}}}",
  14287. -"}}}}}}ooooooX3/['{'{[{{{YBCBAHT){{{{{]7Xo,/{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{I$o d{{{{{{{{{{[{{{[[[/1.ooOooo}}}}}}",
  14288. -"}}}}}}Xoooooo@G{[[[{{{[{)DGU/{{{{{{{{T%o r[{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{noooG{{{{{{{{{{{]['[[{G+OoOOoOX}}}}}}",
  14289. -"}}}}}}}oOooOo t[[[[[[{{{{)'{{{{{{{{{{Vo+.n{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{[woX-~{{{{{{{{{{{{{[[][r oooooo}}}}}}}",
  14290. -"}}}}}}}ooooooo%T{''[{[{{{{{{{{{{{{{{{dXo@I{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{^,oX0[{{{{{{{{{{{[[[[[T%XOooooo}}}}}}}",
  14291. -"}}}}}}}oooOooo g{[[[]{[{{{{{{{{{{{{{`5X.<`{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{G@oon{{{{{{{{{{{[{{[[{g OooooOo}}}}}}}",
  14292. -"}}}}}}}}oOooooX-~['][{[{{{{{{{{{{{{{U%O y{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{kXo#K{{{{'){{{{{{][[[~-XOooooO}}}}}}}}",
  14293. -"}}}}}}}}ooooooooc[[''{[{{{{{{{{{{{{{B+oXV{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{]9.o,/{[^IG~{{{[{[][[[cXOooOooX}}}}}}}}",
  14294. -"}}}}}}}}}ooOooOo,![[]{[{{{{{{{{{{{{{uXo$T{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{!-XXr(WJZBI{{{{[{[[[[!:o+ooooo}}}}}}}}}",
  14295. -"}}}}}}}}}ooooooook[[[[{[[{{{{{{{{{{!3oX5/''[[][[[[[[[['[[[[[[][][[[[[[]][][[[[]][[[[[[[[[A+ooaGBBVH'{{{{{[[[[{koooooooo}}}}}}}}}",
  14296. -"}}}}}}}}}}ooooooo*I[[[[{{{{{{{{{[~Ic#oo-9989899998799989999899978999997789999897899989879,oo@cZCCD/{{{{]{[[[[I-ooooO+o}}}}}}}}}}",
  14297. -"}}}}}}}}}}oooooooor'[[[[[[{{{{{YGCZroOooX......X....XX..X..X..XX...X.XXX...X..XX...XX...XXoo>BZCA~{{{{[{][[[`r.ooooooo}}}}}}}}}}",
  14298. -"}}}}}}}}}}}ooooooo@Z{[[[{{{{[{{TBBZ5 oooXoooooXooXoooXXXoo.XoXXXo.XoXXXoo.XoXXXoooooXoooXoo 9ACCW{{{{{[[]{[{Z@ooooooo}}}}}}}}}}}",
  14299. -"}}}}}}}}}}}OOooOoOo,W[[[][{[{{{{TCB8,2,,<<,<<<<<3,,,379777977779799797977997799953<<<,1,112,jCCT{{{{{][{][[E,oooooOoO}}}}}}}}}}}",
  14300. -"}}}}}}}}}}}}Ooooooo r`'[]{]{{{{{{YBBCCCCVCCBCCBBBCJT/`''`''`''''''`'`'`''''`])!IFCCCVCCCVVVBCCT{{{{[{{][][`rXooOooo+}}}}}}}}}}}}",
  14301. -"}}}}}}}}}}}}.Oooooooon{'][[][{{{{{TCCVCZZVZZCBVFI/{{{{{{{{{{{{{{{{{{{{{{{{{)TGAVCCVZVZCZCZCCZW{{{{{{[[]{[]mooooooooX}}}}}}}}}}}}",
  14302. -"}}}}}}}}}}}}}ooooOoOo#J{'[[{{{{{{{{WABCCCBBBAL~[{{{{{{{{{{{{{{{{{{{{{{{{`!KDBCCCCZZCCZCZZCBD!{{{{{{]{[['{J$oooooooo}}}}}}}}}}}}}",
  14303. -"}}}}}}}}}}}}}}Oooooooo,R['[[[[{[{{{{~DBBBDHW'{{{{{{{{{{{{{{{{{{{{{{{{'~UDCBCCCZCCCCCCCCCCBF/{{{{{][{'''{W,XOoooOo+}}}}}}}}}}}}}}",
  14304. -"}}}}}}}}}}}}}}Xooooooo.6^[[['{[{{[{{{(KFU({{{{{{{{{{{{{{{{{{{{{{{{{/THBNCCCCCCCZCZCZZCCCCL){{{{][{][[[[~8 oooooooo}}}}}}}}}}}}}}",
  14305. -"}}}}}}}}}}}}}}}OooOoooo w/[['[[[{]{{{{{'{{{{{{{{{{{{{{{{{{{{{{{{`!KABCDBCCCCCCCZCCCCCCCDW]{{{{{{{]][[{/q ooOooooo}}}}}}}}}}}}}}}",
  14306. -"}}}}}}}}}}}}}}}}oOoOoooooy({'[[[{[{{{{{{{{{{{{{{{{{{{{{{{{{{{`~PGCCCCDBBCCCCCCCCZZZCCZL/{{{{[{{{[[[[[/tooooooooo}}}}}}}}}}}}}}}}",
  14307. -"}}}}}}}}}}}}}}}}}Oooooooooy/{'[['{]{{{{{{{{{{{{{{{{{{{{{{{{/YHZCBCCCCCBDCCCCCCCCCBBZJ~{{{{{{{{][[[[{`tooooooooO}}}}}}}}}}}}}}}}}",
  14308. -"}}}}}}}}}}}}}}}}}XooOoooooor/['[{''{'{{{{{{{{{{{{{{{{{{{(WHDBCCCCZCCCCBDCCDBCCCCBCJ!]{{{{{{][{]{[[[^rooooooooo.}}}}}}}}}}}}}}}}}",
  14309. -"}}}}}}}}}}}}}}}}}}.oooOooooo0!{[[[]'{[[{{{{{{{{{{{{{{'!LDBBCCCCCCCCCCCCCCCCCCCBZL~]{{{{]{{]{{[[[[{!0oooooooooo}}}}}}}}}}}}}}}}}}",
  14310. -"}}}}}}}}}}}}}}}}}}}XOooooooo 4I{[[[[[{{{]{{{{{{{{{{`PABBCCCCCCZCCZCCCCCCCBBBDGY({{{{{{{][{[{[[[[{Y4 oooOoooOX}}}}}}}}}}}}}}}}}}}",
  14311. -"}}}}}}}}}}}}}}}}}}}}ooooooooo.-A[{[[[[[[{{[{{{{{{{{(TLFZCBBBBBCBCBCBBBBBZFLW({{{{{{[{{{{{[[[[[[[A- ooOoooooo}}}}}}}}}}}}}}}}}}}}",
  14312. -"}}}}}}}}}}}}}}}}}}}}}ooooooooO.@g/['[[[{][[{[{{{{{{{{{'(!YIKGFDDDDDHKIWQ)'{{{{{{{{{{{{]][{[[[[/g@Xooooooooo}}}}}}}}}}}}}}}}}}}}}",
  14313. -"}}}}}}}}}}}}}}}}}}}}}}.oooOoooooX6I[[[[['{]{{[[{[{{{{{{{{{{{{]]`''][{{{{{{{{{{{]]{]{[]{[[[[[[I9.ooooooooo.}}}}}}}}}}}}}}}}}}}}}}",
  14314. -"}}}}}}}}}}}}}}}}}}}}}}}.ooooooOooX=c^{[['[[{{{[{{{{{{{{{{{{{{{{{{{{{{{{{{{][[{{{[{{[][[[][{^c%XooooooOoo.}}}}}}}}}}}}}}}}}}}}}}}",
  14315. -"}}}}}}}}}}}}}}}}}}}}}}}}oOooooooOooo6S`[']''[[]{{[[{{[[{{{{{{{{{{{{{{{]{{{{{{{]{{[[[[[[[[`S6oooooooOoooo}}}}}}}}}}}}}}}}}}}}}}}}",
  14316. -"}}}}}}}}}}}}}}}}}}}}}}}}} ooooooooooX@wK'{[[[[[[][{{[[{{]{]{][{{{{{{{{{{[{]{[{{[[[{]''{'Kw@XoooOoooooo }}}}}}}}}}}}}}}}}}}}}}}}}",
  14317. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}oOooOooooooX#wJ`{[[[[[[[[{]{]{{{[{{{]{][{[[{'{'{'{'[[[[[[[`Jr$XoooOooooooo}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14318. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}.oooooooooOooO9V/[{'[[[[[[{[[[{]{[{['{[[{[[[[[[[[[[''{[/Z9+Xooooooooooo.}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14319. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}} ooooOoOooooo o,jL`{{][[[[[][[[[[[][[[[[[[[[{[[[{[{`Kg,o ooooOooOoOoo }}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14320. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}oooooooOoooooX.@4gH~[{[{[[[[[[[]][[[[[[[][{{['^Jk5# ooooooOooooooo}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14321. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} Ooooooooooooooo O;qcGT/`[{{{{{{{{{{{{]'/TGc0:o .oooooooooooooo }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14322. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}XooooooooooooOOXX .O&30icmmBBBVVBmmcu03&oX XoooOooooooooooo.}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14323. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}ooooooooo+ooooOOooX..XX.oooOooooXXXXXooO+ooooooooooooOoo}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14324. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}ooooooooooXOXOooooooOoooooooooooooooooooooOooooooooo}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14325. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} XooooOoOooOoOooOooOoooooooooooOooooOoooooooooo }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14326. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}XooooOooooooooooOoooOooOooooOooooooOoooOoX}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14327. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}XoOOoooOOoOoooooooOoooOooooo+oooo+o }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14328. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} .oOoooooooOooooooooooooooooX }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14329. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} XoOooooOooooOooooX }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14330. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} .  .. .  }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14331. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14332. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}",
  14333. -"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}"
  14334. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM.               MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14335. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM             .             MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14336. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM   .     .   .        .       .     MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14337. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM.                    .        .         . MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14338. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM   .       . .        .         .              MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14339. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM.                  .          . .       .           MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14340. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM                             . .            .    .      MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14341. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM       .    . .    .     ...XXXX..       .          .   .   MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14342. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM                     X#;7uhcmmmmmmmnchy7;#X          .          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14343. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM      . . .       o=qlmmmmmmmmmmmmmmmmmmmmmmh0=X         .    .    MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14344. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMM                 @4hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmh1@                 MMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14345. +"MMMMMMMMMMMMMMMMMMMMMMMMMMM   .  .        .o<lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmh<o     .          MMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14346. +"MMMMMMMMMMMMMMMMMMMMMMMMMM      .      ..$ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmy#.        .     MMMMMMMMMMMMMMMMMMMMMMMMMM",
  14347. +"MMMMMMMMMMMMMMMMMMMMMMMMM      .      .=hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmh=. .   .       MMMMMMMMMMMMMMMMMMMMMMMMM",
  14348. +"MMMMMMMMMMMMMMMMMMMMMMM            ..-lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml-.             MMMMMMMMMMMMMMMMMMMMMMM",
  14349. +"MMMMMMMMMMMMMMMMMMMMMM  .  .       $hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmh$.     . .   .MMMMMMMMMMMMMMMMMMMMMM",
  14350. +"MMMMMMMMMMMMMMMMMMMMM       .   .oymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyo       .    MMMMMMMMMMMMMMMMMMMMM",
  14351. +"MMMMMMMMMMMMMMMMMMMM  .        .-nmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn-  .         MMMMMMMMMMMMMMMMMMMM",
  14352. +"MMMMMMMMMMMMMMMMMMM           XummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmccnmmmmmmmmmmmmmmmmmmmmmmmmmtX      .    MMMMMMMMMMMMMMMMMMM",
  14353. +"MMMMMMMMMMMMMMMMMM    .  .   #cmmmmmmmmmmmmmmmmmmmmmncmmmmmmmmmmmmmlpppishcnmmmmmmmmmmmmmmmmmmmmmz@ .      .  MMMMMMMMMMMMMMMMMM",
  14354. +"MMMMMMMMMMMMMMMMM   .       :mmmmmmmmmmmmmmmmmmmmckdpcmmmmmmmmmmmmcappppppppshcmmmmmmmmmmmmmmmmmmmn=  .        MMMMMMMMMMMMMMMMM",
  14355. +"MMMMMMMMMMMMMMMM          .7mmmmmmmmmmmmmmmmmmnlppspcmmmmmmmmmmmmnsppppaappappinmmmmmmmmmmmmmmmmmmmm2      . .  MMMMMMMMMMMMMMMM",
  14356. +"MMMMMMMMMMMMMMM          .tmmmmmmmmmmmmmmmmmchpassplmmmmmmmmmmmmmpppppppppppppxmmmmmmmmmmmmmmmmmmmmmmq.          MMMMMMMMMMMMMMM",
  14357. +"MMMMMMMMMMMMMMM  .    . Xpmmmmmmmmmmmmmmmmngdpsappgmmmmmmmmcmmmmfppappapppppplmmmmmmmmmmmmmmmmmmmmmmmmy..         MMMMMMMMMMMMMM",
  14358. +"MMMMMMMMMMMMMM        ..pmmmmmmmmmmmmmmmnhaaaaaasdmmmmmmmh##mmmhppppappppappgmmmmmmmmmmmmmmmmmmmmmmmmmmu...    .  MMMMMMMMMMMMMM",
  14359. +"MMMMMMMMMMMMM   .    ..immmmmmmmmmmmmmmlsaaaaaaadnmmmmmc=  .nmlppppppppapppdmmmmmmmmmmmmmmmmmmmmmmmmmmmme.         MMMMMMMMMMMMM",
  14360. +"MMMMMMMMMMMM      .  .wmmmmmmmmmmmmmmnhassaaaaaabmmmmm7X    pvppappappppppsnmmmmmmmmmmmmlpvmmmmmmmmmmmmmm0      .   MMMMMMMMMMMM",
  14361. +"MMMMMMMMMMM  .       4mmmmmmmmmmmmmmcppaasaaaaalmmmmp+      -sppppppppppapbmmmmmmmmmmmmvuuulmmmmmmmmmmmmmm1 .        MMMMMMMMMMM",
  14362. +"MMMMMMMMMMM        .=mmmmmmmmmmmmmmkaaaaaaaassjmmml$     .  Opappppppppppxmmmmmmmmmmmmnpuuuugmmmmmmmmmmmmmm=       . MMMMMMMMMMM",
  14363. +"MMMMMMMMMM    .    @mmmmmmmmmmmmmmdpaaaaaaaasgmmn<.    X0<  .yppapappappkmmmmmmmmmmmmmauuuuuuanmmmmmmmmmmmmn@.        MMMMMMMMMM",
  14364. +"MMMMMMMMMM       .Xkmmmmmmmmmmmmnfaaaaaaaaaasnm0o    .,nma   <ppppappapfmmmmmmmmmmmmmduuuuuuuupnmmmmmmmmmmmml.        MMMMMMMMMM",
  14365. +"MMMMMMMMM  .      qmmmmmmmmmmmmnsaaaaaaaaaasns@     $kmmmn.  $ppppppppdmmmmmmmmmmmmmhyuuuuuuuuuinmmmmmmmmmmmme  .      MMMMMMMMM",
  14366. +"MMMMMMMM   .    .%mmmmmmmmmmmmndaaaaaaaaaaph=     Oummmmmm$  .ipppppppnmmmmmmmmmmmmluuuuuuuuuuuudmmmmmmmmmmmmm=         MMMMMMMM",
  14367. +"MMMMMMMM        Xcmmmmmmmmmmmndsaaaaasaasi-.    X7mmmmmmmm7   0pppappnmmmmmmmmmmmmvuuuuuuuuuuuupnmmmmmmmmmmmmmbo        MMMMMMMM",
  14368. +"MMMMMMM       . qmmmmmmmmmmmmdaaaaaapsap4X     =cmmmmmmmmml   -papppzmmmmmmmmmmmmnpuuuuuuuuuuuubmmmmmmmmmmmmmmme  . .   .MMMMMMM",
  14369. +"MMMMMMM .      #mmmmmmmmmmmmhaaaaaaaspq+     #gmmmmmmmmmmmmO  @ppppjmmmmmmmmmmmmmauuuuuuuuuuuucmmmmmmmmmmmmmmmmm$        MMMMMMM",
  14370. +"MMMMMM        .fmmmmmmmmmmmlaaaaaaaay%   . owmmmmmmmmmmmmmm;   yppgmmmmmmmmmmmmmduuuuuuuuuuuuhmmmmmmmmmmmmmmmmmmh.        MMMMMM",
  14371. +"MMMMMM  .     *mmmmmmmmmmmnaaaaaaasi.    .1nmmmmmmmmmmmmmmmy   4admmmmmmmmmmmmmhuuuuuuuuuuuudmmmmmmmmmmmmmmmmmmmm=  . .   MMMMMM",
  14372. +"MMMMM     .  .lmmmmmmmmmmmsaaaaaaaaa+   %zmmmmmmmmmmmmmmmmmn   %pnmmmmmmmmmmmmzuuuuuuuuuuuupmmmmmmmmmmmmmmmmmmmmml.        MMMMM",
  14373. +"MMMMM .      =mmmmmmmmmmmlpaaaaaaaaa-  .nmmmmmmmmmmmmmmmmmmm#  Xcmmmmmmmmmmmmcuuuuuuuuuuuupnmmmmmmmmmmmmmmmmmmmmmm-.     . MMMMM",
  14374. +"MMMM       . jmmmmmmmmmmnaaaaaaaaaap2   dmmmmmmmmmmmmmmmmmmm,   lmmm<hmmmmmmniuuuuuuuuuuuinmmmmmmmmmmmmmmmmmmmmmmmh         MMMM",
  14375. +"MMMM  .     $mmmmmmmmmmmgaaaaaaaaaafl   2mmmmmmmmmmmmmmmmmmms   9mm0 4mmmmmmpuuuuuuuuuuuuzmmmmmmmmmmmmcdmmmmmmmmmmm$.       MMMM",
  14376. +"MMMM        immmmmmmmmmcaaaaaaaaaadnm#  #mmmmmmmmmmmmmmmmmmmmX  $mp. $mmmmmduuuuuuuuuuuuhmmmmmmmmmmmmnuylmmmmmmmmmmu     .  MMMM",
  14377. +"MMM     .  Ommmmmmmmmmmfaaaaaaaaaabmm4   nmmmmmmmmmmmmmmmmmmm%  XhX  .nmmmhuuuuuuuuuuuudmmmmmmmmmmmmmuytummmmmmmmmmmO .      MMM",
  14378. +"MMM.      .1mmmmmmmmmmcaaaaaaaaaazmmmh   tmmmmmmmmmmmmmmmmmmm0   X    emmzuuuuuuuuuuuuammmmmmmmmmmmmsyyyylmmmmmmmmmm1.       MMM",
  14379. +"MMM    ..  lmmmmmmmmmmgaaaaaaaaalmmmmmo  -mmmmmmmmmmmmmmmmmmmc        ;mviuuuuuuuuuuuinmmmmmmmmmmmmhtyytypmmmmmmmmmml.  .    MMM",
  14380. +"MMM       @mmmmmmmmmmnaaaaaaaaagmmmmmm=  ommmmmmmmmmmmmmmmmmmmO       Oniuuuuuuuuuuuuvmmmmmmmmmmmmlyyytyyynmmmmmmmmmm@        MM",
  14381. +"MM   .    4mmmmmmmmmmlaaaaaaaadmmmmmmmq   lmmmmmmmmmmmmmmmmmmm,   .$   yuuuuuuuuuuuuzmmmmmmmmmmmmcyyyyyyyyhmmmmmmmmmm4    .   MM",
  14382. +"MM   .    hmmmmmmmmmmdpsaaaaasnmmmmmmmc.  4mmmmmmmmmmmmmmmmmmmi   ti   <uuuuuuuuuuuhmmmmmmmmmmmmnyyyyyyyytummmmmmmmmmh.  .    MM",
  14383. +"MM      .Xmmmmmmmmmmcsaaaaaaabmmmmmmmmm@  $mmmmmmmmmmmmmmmmmmmm. 1mn.  #uuuuuuuuuifmmmmmmmmmmmmmiyyryyyryyycmmmmmmmmmmo       MM",
  14384. +"M.       =mmmmmmmmmmlaaaaaapcmmmmmmmmmm<  Xnmmmmmmmmmmmmmmmmmmm$-mmm$  .uuuuuuuuupmmmmmmmmmmmmmdyyyyryyyytygmmmmmmmmmm-    . . M",
  14385. +"M    .   7mmmmmmmmmmdaaaaaahmmmmmmmmmmmi   pmmmmmmmmmmmmmmmmmmmpnmmm5   9uuuuuuuinmmmmmmmmmmmmhtyyyyyyyyyyypmmmmmmmmmmq        M",
  14386. +"M        fmmmmmmmmmnpaaaaahmmmmmmmmmmmmn   <mmmmmmmmmmmmmmmmmmmmmmmmh   ;uuuuuuucmmmmmmmmmmmmzyyyyyyytytyyunmmmmmmmmmml   .    M",
  14387. +"M      ..mmmmmmmmmmxaaaaadmmmmmmmmmmmmmhO  @mmmmmmmmmmmmmmmmmmmmmmmmmO  @uuuuuilmmmmmmmmmmmmnyyyyyyyyyyytycmmmmmmmmmmmmX       M",
  14388. +"M       @mmmmmmmmmmhaaaadnmmmmmmmmmmmmcu%  .cmmmmmmmmmmmmmmmmmmmmmmmm-  .yuuuuhmmmmmmmmmmmmnutyyt0<yytyyylmmmmmmmmmmmmm#       M",
  14389. +"M   .   =mmmmmmmmmmdaaaabmmmmmmmmmmmmnuu4   emmmmmmmmmmmmmmmmmmmmmmmme   2uuudmmmmmmmmmmmmmpyyyq$.Oyyyyyhmmmmmmmmmmmmmm-.    . M",
  14390. +"      . 1mmmmmmmmmmpaaaxmmmmmmmmmmmmnpuuy.  -mmmmmmmmmmmmmmmmmmmmmmmmv   $uupmmmmmmmmmmmmmfyyr-.   qryydmmmmmmmmmmmmmmm5        ",
  14391. +"   .    qmmmmmmmmmnpapkmmmmmmmmmmmmmauuuu@  ommmmmmmmmmmmmmmmmmmmmmmmv.  Oupnmmmmmmmmmmmmktr2o     ,yypnmmmmmmmmmmmmmmme     .  ",
  14392. +"        immmmmmmmmcdpgmmmmmmmmmmmmmduuuuu-   hmmmmmmmmmmmmmmmmmmmmmmn@   #ucmmmmmmmmmmmmcy9#       #yinmmmmmmmmmmmmmmmmf    .   ",
  14393. +"      . hmmmmmmmmmxadmmmmmmmmmmmmmhuuuuuu5   5mmmmmmmmmmmmmmmmmmmmmm=   Otlmmmmmmmmmmmmny=.    .o  .ycmmmmmmmmmmmmmmmmml  .     ",
  14394. +"     .  cmmmmmmmmmlanmmmmmmmmmmmmcuuuuuuuuX  $mmmmmmmmmmmmmmmmmmmmm7   .qgmmmmmmmmmmmmn2o     %z2   pmmmmmmmmmmmmmmmmmmc .      ",
  14395. +"        nmmmmmmmmmlvmmmmmmmmmmmmnuuuuuuuuu#  .mmmmmmmmmmmmmmmmmmmmi    3dmmmmmmmmmmmmk$     @dmmh   7mmmmmmmmmmmmmmmmmmm        ",
  14396. +" .     .mmmmmmmmmmnmmmmmmmmmmmmniuuuuuuuuu,   pmmmmmmmmmmmmmmmmmmm4   ;pmmmmmmmmmmmn,.    X9mmmmmX  %mmmmmmmmmmmmmmmmmmm.       ",
  14397. +"       .mmmmmmmmmmmmmmmmmmmmmmmauuuuuuuuuuw   <mmmmmmmmmmmmmmmmmmmd   ,nmmmmmmmmmm0X    .,bmmmmmm=  Xmmmmmmmmmmmmmmmmmmm.   .   ",
  14398. +"    .  .mmmmmmmmmmmmmmmmmmmmmmguuuuuuuuuuuio  @mmmmmmmmmmmmmmmmmmmmX  $mmmmmmmmma@     $lmmmmmmmme   fmmmmmmmmmmmmmmmmmm..  .   ",
  14399. +"       .mmmmmmmmmmmmmmmmmmmmmjuuuuuuuuuuuuf;   vmmmmmmmmmmmmmmmmmmm%  .mmmmmmmz=     Oimmmmmmmmmmv   1mmmmmmmmmmmmmmmmmm.       ",
  14400. +" . .    nmmmmmmmmmmmmmmmmmmmcuuuuuuuuuuuupnp   emmmmmmmmmmmmmmmmmmm0   dmmmmn1X    X7nmmmmmmmmmmmm@  #mmmmmmndmmmmmmmmmn .      ",
  14401. +"        cmmmmmmmmmmmmmmmmmmvuuuuuuuuuuuuinmn   =mmmmmmmmmmmmmmmmmmml   4mmntO    .-nmmmmmmmmmmmmmm<  .nmmmmntdmmmmmmmmmn        ",
  14402. +"    .   hmmmmmmmmmmmmmmmmmnpuuuuuuuuuuuubmmm$  XmmmmmmmmmmmmmmmmmmmmO  #md#     #hmmmmmmmmmmmmmmmms   tmmmmpegmmmmmmmmml      . ",
  14403. +"        pmmmmmmmmmmmmmmmmmauuuuuuuuuuuulmmmm%   hmmmmmmmmmmmmmmmmmmm;   %     oemmmmmmmmmmmmmmmmmmm.  ;mmmseejmmmmmmmmmf  .     ",
  14404. +"       .wmmmmmmmmmmmmmmmmguuuuuuuuuuuuhmmmm9   Xnmmmmmmmmmmmmmmmmmmmu       X4nmmmmmmmmmmmmmmmmmmmm$  ommjeewxmmmmmmmmme    .   ",
  14405. +"  .     4mmmmmmmmmmmmmmmjuuuuuuuuuuuudmmmma.  .ammmmmmmmmmmmmmmmmmmmb.     =cmmmmmmmmmmmmmmmmmmmmmm5   hceeeenmmmmmmmmm7        ",
  14406. +"M       =mmmmmmmmmmmmmmcuuuuuuuuuuuupmmmmlX   7mmmmmmmmmmmmmmmmmmmmmm@   @dmmmmmmmmmmmmmmmmmmmmmmmmd   >eweetmmmmmmmmmm; .   . M",
  14407. +"M    .  @mmmmmmmmmmmmmnuuuuuuuuuuuuinmmmn+   -mmmmmmmmmmmmmmmmmmmmmmm< oqmmmmmmmmmmmmmmmmmmmmmmmmm7X   @eeeesmmmmmmmmmm@       M",
  14408. +"M       .mmmmmmmmmmmmniuuuuuuuuuuuucmmmmh   @mmmmmmmmmmmmmmmmmmmmmmmmh1nmmmmmmmmmmmmmmmmmmmmmmmmiO     #weewkmmmmmmmmmm.       M",
  14409. +"M .  .  .hmmmmmmmmmmmauuuuuuuuuuuulmmmmmmX  %mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml$     o,eeeeebmmmmmmmmmh    .   M",
  14410. +"M      . 0mmmmmmmmmmguuuuuuuuuuuuhmmmmmmm=  .mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn,.    X-qeeeeetmmmmmmmmmm7  .  .  M",
  14411. +"M        =mmmmmmmmmmhuuuuuuuuuuudmmmmmmmm0   dmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmqX     ;heeeeewesmmmmmmmmmm%        M",
  14412. +"MM       Ommmmmmmmmmvuuuuuuuuuipnmmmmmmmmc   1mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmma@     #hnteeeqewexmmmmmmmmmmX       MM",
  14413. +"MM  .     kmmmmmmmmmmpuuuuuuuuinmmmmmmmmmm+  @mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmz*     oemniqeeeeeermmmmmmmmmmf      . MM",
  14414. +"MM  .     4mmmmmmmmmmjuuuuuuuuxmmmmmmmmmmm,   cmmmbcmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn4.    .4mmmpwrwweeeedmmmmmmmmmm1.  .    MM",
  14415. +"MM        #mmmmmmmmmmnuuuuuuujmmmmmmmmmmmmu   emmm$7mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmeO     *cmmmfrwwrrweeevmmmmmmmmmm@       MMM",
  14416. +"MMM    .. .lmmmmmmmmmmduuuuuhmmmmmmmmmmmmmy.  -mm- $mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmh#     @smmmmlwwrwwweweummmmmmmmmmc      . MMM",
  14417. +"MMM        4mmmmmmmmmmcyuuudmmmmmmmmmmmmmst+  om4   mmmmmmmmmmmmmmmmmmmmmmmmmmmmc;     Xwmmmmmcwwrwwwreeexmmmmmmmmmm4        MMM",
  14418. +"MMM       .Ommmmmmmmmmmpuupnmmmmmmmmmmmmgry=   2    dmmmmmmmmmmmmmmmmmmmmmmmmmm4.    .1nmmmmmnrrwweeeewwummmmmmmmmmm+       MMMM",
  14419. +"MMMM     .  pmmmmmmmmmmcuunmmmmmmmmmmmmltyr6        <mmmmmmmmmmmmmmmmmmmmmmmmuO     $lmmmmmmntwwrwrweweezmmmmmmmmmmp.  . .  MMMM",
  14420. +"MMMM .      %mmmmmmmmmmmdxmmmmmmmmmmmmcttttr        @mmmmmmmmmmmmmmmmmmmmmmk$     +pmmmmmmmmarwewrwweeeimmmmmmmmmmm$        MMMM",
  14421. +"MMMM         lmmmmmmmmmmmmmmmmmmmmmmmnytttye@        vmmmmmmmmmmmmmmmmmmmb,     X7mmmmmmmmmfwwwrwwwreeecmmmmmmmmmmh.       MMMMM",
  14422. +"MMMMM    .   -mmmmmmmmmmmmmmmmmmmmmmnitttttt>   o,   0mmmmmmmmmmmmmmmmmm0X     ;vmmmmmmmmmkerwwwrwrwwrdmmmmmmmmmmm=  .   . MMMMM",
  14423. +"MMMMM        .lmmmmmmmmmmmmmmmmmmmmmsttttttt0  .9p   =mmmmmmmmmmmmmmmmp@     $hmmmmmmmmmmceewwrwewwwetnmmmmmmmmmml.        MMMMM",
  14424. +"MMMMMM     .  =mmmmmmmmmmmmmmmmmmmmgtttttyrtto.4im#  Xmmmmmmmmmmmmmml%     oymmmmmmmmmmmbreewrwrwwrrecmmmmmmmmmmm=.       MMMMMM",
  14425. +"MMMMMM .      .hmmmmmmmmmmmmmmmmmmltttttttttt%,ynm4   hmmmmmmmmmmmn1     .<nmmmmmmmmmmmmyeeeeewwrwwwgmmmmmmmmmmml.        MMMMMM",
  14426. +"MMMMMMM      . #mmmmmmmmmmmmmmmmmctttttttttttwtbmmf   4mmmmmmmmmmwX     #tmmmmmmmmmmmmmieeeewrrweeepmmmmmmmmmmmm$      . MMMMMMM",
  14427. +"MMMMMMM    .    wmmmmmmmmmmmmmmmnyttttttttttttxmmmmX  $mmmmmmmmf#     +4ynmmmmmmmmmmmmfeeeewwwwweetnmmmmmmmmmmmy         MMMMMMM",
  14428. +"MMMMMMMM        Xcmmmmmmmmmmmmmmitttttttttttthmmmmm=  .nmmmmmc=     X,wrnmmmmmmmmmmmmlweeewereerernmmmmmmmmmmmnO  . .   MMMMMMMM",
  14429. +"MMMMMMMM       . =mmmmmmmmmmmmmgttttttttttttdmmmmmm0   ymmmm4.     %0eelmmmmmmmmmmmmceweeeeewwewrbmmmmmmmmmmmm-         MMMMMMMM",
  14430. +"MMMMMMMMM      .  wmmmmmmmmmmmmnyttttttttttpmmmmmmmc   ;mmyO     #9eeehmmmmmmmmmmmmnrwwrewweeeeebmmmmmmmmmmmmy         MMMMMMMMM",
  14431. +"MMMMMMMMMM.       Xlmmmmmmmmmmmmcyttttttttunmmmmmmmm@  +h#     O4eeeepmmmmmmmmmmmmntwrwweeeeeetnmmmmmmmmmmmmlX  .    .MMMMMMMMMM",
  14432. +"MMMMMMMMMM         @nmmmmmmmmmmmmnitttttttbmmmmmmmmm<        X:eeeeeummmmmmmmmmmmmieewrwewweeynmmmmmmmmmmmmm@.        MMMMMMMMMM",
  14433. +"MMMMMMMMMMM  .      =mmmmmmmmmmmmmmdtttttlmmmmmmmmmma      .$0eereernmmmmmmmmmmmmdrwwrweeeeeammmmmmmmmmmmmm=.      . MMMMMMMMMMM",
  14434. +"MMMMMMMMMMM        . 2mmmmmmmmmmmmmmlttrhmmmmmmmmmmmmX    @7eeereervmmmmmmmmmmmmkeeerwweerrjmmmmmmmmmmmmmm4  .       MMMMMMMMMMM",
  14435. +"MMMMMMMMMMMM   .     .qmmmmmmmmmmmmmmniammmmmmmmmmmmn#  O3eeereeeekmmmmmmmmmmmmceeeeweeewtvmmmmmmmmmmmmmm0          MMMMMMMMMMMM",
  14436. +"MMMMMMMMMMMMM         .ymmmmmmmmmmmmmmmmmmmmmmmmmmmma=.;eeeeeeeeedmmmmmmmmmmmmnreeweeeewfmmmmmmmmmmmmmmme.      .  MMMMMMMMMMMMM",
  14437. +"MMMMMMMMMMMMMM   .     .ummmmmmmmmmmmmmmmmmmmmmmmmmhe0qereeereeepmmmmmmmmmmmmmueeweeeeibmmmmmmmmmmmmmmmt. .    .  MMMMMMMMMMMMMM",
  14438. +"MMMMMMMMMMMMMM         ..ymmmmmmmmmmmmmmmmmmmmmmmmleerereeeeeeeynmmmmmmmmmmmmaeewreeuxmmmmmmmmmmmmmmmmq.  .       MMMMMMMMMMMMMM",
  14439. +"MMMMMMMMMMMMMMM  .      ..qmmmmmmmmmmmmmmmmmmmmmmceeeeeeereerernmmmmmmmmmmmmheeewwilmmmmmmmmmmmmmmmmm7.          MMMMMMMMMMMMMMM",
  14440. +"MMMMMMMMMMMMMMMM          .1mmmmmmmmmmmmmmmmmmmmnterreeerereeezmmmmmmmmmmmmlweerscmmmmmmmmmmmmmmmmmm<   .    .  MMMMMMMMMMMMMMMM",
  14441. +"MMMMMMMMMMMMMMMMM   .       =nmmmmmmmmmmmmmmmmmmmzsreeeeeeeeegmmmmmmmmmmmmneealnmmmmmmmmmmmmmmmmmmn$           MMMMMMMMMMMMMMMMM",
  14442. +"MMMMMMMMMMMMMMMMMM    .   .  +lmmmmmmmmmmmmmmmmmmmmmchpreeeesmmmmmmmmmmmmmxcmmmmmmmmmmmmmmmmmmmmmhO.          MMMMMMMMMMMMMMMMMM",
  14443. +"MMMMMMMMMMMMMMMMMMM           Xqmmmmmmmmmmmmmmmmmmmmmmmmnvkhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm0.  .  .     MMMMMMMMMMMMMMMMMMM",
  14444. +"MMMMMMMMMMMMMMMMMMMM            %cmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmx$         .  MMMMMMMMMMMMMMMMMMMM",
  14445. +"MMMMMMMMMMMMMMMMMMMMM   .        X0mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm0X   .        MMMMMMMMMMMMMMMMMMMMM",
  14446. +"MMMMMMMMMMMMMMMMMMMMMM  .          @fmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmd@.   .    .   MMMMMMMMMMMMMMMMMMMMMM",
  14447. +"MMMMMMMMMMMMMMMMMMMMMMM   .    .    .%hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmj%.   .         MMMMMMMMMMMMMMMMMMMMMMM",
  14448. +"MMMMMMMMMMMMMMMMMMMMMMMMM        .    .=hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmh*. .  .        MMMMMMMMMMMMMMMMMMMMMMMMM",
  14449. +"MMMMMMMMMMMMMMMMMMMMMMMMMM               #ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmu$             . MMMMMMMMMMMMMMMMMMMMMMMMMM",
  14450. +"MMMMMMMMMMMMMMMMMMMMMMMMMMM .              o<hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml1O               .MMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14451. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMM .   .  .        +1dmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmh1@      .  .     . MMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14452. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM    .             X%4dnmmmmmmmmmmmmmmmmmmmmmh7=X.                 MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14453. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM          .      .   .+%<0uhcnnmmmnlhpw2=@. .     .   .      .  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14454. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM    .      .                ...  .          .   .           MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14455. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM .              .     .                                .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14456. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM  . .      .                  . .    ..     .       MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14457. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM               .  .  .                      .   MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14458. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM           . .    .  .         .          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14459. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM.  .                            .   MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14460. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM                     .      MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
  14461. +"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM           .    MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM"
  14462.  };
  14463. diff --git a/share/pixmaps/bitcoin16.png b/share/pixmaps/bitcoin16.png
  14464. index 1f459f0..eca4c53 100644
  14465. Binary files a/share/pixmaps/bitcoin16.png and b/share/pixmaps/bitcoin16.png differ
  14466. diff --git a/share/pixmaps/bitcoin16.xpm b/share/pixmaps/bitcoin16.xpm
  14467. index f5becf5..e647340 100644
  14468. --- a/share/pixmaps/bitcoin16.xpm
  14469. +++ b/share/pixmaps/bitcoin16.xpm
  14470. @@ -1,150 +1,117 @@
  14471.  /* XPM */
  14472. -static char *bitcoin__[] = {
  14473. +static char *_517408276473[] = {
  14474.  /* columns rows colors chars-per-pixel */
  14475. -"16 16 128 2",
  14476. -"   c #3D3E3D",
  14477. -".  c #3F3F3E",
  14478. -"X  c #3E403E",
  14479. -"o  c #434343",
  14480. -"O  c #444444",
  14481. -"+  c #454545",
  14482. -"@  c #535353",
  14483. -"#  c #565655",
  14484. -"$  c #585858",
  14485. -"%  c #646560",
  14486. -"&  c #656564",
  14487. -"*  c #696A68",
  14488. -"=  c #696A69",
  14489. -"-  c #808180",
  14490. -";  c #828382",
  14491. -":  c #8A8B8A",
  14492. -">  c #8D8E8E",
  14493. -",  c #939392",
  14494. -"<  c #929393",
  14495. -"1  c #939493",
  14496. -"2  c #959695",
  14497. -"3  c #969797",
  14498. -"4  c #979898",
  14499. -"5  c #999A9A",
  14500. -"6  c #9A9B9B",
  14501. -"7  c #9B9C9C",
  14502. -"8  c #9D9E9E",
  14503. -"9  c #9D9EA0",
  14504. -"0  c #A0A1A0",
  14505. -"q  c #A0A0A1",
  14506. -"w  c #A2A3A3",
  14507. -"e  c #A3A3A3",
  14508. -"r  c #A2A3A5",
  14509. -"t  c #A5A6A5",
  14510. -"y  c #A6A6A6",
  14511. -"u  c #A6A7A6",
  14512. -"i  c #A6A7A7",
  14513. -"p  c #A8A9A8",
  14514. -"a  c #A8A9A9",
  14515. -"s  c #A9A9A9",
  14516. -"d  c #AAAAAA",
  14517. -"f  c #AAABAB",
  14518. -"g  c #ABACAB",
  14519. -"h  c #ADAEAD",
  14520. -"j  c #AEAEAE",
  14521. -"k  c #AEAFAE",
  14522. -"l  c #AEAFAF",
  14523. -"z  c #AFAFAF",
  14524. -"x  c #AFB0AF",
  14525. -"c  c #B0B0B0",
  14526. -"v  c #B1B2B1",
  14527. -"b  c #B8B8B8",
  14528. -"n  c #BCBDBC",
  14529. -"m  c #BFBFBF",
  14530. -"M  c #BEBFC0",
  14531. -"N  c #BEBFC2",
  14532. -"B  c #BFBFC2",
  14533. -"V  c #C0C1C3",
  14534. -"C  c #C2C3C3",
  14535. -"Z  c #C3C3C6",
  14536. -"A  c #C6C7C9",
  14537. -"S  c #C7C8C8",
  14538. -"D  c #C8C8CA",
  14539. -"F  c #C9C9CB",
  14540. -"G  c #C9CACC",
  14541. -"H  c #CACBCD",
  14542. -"J  c #CBCCCD",
  14543. -"K  c #CCCDCE",
  14544. -"L  c #CCCDCF",
  14545. -"P  c #CECFD1",
  14546. -"I  c #D0D0D0",
  14547. -"U  c #D3D3D3",
  14548. -"Y  c #D4D4D4",
  14549. -"T  c #D4D4D5",
  14550. -"R  c #D5D6D5",
  14551. -"E  c #D4D5D6",
  14552. -"W  c #D4D5D7",
  14553. -"Q  c #D5D6D7",
  14554. -"!  c #DADBDA",
  14555. -"~  c #DCDDDE",
  14556. -"^  c #DFDFE0",
  14557. -"/  c #E2E2E1",
  14558. -"(  c #E1E1E2",
  14559. -")  c #E1E1E3",
  14560. -"_  c #E3E3E4",
  14561. -"`  c #E3E4E5",
  14562. -"'  c #E4E4E5",
  14563. -"]  c #E4E5E5",
  14564. -"[  c #E5E5E5",
  14565. -"{  c #E5E6E7",
  14566. -"}  c #E6E6E7",
  14567. -"|  c #E7E7E8",
  14568. -" . c #E8E8E9",
  14569. -".. c #E8E9E9",
  14570. -"X. c #E9E9E9",
  14571. -"o. c #E8E8EA",
  14572. -"O. c #E8E9EA",
  14573. -"+. c #EAEAEB",
  14574. -"@. c #EAEBEB",
  14575. -"#. c #EAEBEC",
  14576. -"$. c #EBEBEC",
  14577. -"%. c #EBECEC",
  14578. -"&. c #EBECED",
  14579. -"*. c #ECECEC",
  14580. -"=. c #EEEEED",
  14581. -"-. c #EDEDEE",
  14582. -";. c #EEEEEF",
  14583. -":. c #EFEFF0",
  14584. -">. c #F0F0F0",
  14585. -",. c #F0F0F1",
  14586. -"<. c #F1F1F1",
  14587. -"1. c #F1F2F1",
  14588. -"2. c #F1F1F2",
  14589. -"3. c #F1F2F2",
  14590. -"4. c #F2F2F2",
  14591. -"5. c #F2F2F3",
  14592. -"6. c #F3F3F3",
  14593. -"7. c #F3F3F4",
  14594. -"8. c #F3F4F4",
  14595. -"9. c #F6F6F6",
  14596. -"0. c #F6F7F7",
  14597. -"q. c #F8F8F8",
  14598. -"w. c #F9F9F9",
  14599. -"e. c #FAFAFA",
  14600. -"r. c #FDFDFD",
  14601. -"t. c #FEFEFE",
  14602. -"y. c #FFFFFF",
  14603. -"u. c None",
  14604. +"16 16 95 2 ",
  14605. +"   c #3E3E3E",
  14606. +".  c #3F3F3F",
  14607. +"X  c gray32",
  14608. +"o  c #535353",
  14609. +"O  c gray51",
  14610. +"+  c #838383",
  14611. +"@  c #848484",
  14612. +"#  c gray52",
  14613. +"$  c gray54",
  14614. +"%  c #8B8B8C",
  14615. +"&  c #8D8E8F",
  14616. +"*  c #919292",
  14617. +"=  c #929292",
  14618. +"-  c #959595",
  14619. +";  c #999A9A",
  14620. +":  c #9A9A9A",
  14621. +">  c gray61",
  14622. +",  c #9D9E9E",
  14623. +"<  c gray62",
  14624. +"1  c #A0A0A0",
  14625. +"2  c #A0A0A1",
  14626. +"3  c #A0A1A1",
  14627. +"4  c gray63",
  14628. +"5  c #A4A4A4",
  14629. +"6  c #A5A5A5",
  14630. +"7  c gray65",
  14631. +"8  c gray66",
  14632. +"9  c #AAAAAA",
  14633. +"0  c gray67",
  14634. +"q  c #ACADAE",
  14635. +"w  c gray69",
  14636. +"e  c #B1B1B1",
  14637. +"r  c #B4B6B6",
  14638. +"t  c #B6B7B7",
  14639. +"y  c #BABABB",
  14640. +"u  c #BBBDBF",
  14641. +"i  c #BCBDBE",
  14642. +"p  c gray75",
  14643. +"a  c #BEC0C2",
  14644. +"s  c #C0C0C0",
  14645. +"d  c #C1C1C1",
  14646. +"f  c gray76",
  14647. +"g  c #C2C3C5",
  14648. +"h  c #C5C7C9",
  14649. +"j  c #C7C8CA",
  14650. +"k  c #CACBCC",
  14651. +"l  c #CBCCCC",
  14652. +"z  c #CDCECF",
  14653. +"x  c #CECFD1",
  14654. +"c  c #D0D0D1",
  14655. +"v  c #D0D1D2",
  14656. +"b  c #D1D2D3",
  14657. +"n  c #D5D6D7",
  14658. +"m  c #DADADA",
  14659. +"M  c #DBDCDD",
  14660. +"N  c #DDDDDD",
  14661. +"B  c gray87",
  14662. +"V  c #DEDEDF",
  14663. +"C  c #DFDFDF",
  14664. +"Z  c #E0E1E1",
  14665. +"A  c #E1E2E3",
  14666. +"S  c #E2E2E2",
  14667. +"D  c #E2E3E3",
  14668. +"F  c #E3E4E5",
  14669. +"G  c #E5E6E6",
  14670. +"H  c #E6E6E6",
  14671. +"J  c #E6E7E7",
  14672. +"K  c #E7E7E8",
  14673. +"L  c #E9E9EA",
  14674. +"P  c #EAEBEB",
  14675. +"I  c #EBECEC",
  14676. +"U  c gray93",
  14677. +"Y  c #EDEDEE",
  14678. +"T  c #EDEEEE",
  14679. +"R  c #EEEFEF",
  14680. +"E  c #EFEFEF",
  14681. +"W  c #EFEFF0",
  14682. +"Q  c #EFF0F0",
  14683. +"!  c #F1F1F1",
  14684. +"~  c gray95",
  14685. +"^  c #F3F3F3",
  14686. +"/  c #F3F4F4",
  14687. +"(  c #F4F4F4",
  14688. +")  c gray96",
  14689. +"_  c #F6F6F6",
  14690. +"`  c #F6F6F7",
  14691. +"'  c gray97",
  14692. +"]  c #F8F8F8",
  14693. +"[  c gray98",
  14694. +"{  c #FBFBFB",
  14695. +"}  c #FBFCFC",
  14696. +"|  c gray99",
  14697. +" . c #FEFEFE",
  14698. +".. c white",
  14699. +"X. c None",
  14700.  /* pixels */
  14701. -"u.u.u.u.u.u.u.. . u.u.u.u.u.u.u.",
  14702. -"u.u.u.u.+ = 3 k k 3 * + u.u.u.u.",
  14703. -"u.u.u.$ k |  .^ ( 2.&.k $ u.u.u.",
  14704. -"u.u.$ S  .H 9 3 8 t { *.S $ u.u.",
  14705. -"u.+ x *.Q ^ f 2. .3 N T 0.v + u.",
  14706. -"u.= *.w.7.T b r.! r | 7. . .= u.",
  14707. -"u., 2.E Z r I r.I ; m Z A 2.1 u.",
  14708. -". k { P J t &.r.E 6 F { 2.w.k . ",
  14709. -". k w.2.p E r.*.f [ 2.( K { x X ",
  14710. -"u.1 >.V - m r.( 0 k e > F 2.1 u.",
  14711. -"u.& { *.m U w.w.2.2.>.g *. .& u.",
  14712. -"u.+ p 0.g 5 k v c u 7 0 *.f + u.",
  14713. -"u.u.# V #.&.2.( K N H  .C # u.u.",
  14714. -"u.u.u.@ t  .0.{ ` #.{ t @ u.u.u.",
  14715. -"u.u.u.u.o % : t t : % o u.u.u.u.",
  14716. -"u.u.u.u.u.u.u.. . u.u.u.u.u.u.u."
  14717. +"X.X.X.X.X.. . . . . . X.X.X.X.X.",
  14718. +"X.X.X.. X 6 C  . .N 5 X . X.X.X.",
  14719. +"X.X.. @ _ ] _  .J L  ._ @ . X.X.",
  14720. +"X.. @  .K x 9 - l ~ ` J  .+ . X.",
  14721. +"X.X _ J q 3 ~ 3 P { v n  ._ X X.",
  14722. +". 6 ] v y S  .f $ n v ] J _ 6 . ",
  14723. +". N J I ~ w  ._ 5 g _ Q i L N X ",
  14724. +". ] ~  .n :  . .0 A N = < ] ~   ",
  14725. +". |  .N k >  . .9 6 f  .9 T ] . ",
  14726. +". C T j Q 3  . .T ]  .f & M N . ",
  14727. +". 6 ] L ] = w  . .m < l u _ 6 . ",
  14728. +"X.X _  .b r 3 T < i _ a M _ X X.",
  14729. +"X.. @  .N _ r % N ] h M  .@ . X.",
  14730. +"X.X.. + _  .S M  .T _ _ + . X.X.",
  14731. +"X.X.X.. X 3 N ] ] S 6 X . X.X.X.",
  14732. +"X.X.X.X.X.  X . . . . X.X.X.X.X."
  14733.  };
  14734. diff --git a/share/pixmaps/bitcoin256.png b/share/pixmaps/bitcoin256.png
  14735. index cd83384..b00a8ae 100644
  14736. Binary files a/share/pixmaps/bitcoin256.png and b/share/pixmaps/bitcoin256.png differ
  14737. diff --git a/share/pixmaps/bitcoin256.xpm b/share/pixmaps/bitcoin256.xpm
  14738. index 7fe1452..2b7d320 100644
  14739. --- a/share/pixmaps/bitcoin256.xpm
  14740. +++ b/share/pixmaps/bitcoin256.xpm
  14741. @@ -1,390 +1,326 @@
  14742.  /* XPM */
  14743. -static char *bitcoin___[] = {
  14744. +static char *_517408254670[] = {
  14745.  /* columns rows colors chars-per-pixel */
  14746. -"256 256 128 2",
  14747. -"   c #101110",
  14748. -".  c #1C1D1B",
  14749. -"X  c #1F201E",
  14750. -"o  c #21221F",
  14751. -"O  c #242523",
  14752. -"+  c #272826",
  14753. -"@  c #282927",
  14754. -"#  c #272828",
  14755. -"$  c #2B2C2B",
  14756. -"%  c #2F302E",
  14757. -"&  c #30322F",
  14758. -"*  c #2F3130",
  14759. -"=  c #333533",
  14760. -"-  c #373836",
  14761. -";  c #393A37",
  14762. -":  c #3D3E3C",
  14763. -">  c #3F403E",
  14764. -",  c #40413F",
  14765. -"<  c #3F4140",
  14766. -"1  c #424342",
  14767. -"2  c #474846",
  14768. -"3  c #484947",
  14769. -"4  c #464748",
  14770. -"5  c #4C4D4B",
  14771. -"6  c #4F504E",
  14772. -"7  c #50524F",
  14773. -"8  c #4F5050",
  14774. -"9  c #535453",
  14775. -"0  c #575857",
  14776. -"q  c #585957",
  14777. -"w  c #575759",
  14778. -"e  c #575959",
  14779. -"r  c #5B5B5A",
  14780. -"t  c #5F605F",
  14781. -"y  c #60615F",
  14782. -"u  c #5F6060",
  14783. -"i  c #636463",
  14784. -"p  c #676867",
  14785. -"a  c #696967",
  14786. -"s  c #676868",
  14787. -"d  c #6B6C6C",
  14788. -"f  c #6F716F",
  14789. -"g  c #70716F",
  14790. -"h  c #6E6F70",
  14791. -"j  c #6F7071",
  14792. -"k  c #737474",
  14793. -"l  c #777877",
  14794. -"z  c #767778",
  14795. -"x  c #777879",
  14796. -"c  c #7B7C7C",
  14797. -"v  c #7F817E",
  14798. -"b  c #80807E",
  14799. -"n  c #7E7F80",
  14800. -"m  c #7F8080",
  14801. -"M  c #838585",
  14802. -"N  c #878887",
  14803. -"B  c #888987",
  14804. -"V  c #868788",
  14805. -"C  c #87888A",
  14806. -"Z  c #8A8C8C",
  14807. -"A  c #8E908F",
  14808. -"S  c #90918F",
  14809. -"D  c #8E8E91",
  14810. -"F  c #8F9091",
  14811. -"G  c #949594",
  14812. -"H  c #979897",
  14813. -"J  c #989897",
  14814. -"K  c #969798",
  14815. -"L  c #979899",
  14816. -"P  c #9B9C9C",
  14817. -"I  c #9FA09F",
  14818. -"U  c #A0A09F",
  14819. -"Y  c #9E9FA1",
  14820. -"T  c #9EA0A0",
  14821. -"R  c #A3A4A4",
  14822. -"E  c #A7A8A7",
  14823. -"W  c #A8A8A7",
  14824. -"Q  c #A6A7AA",
  14825. -"!  c #A7A8A9",
  14826. -"~  c #AAACAD",
  14827. -"^  c #AEB0AF",
  14828. -"/  c #B1B0AF",
  14829. -"(  c #ADAEB2",
  14830. -")  c #AFB0B3",
  14831. -"_  c #B2B3B6",
  14832. -"`  c #B6B7BA",
  14833. -"'  c #B7B8BB",
  14834. -"]  c #BABBBD",
  14835. -"[  c #BDBEC1",
  14836. -"{  c #BFC0C3",
  14837. -"}  c #C2C3C5",
  14838. -"|  c #C7C8C7",
  14839. -" . c #C8C9C7",
  14840. -".. c #C5C6C9",
  14841. -"X. c #C8C7CB",
  14842. -"o. c #C7C8CB",
  14843. -"O. c #CACBCD",
  14844. -"+. c #CFD0CF",
  14845. -"@. c #CECED1",
  14846. -"#. c #D0CFD2",
  14847. -"$. c #CFD0D1",
  14848. -"%. c #D2D3D4",
  14849. -"&. c #D7D8D7",
  14850. -"*. c #D6D6D9",
  14851. -"=. c #D7D8D9",
  14852. -"-. c #DBDCDC",
  14853. -";. c #DFE0DF",
  14854. -":. c #DEDFE0",
  14855. -">. c #E0DFE1",
  14856. -",. c #DFE0E1",
  14857. -"<. c #E3E3E4",
  14858. -"1. c #E7E7E8",
  14859. -"2. c #E8E7E8",
  14860. -"3. c #E7E8E9",
  14861. -"4. c #EBECEC",
  14862. -"5. c #F0EFEF",
  14863. -"6. c #EEF0EF",
  14864. -"7. c #F0F0EF",
  14865. -"8. c #EFEFF0",
  14866. -"9. c #EFF0F0",
  14867. -"0. c #F4F5F6",
  14868. -"q. c #F8F7F7",
  14869. -"w. c #F7F8F7",
  14870. -"e. c #F6F7F8",
  14871. -"r. c #F8F7F8",
  14872. -"t. c #F7F8F8",
  14873. -"y. c #FDFDFE",
  14874. -"u. c None",
  14875. +"256 256 64 1 ",
  14876. +"  c #3F3F3F",
  14877. +". c #434343",
  14878. +"X c #4B4B4B",
  14879. +"o c #4F4F50",
  14880. +"O c #4F5050",
  14881. +"+ c #535353",
  14882. +"@ c #575858",
  14883. +"# c #5C5C5C",
  14884. +"$ c #5F5F60",
  14885. +"% c #5F6060",
  14886. +"& c #636363",
  14887. +"* c #6C6C6C",
  14888. +"= c #6F6F70",
  14889. +"- c #6F7070",
  14890. +"; c #737373",
  14891. +": c #7B7B7B",
  14892. +"> c #7E8081",
  14893. +", c #848484",
  14894. +"< c #868788",
  14895. +"1 c #878989",
  14896. +"2 c #8C8C8C",
  14897. +"3 c #8E8F90",
  14898. +"4 c #8F9090",
  14899. +"5 c #949494",
  14900. +"6 c #969798",
  14901. +"7 c #979899",
  14902. +"8 c #9C9C9C",
  14903. +"9 c #9F9FA1",
  14904. +"0 c #9FA0A1",
  14905. +"q c #A3A3A3",
  14906. +"w c #A6A7A9",
  14907. +"e c #A7A8AA",
  14908. +"r c #ABABAC",
  14909. +"t c #AEAFB0",
  14910. +"y c #AFB0B1",
  14911. +"u c #B3B3B4",
  14912. +"i c #B6B7B8",
  14913. +"p c #B7B8BA",
  14914. +"a c #B9BABC",
  14915. +"s c #BDBFC1",
  14916. +"d c #BFC1C2",
  14917. +"f c #C1C2C3",
  14918. +"g c #C6C7C9",
  14919. +"h c #C7C8CA",
  14920. +"j c #CCCDCE",
  14921. +"k c #CECFD0",
  14922. +"l c #CFD0D1",
  14923. +"z c #D3D3D4",
  14924. +"x c #D6D7D8",
  14925. +"c c #D7D8D9",
  14926. +"v c #DBDBDC",
  14927. +"b c #DEDFE0",
  14928. +"n c #DFE0E1",
  14929. +"m c #E3E4E4",
  14930. +"M c #E7E7E8",
  14931. +"N c #E7E8E8",
  14932. +"B c #ECECEC",
  14933. +"V c #EFEFF0",
  14934. +"C c #EFF0F0",
  14935. +"Z c #F4F4F4",
  14936. +"A c #F7F7F8",
  14937. +"S c #F7F8F8",
  14938. +"D c #FFFFFF",
  14939. +"F c None",
  14940.  /* pixels */
  14941. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14942. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14943. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14944. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14945. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14946. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14947. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14948. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : ; : : : : : : : : : < : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14949. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : > : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : ; : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14950. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : ; : : : : : : : : : : : : > : : : > : : > : : : : : : : : : : : : : : > : : : : : : : : : ; : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14951. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : ; : : > : : : : : : : : : : : > : : : : : : : : : : : : : < : : : : : > > : : : : : : : : : : : : : : > : : : ; ; : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14952. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : > u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14953. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14954. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : > : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14955. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : - : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : > : : : : : : : : : - : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14956. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : ; : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : > : : : : : : : : : : : : : : : : : : : : : : ; : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14957. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : > : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14958. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: ; : : : : : : : : : : > : : : : : : : : : : : : > > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : ; : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14959. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: ; : : : : : : : : : > : : : : : : : : : : > : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : ; : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14960. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : > > : > > : : : : : : : : : : : : : : : : : > > > : : : : : : > : : : : : : : : > : : : : : > : : : : : : > : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14961. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : > : : > : : : : : : : : : : : : : > : : : : : : : : : > : : : : : : : : : : ; ; = = = & & & & & = = = = % & & & = = & & & = & & = = ; ; : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14962. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : > : : ; ; = = = & = - : , 1 3 5 5 9 e r r r r t i i t t r r r 0 9 5 5 3 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.",
  14963. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : , : : - = & & $ = : 5 r s x S E ] %.<.4.4.4.8.8.9.9.9.0.8.9.0.0.4.0.4.4.4.4.4.<.%.] W G c p r 5 : = $ $ & = = ; , > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14964. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : > : : : : : : : : : : , , ; & $ $ @ $ 1 i c G ^  .<.y.y.y.y.y.y.y.y.y.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.1. .~ G x i 3 % @ $ $ & ; , , , : : : : : : : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14965. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: ; : : : : : : : : : : : > : : : : : : : : : : : : : : : > , ; @ O + @ , p Z !  .<.y.y.y.y.y.y.y.t.y.t.r.e.e.e.e.e.e.0.r.r.e.e.0.0.0.0.e.0.e.e.e.e.e.e.e.t.t.y.y.y.y.y.y.y.<. .! Z p > @ @ 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.",
  14966. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : > : > : : : : : : : : : : : : : : : : > > : $ o + = 5 c ~ O.4.y.y.y.y.y.t.e.e.e.0.e.0.e.e.r.t.e.e.e.e.e.e.t.t.e.e.e.t.e.t.t.e.e.e.r.t.e.e.e.e.e.e.0.e.e.e.t.y.y.y.y.y.4.O.~ c 5 & 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.",
  14967. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : > : : : : : : : : : : : : : : : : > : : : , : : - @ O ; 9 B } <.y.y.y.y.y.q.0.0.e.e.e.e.t.t.t.e.t.t.t.t.t.t.t.t.e.e.t.t.t.t.t.t.t.w.t.t.t.t.t.t.t.t.t.t.t.e.t.t.e.e.e.t.0.0.0.y.y.y.y.y.<.{ N 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.",
  14968. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.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 N ] 4.y.y.y.y.y.0.0.0.t.e.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.y.t.t.t.t.t.y.t.t.t.t.t.t.t.t.e.t.t.t.t.t.t.e.0.0.t.y.y.y.y.4.] 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.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14969. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > : : : : : > : : : : : , : = + + 1 z ~ <.y.y.y.y.t.0.0.e.e.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.y.t.y.t.t.t.t.t.t.y.r.t.y.t.t.t.t.y.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.0.0.y.y.y.y.y.<.~ z 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.",
  14970. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : > : : : : : , , % O + 9 P %.0.y.y.y.t.e.r.e.t.e.t.t.e.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.y.t.t.t.t.t.t.t.t.t.t.r.t.t.t.t.y.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.e.0.e.e.y.y.y.y.0.%.P 7 @ 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.",
  14971. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : : : > 1 & . $ y ^ <.y.y.y.t.e.e.e.t.t.t.t.t.t.t.t.t.t.t.t.t.y.t.t.t.t.t.t.t.t.t.t.t.t.t.t.y.y.t.t.y.t.t.y.t.y.t.t.t.t.t.y.t.t.t.t.t.t.t.t.y.t.t.t.t.t.t.t.t.t.t.t.r.t.e.e.0.e.w.t.y.y.y.<.~ y $ . $ 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.",
  14972. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: ; : : : > : : : : : : > : : : : : : : : : : : , = o = k } 4.y.y.t.e.e.e.e.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.y.t.y.t.y.t.y.y.t.y.t.y.t.t.t.y.t.r.t.t.r.t.y.t.y.t.y.t.y.t.y.t.y.t.y.t.y.t.t.y.t.t.t.q.y.t.t.t.t.t.t.t.t.t.t.t.e.0.0.y.y.y.4.{ z = 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.",
  14973. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : > : : : : : : : : : : : : : : : : : = @ = l O.0.y.y.t.e.e.r.r.t.t.t.e.t.t.t.t.y.t.y.t.t.r.y.t.t.t.t.y.y.t.t.r.t.r.t.r.t.q.y.t.t.t.t.t.t.y.y.t.y.t.t.t.y.y.t.y.q.t.t.r.t.t.r.t.t.t.y.t.t.y.r.r.t.t.r.t.t.t.t.t.t.r.t.t.t.t.r.r.t.y.y.t. .z = @ - : : : : : : : : : : : : : : : : : : > : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14974. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > : : : : : : : : > ; = ; x ..q.y.y.t.t.e.e.t.t.t.t.t.t.t.t.t.t.t.r.t.r.t.t.y.r.t.y.r.t.t.t.t.y.y.y.y.y.y.y.y.t.y.y.y.y.y.y.t.t.y.y.y.y.y.y.t.y.t.y.y.y.y.y.y.y.t.y.t.y.t.t.t.t.y.y.t.y.t.t.t.y.t.t.t.t.t.t.t.r.r.e.e.t.y.y.0...z : & ; : : : : : : : : : : : : > : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14975. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : > : : : : : > : : : : : : : : > : : : : $ ; k } 0.y.y.t.e.e.e.e.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.y.t.y.y.y.y.q.t.y.y.t.y.t.y.t.y.y.t.y.y.y.t.y.y.y.t.y.y.t.y.t.y.y.q.t.t.y.t.y.q.y.y.q.t.t.t.r.t.r.t.t.t.t.t.r.t.t.t.t.t.t.t.t.t.t.t.e.e.e.t.y.y.0.} d - $ ; > : : : : : : : : : : : : : : : : < : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14976. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.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 ~ 0.y.y.t.0.t.e.e.t.t.t.t.t.t.t.t.t.t.y.t.t.y.y.t.t.y.y.t.y.t.r.y.y.t.y.t.t.y.y.t.y.y.y.q.t.y.y.y.y.t.y.y.y.t.y.y.y.t.y.y.t.y.y.y.y.y.t.y.y.q.y.y.y.y.y.y.y.y.t.y.t.y.t.y.t.y.t.t.t.t.t.t.t.t.t.t.t.e.e.t.t.y.y.0.~ 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.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14977. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : > : ; % 3 K 1.y.t.t.0.t.t.t.t.t.r.t.t.t.y.t.t.r.t.r.r.y.t.t.y.t.r.t.y.y.y.y.t.y.r.y.t.y.y.y.t.y.y.t.y.y.y.q.y.y.y.y.t.y.t.y.y.y.y.t.y.y.y.y.y.y.y.y.y.y.y.y.q.t.y.r.y.t.t.y.y.r.t.y.t.t.y.t.y.r.t.t.r.t.y.t.t.t.t.t.e.e.e.e.t.t.y.<.G 5 % ; , : : : : : : : : : > : : : : : : : > : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14978. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : ; = = l %.y.y.e.e.t.e.e.t.t.t.t.t.t.t.t.t.t.t.y.t.y.t.t.y.t.t.y.y.r.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.y.r.y.r.y.y.t.r.y.y.y.y.y.y.y.y.y.y.y.y.r.y.t.y.t.t.t.t.t.y.t.y.t.t.t.t.t.t.t.t.t.t.e.e.e.t.y.y.$.z = & : : : : : : : > : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14979. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : > : : : : : : : : : : : : : : = * 7 ~ t.y.t.e.e.e.e.t.t.t.t.t.t.t.t.t.y.t.t.y.t.t.y.r.t.y.t.y.y.y.y.y.r.y.r.r.y.t.y.y.y.y.y.q.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.q.y.y.t.y.t.y.t.y.y.y.y.y.r.r.y.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.e.t.t.e.e.e.t.y.t.~ 7 & = : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14980. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : > : : : : : : < > : $ = c -.y.y.q.0.e.e.t.t.t.r.t.t.t.t.y.t.t.t.y.t.t.t.t.y.y.y.y.y.t.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.y.y.y.y.y.y.t.y.y.t.y.y.y.y.y.y.y.t.y.t.t.y.t.y.t.t.t.t.t.t.t.t.e.e.e.r.y.y.=.c ; $ ; , < : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14981. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : > : : > : : : : : : : > > = O 3 ~ y.y.t.e.e.e.e.r.t.t.t.t.t.y.t.t.t.y.r.t.t.r.y.t.y.y.r.t.t.y.y.y.y.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.t.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.t.y.y.t.y.t.y.t.y.t.y.r.r.y.t.y.y.r.t.r.t.t.y.r.r.t.t.r.r.r.e.t.y.y.~ 3 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.",
  14982. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : : : : : : : : : : : : , : @ O d =.y.y.0.e.e.e.e.t.t.t.t.t.t.t.t.t.t.t.r.t.y.y.y.y.y.t.y.y.y.y.y.r.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.0.0.4.<.:.-.*.%.%.@.@.O.@.@.%.@.&.*.-.:.<.4.9.q.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.r.y.t.t.t.t.y.t.t.t.t.t.t.t.t.t.t.e.e.0.y.y.&.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.",
  14983. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : > : : : : : : : : : : : : : > ; o = P y.y.0.0.e.e.e.t.t.t.t.t.t.r.t.r.y.y.t.r.y.r.y.r.y.r.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.0.5.<.=.O...{ ' ` _ ( ( ~ ( ~ ( ( ( ( ( ( ( ~ ~ ( ( _ ` ' { ..O.=.<.8.0.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.y.q.y.y.r.y.y.y.r.y.t.t.t.t.t.t.t.t.t.t.t.t.t.e.e.0.t.y.y.P % 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.",
  14984. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : : : : : : : : : : : : 1 = O 5 { y.y.e.0.t.t.t.t.t.t.y.t.t.t.r.y.t.t.t.y.y.t.y.y.y.y.t.y.y.y.r.y.r.y.y.y.y.y.y.y.y.r.0.2.=.O.[ ` _ ( ~ ~ ( ( _ _ _ ` ` ' ` ` ` ` ` ` ' ` ` ` ` ` ` ) ) ( ~ ~ ( ` ` [ @.=.4.0.t.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.y.y.t.y.y.t.y.y.t.y.t.y.t.t.t.t.t.t.e.t.t.t.0.r.y.y.} 3 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.",
  14985. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : > : : : : : : : , & + f <.y.y.0.e.e.t.t.t.t.t.t.t.t.r.t.t.t.y.t.y.r.y.t.y.r.y.y.r.y.y.y.y.y.y.y.y.y.y.y.r.4.-.X.' _ ) ( ( ( _ ` ' ' ' ' ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ' ' ' ` ` _ ( ~ ( ( _ [ O.*.>.0.y.y.y.y.y.y.y.y.y.r.r.y.y.y.y.t.y.r.y.y.y.r.t.y.r.r.t.t.y.t.t.t.t.t.t.e.e.t.y.<.d @ & : > : : : : > : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14986. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : : : : : : : : : : : > : @ @ Z 0.y.w.e.t.e.e.t.t.t.t.t.t.y.t.y.t.y.t.t.y.r.y.y.y.y.y.y.t.y.y.y.y.y.y.y.y.y.0.<.*..._ ( ( _ _ ` ` ' ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` [ ` ` ( Q Q E ' <.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.y.y.t.y.t.t.r.t.y.t.t.t.t.t.t.t.t.t.t.e.0.t.y.0.Z @ @ , : : : : : : : : : : : : > : : : : ; u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14987. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: > : : : : > : : : : : : : : : : > : O $ E y.y.t.0.t.t.t.t.t.t.t.t.t.t.t.t.t.t.r.y.y.y.y.y.y.y.y.r.y.y.y.y.y.y.y.y.y.4.%.[ ` ( ( _ ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ ( ( `  .:.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.r.y.y.t.y.y.t.r.y.t.t.t.y.t.t.t.r.r.t.t.0.t.y.y.E $ 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.",
  14988. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : O ; ' y.y.0.0.e.t.t.t.t.t.t.t.t.y.t.t.y.y.r.y.r.y.t.y.r.y.t.y.y.y.y.y.y.y.y.0.:.} ` ( ( _ ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ( ~ _ [ *.8.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.y.y.y.t.y.y.y.y.t.y.t.t.t.t.t.y.t.t.t.e.e.e.y.y.' ; 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.",
  14989. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > : : : : : @ 5  .y.y.0.e.e.t.t.t.t.y.t.t.t.y.t.t.y.t.r.y.t.y.t.y.y.y.y.y.y.y.y.y.y.t.8.%.[ ( ( ) ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ ( ( [ @.4.0.y.y.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.y.y.t.y.t.y.t.y.t.t.r.t.t.t.t.t.t.0.e.y.y.X.5 @ : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  14990. -"u.u.u.u.u.u.u.u.u.u.u.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 %.y.t.0.e.e.t.e.t.t.t.t.t.t.t.t.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.3.@.[ ( ( ( ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ ( ` O.<.0.y.y.y.y.y.y.y.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.r.y.q.t.y.t.t.t.y.t.t.t.t.t.r.t.e.e.t.y.%.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.u.u.u.u.",
  14991. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : > : : : : : : : : : , : @ i =.y.t.e.e.e.t.t.t.y.r.t.r.y.y.t.r.t.y.t.y.y.y.y.r.y.y.y.y.y.y.y.y.4.O.[ ( ( ) [ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` _ _ ` } -.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.t.y.y.t.y.t.t.y.t.y.t.t.t.t.t.e.e.y.y.&.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.",
  14992. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.> : : : : : : : : : : > : : : : : : + i -.y.t.t.r.e.t.t.t.t.t.t.t.y.t.t.y.y.y.y.t.y.r.y.y.y.y.y.y.y.y.y.8.@.' _ ) ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` _ ` ` ` ` ` ` ` ` ` ` _ ` ` ` ` ` ` ` ` ` ` ` ` ` ( ( _ ' %.4.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.q.r.y.y.r.t.t.r.r.t.t.e.t.e.e.0.t.y.-.i 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.",
  14993. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : > : : : : : : : : : > : , : + i :.y.t.e.e.e.t.t.t.t.t.t.t.t.t.y.t.y.t.t.y.y.r.y.y.y.y.y.y.y.y.e.%.` _ ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` } X.o.o.o.o.o. .X.o.o.o...o.o...o...o.o.o...X.o.o. ...@.*.3.e.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.r.y.y.y.y.t.y.t.y.y.y.t.t.t.t.t.t.t.t.t.e.e.t.y.<.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.",
  14994. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : @ i <.y.t.0.e.e.t.t.r.t.t.t.y.t.y.t.r.q.y.y.y.y.y.y.y.y.y.y.y.y.r.-.' ) _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` [ L 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 V Y _ ( ~ ! ! W ! W ! ! ! W ! E ! W W ! W W ! ! R P &.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.r.t.t.y.y.t.t.t.t.t.t.t.e.t.e.y.<.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.",
  14995. -"u.u.u.u.u.u.u.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.e.e.t.t.t.y.t.t.t.t.y.t.t.r.y.y.y.q.t.y.y.r.y.y.y.y.y.1.} ( ) ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` [ [ w + $ = % & = & & & & & & & & = & & & = & & & = % & & = $ $ @ @ $ $ @ $ $ $ @ $ $ @ $ $ @ $ $ $ @ $ $ . 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.q.y.y.y.t.y.y.t.t.y.t.y.t.t.t.r.t.t.e.t.y.;.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.",
  14996. -"u.u.u.u.u.u.u.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 =.y.t.0.e.t.t.e.t.t.t.t.t.y.t.t.y.y.q.y.y.y.y.y.y.y.y.y.y.0.%.` ( ` ` ` ` ` ` ` ` ` ` ` ` _ ` ` ` ` ` ` ` } R 5 = : ; ; : : ; : : : : : : : ; : : : ; : : : : ; : : ; ; : ; ; : ; ; : ; ; ; : ; ; : ; ; : ; ; ; : : o 1 ;.y.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.y.y.r.y.t.t.t.t.t.y.t.t.t.t.t.0.t.y.&.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.",
  14997. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: > : : : : : > : : : : : : > 1 : O 5 %.y.r.e.r.t.t.t.t.t.t.t.t.y.r.t.y.y.y.y.q.y.q.y.y.y.y.y.y.1.{ ) _ ` ` ' ` ` ` ` ` ` ` ` ` ` [ ` ` ` ` ` ` ` o.D < - : < > : > > : > : > : : > : > > : : > : : : : > > : < : , : : : , : < : , : > : > > : > : > > > : O g 0.y.y.y.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.y.q.y.t.t.t.r.t.t.t.t.t.t.t.e.t.y.%.5 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.",
  14998. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : O : ..y.t.e.e.r.t.t.t.t.t.t.y.t.t.t.y.t.t.y.y.y.y.y.y.y.y.y.r.%.` _ ` ` ` ` ` ` ` ` _ [ ` ` ` ` ` ` ` ` ` ` ` ` [ ..x = ; < : : > : : : : > : > > > > > : > > : > : < : > : : < > : : , : : : < > : : : : > : > : > : > > = $ U y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.9.=.=.q.y.y.y.y.y.y.y.y.r.y.y.t.y.y.t.y.y.t.t.r.t.r.t.t.r.t.y...: 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.",
  14999. -"u.u.u.u.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.t.e.e.e.e.t.t.t.t.y.y.t.t.y.y.q.y.y.y.y.q.y.y.y.y.y.8...( ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ [ ` u = : : < : : : : : : : : : : ; : : : ; : : : : ; : ; : ; ; ; ; ; ; : ; ; ; ; ; ; ; : ; ; : > : > > 1 $ = O.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.,.@.' ( ( ..0.y.y.y.y.y.y.y.y.y.y.r.y.y.t.t.t.t.t.y.t.t.t.t.e.e.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.",
  15000. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : > : : : : : : : : : : : $ $ E y.y.t.e.e.t.t.t.t.t.t.t.t.y.r.y.t.y.y.q.y.y.y.y.y.y.y.<.` ( ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ [ _ @.E 1 = : : : : ; = % % $ = % % % % & $ % % % % % = % & & & * * = = & = % = * * = = * = & & = : > > : : > + 9 <.y.y.y.y.y.y.y.y.y.y.y.y.0.4.@.[ ( ~ _ ` ` ( ' <.y.y.y.y.y.y.r.y.y.y.y.r.y.t.t.y.t.t.t.t.t.t.t.0.0.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.",
  15001. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : 1 = O G y.t.0.e.e.t.t.t.t.y.r.y.y.t.t.t.y.y.y.y.y.r.y.y.y.y.y.=._ ) ' ' ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` [ _ ` ` @.D = = 1 : : : 4 x m c c c c c c c c c c c c c n c M M N M M C N M V V N M M C N M M M M Z M 8 - > > > : @ M q.y.y.y.y.y.y.y.y.y.t.9.-.[ _ ~ ( ` ` ` ` ` ' ( ` =.t.y.y.y.y.y.y.y.y.t.t.y.t.r.t.t.t.t.t.t.t.t.t.0.0.y.y.G + = : : : : > : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15002. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : > : : : > : : : : ; + g e.y.0.0.e.t.t.t.t.t.t.r.t.t.r.y.y.y.t.y.t.y.y.y.y.y.0.O.) _ ' ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ [ [ h = ; : : : ; n y.y.y.y.y.y.y.y.y.y.y.y.y.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.r % : : > = @ / y.y.y.y.y.y.y.y.0.>. .` ( ( _ ` ` ` ` ` ` ` ` ` _ _ @.q.y.y.y.y.y.y.r.y.y.y.y.y.r.t.y.t.t.y.t.t.t.t.e.0.y.0.g 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.",
  15003. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : > : : : : : : : : : : : > : o 9 <.y.t.e.t.t.t.r.t.t.t.t.t.t.t.y.y.y.t.y.y.y.y.y.y.y.0...( ` ' ` ` ` ' ` ` ` ` ` ` ` ` ' ` ` _ [ ` ` ` ` ` ` ` ` ` 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.-.4 = > > > = : O.y.y.y.y.y.t.<.$.' _ ( _ ` ` ` ` ` ` ` ` ` ` ` ` ` _ ( ..0.y.y.y.y.y.y.y.y.t.y.y.y.t.t.y.t.t.t.t.t.t.t.0.t.y.<.5 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.",
  15004. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : > : O =  .y.t.0.e.w.t.t.t.t.r.y.t.t.y.r.y.r.t.y.y.y.y.y.y.y.0.[ ( _ ' ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ [ ` ( [ R : = 1 : < ; - &.y.y.y.y.y.y.y.y.y.y.y.y.y.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 = ; < : > @ i 2.y.y.y.4.*..._ ( _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ( [ 0.y.y.y.y.y.y.r.y.y.t.y.y.y.t.t.t.t.t.t.t.t.w.0.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.",
  15005. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : , & o P y.t.0.r.t.t.t.t.t.t.t.y.t.t.y.t.y.y.q.y.r.y.y.y.y.9.' ( ` ` ` ' ` ` ` ` ` ` ` ' ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ( ~ ' *.J = = > : > = u 4.y.y.y.y.y.y.y.y.y.y.y.y.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.k @ > > : : + G y.9.:.} ` ( ( _ ` ' ` ` ` ` ' ` ` ` ` ` ` ' ` ` ` ` ` ` ` ~ ' 6.y.y.y.y.y.r.y.y.y.t.y.y.t.t.t.t.t.t.t.t.t.t.e.t.y.Y 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.",
  15006. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : : > : : : : : , ; O g y.y.0.e.t.t.t.t.t.t.y.t.y.t.y.q.y.y.y.y.y.y.y.y.y.8.' ( ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` _ ( ( [ @.0.y.M @ : : > : @ F y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.9 @ , : > ; = T 1.[ ( ( ( ` ' ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ' ` ` ` ( ' 4.y.y.y.y.y.r.y.y.r.y.r.y.t.y.t.y.r.t.t.t.t.e.e.y.t.g 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.",
  15007. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : > $ 5 <.y.0.0.t.t.t.t.y.t.y.t.r.t.y.y.y.t.y.y.y.y.y.y.y.4.' ( ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` ` ` ' ' ` _ _ ( ' O.<.0.y.y.q.r 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.} < = , > > = 4 P [ ( _ ` ` ` ' ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ' ( ' 9.y.y.y.y.y.y.y.y.y.y.y.y.r.t.t.y.y.r.t.t.t.r.e.y.<.5 $ : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15008. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : > : : : : : : : : : = ; _ y.r.e.e.t.t.y.t.t.t.t.t.y.t.y.t.y.y.y.r.y.y.y.y.4.' ( ` ' ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ' ` _ ( _ ` ..-.8.y.y.y.y.y.O.> $ , : > - 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.L # : : > , $ w ( [ ` ` ` ` ` ` ` ` ` ' ` ` ' ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ' ' ( ' 4.y.y.y.y.y.y.y.r.y.t.y.y.t.t.t.t.t.t.t.t.t.w.t.y._ ; = : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15009. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : $ b y.t.0.e.e.t.t.t.y.t.r.y.y.t.y.y.y.y.t.y.y.y.y.y.8.' ( ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ) ~ _ [ %.4.e.y.y.y.y.y.y.y.U & ; > : > @ d 0.y.y.y.y.y.y.y.y.y.y.y.y.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.x + > : : : $ d ..[ _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ' ` ` ` ' ` ( ' 8.y.y.y.y.y.y.y.r.y.y.y.r.y.y.r.t.t.t.t.t.e.e.t.y.M & : : : > : : : : : > : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15010. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : = 9 <.y.0.e.e.t.t.t.t.r.t.t.t.t.y.r.y.y.y.y.y.y.y.y.9.' ~ ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ( ( ' O.<.0.y.y.y.y.y.y.y.y.y.y.l O > : > : + Z y.y.y.y.y.y.y.y.y.y.y.y.y.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 & , : , - : B ..[ ` ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ' ` ( ' 9.y.y.y.y.y.y.y.y.y.t.y.t.t.y.t.t.t.t.t.e.r.e.y.<.7 & > : : : : : : : : : : : > : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15011. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : > : : : > : : : : : : : ; = _ y.t.q.e.r.t.t.t.t.t.t.y.t.y.t.y.y.y.t.y.y.y.y.9.{ ( ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ ( ` ..-.0.y.y.y.y.y.y.y.y.y.y.y.y.<.r $ > > > ; ; ` y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.' = : : : 1 $ 2 E ..` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ( { 9.y.y.y.y.y.r.t.y.y.t.y.t.t.t.t.y.t.t.t.e.e.t.y._ = ; : : : : : : : : : : : : : : ; u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15012. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : , : : $ c y.y.0.t.e.t.t.t.t.t.t.y.t.r.y.y.t.y.y.y.y.y.y.q...( ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` _ ` _ } =.4.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.] : = > > > % 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.K # < : : : * w [ } ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` _ ( ..0.y.y.y.y.y.y.y.y.y.t.y.t.y.t.t.t.t.t.t.e.e.y.t.c $ : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15013. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : & 6 &.y.e.r.r.t.t.t.r.t.t.t.t.y.y.y.t.y.y.r.y.y.y.t.@.( ` ` ` ` ` ` ` ` ` ` ` ` ` _ _ ` [ #.4.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.P @ : : : > @ d 0.y.y.y.y.y.y.y.y.y.y.y.y.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.d = : > > ; = z } [ ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ) _ '  .,.y.y.y.y.y.y.y.r.y.y.t.r.t.y.t.y.t.t.t.t.r.e.t.y.%.5 = : : : : > : : : : : : : : : ; u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15014. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : > : : : : : : : : : : ; % J y.t.e.e.r.t.t.t.r.y.t.y.t.t.y.y.r.y.y.y.y.y.y.*.( ` ` ` ` ` ` ` ` ` ` ` _ ( _ [ ..:.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.l @ : : : : = G 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.-.4 ; > : > = - K o.` ` ` ` ` ` ` ' ` ` ` ` ` ' ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ) ) ` } &.0.y.y.y.y.y.y.y.y.y.y.r.y.y.y.y.t.t.t.t.t.t.t.t.e.t.t.y.P $ ; : : : : : : : : > : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15015. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : > : : : > : : % t <.y.0.t.e.t.t.t.t.t.t.y.t.y.y.t.y.y.y.y.y.y.y.<._ _ [ ` ` ` ` ` ` ` _ _ ( ` ..*.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.&.6 & > > > = : ..y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.[ = : > : > % 1 ( o.` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` _ ( _ } %.1.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.y.r.t.y.t.t.y.t.r.t.e.e.y.<.r $ : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15016. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : - ; _ y.t.t.t.e.t.r.y.t.t.t.r.y.t.y.y.y.r.y.y.y.y.4.' ( ` ` ` ` ` ` ` _ _ _ } %.4.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.] $ = > : 1 & 5 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.Z ; : > : ; = u [ } _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ _ _ ' @.:.e.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.t.y.t.r.t.t.t.t.t.e.t.y.` ; ; : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15017. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : > * z t.t.e.r.t.t.t.t.t.t.y.t.y.y.t.y.y.y.r.y.y.y.t...( ` ` ` ` ` _ _ _ ' @.<.e.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.S @ ; , : : = k 0.y.y.y.y.y.y.y.y.y.y.y.y.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.u ; : : > - = m o.' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ _ ` ` ..-.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.t.y.t.y.r.y.t.t.t.t.t.e.e.t.e.z & > : : : : : : : > > : : , : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15018. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : , - : o.y.r.e.r.t.t.t.t.t.t.t.y.r.y.y.r.y.y.y.y.y.y.&.( ' ` ` _ ( _ ' o.-.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.i @ : > : ; = ! 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.=.4 ; : > > = ; Y @.` ` ` ` ` ' ` ` ` ` ` ` ` ' ` ` ` ' ' ` _ _ _ ` [ &.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.y.y.t.t.t.t.y.t.t.t.t.t.t.y. .: = > > : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15019. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : > : : : : : : : : : : 1 # v t.y.e.r.t.t.t.t.t.t.t.y.t.y.t.y.y.y.y.y.y.y.1.` _ _ ( ( _ } %.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.%.: $ 1 : 1 = - %.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.~ , : : : : = 6 ~ ..` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ ) ( ) [ @.<.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.q.y.y.y.t.t.y.t.t.t.t.t.t.e.y.t.c @ , : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15020. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : : : : : : : > = - o.y.t.e.e.t.t.t.y.t.t.t.r.y.r.y.y.t.y.y.y.y.q.[ Q ( ( [ %.<.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.' $ % 1 : 1 = 0 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.c ; : > : ; = a } ' ` ` ` ` ` ` ` ` ' ` ` ` ' ' ` ( ( ( ` O.-.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.y.y.t.y.y.y.t.t.t.t.t.t.t.e.t.y. .; = , : : : : : : : : : : : : ; u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15021. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : , o c t.y.e.e.r.t.t.t.t.t.t.t.y.y.y.y.t.y.y.y.y.t...E ` o.<.0.y.y.y.y.y.y.y.y.y.y.y.y.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 O ; , : , $ M q.y.y.y.y.y.y.y.y.y.y.y.y.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.i = : : 1 = = M @._ ` ` ` ` ` ` ` ` ` ` ` ' _ ( ( _ } -.4.y.y.y.y.y.y.y.y.y.y.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.y.r.t.t.t.t.t.t.t.e.e.y.t.c . 1 : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15022. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : > : : > , $ - %.y.t.r.e.t.t.t.t.y.t.y.r.y.r.y.y.y.y.y.y.y.1.[ %.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.9 o 1 : : > + _ y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y. .6 = : : : ; 1 P ..` ` ` ` ` ` ` ` ' ` ` _ ( _ ' @.4.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.t.r.y.y.r.t.t.y.t.t.r.e.t.y.@.- $ > : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15023. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : . l y.y.e.e.t.t.t.t.t.t.t.y.y.r.y.r.y.y.y.y.y.y.9.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.%.; @ , : > ; > &.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.P ; ; : > : = r _ [ ` ` ` ` ` ' ` ` _ ) ( ] O.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.y.t.y.t.t.t.y.t.t.e.y.y.l . > : : : : > : : : : : : > : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15024. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : > : : : : : : , $ & ..y.t.e.e.e.t.t.t.t.y.t.t.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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 @ - , > , @ s 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.c @ : > : : = d } ` ` ` ` ' ` _ ) ( _ ..-.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.t.r.y.t.t.t.t.t.e.t.y.} % $ 1 : : : : : > : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15025. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : o i q.y.e.t.t.r.t.t.t.y.t.r.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.k . , > : 1 . Z y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.i $ : , , ; : M } ` ` ` _ ( ( _ [ %.4.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.r.t.y.t.t.t.t.t.t.t.y.0.i o , : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15026. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > & $ _ y.t.e.e.t.t.t.y.t.y.t.r.y.t.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.0 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.] 1 = : : : ; 3 Y [ ` _ ( ( ` O.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.t.y.t.y.y.t.y.t.t.t.r.t.e.t.y._ @ & < : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15027. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : > : : : : : : : : : : @ q 2.y.e.r.t.t.t.t.y.t.t.t.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. .= = 1 > < @ 3 =.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.Y @ ; 1 : : ; 0 ` ` ( _ o.-.8.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.r.y.y.t.t.t.t.t.t.t.t.t.r.y.4.0 @ : : : : : : : : : : : : : - u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15028. -"u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : > : : : : > > ; @ U y.y.t.t.t.t.t.t.t.t.t.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.0.N O : : > 1 . a 0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.x $ ; : , : ; d ` ..%.8.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.r.y.y.t.y.t.t.t.t.t.t.y.y.U @ - > : : : > : : : > : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15029. -"u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : % 2 &.y.0.t.t.t.t.t.t.r.t.r.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.0.-.%.` r $ , : , : o G y.y.y.y.y.y.y.y.y.y.y.y.y.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 % : > : ; : R 8.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.0.y.y.y.y.y.r.t.y.t.q.t.t.t.t.t.t.t.t.0.y.&.2 $ : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15030. -"u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : + c t.y.0.t.t.t.t.y.t.y.t.r.y.r.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.<.@.[ ' ' P 3 = > : , $ = ] y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.} = & , : > = 3 ;.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.%.[ $.y.y.y.y.y.y.y.y.y.y.y.r.y.t.t.t.t.t.w.y.t.c @ : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15031. -"u.u.u.u.u.u.u.u.u.u.u.u.: : : : : > : : : : : : : > = - _ y.y.0.t.t.t.t.t.y.t.t.y.t.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.e.4.=.{ ' _ ` ' } Z = : , : 1 o 3 <.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.P $ = > > : = d y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.-.o.' ` ( ' 4.y.y.y.y.y.y.r.t.y.t.y.t.t.t.t.t.t.w.t.y._ - = : : : > : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.",
  15032. -"u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : > : : > : > + r 2.y.e.e.t.t.t.t.t.t.t.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.0.-...` _ ` ` ` ` ' ' z = , : : > o h 0.y.y.y.y.y.y.y.y.y.y.y.y.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.d $ : > > ; = P y.y.y.y.y.y.y.y.y.y.y.y.y.t.4.y.y.y.y.y.y.y.y.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.<.O.' _ _ ` ` ` ( $.y.y.y.y.r.y.y.y.r.y.t.y.t.y.t.t.t.e.e.y.2.r + , : : : : : > : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.",
  15033. -"u.u.u.u.u.u.u.u.u.u.u.u.> : : : : : : : : : : : : : + B y.y.e.t.t.t.t.t.t.t.t.t.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.>.O.' ( _ ` ` ` ` ` ` [ ( w = : , , = $ R y.y.y.y.y.y.y.y.y.y.y.y.y.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 $ > : > ; = ..y.y.y.y.y.y.y.y.y.y.q.<.E k } y.y.y.y.y.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.4.%.[ _ ) _ ' ' ` ` ` _ ' 4.y.y.y.y.y.y.y.y.y.r.t.t.t.t.t.t.t.e.y.y.N O : : : : : : : > : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.",
  15034. -"u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > $ : [ y.t.e.t.t.t.t.y.t.y.t.y.y.t.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.r.4.%.[ _ ( _ ` ` ` ` ` ` ` ` [ Y > : : : 1 $ = 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.' = = : > : = 7 <.y.y.y.y.y.y.y.y.4. .b 9 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.t.0.=...' ( ( ` ' ` ` ' ` ` ' _ ( %.y.y.y.y.y.t.t.y.y.t.y.t.r.y.t.t.t.0.y.y.} ; $ > : > : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.",
  15035. -"u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : , o r 0.y.e.e.t.t.t.t.r.y.t.t.y.q.y.y.y.y.y.y.y.y.y.y.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.8.=.} _ ) _ _ ' ` ` ` ` ` ` ` ` ' ' C - : : : , @ 0 <.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.V % ; , : : % c y.y.y.y.y.y.0.&.U r : $ $ + k 0.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.,.o.` _ ( _ ` ` ` ` ` ` ` ` ` ` ` ( ' 0.y.y.y.y.y.y.y.y.y.t.t.t.y.r.t.t.e.t.y.0.q O , : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.",
  15036. -"u.u.u.u.u.u.u.u.u.u.u.: : : : : : > : : : : : , = + Z y.y.0.e.t.t.t.t.r.y.t.q.y.y.y.q.y.y.y.y.y.y.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.<. .` _ _ _ ` ' ` ` ` ` ` ` ` ` ` ` [ ` d - : : , ; + M 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.u @ , : : : @ U y.y.y.y.<./ k : & & = : : = P 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.t.y.t.y.t.y.t.t.r.t.t.t.0.y.y.Z @ = > : : : : : : : : : : > : u.u.u.u.u.u.u.u.u.u.u.",
  15037. -"u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : > : , @ = ..y.t.e.e.t.t.t.t.t.y.t.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.t.<.@.[ ) ) ` ` ` ` ' ` ` ` ` ` ` ` ` ' ` ` ' _ 6 = , : , = # ( y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.-.3 & > : > = 2 =.y.4.} Z 7 + @ ; : > > > = , O.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.4.*.} ) ( ` ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ~ ..y.y.y.y.r.y.y.t.y.y.t.y.t.t.t.t.t.e.t.y...= @ , : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.",
  15038. -"u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : , O 5 4.y.0.e.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.t.4.%.{ _ ~ _ ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ' [ Y , - , > > & : 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.! ; ; > > : = a O.U t = X % , > > > > : > & 7 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.-...` ~ _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ' _ ` 4.y.y.y.y.y.r.y.t.y.r.t.t.y.t.t.t.t.0.y.1.5 O : : : : : : : : : > : : : : u.u.u.u.u.u.u.u.u.u.",
  15039. -"u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : , ; @ b y.y.e.r.t.t.t.t.t.t.t.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.8.<.} ` ( ~ _ ` ' ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ' [ c ; : , : : $ p 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.c # : : > : : 3 3 @ X & > > > : : : > > : = c 0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.<.O.` ( ~ ) ` ' ` ' ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ( %.y.y.y.y.y.y.y.y.y.r.t.y.t.t.t.t.t.e.y.t.M + - > : : > : : : : : : : : : u.u.u.u.u.u.u.u.u.u.",
  15040. -"u.u.u.u.u.u.u.u.u.u.: : : : : : : : > : : : , $ $ _ y.t.t.t.t.t.y.t.t.y.r.y.y.r.r.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.1.@.` ( ~ ( ` ' ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` [ [ u = : : > ; + G y.y.y.y.y.y.y.y.y.y.y.y.y.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.i $ : > : > , - @ - 1 1 > > > > > > > > ; = ^ y.y.y.y.y.y.y.y.y.y.y.y.t.4.*.[ _ ( ( ` ' ' ` ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` ` ` ` ' ' ~ { r.y.y.y.y.r.t.y.y.y.t.t.r.y.t.t.t.e.y.y._ @ % > : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.",
  15041. -"u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : $ 1 %.y.0.t.t.t.t.t.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.1.%.{ ) ( ( _ ' ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ' [ ( 5 = > > , ; % ) y.y.y.y.y.y.y.y.y.y.y.y.y.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 = : : : : > > , > > > > > : > > : > > - ; &.y.y.y.y.y.y.y.y.y.y.8.-.o._ ( ( _ ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ' _ ` 1.y.y.y.y.y.y.y.r.y.t.t.y.t.t.t.t.t.0.y.%., $ : : : : : : > : > : > : : u.u.u.u.u.u.u.u.u.u.",
  15042. -"u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : $ a 4.y.0.t.t.t.t.t.t.r.y.y.t.y.t.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.*...` ( ( _ ` ' ' ` ` ` ` ` ' ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ` ' { G 1 ; : : > % 5 %.y.y.y.y.y.y.y.y.y.y.y.y.y.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 $ = 1 : 1 > : > : > : > 1 : : > > > : > = r 4.y.y.y.y.y.y.y.q.:.O.' ) ( _ ` ' ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ' ` ` ` ` ' ` ` ` ` ` ` ` ' ` ( &.y.y.y.y.y.y.y.y.r.y.t.t.t.t.t.t.t.0.y.6.p $ ; > : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.",
  15043. -"u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : = @ A y.y.t.t.t.t.t.y.t.y.t.t.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.<. .' _ ( _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ' ` ` ` ` ` ` ' ..x = : : > , + s 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.M @ : , : : : : > > > 1 ; X O : , > > > > @ B t.y.y.y.y.r.4.%.] _ ( _ ` ` ' ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ' ` ` ` ` ) } 0.y.y.y.y.y.r.y.t.y.r.y.t.t.t.t.t.0.y.y.Z + - > : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.",
  15044. -"u.u.u.u.u.u.u.u.u.: : > : : : : : : : : : , = & ~ y.0.0.t.r.t.t.r.t.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.e.1.&.' _ ( ( ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ' ` ` [ ' i % : < > : + D y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.:.r $ : : : : > > > > = X + i M 3 & > : > > @ ` y.y.y.4.-.} _ ( ( ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` _ ` 4.y.y.y.y.y.y.y.y.y.t.t.t.t.y.t.t.t.0.y.~ & = > : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.",
  15045. -"u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : & 3  .y.e.t.t.t.t.t.y.t.q.y.q.y.q.y.y.y.y.y.y.y.y.y.y.4.=...` ( ( _ ` ' ' ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` [ E 5 = , : > = : ] y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.} = % : : 1 : : ; = @ 1 x / 0.>., + 1 : : = 3 *.t.<.O.` ( ( _ ` ' ` ` ` ` ' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ) -.y.y.y.y.q.y.y.y.q.y.t.y.t.y.t.q.t.0.y. .3 & : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.",
  15046. -"u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : $ p 4.y.e.t.t.t.t.y.r.t.r.y.y.y.y.y.y.y.y.y.y.y.0.:. .' _ ) _ _ ` ' ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` } D ; : : : , + 5 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.R # = 1 1 - = * = u R %.0.y.y.! # = 1 > 1 $ i ..@._ _ ) _ ` ' ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ( o.t.y.y.y.y.y.y.q.q.y.t.r.t.t.t.t.t.e.y.4.i % : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.",
  15047. -"u.u.u.u.u.u.u.u.: : : : : : : : : > : : : ; $ c y.t.r.t.t.t.t.t.t.t.t.y.q.y.t.y.r.y.y.y.1.O.[ ` ( _ ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ' ` ` ` ` ' ` ` ` ' ` ` ` ` ' ` ` ` ` ' ` ` ' [ x & : : , : + d y.y.y.y.y.y.y.y.y.y.y.y.y.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.k @ : = # ; 5 M ..4.y.y.y.y.t.k . : : > > @ k [ ` _ ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ' _ _ ~ ' 0.y.y.y.r.y.y.y.y.t.t.y.t.y.t.t.t.e.y.y.x $ ; : : > : : : : : : : : : : u.u.u.u.u.u.u.u.",
  15048. -"u.u.u.u.u.u.u.u.: : : : : : : : : : : : : ; = G y.t.r.t.t.t.t.t.t.y.t.y.t.y.y.y.y.y.y.4._ ( _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` [ ) i = : : > = $ P y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.-.1   # 1 d ~ 4.0.y.y.y.y.y.y.<.9 O 1 : > : = M } ' ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' _ ( _ [ @.1.y.y.y.y.y.y.y.t.q.y.y.t.t.t.t.t.t.e.e.y.G = ; : : : : : : : : : : : : : u.u.u.u.u.u.u.u.",
  15049. -"u.u.u.u.u.u.u.u.: : : : : : : : : : : : : - > ~ y.t.e.t.t.t.t.t.t.t.y.y.y.t.y.y.y.y.y.=.( _ ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` [ R 1 ; : > 1 $ - 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.) O 8 L %.0.y.y.y.y.y.y.y.y.y.] = = , : > & 3 R } ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` _ _ ( ' O.<.0.y.y.y.y.y.y.y.y.y.y.y.t.y.y.y.t.t.t.t.t.t.y.~ > = : : : : : : : : : : > : : u.u.u.u.u.u.u.u.",
  15050. -"u.u.u.u.u.u.u.u.: : : : : : : : > : : : : = 5 O.y.r.e.t.t.t.t.y.y.t.t.y.y.t.y.y.y.y.t.o.( ` ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` [ D - : , : , @ 9 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.o.) 4.y.y.y.y.y.y.y.y.y.y.y.y.P X , : : , @ w ' [ ` ` ` ` ` ' ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ' ` ` ' ` ` ' ` ` ` ` ` ` ` ` ` ` ` _ ` ..-.0.y.y.y.y.y.y.y.y.y.y.r.r.y.y.y.t.t.t.t.t.t.t.t.t.y. .5 = : : : : : : : : : : : : : u.u.u.u.u.u.u.u.",
  15051. -"u.u.u.u.u.u.u.u.: : : : : : : : : : : : : = r <.y.e.e.t.t.t.t.t.t.r.y.t.y.y.y.y.y.y.0.[ ( ' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ _ [ ..n = : : > ; @ M y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.h O 1 : < : % k } } ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ ` ' } *.4.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.y.t.t.t.t.y.t.t.t.y.<.r & : : : > : : : : : : : : ; u.u.u.u.u.u.u.u.",
  15052. -"u.u.u.u.u.u.u.u.: : : : : > : : : : : : : $ p y.y.0.t.t.t.y.t.t.t.r.y.y.t.y.y.y.y.y.8.` ( ' ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ' ` ` ' ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` _ ` _ ( ` { %.0.9.p ; : : , = $ ~ y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.*.3 = < : < = ; G } ' ` ` ` ' ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ' ` _ _ ( ` [ O.<.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.y.t.y.t.t.t.t.t.e.y.y.p % : : : : : : : : < : : : : u.u.u.u.u.u.u.u.",
  15053. -"u.u.u.u.u.u.u.u.: : > : : : : : : : : : : = x y.y.0.e.e.t.t.t.y.y.t.y.r.y.t.y.y.y.y.<._ _ ' ` ` ` ' ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ' ` ` ' ` _ _ ( _ [ #.<.t.y.y.-.5 ; > : , $ :  .y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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 ( ..` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ' _ _ _ ( ' O.-.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.t.y.t.t.t.t.t.e.y.y.x = ; : : : > : : : : : : : : u.u.u.u.u.u.u.u.",
  15054. -"u.u.u.u.u.u.u.: : : : : : : : : : : : : ; - G y.y.e.e.e.t.t.t.t.t.y.y.t.y.y.y.y.y.y.=.( ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ' ` ` ` ' ` _ ) ( ` O.-.0.y.y.y.y.y.~ , ; : > : $ i 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.K $ , : : : $ r ] } ` ` ` ` ` ` ` ` ` ` ' ` ` ` ' ` ` ' ` ` ` ` ` ` ` ` ` ` ` _ ) ( _ } *.4.y.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.q.t.t.t.t.t.t.t.y.y.Z ; ; : : : : : : : : : : : : : u.u.u.u.u.u.u.",
  15055. -"u.u.u.u.u.u.u.: : : : : : : : > : : : : - : E y.t.r.t.t.t.y.t.y.t.y.y.y.y.y.y.y.y.y.O.~ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ) ( ` [ -.4.y.y.y.y.y.y.y.y.b - : > > - + Z y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.p = , , , - = n } ' ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ( ( _ [ %.4.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.t.y.y.y.y.t.y.t.t.t.t.t.y.W : ; : : : : : : : : : : : : : u.u.u.u.u.u.u.",
  15056. -"u.u.u.u.u.u.u.: : : : : : : : : : : > : = , ] y.t.e.t.t.t.t.t.t.y.t.t.y.r.y.r.y.y.t...~ ' ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` _ ( _ [ $.4.t.y.y.y.y.y.y.y.y.y.0.r = : > > = = ( y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.-.: = : : , & = Y ..' ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` _ _ ` ' X.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.t.t.t.t.t.t.t.t.t.y.' 1 = : : : : : : : : : : : , : u.u.u.u.u.u.u.",
  15057. -"u.u.u.u.u.u.u.: : : : : : : : : : : : > = 1 %.y.e.e.e.t.t.t.t.t.r.y.y.t.y.r.y.y.y.0.} ( ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ) ( _ [ O.,.t.y.y.y.y.y.y.y.y.y.y.y.y. .5 - : : : = 5 %.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.` = ; : 1 : * 5 ( o.` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ' ' ' ` _ ) ( ` X.-.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.t.y.y.t.t.y.t.y.0.t.y.%.1 = : : : : : : : : : > : : : u.u.u.u.u.u.u.",
  15058. -"u.u.u.u.u.u.: : : : : > : : : : : : : : & 3 -.y.e.e.e.e.t.y.t.t.t.r.y.y.y.y.y.y.y.8.' ) ' ` ` ` ' ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ' ` ) ( ( ) ..-.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.P ; ; > : : $ f 0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.M & : : : ; = a ' [ ` ` ' ` ` ` ` ' ` ` ` ` ` ` ' ` ` ' ' _ ( ) _ } %.1.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.t.t.t.t.t.t.t.w.0.y.-.2 = , : : : : > : : : : : : : : u.u.u.u.u.u.",
  15059. -"u.u.u.u.u.u.: : : : : : : : : : : : : > & 5 4.y.e.e.t.t.t.t.t.y.t.y.r.y.y.y.y.y.y.4.` _ ' ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ` ' ` _ ( ~ _ ] %.4.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.v $ : : > ; % C y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.e % > : 1 - * V } ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ( ~ ( ` O.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.t.y.q.y.y.t.t.t.t.t.t.t.y.1.3 & : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15060. -"u.u.u.u.u.u.: ; : : : : > : > : : : : : & 6 4.y.e.t.t.t.r.y.t.y.t.y.y.y.r.y.y.y.y.1._ _ ' ` ` ` ` ` ` ` ` ` ` ' ` ` ` ' ` _ ( ( ' O.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.<.e * : > > - , _ y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.y.t.t.t.t.e.0.y.4.5 = : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15061. -"u.u.u.u.u.u.: : : : : : : : : : : : : > % 9 4.y.0.e.t.t.t.t.y.t.y.y.t.y.y.y.y.y.y.>._ _ ' ` ` ` ` ' ` ` ` ` ` ` ` ` ` ( ( ` ..-.0.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.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.<.' d - : : 1 : = w ( } ` ` ` ` ` ` ' ` ` ` ' ` ` _ ~ _ { &.4.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.t.y.t.t.t.t.r.y.4.7 % : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15062. -"u.u.u.u.u.u.: : : : : : : : : : : : : : & 9 4.y.e.e.t.t.t.t.r.t.t.y.t.y.t.y.y.y.y.-.~ ` ` ` ` ` ` ` ` ` ` ' ` ` _ ( _ } =.4.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.3./ M 5 @ $ : : : > : = d y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y...L u = $ : , , : : & h [ ' ` ` ` ` ` ` ` ' ` ` _ ( ( ' @.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.t.t.t.t.t.e.e.y.4.9 = : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15063. -"u.u.u.u.u.u.: : : : : : : : > : : : : : = 0 4.y.e.e.t.t.y.r.t.y.y.t.y.y.y.y.y.y.y.*.~ ` ` ` ` ` ` ` ` ' ` ( ) _ ' #.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.} N r = @ $ & : > > > : ; ; K y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.<.P d 2 @ @ & ; < : : : ; = V ..' ` ` ` ` ` ' ` _ ( ( ` o.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.y.t.t.y.y.y.t.t.t.r.t.e.y.4.0 & : : : : : : : : : : : > : : u.u.u.u.u.u.",
  15064. -"u.u.u.u.u.u.: : : : : : : : : : : : : : & e 8.y.0.t.t.t.t.t.t.t.t.y.t.y.y.y.y.y.y.*.~ ' ` ` ` ` ` ` ` ( _ ' ..<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.&.J y , % $ = ; : > > : : > , : > ..y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.] x 9 = $ = - : , , : : : 1 = 3 Y } ` ` ` ` ' ` ) ( ` { =.4.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.t.t.t.t.t.t.e.e.y.4.0 & : : : : > : > : : : : : : : u.u.u.u.u.u.",
  15065. -"u.u.u.u.u.u.: : : : : : : : : : : : : : & q 4.y.e.e.t.t.t.y.y.t.y.y.y.y.t.y.y.y.y.%.~ ` ` ` ` ` _ ( _ } %.9.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.-.~ a , & & = : : , , : > : > : , : o : 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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...Z 5 = = & ; : : > > : : : : 1 : O 8 ` } ` ` ` ` ~ ) { @.4.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.r.y.y.y.t.y.t.t.t.t.t.t.t.y.4.r = : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15066. -"u.u.u.u.u.u.: : : : : : : : : : : : : : & r 8.y.e.e.t.t.t.t.t.t.t.t.t.y.y.y.y.y.y.%.( ` ` ` ) ( [ $.4.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.~ 3 % & & - > , : : > : > > : : ; @ = p ~ y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.%.P p = $ = = : > > > > : : > < : : = & 2 C } [ _ _ ( ' O.-.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.t.y.t.t.y.t.t.t.t.e.y.4.r & : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15067. -"u.u.u.u.u.u.: : : : : : > : : : > : : : & r 4.y.0.e.t.t.t.t.y.y.y.y.t.y.y.q.y.y.y.@.~ ` ) ` @.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.q $ - , > > : : : : : : : ; - = 9 Z { 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.c : $ $ = ; > > : : > : > > : : ; - 1 s C Q [ ` _ _ ..:.0.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.r.y.y.y.y.y.y.y.y.t.y.t.t.y.t.t.t.e.y.4.r % > : : : > : : : : : : : : : u.u.u.u.u.u.",
  15068. -"u.u.u.u.u.u.: : : : : : : : : : : : : : & r 8.y.e.e.t.t.t.t.t.t.t.y.y.y.y.y.y.y.y.@.~ ..:.8.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.%.1 ; , > > : , > : : = = ; 3 z ] <.q.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y._ # @ : : > , : > : : : : ; = ; 1 r n Y _ [ [ [ [ %.4.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.t.y.y.y.t.t.t.t.t.t.e.y.4.r = : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15069. -"u.u.u.u.u.u.: : : : : : : : : : : : : : & r 9.y.e.e.t.y.t.t.y.t.t.r.t.y.r.y.y.y.y.<.<.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.W > : : : : : : = @ & 3 i P <.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.C + : > > : : 1 : : : - = : 8 h K _ ` ` ` [ @.<.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.e.3.$.[ ' Q @.y.y.y.y.y.q.y.y.q.y.t.q.t.t.t.t.r.y.9.r = : : : : : : : : : : > : : : u.u.u.u.u.u.",
  15070. -"u.u.u.u.u.u.: : : : > : : > : : : : : : = r 8.y.e.e.t.t.t.t.r.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.c = : > > > : $ - i D  .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.4.i O > > : < : ; ; = = 3 d Z ( [ _ _ [ O.-.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.=.{ ) _ ` ` ( %.y.y.y.y.t.y.y.t.y.y.t.y.t.t.t.t.0.y.4.w & : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15071. -"u.u.u.u.u.u.: : : : : : : : : : : : : : $ r 9.y.e.e.t.t.y.r.y.r.t.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.0.r = : : : : ; h ' 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.&.4 % , : > 1 ; = ; r M R [ [ _ _ } =.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.q.y.t.t.t.t.t.t.t.t.y.4.0 & : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15072. -"u.u.u.u.u.u.: : : : : : : : : : : : : : & 0 4.y.e.e.t.t.t.t.t.t.t.y.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.} 3 - > : > % 5 =.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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 $ : > : > = 1 z Y _ ..[ ` [ %.1.e.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.<.O.' ( ( ` ' ` ` ` ` ' ~ %.y.y.y.y.y.t.y.y.y.y.t.y.t.t.t.t.0.y.4.0 = : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15073. -"u.u.u.u.u.u.: : : : : > > : : : : : : : % 0 4.y.e.e.e.t.t.t.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.J - : : > : $ k 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.t.M X 1 : > > $ i } O.' ' X.<.e.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.4.%.[ _ ( _ ' ' ` ` ` ` ` ` ` ~ =.y.y.y.y.y.y.y.y.t.y.t.t.t.t.t.t.0.y.4.0 & : : : : : , : : : : : : : : u.u.u.u.u.u.",
  15074. -"u.u.u.u.u.u.: : : : : : : : : : : : : : = 9 4.y.0.e.t.t.t.t.t.t.t.y.t.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.l $ : > : : $ Z y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.r $ > > > ; & c O.O.*.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.-..._ _ ( _ ` ' ` ` ' ` ` ` ` ` ` ( -.y.y.y.y.t.t.y.y.t.t.t.y.t.y.t.t.0.y.4.9 = : : > : : : : : : : : : > : u.u.u.u.u.u.",
  15075. -"u.u.u.u.u.u.: ; : : : : : : : : : : : : & 9 4.y.e.e.t.t.t.y.t.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.<.w = : : > - , ' y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.O.- ; > : 1 $ : ` 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.0.<.O.' ( _ _ ` ' ' ` ` ` ` ` ` ` ` ` ` ` ( :.y.y.y.y.y.y.t.y.y.y.t.y.t.t.t.t.e.y.4.6 = : : : : : : : : : , : : ; : u.u.u.u.u.u.",
  15076. -"u.u.u.u.u.u.: : : : : : : : : : : : : : & 6 4.y.e.r.t.t.t.t.t.t.t.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.` - - > : > & 0 <.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.! + , : : 1 X q 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.t.3.@.[ ) ~ _ ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` _ <.y.y.y.y.y.y.y.y.t.y.t.t.t.t.t.t.0.y.4.5 = : : : : : : : : : : : : ; : u.u.u.u.u.u.",
  15077. -"u.u.u.u.u.u.: : : : : : : : : : : : : : = 3 4.y.0.t.t.t.t.t.y.t.y.t.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.K @ ; , : : % d y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.c $ , > > ; + Z y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.4.=.} _ ~ ( ` ' ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ' _ ` 1.y.y.t.y.y.y.y.y.y.t.t.y.t.t.y.e.e.y.4.3 = : : : : : : : : : : : : : : u.u.u.u.u.u.",
  15078. -"u.u.u.u.u.u.: : : : > : : : : : : : : : = 2 <.y.0.e.t.t.t.t.t.t.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.g $ : > , ; = P y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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 ; , > , $ & ] y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.<.o.` ( ~ ) ` ` ` ' ` ` ' ` ` ` ` ` ' ` ` ` ` ` ' ` ' ) ' 0.y.y.y.y.y.y.t.y.t.y.t.t.t.t.t.e.e.y.,.3 & : : : : : : : : : : : > : : u.u.u.u.u.u.",
  15079. -"u.u.u.u.u.u.u.: : : : : : : : > : : : 1 = 1 %.y.e.e.t.t.t.t.t.t.t.y.y.t.y.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.+.1 = : : : = < 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.y.y.y.y.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.t.<.%.] ( ( ( _ ' ' ' ` ` ` ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ' ' ( [ 0.y.y.y.y.y.y.q.y.t.y.t.t.t.t.t.t.t.y.%.1 = < : : : : : : > : : : : : u.u.u.u.u.u.u.",
  15080. -"u.u.u.u.u.u.u.: : : : : : : : : : : : : = , } y.r.t.t.t.y.t.t.y.y.t.r.y.q.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.<.-.G & ; 1 : : & 5 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.R = : > > : O a 0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.*.{ ` ( _ _ ` ' ' ` ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ' ( } r.y.y.y.y.y.t.y.y.t.t.t.y.t.t.t.e.t.y.[ 1 = : : : : : : : : : : : : ; u.u.u.u.u.u.u.",
  15081. -"u.u.u.u.u.u.u.: : : : : : : : : : : : : - : ! y.r.e.t.t.t.t.t.y.q.y.y.q.y.q.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.5.=.{ ' ' d = : > : : = 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.t.j ; < : 1 = + J y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.-...' ` ( _ ` ' ' ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ' ~ O.y.y.y.y.y.y.t.y.y.y.t.y.t.t.t.t.r.t.y.! : ; : : : : : : : : : : : : : u.u.u.u.u.u.u.",
  15082. -"u.u.u.u.u.u.u.: : : : > : : : : : : : : ; ; K y.y.e.e.t.t.t.t.t.t.y.q.y.y.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.-...` ) ( [ ` 7 = : : > - * ~ y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.5 ; : : 1 $ & ] y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.<.@.' _ ( _ ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ` ` ( %.y.y.y.y.y.y.y.y.q.t.t.r.t.t.y.t.t.t.y.G ; ; : : : : > : : : : : : : : u.u.u.u.u.u.u.",
  15083. -"u.u.u.u.u.u.u.u.: : : : : : > : : : : : ; = c y.y.e.t.t.t.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.q.-.O.' ) ) ( ` ' ..R : = , : > = ; &.y.y.y.y.y.y.y.y.y.y.O.K -.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.] 1 : : : : $ 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.1.%.{ ) ( ) _ ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` _ ( >.y.y.y.y.y.r.y.r.y.y.t.t.t.r.t.t.e.y.y.c = ; : : : : : : : : : : : : u.u.u.u.u.u.u.u.",
  15084. -"u.u.u.u.u.u.u.u.: : : > : : : : : : : : : = a y.y.0.t.t.t.t.t.t.t.t.q.y.r.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.<.%.} ` ( ` _ ` ` ` ' [ M ; ; > : : * i 4.y.y.y.y.y.y.y.4.E z 2 1 -.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.Z - : : < ; $ c y.y.y.y.y.y.y.y.y.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.*...` ) ) _ ` ' ' ' ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` _ ` 4.y.y.y.y.y.y.y.y.t.t.y.t.t.y.t.t.e.y.y.a = : : : : : : : : : : : : : u.u.u.u.u.u.u.u.",
  15085. -"u.u.u.u.u.u.u.u.; : > : : : : : : : : : : & r 4.y.0.t.t.t.t.t.t.y.y.t.y.y.y.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.9.*.} ' _ _ _ ` ` ` ` ` ` [ ' i - : : > ; $ Z y.y.y.y.y.0.} m w : $ O x 0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.a & : : > - % R y.y.y.y.y.y.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.>.O.[ _ ) _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ( ' 0.y.y.y.y.y.y.y.r.r.t.t.t.y.t.t.t.t.y.4.r = : > : : : > : : : : : : - u.u.u.u.u.u.u.u.",
  15086. -"u.u.u.u.u.u.u.u.; : : : : : : : : : > : : = 7 O.y.e.t.t.t.t.t.y.t.t.t.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.0.<.O.' ` _ ` ` ` ` ` ' ` ` ` ` { ) 8 = : > > ; % ) y.y.e.&.P w : = = - : + E y.y.y.y.y.y.y.y.y.y.y.y.y.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 - : > > = , ] y.y.y.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.4.#.[ ` _ _ ` ` ` ' ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ( } t.y.y.y.y.r.y.t.y.y.y.y.t.t.t.t.t.t.y.O.6 = : : : : : : : : : : : : : u.u.u.u.u.u.u.u.",
  15087. -"u.u.u.u.u.u.u.u.: : : : : > : : : : : : : = 1 ` y.e.e.t.t.t.t.t.t.t.y.y.y.y.y.r.y.y.y.y.y.y.y.t.1.#.' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` { G , ; , : : = 9 -.<.~ k : = - ; : : > : :  .y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.~ < - > : : & y <.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.3.=.} ` _ ` ` ` ` ' ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ' ` ' ` ` ` ` ` ` ` ` ` ' ` ` ` ` ( %.y.y.y.y.r.y.y.y.y.t.t.t.t.t.t.t.t.t.y._ , = > : : : : > : : : : : : : u.u.u.u.u.u.u.u.",
  15088. -"u.u.u.u.u.u.u.u.: : : : : : : : : : : : : ; = J y.t.0.t.r.t.y.t.y.r.y.r.r.y.y.y.y.y.y.y.y.4.*.} _ ( ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` [ ..x ; : : : : ; w n w @ $ ; : > > : : > $ r 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.M $ ; > > : % b y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.:.O.[ ( ` ' ' ' ' ' ' ' ' ' ' ' ' ` ` [ ' ' ` [ ' ' ' ' [ ' ' ' [ ' ' ' ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ( ( <.y.y.y.y.y.y.t.y.r.y.r.y.t.t.t.t.e.t.y.H - - : : : : : : : : : : : : : u.u.u.u.u.u.u.u.",
  15089. -"u.u.u.u.u.u.u.u.: : : : : : : : : : : : > ; $ M y.y.t.t.t.t.t.y.t.t.t.y.y.y.y.y.y.y.y.0.o.` ( ) ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` [ [ r = : < : : , ; $ % : < : > > : > : 1 . C 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.0.p $ : > : - ; ! y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.e.3.@.{ _ ) ` ' ' ' ' ` [ ' ' [ ' ' [ ' ' [ ' ' [ ` ' [ ' ` [ ` ' ' ' ' ' ' ' [ ` ` ` ` ` ` ` ` ` ` ` ` ` _ _ ` ` O.e.y.y.y.y.y.y.y.y.y.t.y.t.t.y.t.t.t.t.y.v $ : : : : > : : : : : : : : : u.u.u.u.u.u.u.u.",
  15090. -"u.u.u.u.u.u.u.u.u.: : : : : : : : : : > : : $ a 8.y.0.t.t.t.t.t.r.y.r.y.y.t.r.y.y.y.y.0.] ~ ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` [ Q 5 = : : < > : , , < : > : : > > : : : @ ~ y.y.y.y.y.y.y.y.y.y.y.y.y.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 Z ` ~ ~ ~ ~ ~ ~ ( ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! P C n c n M M M M M M 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 M M M M c Y ' ' ` ' ` ` ` ` ` _ _ _ ' } =.0.y.y.y.y.y.y.r.r.y.r.y.t.t.t.t.t.t.w.w.y.4.p $ : : : : : : : : > : : : : u.u.u.u.u.u.u.u.u.",
  15091. -"u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : & 7 O.y.w.t.t.t.t.t.t.t.t.y.t.y.r.y.y.y.y.y.=.( ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` o.D : - : < : : > > : : : : > > : > : 1 $ 1 %.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.! $ ; : > > : > ; = = - - ; - = = - = ; - = - ; - = - - = = = - ; ; ; ; ; ; ; ; ; ; ; - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; = $ V } ' ` ` ' ` _ ( ( ` } &.1.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.t.y.t.t.t.q.w.y.+.6 & : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.",
  15092. -"u.u.u.u.u.u.u.u.u.: : : : : > : : : : : : : = = _ y.0.t.t.t.t.t.t.y.y.t.y.y.y.y.y.y.y.y.1.) _ ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` } k * ; < : < > : : > : 1 : : : > : > 1 . u 0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.C $ : > : > > : : : : ; ; ; : : ; : ; : ; : ; : ; : ; ; : : : : : ; : : ; : : ; : ; : : ; : ; ; : : ; : ; : : : ; : ; : : ; : : ; : : = 2 P } ' ` ` ) ( _ ' @.<.0.y.y.y.y.y.y.y.y.y.y.y.y.r.y.t.y.t.t.t.t.t.t.q.0.y./ = & : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.",
  15093. -"u.u.u.u.u.u.u.u.u.: : : : : : : : > : : : > = @ K y.t.e.t.t.t.t.t.t.t.r.t.y.y.y.y.y.y.y.0.[ / ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` [ _ r = : : : : : > < : : & = , , : : : : o V 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.4.r $ : : > > > : > > > , , : , : , 1 : > > : , > > , : , , : : > : : > : , : : : , : , : : : : : : : : : : : : : : , : > : > : > > : , % r ` [ _ ( ( ` ..-.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.t.t.y.y.t.t.t.t.r.y.y.G @ - : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.",
  15094. -"u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : ; $ g 0.y.e.t.t.t.t.t.r.y.y.y.r.y.t.t.y.y.y.y.@.( ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` O.R 1 = : > : 1 : : ; $ = 1 9 1 : : , 1 = = ] y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.O.= = 1 > > > , > > > > : 1 1 : : , : 1 > : 1 1 > > > 1 , : : 1 1 : : 1 : 1 1 : : , : 1 1 : 1 1 1 > , 1 < < < < < : , , > : : > > : > > $ k [ _ _ } &.4.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.y.t.t.t.t.y.t.t.e.y.0.f $ ; > : : : > : : : : : > : : u.u.u.u.u.u.u.u.u.",
  15095. -"u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : $ 3 &.y.e.t.t.t.t.t.y.y.t.y.r.y.y.y.y.y.y.y.<._ _ ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` @.C & = 1 1 : = = = ; 9 z Q G ; ; > : 1 O 1 <.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.R # = : ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; - : > : : > : ; = C O.@.<.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.y.r.y.y.r.y.t.t.t.t.t.0.y.%.2 $ > : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.",
  15096. -"u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : 1 $ $ ` y.t.r.t.t.t.t.t.t.t.r.y.y.t.y.y.r.y.y.0.[ ( ' ` ` ` ` ' ` ` ` ` ` ` ` ` _ [ { h = ; ; = = = 3 a Z ( [ } M & : : , , O u 4.y.y.y.y.y.y.y.y.y.y.y.y.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.i . @ $ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ $ $ $ $ @ $ $ $ $ $ $ $ $ $ $ $ ; 1 > > : 1 @ 5 X.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.t.t.t.t.t.t.t.t.y.` $ $ > : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.",
  15097. -"u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : , = @ Z y.y.e.e.e.t.t.r.t.t.y.y.t.y.y.y.y.y.y.y.O.( ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ O.` 8 O @ $ ; r V R _ [ ' o.} p % : : 1 ; @ K y.y.y.y.y.y.y.y.y.y.y.y.y.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.G c M V M M M C M N M N M M V V M M M C V V V M M M V V M M M C V V V M M M V V M M M C V V V V M M V V M M M C M V V Z B w = : > > , . k 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.q.r.y.t.t.t.t.0.y.y.Z @ = > : > : : : > : : : : : : u.u.u.u.u.u.u.u.u.u.",
  15098. -"u.u.u.u.u.u.u.u.u.u.: : : : : : : : > : : : : : O 0 4.y.e.e.t.t.t.y.r.y.t.t.y.y.t.y.t.y.y.y.<._ _ ' ` ` ' ` ` ` ` ` ` ` ` ` ` @.K O + 5 h Y _ ' ' ` } =.0.-.2 = 1 : , $ % ..y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.t.t.t.t.y.t.t.t.t.t.t.y.t.t.t.t.y.t.t.t.t.t.t.y.t.t.t.t.y.t.t.t.t.t.t.y.t.t.t.t.y.t.t.t.t.t.t.y.t.t.t.t.y.t.t.r.r.r.y.0.d # 1 : > ; + 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.t.t.y.t.t.t.t.t.e.t.e.y.4.0 + : : : : : : : : : : > : : : u.u.u.u.u.u.u.u.u.u.",
  15099. -"u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : , + - %.y.r.e.t.t.t.t.t.t.t.y.r.y.y.y.y.y.y.y.e.[ ( ' ` ` ` ` ' ` ` ` ` ` ` ` ' } M w V ` [ [ [ { $.3.q.y.y.} $ ; , : 1 $ 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.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.-.1 = > > > @ > 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.q.y.y.y.y.r.t.t.t.t.t.y.@.= @ 1 : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.",
  15100. -"u.u.u.u.u.u.u.u.u.u.u.; : : : > : : : : : > : > = @ P y.y.e.r.t.t.y.t.t.t.y.t.y.t.y.y.y.y.y.y.*.( ` ' ` ` ` ` ` ` ` ` ` ' ' ' _ ~ ` } ' [ O.:.0.y.y.y.y.t.B = ; : , ; @ k 0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y./ + , > > , X 9 7.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.t.y.t.t.t.t.t.t.t.t.e.y.y.L @ = > > : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.",
  15101. -"u.u.u.u.u.u.u.u.u.u.u.: : : : < : : : : : > : : 1 O u 0.y.e.r.t.t.t.t.t.y.t.t.y.y.y.y.y.y.y.y.8.` ( ` ` ` ` ` ` ` ` ` ` ` ` _ _ ` [ O.=.4.y.y.y.y.y.y.y.4.r $ > : > ; @ E y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.B $ 1 : > : O c 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.t.t.t.y.t.t.t.e.y.0.u o > : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.",
  15102. -"u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > + : O.y.t.e.t.t.t.t.t.y.t.y.t.t.y.t.y.y.y.y.y.X.( ` ' ` ` ` ` ` ` ` ` _ ( ` [ %.4.t.y.y.y.y.y.y.y.y.y.-.1 % , > > = =  .y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.r - : : , & $ / y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.t.y.y.t.y.y.t.t.t.t.t.t.y.O.: @ , : > : : : : : : : : : > : u.u.u.u.u.u.u.u.u.u.u.",
  15103. -"u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : : : : : : : ; @ G y.y.e.e.t.y.t.t.t.y.t.y.r.y.y.y.y.y.y.y.<.) ) ' ` ` ` ` ` ` ( _ ' O.1.t.t.y.y.y.y.y.y.y.y.y.y.y./ = - > : : % e <.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.%.: , : 1 , @ : +.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.t.t.t.t.t.t.t.e.y.y.G @ : : : : : : : > : : : : : ; u.u.u.u.u.u.u.u.u.u.u.u.",
  15104. -"u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : + i 0.y.e.e.t.t.t.t.t.t.t.y.y.y.t.y.y.y.y.y.y...) ' ` ` ` _ ( ` O.:.0.t.y.y.y.y.y.y.y.y.y.y.y.y.y.q.c @ > : : : + M y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.! = : : : : + y 4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.t.y.t.y.t.t.t.t.t.r.e.y.0.i O : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.",
  15105. -"u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : < : : : : : : : = : ] y.t.t.t.t.t.t.t.t.t.y.r.y.y.t.y.y.y.y.y.<.` _ ` ` ) ..=.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.q + 1 : > ; @ ! y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.x ; < : , = @ G 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.t.t.t.y.t.q.t.y.] : & : : : : : : > : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.",
  15106. -"u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : @ M y.y.0.t.t.t.t.t.y.t.t.y.t.q.y.y.y.r.y.y.t..._ ] #.1.q.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.O., & , > : = 2 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.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.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.r.t.t.y.t.t.t.t.t.q.y.y.M + : : : > : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15107. -"u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : $ 6 -.y.e.t.t.t.t.t.y.t.t.r.y.t.y.r.y.y.y.y.y.<.,.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.R $ : > : 1 O i 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.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.} 1 ; : , : $ 5 %.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.t.t.t.t.t.t.t.t.t.w.y.-.6 % : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15108. -"u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > = $ ~ y.t.r.t.t.t.t.r.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.y.y.y.q.c o , > : : O m y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.G : : : , : @ k 0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.t.y.y.r.y.t.t.t.t.t.y.y.! $ = , : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15109. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : > : : : : : : @ p 9.y.e.t.t.t.t.t.t.y.r.y.t.y.r.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.r $ , , , = = _ y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.d * : : , ; @ K 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.r.t.y.r.t.t.t.t.e.y.6.p + : : : : : : : : : > : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15110. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : > : : : : : : : : : : $ = } y.t.e.t.t.t.t.t.t.t.t.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.} = ; , > , O 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.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.y.y.y.y.y.y.y.r.y.r.y.y.t.t.y.t.t.t.t.t.t.y.} & $ , : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15111. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : 1 : O k t.y.e.e.t.t.t.t.t.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.P O , > > , . u 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.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.) > ; : > : & r <.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.r.y.r.y.y.r.t.t.t.t.t.t.e.y.t.k O : , : : : : : : > : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15112. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : , $ = +.y.t.e.t.t.t.t.y.t.t.t.r.y.r.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.0.k % , : > ; + F y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.Z $ : , : > $ l y.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.y.t.t.t.t.t.t.y.O.= @ , : : : : : : : : : : : : ; u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15113. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : > : : : : : . M y.y.t.e.t.t.t.t.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.<.5 ; : , , $ * { y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.d $ : : : ; = P y.y.y.y.y.y.y.y.y.y.y.y.t.y.y.y.y.y.y.y.t.y.r.t.y.r.r.t.y.t.t.t.e.y.y.M . : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15114. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : > : : : : : : : : , + 1 -.y.r.e.t.r.y.t.y.r.y.t.t.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.} = : : : 1 O 1 -.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.&.5 = : : , = 3  .y.y.y.y.y.y.y.y.y.y.0.*.4.y.y.y.y.y.y.y.y.y.y.y.t.t.t.t.t.t.t.e.t.y.-., @ , : : : : : : : : : : : : ; u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15115. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : , . D y.y.e.e.t.t.t.t.y.r.t.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.P = , , > : O d 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.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y._ $ ; > > , $ q 0.y.y.y.y.y.y.y.0.<.O._ } 0.y.y.y.y.y.y.y.r.t.y.y.t.t.y.t.t.t.e.0.y.y.Z . , : : : : : : : : > : : > : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15116. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: > : : : : : : : : : : : : , % 1 *.y.t.e.t.t.t.t.t.t.t.r.y.t.t.y.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.a ; : : , = @ R y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.Z @ ; , : : & x y.y.y.y.y.y.2.=.[ _ ~ ) 4.y.y.y.y.r.y.t.y.y.y.y.t.t.t.t.t.t.t.t.t.y.&., & , : : : : > : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15117. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : : : : : : > : 1 o Z y.y.w.w.t.t.t.t.t.t.r.t.y.y.r.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.,.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.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.t & : : , = ; / y.y.y.4.-.o._ ( ( _ _ :.y.y.y.y.y.y.t.y.y.t.y.y.t.r.t.t.t.t.t.t.y.t.B + , : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15118. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : - 1 %.y.0.w.t.t.t.t.y.t.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.` > : : > : $ 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.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.&.; = , : : * 1 -.y.,.@.' ( ( ) ` ' ) O.t.y.y.y.y.y.y.y.y.y.t.r.t.t.t.t.t.t.t.t.t.y.&.1 = > : : : : : : > : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15119. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : > : : : > : : : : : : : > % M y.t.t.e.t.t.t.t.t.y.t.r.y.y.y.y.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.N ; : > > - $ v y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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 @.$.` ( _ _ ` ' ' ( [ 0.y.y.y.y.y.y.y.r.y.t.y.t.y.y.t.t.t.t.t.t.y.y.b % : : : > : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15120. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : - ,  .y.t.e.t.t.t.t.t.t.t.t.y.y.r.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.<.r = : > > = % ~ y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.M & ; > : ; = h ' ' ` ` ` ` ` ' _ _ <.y.y.y.y.y.y.y.t.y.y.y.y.t.t.r.t.t.t.t.t.e.y...> - : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15121. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : > : : : : : : : : $ d 0.y.e.e.t.t.t.t.t.t.t.t.t.y.t.y.y.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.=. .L 3 ; : > : - > v ! T T T T T T T T T T T R T T T T T T T T T T T R I T T T T T T R T T T T T T T R T T T T T T T T T T T R T T T T T T T T T T T T T T T R T T T T T T Y T T T T T T T T R T T T T T T T I I I I Y E P 5 ; : , , ; = Z ..` ` ` ` ` ' ` ~ =.y.y.y.y.y.y.y.r.y.t.y.t.t.y.t.t.t.t.t.r.e.y.0.a $ : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15122. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : - = ! y.t.w.r.t.t.t.t.t.y.t.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.-.O.' ( [ n : : : > > > > & $ $ $ $ $ $ $ $ $ $ $ $ $ @ $ $ $ $ $ $ $ $ $ @ @ $ $ $ $ $ $ $ $ @ $ $ $ $ $ $ $ @ $ $ $ $ $ $ $ $ $ $ $ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ $ $ $ $ $ $ $ $ $ $ @ $ $ ; : : : : - 1 E o.` ` ' ` ` ` ( @.y.y.y.y.y.y.t.y.y.y.y.r.y.t.t.t.t.t.t.t.e.t.y.! = - : : : : : : : : : : : > : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15123. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : > $ q ,.y.w.e.e.t.t.t.t.t.t.t.t.q.y.t.y.y.y.y.y.y.y.y.y.e.<.O.[ _ _ _ ` { a = : > : > : > ; ; ; ; ; - ; ; ; - : ; ; ; ; - ; ; ; ; ; ; ; ; ; ; ; ; ; - - ; ; ; ; - ; ; ; ; ; ; ; - ; ; ; ; ; - : ; ; ; ; - ; ; ; ; ; - ; ; ; - : ; ; ; ; - ; ; ; ; ; - ; ; ; - : ; ; ; ; - ; ; ; - : - ; - ; ; - ; : : , : : = r _ { ` ` ` ` ` ( ..0.y.y.y.y.y.y.y.t.t.y.t.y.y.t.t.t.t.t.e.e.e.y.>.r $ : : : : : : : : : : : : : : ; u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15124. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : > : : : : : % Z y.y.e.e.t.t.t.y.t.y.y.r.y.t.y.y.t.y.y.y.y.y.y.e..._ _ _ ` ` ` { ~ 0 = : : > : > : > > > > > < < < > : < > > < > < < > > < > < < , , < < < > < < < > < > < < > > < > < > < < > > , > : < > > < > < < > > < > > < > , : < > > < > < < > > < < < < > > : < > > < > < < > > > > > > > > < < , , : : : : & z } ' ` ` ` ` ( [ 9.y.y.y.y.y.r.y.y.y.y.y.t.r.t.t.y.t.t.t.t.e.y.y.Z $ : : : : : : : > > : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15125. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : : : : : : : : : = , } y.e.e.e.t.t.t.t.t.t.t.t.y.y.t.y.y.y.q.y.y.y.y.<._ ( ' ` ` ` ..P 1 ; > > > : > > > > > > , > > > : : < : > : > > : : : , : : , : : : : > : > > : : > > > > > > : > : > : > > : , > : < > : : > : > > > : > : > : > : < > : : > : > > > : > : > : > : < > : : : : > : > : > : > > : : : : : , > : ; ; Z O.` ` ` ` ( ` 4.y.y.y.y.y.y.y.y.y.t.y.t.t.y.t.t.t.t.t.t.t.t.y.} , = : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15126. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : > : : : : : = i 6.y.e.e.e.t.y.t.t.t.y.r.y.t.y.y.y.y.y.y.y.y.y.y.<.) ( ' ` ` o.n $ - ; ; : ; ; : ; ; : ; ; ; ; ; : ; : : ; : ; : ; : ; : ; ; : : : : : ; ; ; ; ; : ; ; ; ; ; ; ; ; ; : ; ; ; ; ; ; ; ; : - ; : ; ; ; ; ; ; ; : ; ; ; ; : - ; : ; ; ; ; ; ; ; : ; ; - ; - : : : : ; : ; : ; : : ; : : : : : ; ; ; = 5 E [ ` ' ' ( _ 1.y.y.y.y.r.y.y.r.y.y.q.t.y.t.t.y.t.t.t.t.t.e.y.4.i = : : : : : : : : : : : > : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15127. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : > : : : : : : : : : : ; & G y.t.e.e.t.t.t.t.t.y.t.t.y.y.r.y.y.r.r.y.y.y.y.y.,.) ) ' [ ' u $ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; - ; ; : ; ; ; ; ; ; ; ; ; = ; ; = = = = = = = = = = = = - = = - = = = = = = = = - = = = = = = = = = = = = = = = - = = = = = = = = = = = = = = = - : : - - ; ; ; ; ; ; ; ; ; ; ; ; ; - ; ; ; ; % u [ ' ` ' ( _ <.y.y.y.y.y.y.y.y.y.q.y.y.y.t.y.r.t.t.t.t.t.e.t.y.K & ; : : : > : : : > : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15128. -"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.e.e.t.t.t.t.t.t.y.r.t.y.t.y.y.y.y.y.y.y.y.y.-._ ) [ ( n k k k l k l k k l l k k k z l k z k z k k l k k k k k z z z k h d z M B G K J K H K K H K G K G K K K H H H K H K K G K K K K H H H K K H K K H H K G K K K K H H H K K J J J P P K B M x k z k z k z k k k k l k k z k k z k k f G { ` ' ( ` <.y.y.y.y.y.y.y.r.y.y.y.q.y.r.y.t.t.t.t.t.t.t.t.y...> = : > : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15129. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : > : : : : : > : @ r 7.y.0.e.t.r.t.t.t.r.y.t.t.y.y.y.y.y.y.y.y.y.y.y.y.-._ ) ' [ [ { [ [ } [ { [ [ [ } [ [ { { [ { [ [ { { [ { { { } [ ' ` ` ' ..=.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.y.t.r.t.t.t.t.t.t.w.y.6.r @ ; > : : : : : : : : > : : : > : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15130. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : > = + M y.y.e.t.t.t.t.t.t.t.t.y.t.r.t.y.t.y.r.y.y.y.y.y.y.-.) ( [ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] [ ] ' ] ] [ ' _ ) _ [ @.<.e.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.<. .' ` ' ] ] ' [ [ ' ] ] ] ] ] ] ] ] ] ] ] ' ] ] ] ] ' ` ( ` <.y.y.y.y.y.y.y.y.t.t.y.t.t.r.t.t.y.t.t.t.t.t.0.y.y.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.",
  15131. -"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.t.e.t.r.t.y.t.t.t.t.y.t.t.y.t.y.y.y.y.y.y.y.y.y.-.) ( ` ` ` ` ` ' ` ` ` ` ` ' ` ` ` _ ` ' ` ` ` ' ) ~ ~ ( } -.4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.t.y.t.y.t.t.t.w.t.0.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.",
  15132. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : : : : : : : : : > o , ;.y.e.e.t.r.t.r.y.t.y.t.t.r.y.y.y.y.t.y.y.y.y.y.y.y.<.) ( ` ` ` ` ` ` ` ` ` ' ` ` ` ' ' ` ` ' ` ) ( _ { $.4.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.<.O.' ~ ~ _ ` ' ` ` ` ` ` ' ` ` ` ' ' ` ` ` ' ` ` ' ` ` ` ' ' ` ` ( _ 2.y.y.y.y.y.y.y.t.y.y.y.t.t.y.t.t.t.r.t.t.y.w.0.w.y.-., 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.",
  15133. -"u.u.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 0.y.t.e.t.t.t.t.t.t.t.y.t.t.y.y.r.y.y.y.y.y.y.y.y.y.2.' ( ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` _ ( ( ' @.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.1.%.[ _ ~ ( ` ' ' ` ` ` ` ` ' ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ( [ 4.y.y.y.r.y.y.y.y.y.t.y.y.r.y.t.t.t.t.t.t.t.t.t.e.y.0.r 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.",
  15134. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : 1 = O M y.y.0.t.t.t.t.y.t.t.t.t.y.t.y.y.t.t.y.y.y.y.y.y.y.y.4.[ ( ` ' ` ` ` ` ' ` ' ' ` _ ( ( ` ..=.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.8.-.o.` ( ( _ ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ' ` ` ` ' ` ( } 9.y.y.y.y.y.y.y.y.r.y.y.t.y.t.t.y.t.y.t.t.t.t.t.0.y.y.M 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.",
  15135. -"u.u.u.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.0.t.e.t.t.t.t.t.t.t.t.t.r.y.y.t.y.q.y.y.y.y.y.y.0...( _ ` ` ` ` ' ` ` ( ( ( [ *.4.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.0.:.O.[ ( ( ( ` ' ' ` ` ` ` ' ` ` ' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ' _ ( @.0.y.y.y.y.y.y.y.y.y.y.r.y.y.t.t.r.r.t.t.t.r.e.t.e.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.",
  15136. -"u.u.u.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.t.0.e.w.t.t.t.t.t.y.t.y.t.r.y.y.y.y.q.y.y.y.y.y.y.e.#.( _ ' ' ` _ ~ ( ` @.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.4.%.[ ` _ _ _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ( _ =.y.y.y.y.y.y.y.y.t.y.y.t.y.t.t.y.t.y.r.t.t.t.e.e.e.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.",
  15137. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : > : : : : : : : : : : , : O , %.y.t.0.t.t.t.t.t.t.t.r.y.t.y.t.y.y.y.y.y.y.y.y.y.y.y.y.:._ ( ( ~ ` ..-.0.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.-.} ` ) ( ` ` ` ` ` ` ' ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ' ` ~ ' <.y.y.y.y.y.y.y.y.y.y.y.r.y.t.t.y.r.t.t.t.t.t.t.t.e.t.y.%.> 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.",
  15138. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : . 6 -.y.t.0.t.t.t.t.t.t.t.t.y.t.r.y.t.y.y.r.r.y.y.y.y.y.y.y.4.} [ &.4.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.0.-.O.` ( ( _ ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ' ` ` ` ` ` ` ` ( ..0.y.y.y.y.y.y.y.y.y.t.t.y.y.r.y.t.t.t.y.t.t.t.t.t.e.t.y.-.6 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.",
  15139. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : , ; o i <.y.t.e.e.t.t.t.y.t.t.t.t.r.t.t.y.t.y.y.y.y.r.y.y.y.y.y.t.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.<.@.[ _ ( _ ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ) ' -.q.y.y.y.y.y.y.y.y.y.y.y.y.t.r.t.t.y.y.t.t.t.t.t.t.e.q.y.<.y 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.",
  15140. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : > : : : : : : : : ; O g 4.y.t.e.t.t.t.t.r.y.t.t.y.t.r.y.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.4.%...` ) _ _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ' ` ` ' ` ' ` ` ` ` ` ' ` ` ` ' ` ` _ _ ..4.y.y.y.y.y.r.y.y.y.y.t.y.y.t.y.t.y.t.t.r.t.t.t.t.t.t.t.y.4.g + ; , : : : : > : : : : : : : : > : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15141. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : 1 : $ c 4.y.t.e.t.r.t.t.t.t.t.t.t.t.t.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.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.0.-...' ` _ _ ` ` ` ` ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ ( ' -.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.y.t.y.t.t.t.t.t.t.t.t.t.q.y.4.c $ ; 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.",
  15142. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : ; % c 0.y.t.t.t.t.t.t.t.t.t.y.y.t.t.y.y.y.y.y.r.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.<.@.` _ ` ` ` ` ' ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ' ` ` ` ` ` ` ' ` ` ` ` ` ( _ @.0.y.y.y.y.y.y.y.y.r.y.y.t.r.y.y.r.y.t.t.t.y.t.t.t.t.t.t.t.y.5.v $ ; , : : : : : : : : > : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15143. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: > : : : : : : : > : : : : : : , ; @ x 7.y.t.r.r.t.t.t.t.t.t.y.t.r.y.r.t.y.y.y.y.y.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.<.%.[ _ _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ' ` ` ` ` ` _ _ ..4.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.r.y.t.t.t.t.t.t.t.t.t.e.r.y.4.c @ ; , : : : : : : : : : : : : : > : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15144. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > : : : > ; + c 4.y.t.r.e.t.t.t.t.t.t.t.t.t.t.y.y.r.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.0.*.} ` ( ) ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ' ` ` ` ` ' ` ` ' ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` _ _ } <.t.y.y.y.y.y.y.y.y.y.r.y.y.t.y.t.y.y.t.t.y.r.t.t.t.t.t.t.t.t.y.0.c @ ; , : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15145. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : , ; @ x 4.y.t.e.e.t.t.t.t.y.t.t.y.t.t.t.y.r.y.t.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.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.:...` _ ( ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ' ` ' ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ ) ` } -.t.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.t.y.t.t.y.t.t.y.t.t.t.t.t.0.t.y.4.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.",
  15146. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : , ; $ k <.y.t.t.t.t.t.t.t.t.t.t.y.y.t.t.t.y.r.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.0.<.$.' _ _ _ ` ' ` ` ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ) ( _ ..-.t.y.y.y.y.y.y.y.y.y.y.r.y.r.t.y.t.y.y.t.y.t.t.t.t.t.t.t.t.t.e.t.y.<.g % ; , : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15147. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : > : $ p -.y.t.e.r.t.t.t.t.r.y.r.t.t.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.t.4.*.} _ ( ` _ ` ' ' ` ` ` ` ' ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ' ` ` ` ` ` ' ` _ ( ( ` O.<.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.t.y.t.t.y.t.y.t.t.t.t.e.e.t.r.t.y.-.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.",
  15148. -"u.u.u.u.u.u.u.u.u.u.u.u.u.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 %.y.t.r.t.t.t.t.t.t.t.t.t.y.t.t.t.r.t.y.t.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.0.-.} ` ( ) ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ' ` ` ` ` ` ` ` ' ` ` ` ` ` ` ` ` ` ( ( _ ' %.1.y.y.y.y.y.y.y.y.y.y.y.r.q.y.y.y.y.t.y.y.t.y.t.y.t.t.t.t.t.t.r.e.e.y.y.&.7 @ ; : : : : : : : : : : : : : : : : : ; u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15149. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: > : : : : : : : : : : : : : : : > : X : } y.y.t.e.t.t.t.t.t.t.t.y.t.y.t.t.y.y.t.t.y.t.y.y.y.y.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.<.O.' ( ~ _ ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ` ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` _ ( ( ( ` ..>.0.y.y.y.y.y.y.y.y.y.r.r.y.y.q.y.y.y.t.y.y.y.r.t.y.r.t.t.t.t.t.t.t.e.e.y.y.} : 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.",
  15150. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : > : : > : : : : : : : : : : > : o & W y.y.t.0.t.t.t.t.t.t.t.t.t.t.y.t.t.y.y.y.q.y.y.r.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.%._ ~ Q ( _ ` ' ' ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ' ' ' ` ` ` _ _ ~ _ [ o.-.9.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.y.t.t.t.t.t.y.t.r.t.t.t.t.t.t.0.e.y.y.! = 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.",
  15151. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : > : : : : : > > @ @ B 0.y.t.e.0.t.t.t.t.t.t.t.t.t.t.y.t.t.r.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.8.*...] ` _ ) ( ) _ ` ` ` ` ' ` ' ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ' ` ' ' ` ` ` ` _ ) ) ( ( _ } @.-.0.y.y.y.y.y.y.y.y.y.y.r.y.q.y.y.y.y.y.y.y.t.y.y.r.y.t.t.r.t.t.y.t.t.t.t.w.0.y.y.0.V @ @ > > : : : > : : : : : : : : : : > : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15152. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : > : : : : : , * O p -.y.y.e.0.t.t.t.t.t.r.y.t.t.t.y.y.t.r.r.y.y.t.t.y.r.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.0.4.>.@.} ` ) ( ( ( ( ( ) _ ` ` ` ' ` ' ' ' ' ' ' ' ' ' ` ` ` ` _ _ ( ( ( ( ( ( ` { @.-.4.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.r.t.t.y.r.y.t.t.t.t.y.t.t.t.t.t.t.0.e.y.y.-.p 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.",
  15153. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : > < = O 1 ' y.y.q.0.e.t.t.t.t.t.t.t.t.t.t.y.t.t.y.y.t.y.y.y.y.y.y.y.y.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.0.8.1.=.@.} ] ' ` ) ( ( ~ ~ ~ ~ ( ~ ~ ~ ~ ~ ( ~ Q ~ ( ( _ _ ` ' { @.*.<.9.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.t.y.y.y.y.t.t.y.t.t.y.t.t.t.t.t.r.t.e.t.y.y.' 2 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.",
  15154. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : , : O $ B 0.y.t.0.e.e.t.t.e.t.t.t.t.t.r.t.y.t.r.y.y.r.y.r.y.r.t.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.0.0.9.3.:.-.%.@.O...} } } } } } ......O.@.%.=.>.2.0.0.e.t.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.t.y.t.y.y.y.r.y.y.y.r.y.r.t.y.t.t.t.t.t.t.t.t.t.t.r.0.t.y.0.B $ 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.",
  15155. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : > : : : : : : : : : > : : : : $ O t ..y.y.0.e.r.e.t.t.t.t.t.t.t.r.t.t.y.t.y.t.y.y.r.y.r.y.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.r.r.q.q.e.t.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.t.y.y.y.t.t.t.t.t.y.r.t.t.t.t.t.t.t.t.e.e.e.y.y...t 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.",
  15156. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : > : : : : : : : : : : : , = O > P 0.y.y.e.e.e.e.t.t.t.y.t.y.t.t.t.t.t.t.r.t.r.y.y.y.t.y.y.r.y.y.y.t.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.y.y.y.y.t.y.r.y.t.y.t.t.y.y.t.q.t.r.y.r.y.t.t.t.t.t.t.t.t.t.t.t.w.y.y.0.K , 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.",
  15157. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : : : : < : : : : : : : : : : , : $ = p | y.y.t.e.r.t.t.t.t.t.t.t.t.t.t.t.t.t.y.t.t.y.t.y.t.t.r.y.y.y.y.y.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.t.y.y.y.y.t.y.y.y.y.y.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.e.e.t.y.y. .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.",
  15158. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : = & 1 G 4.y.y.e.e.e.e.t.t.t.t.t.t.y.t.y.t.y.t.y.y.t.t.y.y.y.y.t.t.y.y.r.y.y.r.y.y.t.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.r.y.y.y.y.y.r.y.r.y.r.y.y.y.y.t.t.y.y.t.t.t.t.t.y.t.y.y.t.t.r.t.y.t.t.t.t.t.r.e.y.y.2.G 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.",
  15159. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.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 _ 0.y.t.e.e.e.t.t.r.t.t.t.t.t.t.t.y.t.t.y.t.t.t.y.t.y.t.y.y.t.y.y.y.y.y.y.y.y.r.y.y.t.q.y.r.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.q.y.y.y.y.y.r.y.r.y.r.y.y.y.y.y.y.y.t.t.y.y.y.t.y.t.y.t.y.t.y.t.t.t.t.t.y.t.t.r.t.t.t.t.t.y.0._ 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.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15160. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : > : : : : : : : : > : : : : & = z  .t.y.t.e.r.e.t.t.t.t.t.t.t.t.t.t.t.t.t.y.y.t.t.r.y.t.y.y.y.t.y.r.y.t.y.t.y.y.y.y.y.y.y.y.r.y.r.y.y.y.y.t.r.y.y.r.y.y.y.y.y.y.t.y.y.y.y.y.y.y.t.y.r.y.q.y.y.y.y.y.t.r.y.t.t.r.t.t.t.r.y.t.t.t.t.t.t.t.r.e.t.t.y.t.X.k = % : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15161. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : > : : : : : : : : : : : : : = @ 1 Z -.y.y.y.t.e.t.t.t.t.t.t.t.t.t.t.y.t.t.r.t.t.t.y.t.y.t.q.y.y.t.y.y.y.y.t.y.y.t.y.y.y.y.y.y.y.y.t.y.y.y.y.y.y.y.y.t.y.y.t.y.y.y.y.t.y.y.t.y.y.t.y.y.y.y.r.y.t.y.t.t.y.t.t.r.t.t.t.t.t.t.t.t.t.t.t.e.t.y.y.t.:.B , @ ; : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15162. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : > : : : : : : : : : : : = % 5 G -.y.y.y.t.t.r.t.t.t.t.t.t.t.t.t.t.t.t.r.y.y.t.t.y.t.r.t.y.y.r.t.y.t.y.y.t.y.t.y.t.y.y.y.t.t.y.y.t.y.t.y.t.y.y.y.t.y.y.r.y.q.y.y.t.y.y.r.y.t.t.t.t.t.t.t.r.y.t.r.t.t.y.t.t.t.t.t.t.t.t.e.t.t.y.y.t.-.G 5 & = : : : : : : : > : : : : : : > : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15163. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : > : : : : > : : : : : = $ 3 K -.y.y.y.t.e.e.t.r.t.t.t.t.t.t.t.y.t.t.t.y.r.t.t.t.t.t.r.y.t.t.y.y.y.y.y.y.t.y.r.y.r.y.y.y.q.y.y.y.y.r.y.t.y.y.t.y.y.t.r.y.y.q.y.t.t.t.t.y.y.t.y.t.y.r.t.t.t.t.y.t.t.t.t.t.t.t.0.t.t.y.y.y.<.K 3 $ = : : : : : : : : : : : : : : : : : : : : > : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15164. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : : : : > = + 5 K =.t.y.y.t.e.e.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.y.y.r.t.t.t.y.r.t.r.t.r.t.t.y.t.y.t.y.t.y.t.y.t.t.y.t.y.t.r.t.y.t.y.t.t.y.t.t.t.t.y.y.t.r.t.t.r.t.t.r.y.t.t.t.t.t.t.t.t.t.e.t.t.y.y.q.=.K 3 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.",
  15165. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: ; : : : : : : : > : : : : : : : : : : : : : : > 1 $ X , c O.6.y.y.y.e.e.0.e.e.e.t.t.t.t.t.t.t.t.t.t.y.t.y.t.t.y.t.y.t.t.t.y.t.y.y.t.t.t.t.y.t.y.t.y.t.t.y.t.y.t.y.t.t.t.t.y.y.t.t.t.t.y.t.y.t.t.t.t.t.t.t.t.t.t.t.e.e.e.0.e.y.y.y.7. .c , 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.",
  15166. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : > : : : : : > , > @ X = d ' <.y.y.y.y.t.e.e.e.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.y.t.t.t.t.t.t.y.y.t.t.t.t.r.r.r.y.r.t.y.t.t.t.t.y.t.t.t.t.t.y.t.t.t.t.t.t.t.y.t.t.t.t.t.t.e.e.t.y.y.y.y.>.' d = X @ , 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.",
  15167. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : > : : : : : : : : : > : : : : : : : > : : : : , > $ o % 0 G  .9.y.y.y.y.r.e.e.e.t.t.t.t.t.t.t.t.t.t.t.t.t.y.t.t.t.y.t.t.t.t.t.t.t.t.t.t.t.t.y.t.y.t.r.t.t.t.t.t.t.y.t.t.y.t.t.t.t.t.t.t.t.t.t.t.t.t.r.t.y.y.y.y.0. .G 0 $ 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.",
  15168. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : : : : : , : & @ @ : k E %.y.y.y.y.y.t.e.e.w.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.y.t.t.t.t.t.t.t.t.t.t.t.y.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.0.e.0.t.y.y.y.y.t.&.E f : + @ & : 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.",
  15169. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : > : : : : : : : : : : : : : : : : : : : : : , : ; = # $ 5 h R =.t.y.y.y.y.y.e.w.e.t.t.t.t.t.q.t.t.t.t.t.t.t.t.y.t.t.t.t.t.t.y.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.q.t.t.t.t.0.e.y.y.y.y.y.t.=.R d 5 $ + = ; : , : : : : : : : : : : : : : : : : : > : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15170. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.; : : : : > : : : : : : : : : : : : : : : : : : : : : : : ; @ O & 2 i P  .<.y.y.y.y.y.t.0.0.0.w.t.t.e.t.t.t.t.t.t.r.r.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.e.e.0.0.0.t.y.y.y.y.y.<. .P p 1 $ 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.",
  15171. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : > : : : : : : : : : : : : : : : : 1 > = O O @ = 6 c E } ;.t.y.y.y.y.y.t.t.t.t.t.t.t.t.e.e.t.r.e.e.e.0.e.t.e.e.e.e.t.r.r.e.t.t.t.t.t.t.t.t.y.y.y.y.y.t.-.} ! c 6 = $ 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.",
  15172. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : > : : : : : : : > : > : : : : : : : : : : : : > > 1 = @ + @ @ = 0 x P / ..<.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.r.<...^ P x 0 = @ @ + @ = : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15173. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : > : : : : : : : : : : : : : : : : : > : : : : : : : : 1 : - = @ $ $ @ = 3 r g M P ! ] &.<.0.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.e.1.%.] ~ J M k r 3 = @ $ $ $ & ; : , : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15174. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.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 9 q i a a d k z l l c c c c c c x l k k f a a i r 9 3 > & $ & & & = = ; : , , > : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : ; : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15175. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: ; : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : > : > : : ; ; ; ; = = = % & & = = = = = = & = = = = = = = & = % % % & = = - - ; ; : : , : , : : : : : : : : : : : : : : : , : : : < : : : : : : : : : : : : ; : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15176. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : ; : : : : : ; ; ; : : : ; : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : > : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15177. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: ; : : : : : : : : : : : : : : : : > : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : > : > : : : > : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : ; : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15178. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: ; : : : : : : : : : : > : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : > : : : : : : : : : : : : ; : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15179. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : ; : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : > : : : : : : : : : : > : : : : : : : : : : : : : : ; : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15180. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: ; : : : : : : : : : : : : : : > : : : : : : : : : : > : > : : : : : : : : > : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : ; : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15181. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : > : : : : : : : : : : : : : : > : : : : : : : : : : > : : : : : : : > : : : : : : : : : : : : : : : > : : : : : : > : : > : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15182. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15183. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : ; : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : > : : : : : : ; : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15184. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15185. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : > : : : : : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15186. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : ; : : : : : : : : : : : : : : : : > : : : : , : : : : : : : > : : > : : : : : : : : > : : : : : ; : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15187. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15188. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15189. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : ; : : : : : : : : : : - : ; : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15190. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.: : : : : : : ; : : : : : : : : : : : : u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15191. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15192. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15193. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15194. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15195. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.",
  15196. -"u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u."
  15197. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15198. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF       .                .             FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15199. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .   .  .        .  .      .              .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15200. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF     .                         .        . .     .          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15201. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF   .           .            .                    .   .     .       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15202. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF               .              .       .     . .                    .   .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15203. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .       .         .   .   . .      .                             .           FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15204. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF           .    .                             .         .   .     .              ..   .FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15205. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF .             .                                  .      ..    .     .          .        .  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15206. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF      .   .             . . .   .   .      .        .                    . .   .              .  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15207. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF            .  .                               . .                                   .  .            FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15208. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  .  .                    .           .    .                ..      .    .                   .       .    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15209. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF     .       .      .   .  .      .    .               .                 .  .    .                            FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15210. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .                                .           .                  .                 .   .          .            FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15211. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF         .     .    .     . .                                  .           .                      .   .               FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15212. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.   .          .                     .     .    .    ..X+##%$&###oX       .         .     .       .            .  .   .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15213. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF   .     .                        .            X&:7yfxmZSDDDDDDDDDDDDSBmzpr5:&X             .                 .           .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15214. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF             .    .           .          .X&1uzBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSNjr,$.  .        .  . .   .          .      .    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15215. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .                  . ..        .    @,rvSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZzr:X                       . .              FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15216. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  .        ..                 .       X,imDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmr:X              .           .        .  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15217. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .                              .&8cSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSz5#        .  .                .    .  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15218. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF        .          . .  .         .&rmDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv0%              .    .               FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15219. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF               .                 #qmDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDb8@  .     .               .        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15220. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF     .         .    .      .    X1zDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDj,.           .     .          .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15221. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .     .   .     .          &uZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCr#     .        .     .          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15222. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                              .:zDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDj:.   .                   .      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15223. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF     .   .                   X5mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm2.     .   .                   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15224. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .          .     .     .X8VDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDC8X          .     .  .  .     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15225. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF            .   .     .    XwZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZqX              .         .  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15226. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF     ..      .             X0ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDA0X     .                     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15227. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                          .2BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB4.       .              ..  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15228. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF   .         .     .   .  ;vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDn;    .       .  .          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15229. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF         .      .        +dDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDf+              .     .    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15230. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF   . .  .               .5ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ2.    .                   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15231. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF               .      . %xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDz#.     . .    . .        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15232. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF .             .       .7ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ2.                  .    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15233. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF .     .  .           .@zDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDgO                .    .  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15234. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                       :CDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmzzvmNZSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB;     .    .             FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15235. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  .           .       .yDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDvjjjjkjjjzvmZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD0.                     . FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15236. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF       .         .   .@xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSBvxcDDDDDDDDDDDDDDDDDDDDDDDDDDNjjjjjjjjjjjjjjxmCSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDjO    .     .   .       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15237. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF          .  .     .  ;BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZmcljlzSDDDDDDDDDDDDDDDDDDDDDDDDDCkjjjjjjjjjjjjjjjjjkcNZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm%              .    .  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15238. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF     .                4SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZmxllkkjzZDDDDDDDDDDDDDDDDDDDDDDDDDSljjjjjjjkjjjjkjjjjkjkjjzmZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS:    . .               FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15239. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF .       .    .      .rDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNckkkkkkkjCDDDDDDDDDDDDDDDDDDDDDDDDDDzkjjjjjkjjjjjjjjkjjjjjjjjjxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD7            .     .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15240. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF      .              XgDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZvzkzjkkkkkkMDDDDDDDDDDDDDDDDDDDDDDDDDDvjjjjjjjjjjjkkjjjjjjjjjjjjlZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDy.       .             FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15241. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .               .XcDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZcjlkkkkkkkkkbDDDDDDDDDDDDDDDDDDDDDDDDDDmjjjjkjjjjjjjjjjjjjjjjjjkjjZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDf.                     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15242. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF           ..        @mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBckkkkkkkkkkkkcDDDDDDDDDDDDDDDDDDDDDDDDDDNjjjjjjjkjjkjjjjjkjjjkjjjjjNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDlX .                   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15243. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF                .    #MDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBxlkkkkkkkkkkkjxSDDDDDDDDDDDDDDDDDDDDDDDDDCjjjjkjjjjjjjjjkkjjjjjjjjjjmDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDco  . .   .  .   . ..  FFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15244. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF   .     .          $BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZxkkkkkkkkkkkkkjzZDDDDDDDDDDDDDDDDgSDDDDDDDZljjjjjjkjjkjjjjjjjjjjkjjjjcDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbO                    FFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15245. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFF      .     .   .   $BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZvkkkkkkkkkkkkkkkkBDDDDDDDDDDDDDDDv- aDDDDDDSzjjjjjkjjjjjjjjjjjjjjjjjjjzSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmX     .     .    .   FFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15246. +"FFFFFFFFFFFFFFFFFFFFFFFFFFF    .               #BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmzlkkkkkkkkkkkkkkkNDDDDDDDDDDDDDSB2   >DDDDDDcjjjjjjjjjkjjjjkjljjjjjjljkZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmO            .       FFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15247. +"FFFFFFFFFFFFFFFFFFFFFFFFFF    .     . .       #NDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBzjljkjkkkkkkkkkkkjvDDDDDDDDDDDDDm0     XDDDDDmjjkjjkjjjjjjjjjjjjjjjjjjjjZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDvX     .              FFFFFFFFFFFFFFFFFFFFFFFFFF",
  15248. +"FFFFFFFFFFFFFFFFFFFFFFFFFF                   +mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSvkkkkkllkkkkkkkkkjkxDDDDDDDDDDDDDh        NDDDNjjjjjjjjjjkjjjjjjjjjjjljjjMDDDDDDDDDDDDDDDDDDDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcX.                 . FFFFFFFFFFFFFFFFFFFFFFFFF",
  15249. +"FFFFFFFFFFFFFFFFFFFFFFFFF       .         . XvDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBzkkkkkkkkkkkkkkjjlzzADDDDDDDDDSDm;         uDDCjjjkjkjjjjjjjjjkjjjkjjjjjlnDDDDDDDDDDDDDDDDDDDDDDDDDDmgmDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDj.    .     .    . . FFFFFFFFFFFFFFFFFFFFFFFFF",
  15250. +"FFFFFFFFFFFFFFFFFFFFFFFF. .                .jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDvkjkkkkkkkkkkkkkkzjljZDDDDDDDDDDZ5.          ;DSljjjjjjjjjkjjjjjjjjjjjjkjjcDDDDDDDDDDDDDDDDDDDDDDDDDDBgggzZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDa.                   FFFFFFFFFFFFFFFFFFFFFFFF",
  15251. +"FFFFFFFFFFFFFFFFFFFFFFF      .       .   . pDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZzkkkkkkkkkkkkkkkkkjlkNDDDDDDDDDDrX             BcjjkjjjjjjjjjjjjjjkjjjjjjjlSDDDDDDDDDDDDDDDDDDDDDDDDDZjggggjNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDr       .          . FFFFFFFFFFFFFFFFFFFFFFF",
  15252. +"FFFFFFFFFFFFFFFFFFFFFFF           .       8DDDDDDDDDDDDDDDDDDDDDDDDDDDDDNkkklkkkkkkkkkkkkkkkzjmDDDDDDDDDz&               pjjjjjjjjkjjjjkkjjjjjjjjkjlSDDDDDDDDDDDDDDDDDDDDDDDDDAkgggggggvDDDDDDDDDDDDDDDDDDDDDDDDDDDDD2     .    .        FFFFFFFFFFFFFFFFFFFFFFF",
  15253. +"FFFFFFFFFFFFFFFFFFFFFF             .     :DDDDDDDDDDDDDDDDDDDDDDDDDDDDSvkkkkkkkkkkkkkkkkkkkkkvDDDDDDDDn*                 2jjjjjjkjjjjjjjjjkjjjjjjjjCDDDDDDDDDDDDDDDDDDDDDDDDDDzgggggggggzADDDDDDDDDDDDDDDDDDDDDDDDDDDS;    .         .    FFFFFFFFFFFFFFFFFFFFFF",
  15254. +"FFFFFFFFFFFFFFFFFFFFF   .     .         &ZDDDDDDDDDDDDDDDDDDDDDDDDDDDZxkkkkkkkkkkkkkkkkkkkkkzDDDDDDDZ8                   &jjkjjjjjjjjjkjjjjjjjkjjjMDDDDDDDDDDDDDDDDDDDDDDDDDDvfhgggggggggjZDDDDDDDDDDDDDDDDDDDDDDDDDDDZ#    .              FFFFFFFFFFFFFFFFFFFFF",
  15255. +"FFFFFFFFFFFFFFFFFFFFF                  XmDDDDDDDDDDDDDDDDDDDDDDDDDDDZzjkkkkkkkkkkkkkkkkkkkjzZDDDDDSa+           Xqc       gjjjjkjjkjjjjjjkjjkjjjjvDDDDDDDDDDDDDDDDDDDDDDDDDDmggggggggggggggNDDDDDDDDDDDDDDDDDDDDDDDDDDDmX           .   .  FFFFFFFFFFFFFFFFFFFFF",
  15256. +"FFFFFFFFFFFFFFFFFFFF  .   .     .      gDDDDDDDDDDDDDDDDDDDDDDDDDDDNkkkkkkkkkkkkkkkkkkkkkklBDDDDDc*            ;BDSO      wjjjjjkjjjkjjjjjjjjjjkcDDDDDDDDDDDDDDDDDDDDDDDDDDBggggggggggggggggmDDDDDDDDDDDDDDDDDDDDDDDDDDDf     .   .         FFFFFFFFFFFFFFFFFFFF",
  15257. +"FFFFFFFFFFFFFFFFFFF .                 7DDDDDDDDDDDDDDDDDDDDDDDDDDDmkkkkkkkkkkkkkkkkkkkkkkkNDDDSm1            &xDDDD,      ;jjkjjjjjkjjkjjjjjjkjlSDDDDDDDDDDDDDDDDDDDDDDDDDZjgggggggggggggggggvDDDDDDDDDDDDDDDDDDDDDDDDDDD5                   FFFFFFFFFFFFFFFFFFF",
  15258. +"FFFFFFFFFFFFFFFFFFF        .  .  .   *SDDDDDDDDDDDDDDDDDDDDDDDDDDmllkkkkkkljkkkkkkkkkkkkjbDDDSw            +rZDDDDDp      +jjjjjjjjjjjjjjjjjjjlZDDDDDDDDDDDDDDDDDDDDDDDDDSkgggggggggggggggggggxDDDDDDDDDDDDDDDDDDDDDDDDDDS*             .    FFFFFFFFFFFFFFFFFFF",
  15259. +"FFFFFFFFFFFFFFFFFF            .     XmDDDDDDDDDDDDDDDDDDDDDDDDDDnkkkjlllkklkkkkkkkkkkkkkcDDDf#            7ZDDDDDDDB       ajjjjjkjjjjjjjkjjjjCDDDDDDDDDDDDDDDDDDDDDDDDDDzgggggggggggggggggggggxSDDDDDDDDDDDDDDDDDDDDDDDDDMX .  . .   .       FFFFFFFFFFFFFFFFFF",
  15260. +"FFFFFFFFFFFFFFFFFF     .            pDDDDDDDDDDDDDDDDDDDDDDDDDDbkkkkkljkkkkkkkkkkkkkkkkzSDn-            :nDDDDDDDDDS+      5jjkjjjjjjkjjjjjjjMDDDDDDDDDDDDDDDDDDDDDDDDDDvgggggggggggggggggggggggxDDDDDDDDDDDDDDDDDDDDDDDDDDa                . FFFFFFFFFFFFFFFFFF",
  15261. +"FFFFFFFFFFFFFFFFF .      .         :DDDDDDDDDDDDDDDDDDDDDDDDDDbkkkkkkkkkjzjkkkkkkkkkjlzZZ5            %jDDDDDDDDDDDD7      @fgjjjjjkjjkjjjjjvDDDDDDDDDDDDDDDDDDDDDDDDDDmgggggggggggggggggggggggggvDDDDDDDDDDDDDDDDDDDDDDDDDD,       .      .   FFFFFFFFFFFFFFFFF",
  15262. +"FFFFFFFFFFFFFFFF           .   .  oBDDDDDDDDDDDDDDDDDDDDDDDDDnkkkkkkkkkkllkkkkkkkkkkllByX           .qSDDDDDDDDDDDDDz       hhjjjjjjjjjjjjjcDDDDDDDDDDDDDDDDDDDDDDDDDDBggggggggggggggggggggggggggNDDDDDDDDDDDDDDDDDDDDDDDDDDZ+                  FFFFFFFFFFFFFFFF",
  15263. +"FFFFFFFFFFFFFFFF.    .            aDDDDDDDDDDDDDDDDDDDDDDDDDmlkkkkkkkkkkljljkkkkkkkkhr+           .2VDDDDDDDDDDDDDDDA.      rjjkjkjjjjjjjjzSDDDDDDDDDDDDDDDDDDDDDDDDDZjgggggggggggggggggggggggggmDDDDDDDDDDDDDDDDDDDDDDDDDDDDh                  FFFFFFFFFFFFFFFF",
  15264. +"FFFFFFFFFFFFFFF                  :DDDDDDDDDDDDDDDDDDDDDDDDDMjkkkkkkkkkkkljllkkkkkkza&            -cDDDDDDDDDDDDDDDDDD*      ,kjjjjjjjkjjjzZDDDDDDDDDDDDDDDDDDDDDDDDDSkgggggggggggggggggggggggggxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD,. .     . .    .  FFFFFFFFFFFFFFF",
  15265. +"FFFFFFFFFFFFFFF             .   .NDDDDDDDDDDDDDDDDDDDDDDDDBlkkkkkkkkkkkkljllkkjjkh,             fDDDDDDDDDDDDDDDDDDDDr      #jjjjjkjjjjjjBDDDDDDDDDDDDDDDDDDDDDDDDDDzgggggggggggggggggggggggggkDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBX .    . .      . FFFFFFFFFFFFFFF",
  15266. +"FFFFFFFFFFFFFF      . . .       rDDDDDDDDDDDDDDDDDDDDDDDDZjlkkkkkkklkkkkljljkklh8X            8BDDDDDDDDDDDDDDDDDDDDDm       gjjjjjjjjjjmDDDDDDDDDDDDDDDDDDDDDDDDDDvgggggggggggggggggggggggggjADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDi                  FFFFFFFFFFFFFF",
  15267. +"FFFFFFFFFFFFFF    .            &SDDDDDDDDDDDDDDDDDDDDDDDSzkkkkkkkjjlkkkklljllj8@            >NDDDDDDDDDDDDDDDDDDDDDDDD+      8jjjjjjjjjvDDDDDDDDDDDDDDDDDDDDDDDDDDmggggggggggggggggggggggggggZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD*                .FFFFFFFFFFFFFF",
  15268. +"FFFFFFFFFFFFF             .    jDDDDDDDDDDDDDDDDDDDDDDDDxkkkkkkkllkkkkkkjlllf;            &zDDDDDDDDDDDDDDDDDDDDDDDDDD1      ;jjjkjjjjxDDDDDDDDDDDDDDDDDDDDDDDDDDBggggggggggggggggggggggggggNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDc.  .      .       FFFFFFFFFFFFF",
  15269. +"FFFFFFFFFFFFF              .  :DDDDDDDDDDDDDDDDDDDDDDDDvljllkkkkkkkkkkkkkjj2            .tDDDDDDDDDDDDDDDDDDDDDDDDDDDDf      .jjjjjjjlSDDDDDDDDDDDDDDDDDDDDDDDDDZjgggggggggggggggggggggggggmDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD2           .     FFFFFFFFFFFFF",
  15270. +"FFFFFFFFFFFF  .      .       .mDDDDDDDDDDDDDDDDDDDDDDDNzllljkkkkkkkkkkkkkq+            5CDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ       ujkjjjlZDDDDDDDDDDDDDDDDDDDDDDDDDSkgggggggggggggggggggggggggcDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNX    .        .   FFFFFFFFFFFF",
  15271. +"FFFFFFFFFFFF    . .          4DDDDDDDDDDDDDDDDDDDDDDDZlkllljkkkkkkjlkkjg#            ;nDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD*      2jjjjlBDDDDDDDDDDDDDDDDDDDDDDDDDDzggggggggggggggggggggggggglSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD8       .    .  . FFFFFFFFFFFF",
  15272. +"FFFFFFFFFFF             .   XBDDDDDDDDDDDDDDDDDDDDDDDcjkjjllkkkkkkklkkkh           #fDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD0      &jjjjmDDDDDDDDDDDDDDDDDDDDDDDDDDvgggggggggggggggggggggggggjADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZX  .              FFFFFFFFFFF",
  15273. +"FFFFFFFFFFF    .            8DDDDDDDDDDDDDDDDDDDDDDDmjkklljzjkkkkkjllkkk&        .wSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDc       gjjvDDDDDDDDDDDDDDDDDDDDDDDDDDMggggggggggggggggggggggggggZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDw               . FFFFFFFFFFF",
  15274. +"FFFFFFFFFF         .  .    XCDDDDDDDDDDDDDDDDDDDDDDZkkkkzjkkkkkkjkkkkkkk3       :MDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS       qjxDDDDDDDDDDDDDDDDDDDDDDDDDDBggggggggggggggggggggggggggNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZX    . .          FFFFFFFFFF",
  15275. +"FFFFFFFFFF .               8DDDDDDDDDDDDDDDDDDDDDDDxkkkkjlkkkkkklkkkkkkjp      XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD;      ;lZDDDDDDDDDDDDDDDDDDDDDDDDDZjgggggggggggggggggggggggggmDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDq        .        FFFFFFFFFF",
  15276. +"FFFFFFFFFF  .         .   XCDDDDDDDDDDDDDDDDDDDDDDmjkkkkjlkkkkkklkkkkkjzjO      BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDy      .ZDDDDDDDDSDDDDDDDDDDDDDDDDSkgggggggggggggggggggggggggxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ..         .     FFFFFFFFFF",
  15277. +"FFFFFFFFF .            .  5DDDDDDDDDDDDDDDDDDDDDDSzjkkkkkkkkkkkkkkkkkkkkg&      aDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDj       mDDDDDDDD,cDDDDDDDDDDDDDDDxgggggggggggggggggggggggggkDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD5                 FFFFFFFFF",
  15278. +"FFFFFFFFF       .        .NDDDDDDDDDDDDDDDDDDDDDDcjllkkkkkkkkkkkkkkkkkkkj-      2DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ       uDDDDDDDq 8DDDDDDDDDDDDDDvgggggggggggggggggggggggggjZDDDDDDDDDDDDDDDDDDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDB.  .     .       FFFFFFFFF",
  15279. +"FFFFFFFF    .            ,DDDDDDDDDDDDDDDDDDDDDDBljljlkkkkkkkkkkkkkkkkkkCs      @DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ5      :DDDDDDa  &DDDDDDDDDDDDDmggggggggggggggggggggggggggZDDDDDDDDDDDDDDDDDDDDDDDDDAjVDDDDDDDDDDDDDDDDDDDDDD>                 FFFFFFFF",
  15280. +"FFFFFFFF      .   . .    cDDDDDDDDDDDDDDDDDDDDDDxklljlkkkkkkkkkkkkkkkkkNDA       mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDg      .SDDDDz.   ZDDDDDDDDDDDBggggggggggggggggggggggggggmDDDDDDDDDDDDDDDDDDDDDDDDDSjfhDDDDDDDDDDDDDDDDDDDDDDc      .     ..   FFFFFFFF",
  15281. +"FFFFFFFF   .       .    *DDDDDDDDDDDDDDDDDDDDDDmjkkkkkkkkkkkkkkkkkkkllnDDD:      yDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ.      zDDDm.    aDDDDDDDDDDZjgggggggggggggggggggggggggbDDDDDDDDDDDDDDDDDDDDDDDDDDzdffmDDDDDDDDDDDDDDDDDDDDDD&          .     FFFFFFFF",
  15282. +"FFFFFFF                .pDDDDDDDDDDDDDDDDDDDDDDzlkkkkkkkkkkkkkkkkkkklvDDDDi      :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD-      5DDZ&     <DDDDDDDDDSkgggggggggggggggggggggggggxDDDDDDDDDDDDDDDDDDDDDDDDDDvfffdfSDDDDDDDDDDDDDDDDDDDDDi .  .            FFFFFFF",
  15283. +"FFFFFFF      .         XADDDDDDDDDDDDDDDDDDDDDNkkkkkkkkkkkkkkkkkkkkkzSDDDDB      XSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDw      %DS;      XDDDDDDDDDzgggggggggggggggggggggggggkSDDDDDDDDDDDDDDDDDDDDDDDDDmffdfffvDDDDDDDDDDDDDDDDDDDDDAX.      .     .  FFFFFFF",
  15284. +"FFFFFFF .       .      5DDDDDDDDDDDDDDDDDDDDDSzjkkkkkkkkkkkkkkkkklllZDDDDDD*      zDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv       N4        vDDDDDDDvgggggggggggggggggggggggggjZDDDDDDDDDDDDDDDDDDDDDDDDDVffffffffADDDDDDDDDDDDDDDDDDDDD4                FFFFFFF",
  15285. +"FFFFFF                 cDDDDDDDDDDDDDDDDDDDDDMkkkkkkkkkkllkkkkkkkkkCDDDDDDD0      8DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD+      -         5DDDDDDMggggggggggggggggggggggggggZDDDDDDDDDDDDDDDDDDDDDDDDDZffffdfdffvDDDDDDDDDDDDDDDDDDDDDc      .        . FFFFFF",
  15286. +"FFFFFF . .   .. .   . &DDDDDDDDDDDDDDDDDDDDDDzlkkkkkkkzjjlkkkkkkkkNDDDDDDDDx      *DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD,                &SDDDDVggggggggggggggggggggggggggmDDDDDDDDDDDDDDDDDDDDDDDDDSjffffffffffDDDDDDDDDDDDDDDDDDDDDD&           .    FFFFFF",
  15287. +"FFFFFF                rDDDDDDDDDDDDDDDDDDDDDNlkkkkkkkkjkjllljkkkknDDDDDDDDDDX      CDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDa                .ZDDDZjgggggggggggggggggggggggggvDDDDDDDDDDDDDDDDDDDDDDDDDSzffffdffdfffmDDDDDDDDDDDDDDDDDDDDDw.     . .       FFFFFF",
  15288. +"FFFFF                .NDDDDDDDDDDDDDDDDDDDDDcjkkkkkkkkkklljjzjkkcDDDDDDDDDDD>      aDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB                 fDDAkgggggggggggggggggggggggggxDDDDDDDDDDDDDDDDDDDDDDDDDDcffffffffffffkDDDDDDDDDDDDDDDDDDDDDN  .              FFFFF",
  15289. +"FFFFF  .     .     . *DDDDDDDDDDDDDDDDDDDDDZkkkkkkkkkkkkjlllkklxSDDDDDDDDDDDw      :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@                2DDxgggggggggggggggggggggggggkSDDDDDDDDDDDDDDDDDDDDDDDDDmfffdffdfffffdfZDDDDDDDDDDDDDDDDDDDDD*              . FFFFF",
  15290. +"FFFFF      .         rDDDDDDDDDDDDDDDDDDDDDnkkkkkkkkkkkklkjlkllZDDDDDDDDDDDDm      XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD5                +DvgggggggggggggggggggggggggjADDDDDDDDDDDDDDDDDDDDDDDDDBffdfffffffdffffcDDDDDDDDDDDDDDDDDDDDDr..     .    .   FFFFF",
  15291. +"FFFFF                mDDDDDDDDDDDDDDDDDDDDSzkkkkkkkkkkkkkkkkkkBDDDDDDDDDDDDDS%      vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDk         @       jhgggggggggggggggggggggggggBDDDDDDDDDDDDDDDDDDDDDDDDDZgfffffdffdffffffgDDDDDDDDDDDDDDDDDDDDDN.                FFFF",
  15292. +"FFFF     .      .   &DDDDDDDDDDDDDDDDDDDDDBjkkkkkkkkkkkkkkkkkNDDDDDDDDDDDDDDD7      wDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS.       %B       egggggggggggggggggggggggggMDDDDDDDDDDDDDDDDDDDDDDDDDSjfffffffffffffdfffNDDDDDDDDDDDDDDDDDDDDD&  .       .     FFFF",
  15293. +"FFFF.     .       . 8DDDDDDDDDDDDDDDDDDDDDckkkklkkkkkkkkkkkkbDDDDDDDDDDDDDDDDj      OCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:      XND:      :hgggggggggggggggggggggggvDDDDDDDDDDDDDDDDDDDDDDDDDSlffffffffffdfffffdfxDDDDDDDDDDDDDDDDDDDDDq     .       .  FFFF",
  15294. +"FFFF                zDDDDDDDDDDDDDDDDDDDDSkkkkkkkkkkkkkkkkzcDDDDDDDDDDDDDDDDDZ.     .VDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDr      zDDu      @fggggggggggggggggggggggzDDDDDDDDDDDDDDDDDDDDDDDDDDvffdffffdfffffffffffgSDDDDDDDDDDDDDDDDDDDDc                FFFF",
  15295. +"FFF     .     .    XSDDDDDDDDDDDDDDDDDDDDNzkkkkkkkkkkkkkkkzSDDDDDDDDDDDDDDDDDD-      hDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm     uDDDm       ugggggggggggggggggggggkSDDDDDDDDDDDDDDDDDDDDDDDDDMfdffffddffdffffsfffffmDDDDDDDDDDDDDDDDDDDDD+   .    .     . FFF",
  15296. +"FFF                :DDDDDDDDDDDDDDDDDDDDDckkkkkkkkkkkkkkkzZDDDDDDDDDDDDDDDDDDDq      4DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@   :BDDDD+      ,ggggggggggggggggggggjZDDDDDDDDDDDDDDDDDDDDDDDDDCfffffffffffffdfffffffdzDDDDDDDDDDDDDDDDDDDDD, .              FFF",
  15297. +"FFF    .     .     rDDDDDDDDDDDDDDDDDDDDSkkkkkkkkkkkklkjkBDDDDDDDDDDDDDDDDDDDDc      $DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD2  ,DDDDDD4      #ggggggggggggggggggggBDDDDDDDDDDDDDDDDDDDDDDDDDZgffffffdfffffffsffffffffZDDDDDDDDDDDDDDDDDDDDp                FFF",
  15298. +"FFF       .     .  vDDDDDDDDDDDDDDDDDDDDBkkkkkkkkkkkkkkjNDDDDDDDDDDDDDDDDDDDDDSX      NDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDf *SDDDDDDg       gggggggggggggggggggmDDDDDDDDDDDDDDDDDDDDDDDDDDjfffffffffdffdfffffffffffmDDDDDDDDDDDDDDDDDDDDN.       .. .    FFF",
  15299. +"FFF          .    XSDDDDDDDDDDDDDDDDDDDDbzkkkkkkkkkkkkjmDDDDDDDDDDDDDDDDDDDDDDD:      iDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ#NDDDDDDDC       ugggggggggggggggggvDDDDDDDDDDDDDDDDDDDDDDDDDDzfffdffffffffffffffdffdfffjDDDDDDDDDDDDDDDDDDDDD@    .          FFF",
  15300. +"FFF..            .;DDDDDDDDDDDDDDDDDDDDDzjkkkkkkkkkkkkcDDDDDDDDDDDDDDDDDDDDDDDDr      ,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDZ@      1ggggggggggggggggzDDDDDDDDDDDDDDDDDDDDDDDDDDbffffffffdffdffdfffffffffffmDDDDDDDDDDDDDDDDDDDDD, .           .  FF",
  15301. +"FF               .8DDDDDDDDDDDDDDDDDDDDZjjkkkkkkkkkkkzSDDDDDDDDDDDDDDDDDDDDDDDDc      XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDw      &gggggggggggggggkSDDDDDDDDDDDDDDDDDDDDDDDDDNfffffdfdffdffffffsfsffdffdvDDDDDDDDDDDDDDDDDDDDDDt             .  FF",
  15302. +"FF     . . .   .  hDDDDDDDDDDDDDDDDDDDDmklkkkkkkkkkkzZDDDDDDDDDDDDDDDDDDDDDDDDDS       cDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv      .fgggggggggggggjZDDDDDDDDDDDDDDDDDDDDDDDDDZgffsffffffffffffffffffdfffzDDDDDDDDDDDDDDDDDDDDDDDc  .     .       FF",
  15303. +"FF                BDDDDDDDDDDDDDDDDDDDDckkkkkkkkkkkkBDDDDDDDDDDDDDDDDDDDDDDDDDDc&      9DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSX      qgggggggggggggBDDDDDDDDDDDDDDDDDDDDDDDDDShffffffffddffdfffffffffdfdjSDDDDDDDDDDDDDDDDDDDDDDDS.               FF",
  15304. +"FF   .           +DDDDDDDDDDDDDDDDDDDDSkkkkkkkkkkkkmDDDDDDDDDDDDDDDDDDDDDDDDDDmh,      &DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD>      :ggggggggggggmDDDDDDDDDDDDDDDDDDDDDDDDDDjffdffffdfffffffsfffffffffgZDDDDDDDDDDDDDDDDDDDDDDDDD&   .     .   . FF",
  15305. +"FF         ..    ;DDDDDDDDDDDDDDDDDDDDZkkkkkkkkkkkbDDDDDDDDDDDDDDDDDDDDDDDDDDNggt      .ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDp      XfggggggggggvDDDDDDDDDDDDDDDDDDDDDDDDDDcfdfffffffffadffffdffffffffVDDDDDDDDDDDDDDDDDDDDDDDDDD1               FF",
  15306. +"FF ..            6DDDDDDDDDDDDDDDDDDDDmkkkkkkkkklcDDDDDDDDDDDDDDDDDDDDDDDDDDZggggX      jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB       ygggggggggzDDDDDDDDDDDDDDDDDDDDDDDDDDmffffffffffa,XrffffffffffffmDDDDDDDDDDDDDDDDDDDDDDDDDDDr    .  .  .     F",
  15307. +"F                iDDDDDDDDDDDDDDDDDDDDvkkkkkkkkkzSDDDDDDDDDDDDDDDDDDDDDDDDDSjgggg*      5DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD&      2ggggggggkADDDDDDDDDDDDDDDDDDDDDDDDDBfffffffffd4X  ,dffffffdfffvDDDDDDDDDDDDDDDDDDDDDDDDDDDDh       .     .  F",
  15308. +"F       .     .  xDDDDDDDDDDDDDDDDDDDDzkkkkkkkjzZDDDDDDDDDDDDDDDDDDDDDDDDDSzggggs<      &DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD7      %ggggggggZDDDDDDDDDDDDDDDDDDDDDDDDDZhffffffdf8@    $ffdfffffffzDDDDDDDDDDDDDDDDDDDDDDDDDDDDDN                F",
  15309. +"F          .    .BDDDDDDDDDDDDDDDDDDDSlkkkkkkklBDDDDDDDDDDDDDDDDDDDDDDDDDDxggggggp       BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDj       sggggggBDDDDDDDDDDDDDDDDDDDDDDDDDSjffffffdq+       iffffffffhSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS..              F",
  15310. +"F    .          XDDDDDDDDDDDDDDDDDDDDZkkkkkkkkmDDDDDDDDDDDDDDDDDDDDDDDDDDmgggggggg+      pDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDA       0gggggmDDDDDDDDDDDDDDDDDDDDDDDDDDzffffdfp;         8fffdfffgZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD#       .     . F",
  15311. +"F.              %DDDDDDDDDDDDDDDDDDDDBkkkkkkkvDDDDDDDDDDDDDDDDDDDDDDDDDDBggggggggg:      ,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@      >ggggvDDDDDDDDDDDDDDDDDDDDDDDDDDvfffffd<.          ;dffffffVDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD;          .  . F",
  15312. +"F    .  .     . :DDDDDDDDDDDDDDDDDDDDMkkkkkkcDDDDDDDDDDDDDDDDDDDDDDDDDDZhggggggggg9      XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSt       &ggglDDDDDDDDDDDDDDDDDDDDDDDDDDMfffffq@            odfdfffmDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD1   .  .        F",
  15313. +"F        .    . 2DDDDDDDDDDDDDDDDDDDDmjkkkkzSDDDDDDDDDDDDDDDDDDDDDDDDDZjggggggggghs       cDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDj.       *fgjADDDDDDDDDDDDDDDDDDDDDDDDDCffffi-               rffffvDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD8   .       .   F",
  15314. +"F      .        qDDDDDDDDDDDDDDDDDDDDckkkkkZDDDDDDDDDDDDDDDDDDDDDDDDDDzgggggggggghh#      wDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmX       osghZDDDDDDDDDDDDDDDDDDDDDDDDDZgffa,.                ,fffxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDu                ",
  15315. +" .              uDDDDDDDDDDDDDDDDDDDDzkkkkBDDDDDDDDDDDDDDDDDDDDDDDDDDcggggggggggggs,      ;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ#        tggBDDDDDDDDDDDDDDDDDDDDDDDDDSjffw.                  @ffjSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDf.               ",
  15316. +"   .       .    fDDDDDDDDDDDDDDDDDDDDlkkzmDDDDDDDDDDDDDDDDDDDDDDDDDDmggggggggggggga2      .ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS:        6ggmDDDDDDDDDDDDDDDDDDDDDDDDDDxfp-            $,       agZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDz      . .     . ",
  15317. +"        .   .   zDDDDDDDDDDDDDDDDDDDSzjzvDDDDDDDDDDDDDDDDDDDDDDDDDDNgggggggggggggggf.      gDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDq        <ggvDDDDDDDDDDDDDDDDDDDDDDDDDDci3X            wSm       rVDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm     .        . ",
  15318. +"                vDDDDDDDDDDDDDDDDDDDZjjcSDDDDDDDDDDDDDDDDDDDDDDDDDZhgggggggggggggghh&      5DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDg        =ggzSDDDDDDDDDDDDDDDDDDDDDDDDDmq.            1BDDZX      7DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDN                ",
  15319. +"    .           NDDDDDDDDDDDDDDDDDDDZjzZDDDDDDDDDDDDDDDDDDDDDDDDDAjggggggggggggggghg2      #DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDc.        sgjSDDDDDDDDDDDDDDDDDDDDDDDDDz-            -cDDDDD0      ;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ.  .            ",
  15320. +"  .        .    CDDDDDDDDDDDDDDDDDDDZlZDDDDDDDDDDDDDDDDDDDDDDDDDDkgggggggggggggggggge       BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS@        rfgZDDDDDDDDDDDDDDDDDDDDDDDDZ7.           @dDDDDDDDc      .SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS.          .    ",
  15321. +"     .     .   .ZDDDDDDDDDDDDDDDDDDDZBDDDDDDDDDDDDDDDDDDDDDDDDDDxggggggggggggggggggggo      eZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ        eggNDDDDDDDDDDDDDDDDDDDDDDDSi+            5ZDDDDDDDDSX      xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS.       .       ",
  15322. +"       .       .SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmggggggggggggggggggggg=      ,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@      1ggmDDDDDDDDDDDDDDDDDDDDDDSj*            *NSDDDDDDDDDD>      qDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDX  .   .    .   ",
  15323. +"               .SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNgggggggggggggggggggggg6      XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD2      ;hcDDDDDDDDDDDDDDDDDDDDDDm:            &zDDDDDDDDDDDDDu      *DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDX               ",
  15324. +"        .     ..SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZhhgggggggggggggggggggggs       vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDa      XzDDDDDDDDDDDDDDDDDDDDDZwX           XuDDDDDDDDDDDDDDDB      .ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDX    .      .   ",
  15325. +"             . .SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDAkgggggggggggggggggggggggg+      rDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ.      yDDDDDDDDDDDDDDDDDDSSf$            7ZDDDDDDDDDDDDDDDDD#      jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDX               ",
  15326. +"      .    .   .SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDlggggggggggggggggggggggggg:      -DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD*      4DDDDDDDDDDDDDDDDDDx*            :mDDDDDDDDDDDDDDDDDDD5      5DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDX        . .    ",
  15327. +"               .SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcgggggggggggggggggggggggggkd      .ADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDw      &DDDDDDDDDDDDDDDDN5            &jDDDDDDDDDDDDDDDDDDDDDh      XSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDX    .        . ",
  15328. +" ..      .     .ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmggggggggggggggggggggggggggZAX      jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv       ZDDDDDDDDDDDDDZu+           .7SDDDDDDDDDDDDDDDDDDDDDDA       mDDDDDDDDDDDDDDSADDDDDDDDDDDDDDDDDDDS.               ",
  15329. +"               .ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBggggggggggggggggggggggggggBDD;      4DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDX      gDDDDDDDDDDDZp*            2CDDDDDDDDDDDDDDDDDDDDDDDDD;      aDDDDDDDDDDDDDDjNDDDDDDDDDDDDDDDDDDDA.               ",
  15330. +"      .         BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDVhgggggggggggggggggggggggggmDDDy      $DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD>      6DDDDDDDDDDb:            ;vSDDDDDDDDDDDDDDDDDDDDDDDDDDq      <DDDDDDDDDDDDDzaNDDDDDDDDDDDDDDDDDDDZ.   . .       . ",
  15331. +"      .   . .   mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDAjgggggggggggggggggggggggggvDDDSn       BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDu      &DDDDDDDDB7X           +gDDDDDDDDDDDDDDDDDDDDDDDDDDDDDc      XDDDDDDDDDDDDnaaNDDDDDDDDDDDDDDDDDDDN        . .     ",
  15332. +"   .            xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDlggggggggggggggggggggggggglDDDDDZ       tDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB       NDDDDDZu#           .wZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDX      vDDDDDDDDDDBaaaBDDDDDDDDDDDDDDDDDDDb                ",
  15333. +"                gDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDxgggggggggggggggggggggggggjSDDDDDD5      *DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD#      uDDDSf#            1BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD>      5DDDDDDDDDZdaaaCDDDDDDDDDDDDDDDDDDDz            .   ",
  15334. +"     .    .     iDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmggggggggggggggggggggggggggZDDDDDDDg       ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD5      :DDv:            *cDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDu      &SDDDDDDDSdpaaaZDDDDDDDDDDDDDDDDDDDg     .          ",
  15335. +"  .  .    .  .  wDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNggggggggggggggggggggggggggBDDDDDDDDm       jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDf      .N4             uDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB      .ZDDDDDDDhaaaasDDDDDDDDDDDDDDDDDDDDu. .             ",
  15336. +"F               4DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZhgggggggggggggggggggggggggmDDDDDDDDD:       rDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ       .           .9ZSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD$      fDDDDDDlpaaapfDDDDDDDDDDDDDDDDDDDDq         .  .   ",
  15337. +"F               :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSjgggggggggggggggggggggggghcDDDDDDDDDy        gDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD*                 >NDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD5      1DDDDDnaaapaplDDDDDDDDDDDDDDDDDDDD2         .     F",
  15338. +"F     .  .      *DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSzgggggggggggggggggggggggggzSDDDDDDDDz        ,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD8               &zDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDj      ODDDDMpaaaaaavDDDDDDDDDDDDDDDDDDDD;   .  .        F",
  15339. +"F               +DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcgggggggggggggggggggggggggjSDDDDDDDDNX       &ADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDz             XuDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ       zDDCsapapaaaMDDDDDDDDDDDDDDDDDDDD#            .  F",
  15340. +"F..          .  .ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmggggggggggggggggggggggggggZDDDDDDDDZ%       .mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS.          .5ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD&      7DZdpaaaaaaaZDDDDDDDDDDDDDDDDDDDSX      .        F",
  15341. +"F     .     .    vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNggggggggggggggggggggggggggNDDDDDDDDD:       .jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD*         :mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDw      +SddstsssypdDDDDDDDDDDDDDDDDDDDDN              . F",
  15342. +"F                dDDDDDDDDDDDDDDDDDDDDDDDDDDDDZhgggggggggggggggggggggggggmDDDDDDDDDq        rDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDq       +pDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDy       sssssstsspkDDDDDDDDDDDDDDDDDDDDh .      .       F",
  15343. +"F .   .          0DDDDDDDDDDDDDDDDDDDDDDDDDDDAjggghgggggggggggggggggggggxDDDDDDDDDd        ;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDc     XrSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDn;        9isyyisysabDDDDDDDDDDDDDDDDDDDDw           . .  F",
  15344. +"F        .    .  :DDDDDDDDDDDDDDDDDDDDDDDDDDDzgggggggggggggggggggggggggzDDDDDDDDDn.       &CDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS.  .2VDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDC4          %sissisysaBDDDDDDDDDDDDDDDDDDDD,   .  .        FF",
  15345. +"FF       .     . #DDDDDDDDDDDDDDDDDDDDDDDDDDxgggggggggggggggggggggggggjZDDDDDDDDD0       XNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4 *vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSw            %aiaassipsDDDDDDDDDDDDDDDDDDDDD#    .     .    FF",
  15346. +"FF.              .ZDDDDDDDDDDDDDDDDDDDDDDDDmggggggggggggggggggggggggghZDDDDDDDDDDz       zDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmgDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDl#            %0aaaaiiishDDDDDDDDDDDDDDDDDDDDC                FF",
  15347. +"FF   .            zDDDDDDDDDDDDDDDDDDDDDDDBggggggggggggggggggggggggggNDDDDDDDDDDDS       zDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm-            +7aaaaaaaappvDDDDDDDDDDDDDDDDDDDDj                FF",
  15348. +"FF          .     wDDDDDDDDDDDDDDDDDDDDDDCggggggggggggggggggggggggggmDDDDDDDDDDDSZ&      8DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDA7            .>ssisaaapappsCDDDDDDDDDDDDDDDDDDDD0  .      .    . FF",
  15349. +"FF.       .       >DDDDDDDDDDDDDDDDDDDDDAjgggggggggggggggggggggggggxDDDDDDDDDDDDDDr      &DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSp+            ;uaaaaiaaaaipsdSDDDDDDDDDDDDDDDDDDDD- .    .     .   FF",
  15350. +"FFF  .          . +DDDDDDDDDDDDDDDDDDDDDvgggggggggggggggggggggggggkDDDDDDDDDDDDDDDm      .ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSj*            *pppaaaisaaaasiikSDDDDDDDDDDDDDDDDDDDS.     .    .    FFF",
  15351. +"FFF     .     .    mDDDDDDDDDDDDDDDDDDDDMggggggggggggggggggggggggjSDDDDDDDDDDDDDDDD+      fDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDN;            #gCaaaaiaaaaaiaisdnDDDDDDDDDDDDDDDDDDDDx                FFF",
  15352. +"FFF                iDDDDDDDDDDDDDDDDDDDDSggggggggggggggggggggggggZDDDDDDDDDDDDDDDDD1      1DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSqX            wSSdaaaasiaaiaaaaasSDDDDDDDDDDDDDDDDDDDD0   .      .     FFF",
  15353. +"FFF                ,DDDDDDDDDDDDDDDDDDDDDxggggggggggggggggggggggMDDDDDDDDDDDDDDDDDDd      XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSg+            1BDDjaaaapaaaaaaiaaadDDDDDDDDDDDDDDDDDDDDD*                FFF",
  15354. +"FFF    .  .  .     +DDDDDDDDDDDDDDDDDDDDDBgggggggggggggggggggggnDDDDDDDDDDDDDDDDDDDV       mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv&            &jDDDcaaaaapaapaaaaaaanSDDDDDDDDDDDDDDDDDDDZ.           .    FFF",
  15355. +"FFFF   .     .      vDDDDDDDDDDDDDDDDDDDDShgggggggggggggggggggxDDDDDDDDDDDDDDDDDDDDD@      rDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDV4            +aSDDDmaaapaaaaaaaiaaaaaCSDDDDDDDDDDDDDDDDDDDg.  .   ..       FFFF",
  15356. +"FFFF            .   qDDDDDDDDDDDDDDDDDDDDDvggggggggggggggggggkSDDDDDDDDDDDDDDDDDDDDS5      ;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSrX           .5ZDDDDBpapaaaaaapaaaaaaadSSDDDDDDDDDDDDDDDDDDD2              . FFFF",
  15357. +"FFFF .   .      .   *DDDDDDDDDDDDDDDDDDDDDBhggggggggggggggggjADDDDDDDDDDDDDDDDDDDDDDl       BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDh#            :NDDDSSCsaaaaaaaaissiaaapamDDDDDDDDDDDDDDDDDDDDD@       .        FFFF",
  15358. +"FFFF                .BDDDDDDDDDDDDDDDDDDDDDjggggggggggggggghZDDDDDDDDDDDDDDDDDDDDDDDS.      hDDDDDDDDjuDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm:            #jDDDDDSZdpaaaaaaapppiiaaaaaSDDDDDDDDDDDDDDDDDDDDm         .   .  FFFFF",
  15359. +"FFFFF.     .         uDDDDDDDDDDDDDDDDDDDDDvgggggggggggggggmDDDDDDDDDDDDDDDDDDDDDDDDD;      5DDDDDDDmX:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ7            XuSDDDDDDSlaaiaaaaiaaaaispaaazDDDDDDDDDDDDDDDDDDDDDr    .           FFFFF",
  15360. +"FFFFF       .      . ;DDDDDDDDDDDDDDDDDDDDDZggggggggggggggbDDDDDDDDDDDDDDDDDDDDDDDDDD7      &DDDDDDC# XSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDiX            :NDDDDDDDDcdpaaaaaaaaaaaispaaaVDDDDDDDDDDDDDDDDDDDDD-                FFFFF",
  15361. +"FFFFF             .  .BDDDDDDDDDDDDDDDDDDDDDzggggggggggggxDDDDDDDDDDDDDDDDDDDDDDDDDDNr       VDDDDS*   jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDj&            ;nDDDDDDDDDmsisiaaaaaaaaysiiaaagDDDDDDDDDDDDDDDDDDDDDB.     .     . . FFFFFF",
  15362. +"FFFFFF                uDDDDDDDDDDDDDDDDDDDDDMgggggggggggkDDDDDDDDDDDDDDDDDDDDDDDDDDZddX      pDDDD2    ,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDN,            @gDDDDDDDDDDBapsisaaiaaaaasssiapaMDDDDDDDDDDDDDDDDDDDDDu     .          FFFFFF",
  15363. +"FFFFFF   .  . . .     *DDDDDDDDDDDDDDDDDDDDDDjggggggggghZDDDDDDDDDDDDDDDDDDDDDDDDDZfdd;      ,DDAq      DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ8.           XrSDDDDDDDDDDZsaisisiaaiaaaastssaadDDDDDDDDDDDDDDDDDDDDDD*          .     FFFFFF",
  15364. +"FFFFFF                 mDDDDDDDDDDDDDDDDDDDDDbgggggggggVDDDDDDDDDDDDDDDDDDDDDDDDDShfdd5      XDDu       BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDf@            :BDDDDDDDDDDDSgapsisiaaaaaaiaststpanDDDDDDDDDDDDDDDDDDDDDN.   .     .     FFFFFFF",
  15365. +"FFFFFFF .              7DDDDDDDDDDDDDDDDDDDDDShgggggggNDDDDDDDDDDDDDDDDDDDDDDDDDDkddddi       aj        aDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDAj@            *vDDDDDDDDDSSCCgaaaiiysiisiisisisssadSDDDDDDDDDDDDDDDDDDDDD0   .       .    FFFFFFF",
  15366. +"FFFFFFF      .        .+SDDDDDDDDDDDDDDDDDDDDDbggggggbDDDDDDDDDDDDDDDDDDDDDDDDDDzdddddf@      4X        1DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB<            +aDDDDDDDDDDDSSZxaaaiissssidpissisitsanDDDDDDDDDDDDDDDDDDDDDS@          .     FFFFFFF",
  15367. +"FFFFFFF         .       gDDDDDDDDDDDDDDDDDDDDDAhggggxDDDDDDDDDDDDDDDDDDDDDDDDDDnddddddd:                +DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSwX            9ZDDDDDDDDDDDDSDnaaaaassyyapipsisiiissdDDDDDDDDDDDDDDDDDDDDDDg                FFFFFFFF",
  15368. +"FFFFFFFF  .       .     -DDDDDDDDDDDDDDDDDDDDDDmgggkSDDDDDDDDDDDDDDDDDDDDDDDDDNdddddddsq                 vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDg@            &vDDDDDDDDDDDDDDDBaaaaaaysssaaapisiiisysnDDDDDDDDDDDDDDDDDDDDDD;         .      FFFFFFFF",
  15369. +"FFFFFFFF      .       . .vDDDDDDDDDDDDDDDDDDDDDDkgjZDDDDDDDDDDDDDDDDDDDDDDDDDCddddddddda                 wDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDn;            &lDDDDDDDDDDDDDDDDCdpsaaaaaaaaaaapsppsaaafDDDDDDDDDDDDDDDDDDDDDDv..      .       .FFFFFFFF",
  15370. +"FFFFFFFF    .      .     2DDDDDDDDDDDDDDDDDDDDDDVgVDDDDDDDDDDDDDDDDDDDDDDDDDSfddddddddddX                -DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDC2            OuDDDDDDDDDDDDDDDDDSddaiaaaaaaiaaaaappsiaaaNDDDDDDDDDDDDDDDDDDDDDD,                FFFFFFFFF",
  15371. +"FFFFFFFFF             .  .BDDDDDDDDDDDDDDDDDDDDDDZDDDDDDDDDDDDDDDDDDDDDDDDDDjdddddddddds:                .ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDy.            ,ZDDDDDDDDDDDDDDDDDSkisaaaaaaaaaaaaaapsaaaajDDDDDDDDDDDDDDDDDDDDDDN.    .       .   FFFFFFFFF",
  15372. +"FFFFFFFFF .              .8DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDzdddddddddddsq                 hDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDl%            ;vADDDDDDDDDDDDDDDDDDxisisiaiaaaaaaaiaaaappaaZDDDDDDDDDDDDDDDDDDDDDD5      .        . FFFFFFFFF",
  15373. +"FFFFFFFFF      ..         XZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbddddddddddddddX        q#      ,SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm;            #hDDDDDDDDDDDDDDDDDDDDmaaaaaaaaaaaaaaaaiaaaaaabCSDDDDDDDDDDDDDDDDDDDDBX    .      .    FFFFFFFFFF",
  15374. +"FFFFFFFFFF             .   wDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNddddddddddddddd-       5d,      @DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ9.            rSDDDDDDDDDDDDDDDDDDDDBaaaaaiaaiaaaiaaaaaaiaaagCSSDDDDDDDDDDDDDDDDDDDD7       .         FFFFFFFFFF",
  15375. +"FFFFFFFFFF                .XZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZdddddddddddddddd5      ,dfr       NDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDpo            ,BDDDDDDDDDDDDDDDDDDDDDZsaaaaaaaaiaaaiaaaiiaaaaaBDSDDDDDDDDDDDDDDDDDDDDZX            .    FFFFFFFFFF",
  15376. +"FFFFFFFFFFF .      .  .     qDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZfddddddddddddddddi     %ddjSX      uDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDx*            -vDDDDDDDDDDDDDDDDDDDDDDSgaaaaiaaaaaaaaaaaaaaaaaacDDDDDDDDDDDDDDDDDDDDDDD8          .      FFFFFFFFFFF",
  15377. +"FFFFFFFFFFF .      .        XZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSjdddddddddddddddddd+   +affZD;      ;SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDM<            @fDDDDDDDDDDDDDDDDDDDDDDDDjpapaaaaaaaaaaaaaapaaaapdDDDDDDDDDDDDDDDDDDDDDDDZX   ..            FFFFFFFFFFF",
  15378. +"FFFFFFFFFFFF              .  7DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDxfdddddddddddddddddd:  .usfNDDy       SDDDDDDDDDDDDDDDDDDDDDDDDDDDZ8.            2SDDDDDDDDDDDDDDDDDDDDDDDDxsiaaapaaaaaaapaapaaaaaadZDDDDDDDDDDDDDDDDDDDDDDD8                 FFFFFFFFFFFF",
  15379. +"FFFFFFFFFFFF                 .MDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDndddddddddddddddddddd0 .rddnDDDB       xDDDDDDDDDDDDDDDDDDDDDDDDDDg.            >mDDDDDDDDDDDDDDDDDDDDDDDDDnipspsapaiiapaaaaaiaaaaapnDDDDDDDDDDDDDDDDDDDDDDDBX          .   .  FFFFFFFFFFFF",
  15380. +"FFFFFFFFFFFFF   .     .       ,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNddddddddddddddddddddds.0ddcDDDDD%      8DDDDDDDDDDDDDDDDDDDDDDDDv*            #tSDDDDDDDDDDDDDDDDDDDDDDDDDBispsppaaaaaaaaaaaaaaaapalDDDDDDDDDDDDDDDDDDDDDDDD4   .     .       FFFFFFFFFFFFF",
  15381. +"FFFFFFFFFFFFF            .    .zDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZfddddddddddddddddddddddwddlSDDDDD7      *DDDDDDDDDDDDDDDDDDDDDDZ,            X4dZDDDDDDDDDDDDDDDDDDDDDDDDDZdssissppaaaappaaasppaaaafDDDDDDDDDDDDDDDDDDDDDDDDm.   .           . FFFFFFFFFFFFF",
  15382. +"FFFFFFFFFFFFFF.  .             &DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDShdddddddddddddddddddddddddhSDDDDDDz       VDDDDDDDDDDDDDDDDDDDSrX            -taVDDDDDDDDDDDDDDDDDDDDDDDDDSdaiisippaaaaaaaapaipsaaasCDDDDDDDDDDDDDDDDDDDDDDDD;        .   ..   FFFFFFFFFFFFFF",
  15383. +"FFFFFFFFFFFFFF         .   .    tDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDzdddddddddddddddddddddddddgZDDDDDDDSX      aDDDDDDDDDDDDDDDDDDh#            *taaMDDDDDDDDDDDDDDDDDDDDDDDDDDjaasiissiiiiaaaaaaapsaapaMDDDDDDDDDDDDDDDDDDDDDDDDf     .            FFFFFFFFFFFFFF",
  15384. +"FFFFFFFFFFFFFFF      .          XNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcddddddddddddddddddddddddddBDDDDDDDDD:      1DDDDDDDDDDDDDDDDm:            @9aaacDDDDDDDDDDDDDDDDDDDDDDDDDDxappiisipissaaaaaaaasipapbDDDDDDDDDDDDDDDDDDDDDDDDZ@  .              FFFFFFFFFFFFFFF",
  15385. +"FFFFFFFFFFFFFFF            ..    :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmddddddddddddddddddddddddddmDDDDDDDDDDt      XSDDDDDDDDDDDDDB2            X3aaaalDDDDDDDDDDDDDDDDDDDDDDDDDDnaaaasissstsiaaaiaaiaiisilDDDDDDDDDDDDDDDDDDDDDDDDD5              .  FFFFFFFFFFFFFFFF",
  15386. +"FFFFFFFFFFFFFFFF .  .             fDDDDDDDDDDDDDDDDDDDDDDDDDDDDZfdddddddddddddddddddddddddcDDDDDDDDDDDm       mDDDDDDDDDDDDuX            &usaasfSDDDDDDDDDDDDDDDDDDDDDDDDDBaaapaisysssysaaaaaaaasiskDDDDDDDDDDDDDDDDDDDDDDDDDx.       .    .    FFFFFFFFFFFFFFFF",
  15387. +"FFFFFFFFFFFFFFFF                  XZDDDDDDDDDDDDDDDDDDDDDDDDDDShdddddddddddddddddddddddddjDDDDDDDDDDDDS@      rDDDDDDDDDDz$            &qaaaaadZDDDDDDDDDDDDDDDDDDDDDDDDDZdaaaaasysstyssaaaaiaaaasdSDDDDDDDDDDDDDDDDDDDDDDDDS#  . .            FFFFFFFFFFFFFFFFF",
  15388. +"FFFFFFFFFFFFFFFFF       .      .  .:DDDDDDDDDDDDDDDDDDDDDDDDDDnddddddddddddddddddddfddddhSDDDDDDDDDDDDC:      ;DDDDDDDDN>            .5iiiaasaBDDDDDDDDDDDDDDDDDDDDDDDDDSfaaaaaaissysssyaaaiaaaaadDDDDDDDDDDDDDDDDDDDDDDDDDD5             .    FFFFFFFFFFFFFFFFF",
  15389. +"FFFFFFFFFFFFFFFFFF   .              pDDDDDDDDDDDDDDDDDDDDDDDDDSldddddddddddddddddddddddfZDDDDDDDDDDDDDDh       VDDDDDZ6.           X2asaaaaapmDDDDDDDDDDDDDDDDDDDDDDDSSZdaaapssisssyisisaaaaaaaphDDDDDDDDDDDDDDDDDDDDDDDDDDj.       .         FFFFFFFFFFFFFFFFFF",
  15390. +"FFFFFFFFFFFFFFFFFF         ..   . . XmDDDDDDDDDDDDDDDDDDDDDDDDDSjddddddddddddddddddddddNDDDDDDDDDDDDDDDZ.      gDDDDf+            ;uaaaaaaaazDDDDDDDDDDDDDDDDDDDDDDDDSSxdaaappiistsssisippaaaapjSDDDDDDDDDDDDDDDDDDDDDDDDDB+               .  FFFFFFFFFFFFFFFFFF",
  15391. +"FFFFFFFFFFFFFFFFFFF    .             *SDDDDDDDDDDDDDDDDDDDDDDDDDSjddddddddddddddddddddnDDDDDDDDDDDDDDDDD;      4AAz#            &waaaaasasajDDDDDDDDDDDDDDDDDDDDDDDDDDnaaaapppistsssiiisaaaaaajDDDDDDDDDDDDDDDDDDDDDDDDDDD: .                FFFFFFFFFFFFFFFFFFF",
  15392. +"FFFFFFFFFFFFFFFFFFF                  .5DDDDDDDDDDDDDDDDDDDDDDDDDDSkddddddddddddddddddzDDDDDDDDDDDDDDDDDDw      $B,            o6aaasaaaaaafZDDDDDDDDDDDDDDDDDDDDDDDDDNaaaaappdistsysisisspaaalDDDDDDDDDDDDDDDDDDDDDDDDDDDw       .     .  .  FFFFFFFFFFFFFFFFFFF",
  15393. +"FFFFFFFFFFFFFFFFFFFF    .      . .     fDDDDDDDDDDDDDDDDDDDDDDDDDDDxddddddddddddddddjSDDDDDDDDDDDDDDDDDDl                   .<iaasaaaaadasVDDDDDDDDDDDDDDDDDDDDDDDDDCdaaaaaatssississisipsppvDDDDDDDDDDDDDDDDDDDDDDDDDDDj        .     .    FFFFFFFFFFFFFFFFFFFF",
  15394. +"FFFFFFFFFFFFFFFFFFFFF                  XmDDDDDDDDDDDDDDDDDDDDDDDDDDDmddddddddddddddgZDDDDDDDDDDDDDDDDDDDA                  =tsspaaassaaaaNDDDDDDDDDDDDDDDDDDDDDDDDDSdaaaaaaassyssysyiiisppdnDDDDDDDDDDDDDDDDDDDDDDDDDDDNo    . .           FFFFFFFFFFFFFFFFFFFFF",
  15395. +"FFFFFFFFFFFFFFFFFFFFF  .    .           #ZDDDDDDDDDDDDDDDDDDDDDDDDDDDCgdddddddddddfCDDDDDDDDDDDDDDDDDDDDS2               #qsspssasasaaaavDDDDDDDDDDDDDDDDDDDDDDDDDDjiaaiaaaastsssisiisspadCDDDDDDDDDDDDDDDDDDDDDDDDDDDZ&                .  FFFFFFFFFFFFFFFFFFFFF",
  15396. +"FFFFFFFFFFFFFFFFFFFFFF     .        .    ;DDDDDDDDDDDDDDDDDDDDDDDDDDDDZzddddddddddmDDDDDDDDDDDDDDDDDDDDDDd             +,usppspaaaaaaaakDDDDDDDDDDDDDDDDDDDDDDDDDDxpaaaaaaaassttiisispppjZDDDDDDDDDDDDDDDDDDDDDDDDDDDD:             .     FFFFFFFFFFFFFFFFFFFFFF",
  15397. +"FFFFFFFFFFFFFFFFFFFFFFF   .      .        5DDDDDDDDDDDDDDDDDDDDDDDDDDDDDmddddddddvDDDDDDDDDDDDDDDDDDDDDDDC            ,uaasaaaasaasaaagADDDDDDDDDDDDDDDDDDDDDDDDDnspppsiisisiissppaaaiaxDDDDDDDDDDDDDDDDDDDDDDDDDDDDD5    .      .     . FFFFFFFFFFFFFFFFFFFFFFF",
  15398. +"FFFFFFFFFFFFFFFFFFFFFFF                 .  yDDDDDDDDDDDDDDDDDDDDDDDDDDDDDChdddddzDDDDDDDDDDDDDDDDDDDDDDDDD*         =rspaaaaasaasaaaafZDDDDDDDDDDDDDDDDDDDDDDDDDCapaspspsisiissypsapadNSDDDDDDDDDDDDDDDDDDDDDDDDDDDDr.                   FFFFFFFFFFFFFFFFFFFFFFF",
  15399. +"FFFFFFFFFFFFFFFFFFFFFFFF    . .  .  .      .gDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSzdddjSDDDDDDDDDDDDDDDDDDDDDDDDD8       $qpspssaaasasaaaaaaMDDDDDDDDDDDDDDDDDDDDDDDDDZdpaasiisisspsisspapajZSSDDDDDDDDDDDDDDDDDDDDDDDDDDDf.       . .  .      FFFFFFFFFFFFFFFFFFFFFFFF",
  15400. +"FFFFFFFFFFFFFFFFFFFFFFFFF                   .zDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmdhSDDDDDDDDDDDDDDDDDDDDDDDDDBq     X5aaaaspaaasaaaaaasanDDDDDDDDDDDDDDDDDDDDDDDDDSgaaapiisiisiaisysaadbDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDk.  .             .  FFFFFFFFFFFFFFFFFFFFFFFFF",
  15401. +"FFFFFFFFFFFFFFFFFFFFFFFFF  .                 XvDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBZDDDDDDDDDDDDDDDDDDDDDDDDDAfp.   :paaasaasasaaaasasaalDDDDDDDDDDDDDDDDDDDDDDDDDSjsssstsisiaapaaaaaagCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDx.    .               FFFFFFFFFFFFFFFFFFFFFFFFF",
  15402. +"FFFFFFFFFFFFFFFFFFFFFFFFFF   .       . . . .  omDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSgaa& #riaasaaaaaaasaaaaaaahDDDDDDDDDDDDDDDDDDDDDDDDDDcsiyyssisisaasipaasnDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcX      .            .FFFFFFFFFFFFFFFFFFFFFFFFFF",
  15403. +"FFFFFFFFFFFFFFFFFFFFFFFFFFF       .          . +mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDlaaa8waaasaaaaasppsaasaaaafADDDDDDDDDDDDDDDDDDDDDDDDDMaisssssysisaaaaaalSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcX.           .    .  FFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15404. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFF                    @mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDvaadaaaaaaaaaasapsaaasaasasVDDDDDDDDDDDDDDDDDDDDDDDDDCsasisyyssisipaapgVDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDvX    .     .         FFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15405. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFF          .          +bDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDMaaspspspasaasaaaspsaasaaaaMDDDDDDDDDDDDDDDDDDDDDDDDDSfppsissysppssipdnDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDzX                     FFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15406. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF . .            .    +cDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBaaapspssapsaaaasppsaaaaaaavDDDDDDDDDDDDDDDDDDDDDDDDDDjaspisyssispppdnDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDjX  . .   . .   . .  . FFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15407. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF           . .       XxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDAddasspaappaaaaasaaspsaaaaakDDDDDDDDDDDDDDDDDDDDDDDDDDzaaaaaaisiiaadnDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDf.                     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15408. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .                .fDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDShaaaaaassasspsaaaaasaaasssgADDDDDDDDDDDDDDDDDDDDDDDDDbpaaaappppisgnSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDr.                     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15409. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF      .           .  .rDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDlaasaaasaasaadpsaaaaassaaasZDDDDDDDDDDDDDDDDDDDDDDDDDMaaaaaaaaaajNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD6        .          .  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15410. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF         .    .       5SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDvaaaaasaaaaaaaaspsssaaaaaaaBDDDDDDDDDDDDDDDDDDDDDDDDDCsaaaaaapdcCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ>   .       .      .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15411. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF     .        .       ;ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZvfaaasaaasasaapsaaaaaaaaamDDDDDDDDDDDDDDDDDDDDDDDDDSdaaaaaslVDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDN&                      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15412. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.         .          .#vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZvhasaaaaaaaspsaaasaaazDDDDDDDDDDDDDDDDDDDDDDDDDDjaaadcBDDDDSSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDz+..     .       .  .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15413. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  .    .     .     .  XpDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDAmxfaaaaapaspaaaaahDDDDDDDDDDDDDDDDDDDDDDDDDDmfzmZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDt.   .      .     .     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15414. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                       4SDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZmxjsspsaaasafADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZ:                      . FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15415. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                        &mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZBmzjsafBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDc#    ..    .        .    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15416. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  .      .    .      .  .yDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDAADDAADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDw.                 .      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15417. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF .        .  .    .     ;NDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm*                   .    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15418. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .               .  .XpDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDuX    .         . .       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15419. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF      .                  ;mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm-        .    .     .     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15420. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF            .     .     ..qSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSq.                         FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15421. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                     .    #gDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDh#    .         .     .     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15422. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF .       .      .          ;vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm;    .   .     .            FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15423. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .       .        .     .1NDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDN2.    .                    . FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15424. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF       .      .       .     .5BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB7X             .        .    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15425. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF .                     .    .5BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB5X                .  .   .    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15426. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF      .      .             . .<mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm2.     .                     . FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15427. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF              .   ..          .;jDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDz:  . .      .   ..       .     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15428. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF .   .                .  .     #rZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZu&                               FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15429. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                       .        .,kDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDc1X     .  .             .     .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15430. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  .        .                  .  @6vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmq#                 .    .          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15431. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF     .       .    .                $7cDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmw&    .       .    .                 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15432. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF      .       .        .  .         +2gZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSz7%           .            .         . FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15433. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                  .    .       .   . .*8lZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDnr:X     .         .              . .     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15434. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  .                                     .*5amSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZj0;X          .      .        . .         . FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15435. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    . .   .                                X*2tjmSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZcp7:@    .                        .              FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15436. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF          .    .     . .     .                ..#;<8rajcmBZZSSSSZZBNbzguq5:&X               . .      .       .         .     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15437. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  .  .   .                 .   .              .      .    .......   .                        .      .                     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15438. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF            .     ..                . .   .             .     .          .    ..   . .                      .     . . FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15439. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                         .    .             .                    .                     .     .      ..            FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15440. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  .   .     .    .                          .  .                 .                        .                 . FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15441. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF      .  .      .  .            ..                 .     .           .      .  .                      .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15442. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                       . .                     .              .  .              .      .   . .    .   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15443. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF               .                  .   ..           .                             .               FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15444. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF      .         .     .     .           .            .      .    ..        .        .       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15445. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF    .         ..         .                                          .     . .         FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15446. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                           .     .     .. .   .    .          .                 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15447. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF. .              .         .                       . . .        .         FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15448. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF        .  .      .           .           .                        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15449. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF       .              .  .                        .   .    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15450. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF         .                    .  .     .    .     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15451. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF      .     .       .  .              FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  15452. +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
  15453.  };
  15454. diff --git a/share/pixmaps/bitcoin32.png b/share/pixmaps/bitcoin32.png
  15455. index b04d405..5bf97eb 100644
  15456. Binary files a/share/pixmaps/bitcoin32.png and b/share/pixmaps/bitcoin32.png differ
  15457. diff --git a/share/pixmaps/bitcoin32.xpm b/share/pixmaps/bitcoin32.xpm
  15458. index caae0bd..90a89c0 100644
  15459. --- a/share/pixmaps/bitcoin32.xpm
  15460. +++ b/share/pixmaps/bitcoin32.xpm
  15461. @@ -1,101 +1,250 @@
  15462.  /* XPM */
  15463. -static char *bitcoin__[] = {
  15464. +static char *_517408272909[] = {
  15465.  /* columns rows colors chars-per-pixel */
  15466. -"32 32 63 1",
  15467. -"  c #3C3D3B",
  15468. -". c #3F403E",
  15469. -"X c #40413F",
  15470. -"o c #434442",
  15471. -"O c #484947",
  15472. -"+ c #525351",
  15473. -"@ c #575856",
  15474. -"# c #585957",
  15475. -"$ c #5B5C5A",
  15476. -"% c #5F605E",
  15477. -"& c #60615F",
  15478. -"* c #636462",
  15479. -"= c #6B6C6B",
  15480. -"- c #737473",
  15481. -"; c #777876",
  15482. -": c #7A7A7A",
  15483. -"> c #7F807F",
  15484. -", c #838484",
  15485. -"< c #878888",
  15486. -"1 c #8B8B8B",
  15487. -"2 c #8F908F",
  15488. -"3 c #90908F",
  15489. -"4 c #8F9091",
  15490. -"5 c #929393",
  15491. -"6 c #97989A",
  15492. -"7 c #9A9B9B",
  15493. -"8 c #9FA09F",
  15494. -"9 c #A3A4A4",
  15495. -"0 c #A7A8A7",
  15496. -"q c #A7A8AA",
  15497. -"w c #A9A9A9",
  15498. -"e c #AEAFB0",
  15499. -"r c #AFB0B1",
  15500. -"t c #B3B4B4",
  15501. -"y c #B6B7BA",
  15502. -"u c #B7B8BB",
  15503. -"i c #BABBBD",
  15504. -"p c #BDBEC1",
  15505. -"a c #BFC0C2",
  15506. -"s c #C3C4C6",
  15507. -"d c #C5C6C9",
  15508. -"f c #C7C8CA",
  15509. -"g c #CBCCCD",
  15510. -"h c #CECFD1",
  15511. -"j c #CFD0D2",
  15512. -"k c #D1D2D3",
  15513. -"l c #D6D7D8",
  15514. -"z c #D7D8D8",
  15515. -"x c #DADBDC",
  15516. -"c c #DFDFE1",
  15517. -"v c #DFE0E1",
  15518. -"b c #E3E4E4",
  15519. -"n c #E7E8E7",
  15520. -"m c #E7E7E8",
  15521. -"M c #E7E8E9",
  15522. -"N c #EBECEC",
  15523. -"B c #EFEFF0",
  15524. -"V c #EFF0F0",
  15525. -"C c #F4F4F4",
  15526. -"Z c #F7F7F8",
  15527. -"A c #F7F8F8",
  15528. -"S c #FCFDFD",
  15529. -"D c None",
  15530. +"32 32 212 2 ",
  15531. +"   c gray24",
  15532. +".  c #3E3E3E",
  15533. +"X  c #3F3F3F",
  15534. +"o  c gray25",
  15535. +"O  c #414141",
  15536. +"+  c gray26",
  15537. +"@  c gray28",
  15538. +"#  c gray31",
  15539. +"$  c #505050",
  15540. +"%  c #515151",
  15541. +"&  c gray32",
  15542. +"*  c #545455",
  15543. +"=  c #565656",
  15544. +"-  c #565757",
  15545. +";  c gray35",
  15546. +":  c #5A5A5A",
  15547. +">  c #5B5B5B",
  15548. +",  c gray37",
  15549. +"<  c #5F5F5F",
  15550. +"1  c #606060",
  15551. +"2  c gray38",
  15552. +"3  c #626262",
  15553. +"4  c #636364",
  15554. +"5  c #646464",
  15555. +"6  c gray40",
  15556. +"7  c #676868",
  15557. +"8  c DimGray",
  15558. +"9  c #6A6A6A",
  15559. +"0  c #6C6C6C",
  15560. +"q  c #6D6D6D",
  15561. +"w  c gray43",
  15562. +"e  c #6E6E6F",
  15563. +"r  c #6F6F6F",
  15564. +"t  c gray44",
  15565. +"y  c #717171",
  15566. +"u  c gray45",
  15567. +"i  c #737475",
  15568. +"p  c gray46",
  15569. +"a  c #767676",
  15570. +"s  c #777777",
  15571. +"d  c gray47",
  15572. +"f  c #797979",
  15573. +"g  c #79797A",
  15574. +"h  c gray48",
  15575. +"j  c #7C7C7C",
  15576. +"k  c #7D7D7E",
  15577. +"l  c gray50",
  15578. +"z  c #808181",
  15579. +"x  c gray51",
  15580. +"c  c #868686",
  15581. +"v  c gray53",
  15582. +"b  c #898A8A",
  15583. +"n  c gray54",
  15584. +"m  c #8A8A8B",
  15585. +"M  c #8B8B8B",
  15586. +"N  c gray55",
  15587. +"B  c #929292",
  15588. +"V  c #929394",
  15589. +"C  c #959595",
  15590. +"Z  c #959596",
  15591. +"A  c gray60",
  15592. +"S  c #9B9C9D",
  15593. +"D  c #9C9D9E",
  15594. +"F  c #9F9F9F",
  15595. +"G  c #A0A0A0",
  15596. +"H  c gray63",
  15597. +"J  c #A0A1A2",
  15598. +"K  c #A7A7A7",
  15599. +"L  c gray66",
  15600. +"P  c #A9A9A9",
  15601. +"I  c #A8A9AB",
  15602. +"U  c #AAAAAA",
  15603. +"Y  c #AAABAC",
  15604. +"T  c #ABACAE",
  15605. +"R  c #B1B1B1",
  15606. +"E  c gray70",
  15607. +"W  c gray71",
  15608. +"Q  c #B6B6B6",
  15609. +"!  c #B7B7B7",
  15610. +"~  c #B5B7B9",
  15611. +"^  c #B8B9B9",
  15612. +"/  c #B9B9B9",
  15613. +"(  c #B8BABC",
  15614. +")  c #BBBBBC",
  15615. +"_  c #BABBBD",
  15616. +"`  c #BBBDBE",
  15617. +"'  c #BCBCBC",
  15618. +"]  c gray",
  15619. +"[  c #BCBEC0",
  15620. +"{  c #BDBEC0",
  15621. +"}  c #BFC1C2",
  15622. +"|  c #BFC1C3",
  15623. +" . c #C1C1C1",
  15624. +".. c #C1C2C3",
  15625. +"X. c #C1C3C5",
  15626. +"o. c #C2C3C4",
  15627. +"O. c #C4C6C7",
  15628. +"+. c #C5C6C7",
  15629. +"@. c #C6C6C6",
  15630. +"#. c #C6C7C7",
  15631. +"$. c gray78",
  15632. +"%. c #C5C6C8",
  15633. +"&. c #C6C7C9",
  15634. +"*. c #C6C8C9",
  15635. +"=. c #C7C8CA",
  15636. +"-. c #C8C8C8",
  15637. +";. c gray79",
  15638. +":. c #C8C9CB",
  15639. +">. c #CACACB",
  15640. +",. c #CACBCB",
  15641. +"<. c #C9CACC",
  15642. +"1. c #CACACC",
  15643. +"2. c #CACBCC",
  15644. +"3. c #CACBCD",
  15645. +"4. c #CDCDCD",
  15646. +"5. c #CCCDCE",
  15647. +"6. c #CDCECF",
  15648. +"7. c #CECFD0",
  15649. +"8. c #CECFD1",
  15650. +"9. c #CFCFD1",
  15651. +"0. c #CFD0D1",
  15652. +"q. c #D0D0D0",
  15653. +"w. c gray82",
  15654. +"e. c #D0D0D2",
  15655. +"r. c #D0D1D2",
  15656. +"t. c #D1D2D3",
  15657. +"y. c LightGray",
  15658. +"u. c #D2D3D4",
  15659. +"i. c #D2D4D5",
  15660. +"p. c #D3D5D6",
  15661. +"a. c gray83",
  15662. +"s. c #D5D5D5",
  15663. +"d. c #D4D5D6",
  15664. +"f. c #D5D5D6",
  15665. +"g. c #D4D5D7",
  15666. +"h. c #D5D6D6",
  15667. +"j. c #D5D6D7",
  15668. +"k. c gray84",
  15669. +"l. c #D7D7D7",
  15670. +"z. c #D6D7D8",
  15671. +"x. c #D7D8D9",
  15672. +"c. c #D8D9D9",
  15673. +"v. c gray85",
  15674. +"b. c #D9D9DA",
  15675. +"n. c #DADADA",
  15676. +"m. c gray86",
  15677. +"M. c #DADBDD",
  15678. +"N. c #DBDCDD",
  15679. +"B. c gainsboro",
  15680. +"V. c #DCDCDD",
  15681. +"C. c #DCDCDE",
  15682. +"Z. c #DDDEDF",
  15683. +"A. c gray87",
  15684. +"S. c #DEDEDF",
  15685. +"D. c #DFDFDF",
  15686. +"F. c #DFE0E1",
  15687. +"G. c gray88",
  15688. +"H. c #E0E0E1",
  15689. +"J. c #E1E1E2",
  15690. +"K. c #E1E2E3",
  15691. +"L. c #E2E2E2",
  15692. +"P. c #E2E3E3",
  15693. +"I. c gray89",
  15694. +"U. c #E2E3E4",
  15695. +"Y. c #E3E4E4",
  15696. +"T. c #E4E4E4",
  15697. +"R. c #E4E4E5",
  15698. +"E. c #E4E5E5",
  15699. +"W. c gray90",
  15700. +"Q. c #E6E6E6",
  15701. +"!. c #E6E7E7",
  15702. +"~. c #E6E7E8",
  15703. +"^. c #E7E7E8",
  15704. +"/. c #E7E8E8",
  15705. +"(. c #E8E8E9",
  15706. +"). c #EAEAEA",
  15707. +"_. c #EBEBEC",
  15708. +"`. c #EBECEC",
  15709. +"'. c #ECECEC",
  15710. +"]. c #ECEDED",
  15711. +"[. c gray93",
  15712. +"{. c #EEEEEE",
  15713. +"}. c #EEEEEF",
  15714. +"|. c #EEEFEF",
  15715. +" X c #EFEFEF",
  15716. +".X c #EFEFF0",
  15717. +"XX c #EFF0F0",
  15718. +"oX c gray94",
  15719. +"OX c #F1F1F1",
  15720. +"+X c gray95",
  15721. +"@X c #F2F3F3",
  15722. +"#X c #F3F3F3",
  15723. +"$X c #F4F4F4",
  15724. +"%X c #F4F4F5",
  15725. +"&X c #F4F5F5",
  15726. +"*X c gray96",
  15727. +"=X c #F6F6F6",
  15728. +"-X c #F6F6F7",
  15729. +";X c #F6F7F7",
  15730. +":X c gray97",
  15731. +">X c #F8F8F8",
  15732. +",X c #F8F9F9",
  15733. +"<X c #F9F9FA",
  15734. +"1X c gray98",
  15735. +"2X c #FBFBFB",
  15736. +"3X c #FBFCFC",
  15737. +"4X c gray99",
  15738. +"5X c #FCFCFD",
  15739. +"6X c #FDFDFD",
  15740. +"7X c #FEFEFE",
  15741. +"8X c white",
  15742. +"9X c None",
  15743.  /* pixels */
  15744. -"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD",
  15745. -"DDDDDDDDDDDD        DDDDDDDDDDDD",
  15746. -"DDDDDDDDD   O$=--=$O   DDDDDDDDD",
  15747. -"DDDDDDD  o*7gbCCCVng7*X  DDDDDDD",
  15748. -"DDDDDD  $wmZSAAAAASAAnw$  DDDDDD",
  15749. -"DDDDD X;lASCMlgdfgbASAAz-X DDDDD",
  15750. -"DDDD X,bAAbdy75559thSSSAn,X DDDD",
  15751. -"DDD  ;nAChuyq*1555=1MzlCSb;  DDD",
  15752. -"DDD $zACgislr1SSSA55iuyhZAz$ DDD",
  15753. -"DD owZAzkMAS5ySSSC-9uphmSSAwo DD",
  15754. -"DD *MSSCSSSC:zSSSz=scCSSSSAn* DD",
  15755. -"DD 7ASSSSBxe-CSSSy1gbSSBxlZA7 DD",
  15756. -"D OgASCbgpy15SSSS<$$dbgpyiMSgO D",
  15757. -"D $bSvauyyi-sSSSAtt*tyyypgNSn$ D",
  15758. -"D =CAguidxx-cSSSSSi-yidxBSSSC= D",
  15759. -"D -CAklMCw:5CSSSz3=6lNASSSAAC- D",
  15760. -"D -CSSSSc-kASSSS,3lCSSSAmkhAC- D",
  15761. -"D =VASSNw1nASSSM;nSSANzdiygAB= D",
  15762. -"D $bSNfi-%-MSSSg=iat9555esbSb$ D",
  15763. -"D ofSMut,::SSSSk333322<$fCSSsO D",
  15764. -"DD 6ZZlcV80SSSSSSSSSSSx:VSSA6 DD",
  15765. -"DD $bSSSA>kSSSSSSSSSSSu1CSSb$ DD",
  15766. -"DD X8ASSk&6wwwwwwwwww9-7zSA8X.DD",
  15767. -"DDD +kAAs<><509www85<,<sZAk+ DDD",
  15768. -"DDD  =bAZzxCSSSAVzdiuizCSc= .DDD",
  15769. -"DDDD X-bZSSSSCbgpyypgMASc;. DDDD",
  15770. -"DDDDD  =gZSSSbkggjxNASCg=X DDDDD",
  15771. -"DDDDDD  +7xCASSAASSAAx7+  DDDDDD",
  15772. -"DDDDDDDD..@1pzNNBMxa1@. DDDDDDDD",
  15773. -"DDDDDDDDD   o+****+o   DDDDDDDDD",
  15774. -"DDDDDDDDDDDD        DDDDDDDDDDDD",
  15775. -"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
  15776. +"9X9X9X9X9X9X9X9X9X9X9X9XX . o . . . o . 9X9X9X9X9X9X9X9X9X9X9X9X",
  15777. +"9X9X9X9X9X9X9X9X9XX . X X X o + o o X X o o . 9X9X9X9X9X9X9X9X9X",
  15778. +"9X9X9X9X9X9X9X. o o o y U c.;X4X4X;Xk.U e o o . . 9X9X9X9X9X9X9X",
  15779. +"9X9X9X9X9X9X. . o N W.4X4X4X4X4X4X4X4X4X4XW.N @ . o 9X9X9X9X9X9X",
  15780. +"9X9X9X9X9Xo . 3 V.4X4X4X4X4X4X4X4XoX>X4X4X4X4XV.3 . . 9X9X9X9X9X",
  15781. +"9X9X9X9Xo . j ,X4X4X4X).M.4X4X4XD.7.7.K.4X4X4X4X;Xh X . 9X9X9X9X",
  15782. +"9X9X9XX o j 4X4X4X Xr.7.;X>.< c.4.5.k.4X4X4X X4X4X4Xa . . 9X9X9X",
  15783. +"9X9X. . 3 ,X4X4XK.7.7.q.a a h H 7.0.>X4X4XK.=.V.4X4X;X3 o . 9X9X",
  15784. +"9X9XX o V.4X4XK.7.#.z < >.4Xo.h 7.;X4X4X~.&.=.0.4X4X4XV.@ . 9X9X",
  15785. +"9XX o N 4X4X X0.7.% U ,X4X4X$X* _.4X4X.X=.&.3.,X4X4X4X4XN . . 9X",
  15786. +"9Xo o W.4X4Xr.7.c.y K.4X4X4X4X9 ! ! :X3.&.=.oX4X4X/.,X4XW.o o 9X",
  15787. +"9Xo y 4X4XW.7.r.,XU Y 4X4X4X4XH o h 7.&.&.~.4X4XoX#.K.4X4Xy . 9X",
  15788. +". . U 4X4Xz.r.;X4XD.a 4X4X4X4Xc.#.% &.=.K.4X4X;X#.o.4.4X4XU o X ",
  15789. +". o k.4X,X0. X4X4XoX% ,X4X4X4X4X4Xh Y k.4X4X4X4.Y o.Y.4X4Xc.X . ",
  15790. +". o  X4XoXW.4X4X,X3.e 4.4X4X4X4X4Xl S ,X4X4X^ > # x.4X4X4XoXX X ",
  15791. +"o . 4X4X;X4X4X4Xr.&.V A 4X4X4X4X>.5 ;X4X Xv 5 r.e K.4X4X4X4Xo . ",
  15792. +"o o 4X4X4X4X4Xz.&.&.>.5 4X4X4X4XW.9 ,XU > ! 4X4XH E 4X;X4X4Xo o ",
  15793. +". o oX4X4X4XD.&.&.k.).# 4X4X4X4X4X< < Z ;X4X4X4Xk.j M.).4XoXo o ",
  15794. +"o . k.4X4X).&.&.7.,Xh ] 4X4X4X4X4X/ K.4X4X4X4X$XZ * _ ;X4Xk.o . ",
  15795. +". o Y 4X4Xr.&.3.,X4XZ ] 4X4X4X4X4X4X4X4X4X4X! > Z ~ X.4X4XK o . ",
  15796. +"9Xo y 4X4XW.3.XX4X4X] M U 4X4X4X4X4X4X4Xk.6 v Y.| _ D.4X4Xy . 9X",
  15797. +"9X. o ).4X4X).4X4XoX_ @ . V.4X4X4X4X'.z 9 k.3X=.( [ 3X4X).o . 9X",
  15798. +"9X. . N 4X4X4X4X:XX.| i M U 4X4X,XH > / 4X4Xi.( ( Y.4X4XN . . 9X",
  15799. +"9X9Xo o V.4X4X3X5.| | F.c.a 4X] > j  X4X4XV._ _ i.4X4XV.o . 9X9X",
  15800. +"9X9X. o 3 ;X4X4Xc.o.k.4X4X> e 7 Y _.4X4X~._ _ x.4X4X;X3 . X 9X9X",
  15801. +"9X9X9X. . h 4X4X4X X4X4X3XM D _ V.4X4XoX_ [ W.4X4X4Xh o . 9X9X9X",
  15802. +"9X9X9X9X. . h :X4X4X4X4Xc._ _ 9.4X4X,X3.N.,X4X4X,Xa o . 9X9X9X9X",
  15803. +"9X9X9X9X9X. . 3 V.4X4X4X4X;X).5X4X4X4X4X4X4X4Xc.< o . 9X9X9X9X9X",
  15804. +"9X9X9X9X9X9X. o o M W.4X4X4X4X4X4X4X4X4X4XW.N o X X 9X9X9X9X9X9X",
  15805. +"9X9X9X9X9X9X9X. . . o e U r.oX4X4XoXk.Y r o o . . 9X9X9X9X9X9X9X",
  15806. +"9X9X9X9X9X9X9X9X9X. o . o o X X X X X X X X . 9X9X9X9X9X9X9X9X9X",
  15807. +"9X9X9X9X9X9X9X9X9X9X9X9X. . . . X X . . 9X9X9X9X9X9X9X9X9X9X9X9X"
  15808.  };
  15809. diff --git a/share/pixmaps/bitcoin64.png b/share/pixmaps/bitcoin64.png
  15810. index 659d04c..1ab289e 100644
  15811. Binary files a/share/pixmaps/bitcoin64.png and b/share/pixmaps/bitcoin64.png differ
  15812. diff --git a/share/pixmaps/bitcoin64.xpm b/share/pixmaps/bitcoin64.xpm
  15813. index c11721c..4f755ab 100644
  15814. --- a/share/pixmaps/bitcoin64.xpm
  15815. +++ b/share/pixmaps/bitcoin64.xpm
  15816. @@ -1,148 +1,116 @@
  15817.  /* XPM */
  15818. -static char *bitcoin__[] = {
  15819. +static char *_517408268493[] = {
  15820.  /* columns rows colors chars-per-pixel */
  15821. -"64 64 78 1",
  15822. -"  c #2C2D2B",
  15823. -". c #2F302F",
  15824. -"X c #30312F",
  15825. -"o c #343533",
  15826. -"O c #373836",
  15827. -"+ c #383937",
  15828. -"@ c #3C3D3B",
  15829. -"# c #3F403E",
  15830. -"$ c #40413F",
  15831. -"% c #424442",
  15832. -"& c #474846",
  15833. -"* c #484947",
  15834. -"= c #4C4C4B",
  15835. -"- c #4F504E",
  15836. -"; c #50514F",
  15837. -": c #535452",
  15838. -"> c #575856",
  15839. -", c #585957",
  15840. -"< c #5D5E5D",
  15841. -"1 c #5F605F",
  15842. -"2 c #60615F",
  15843. -"3 c #636463",
  15844. -"4 c #676867",
  15845. -"5 c #686867",
  15846. -"6 c #6C6D6C",
  15847. -"7 c #6F706F",
  15848. -"8 c #737474",
  15849. -"9 c #777877",
  15850. -"0 c #7C7C7B",
  15851. -"q c #7F807E",
  15852. -"w c #7F8080",
  15853. -"e c #848484",
  15854. -"r c #878886",
  15855. -"t c #8B8C8B",
  15856. -"y c #8F908F",
  15857. -"u c #8D8E90",
  15858. -"i c #8F9092",
  15859. -"p c #949494",
  15860. -"a c #979897",
  15861. -"s c #9B9C9C",
  15862. -"d c #9FA09F",
  15863. -"f c #9E9FA1",
  15864. -"g c #9FA0A3",
  15865. -"h c #A2A3A2",
  15866. -"j c #A6A7A9",
  15867. -"k c #AAABAB",
  15868. -"l c #AEAFB2",
  15869. -"z c #AFB0B3",
  15870. -"x c #B2B3B4",
  15871. -"c c #B5B6B9",
  15872. -"v c #B7B8BB",
  15873. -"b c #BABABC",
  15874. -"n c #BDBEC1",
  15875. -"m c #BFC0C2",
  15876. -"M c #C2C3C4",
  15877. -"N c #C5C6C8",
  15878. -"B c #C7C8CA",
  15879. -"V c #CBCBCC",
  15880. -"C c #CECED0",
  15881. -"Z c #CFD0D2",
  15882. -"A c #D2D2D3",
  15883. -"S c #D7D8D7",
  15884. -"D c #D6D6D8",
  15885. -"F c #D7D8DA",
  15886. -"G c #DBDCDC",
  15887. -"H c #DFDFE0",
  15888. -"J c #DFE0E1",
  15889. -"K c #E3E3E4",
  15890. -"L c #E7E7E8",
  15891. -"P c #E7E8E9",
  15892. -"I c #EBECEC",
  15893. -"U c #EFEFF0",
  15894. -"Y c #EFF0F1",
  15895. -"T c #F3F3F3",
  15896. -"R c #F7F7F8",
  15897. -"E c #F7F8F8",
  15898. -"W c #FDFDFD",
  15899. -"Q c None",
  15900. +"64 64 46 1 ",
  15901. +"  c #3F3F3F",
  15902. +". c #434343",
  15903. +"X c #4B4B4B",
  15904. +"o c #535353",
  15905. +"O c #5B5C5C",
  15906. +"+ c #636363",
  15907. +"@ c #676768",
  15908. +"# c #6C6C6C",
  15909. +"$ c #727272",
  15910. +"% c #777778",
  15911. +"& c #7C7C7C",
  15912. +"* c #828282",
  15913. +"= c #8B8B8C",
  15914. +"- c #8E8F90",
  15915. +"; c #949494",
  15916. +": c #9B9B9B",
  15917. +"> c #9FA0A1",
  15918. +", c #A4A4A4",
  15919. +"< c #AAABAB",
  15920. +"1 c #AFB0B2",
  15921. +"2 c #B4B4B4",
  15922. +"3 c #B7B8BA",
  15923. +"4 c #B9BBBC",
  15924. +"5 c #BDBFC0",
  15925. +"6 c #BFC1C2",
  15926. +"7 c #C2C3C3",
  15927. +"8 c #C6C7C9",
  15928. +"9 c #C7C8CA",
  15929. +"0 c #CBCCCD",
  15930. +"q c #CECFD0",
  15931. +"w c #CFD0D1",
  15932. +"e c #D3D4D5",
  15933. +"r c #D6D7D8",
  15934. +"t c #D7D8D9",
  15935. +"y c #DCDCDC",
  15936. +"u c #DFDFE1",
  15937. +"i c #DFE0E1",
  15938. +"p c #E3E4E4",
  15939. +"a c #E7E7E8",
  15940. +"s c #E7E8E8",
  15941. +"d c #ECECEC",
  15942. +"f c #EFEFF0",
  15943. +"g c #EFF0F0",
  15944. +"h c #F4F4F4",
  15945. +"j c #FFFFFF",
  15946. +"k c None",
  15947.  /* pixels */
  15948. -"QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ",
  15949. -"QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ",
  15950. -"QQQQQQQQQQQQQQQQQQQQQQQQQo+@#@@#####@+oQQQQQQQQQQQQQQQQQQQQQQQQQ",
  15951. -"QQQQQQQQQQQQQQQQQQQQQQo@@@@@@#@@@@@@@@@@@oQQQQQQQQQQQQQQQQQQQQQQ",
  15952. -"QQQQQQQQQQQQQQQQQQQo@##@@@++@+@+@@++@+@@@@$@ QQQQQQQQQQQQQQQQQQQ",
  15953. -"QQQQQQQQQQQQQQQQQo@@@@@++&>8rasgdsar7>%@+@@@#@oQQQQQQQQQQQQQQQQQ",
  15954. -"QQQQQQQQQQQQQQQQ@@@@@+*6sVKTEWWWEWWETLVs6&+@@@#@QQQQQQQQQQQQQQQQ",
  15955. -"QQQQQQQQQQQQQQo@@@@@:yCTWEEEEEEEEEEEEEWETCy:@@@@$oQQQQQQQQQQQQQQ",
  15956. -"QQQQQQQQQQQQQ@@@@+:aGEEEEERWWWEWWWWEWEWEWEEHa:+@@$@QQQQQQQQQQQQQ",
  15957. -"QQQQQQQQQQQQ@#@@%0DEWEWEWWWWWWWWWWWWWWWEEWEERD0%@@@@QQQQQQQQQQQQ",
  15958. -"QQQQQQQQQQQ@@@@=lYWREWEWWWTIHDCCVCFHPTWWWWWEEWTk=@@@@QQQQQQQQQQQ",
  15959. -"QQQQQQQQQQ@@@@2VERRWWWWRKCncccccccccbDTWWWWWEWERV1@@@@QQQQQQQQQQ",
  15960. -"QQQQQQQQQ##@@6GERWRWWRFncccvbbbbbbMGUEWWWWWWWWWREG6@@@#QQQQQQQQQ",
  15961. -"QQQQQQQQ+@@+6HEEWRWRHnvccce6776679errrebWWWWWWWEEWG6@@@@QQQQQQQQ",
  15962. -"QQQQQQQo#@+2GWEWWWUCvccvcl:@$$%%%%%%%@+lWWELGUWWWEWG2+@#oQQQQQQQ",
  15963. -"QQQQQQ #@@:VEEEWWUnccvccvf#9ZAAAAAAAV2*GIFMccMIWWWEEV-@@@ QQQQQQ",
  15964. -"QQQQQQ@@@%kWEEWWPnccccvMGp+zWWWWWWWWK;1nbccvccnIWWWEWk$@@@QQQQQQ",
  15965. -"QQQQQo@@+wTEEWWIncccnCLRW9*SWWWWWWWWn@8vcccccccnIWWEEYw@@@oQQQQQ",
  15966. -"QQQQQ@@@:DEWWWTncnVHTWWWL;3TWWWWWWWWp+pbvccccvVGRWWWEWD:@@@QQQQQ",
  15967. -"QQQQo#@@sEEEWRCMFIWWWWWWM@yWWWWWWWWT6*jcccvMFIWWWWWWWEEa@@#XQQQQ",
  15968. -"QQQQ+#@:HEEWWTIEWWWWWWWWa+bWWWWWWWWG=2xcnCPEWWWWWWWWWEEJ>+@@QQQQ",
  15969. -"QQQQ@@+pWEWWWWWWWWWWWWWT5*GWWWWWWWWc@qVKTWWWWWWWWWWWWWRWp@#@QQQQ",
  15970. -"QQQO@@*AWEWWWWWWWWWWWIGx&5EWWWWWWWWt$MWWTWWWWWWWWUGJWWWEV*@@OQQQ",
  15971. -"QQQ@@+6TEEWWWWWWWWTHNbcu@aWWWWWWWWT2:KAaaWWWWWTHVbcnTWEWT6@@@QQQ",
  15972. -"QQQ#@@sWEWWWWWWTLVncccv7#MWWWWWWWWD*;6*+gWWELCnccvccKWWEEd@@@QQQ",
  15973. -"QQX@@%VEEWWWEPDMvcccvcx>:KWWWWWWWWk++&%%VIDMccccccccCEWWWV%@#.QQ",
  15974. -"QQ+@@,LEEWEHNbcccvcvvvh%8WWWWWWWWWe<aM,:bbcccccvccccBRWEEL>@@OQQ",
  15975. -"QQ##+7YWWWIvcccvcccccnp+hWWWWWWWWWAPWA%4vccccccccnCLRWWWET7+@#QQ",
  15976. -"QQ#@+rEEEWGcccccccbVHTr$VWWWWWWWWWWWWj@rbcccccbVGTWWWWWWEEr+#@QQ",
  15977. -"QQ$@+aEWWWDccccbMGUWWP<,IWWWWWWWWWWWE9%svcccMDIWWWWWWWWWWEa+@#QQ",
  15978. -"QQ@@@sWEWWZccnAPRWEGh4+qWWWWWWWWWWIb0$:lcnAPRWWWWWWWWWWWEWs@@#QQ",
  15979. -"QQ#@+sWEWWAVKTWWWWa=@=0ZWWWWWWWWIa,@@>pVKTWWWWWWWWWWETWWEWs@@#QQ",
  15980. -"QQ$@+sEWWWEWWWWWWP,=hGWWWWWWWWWWM@=8kDUWWWWWWWWWWWIGMZWWEWs+@#QQ",
  15981. -"QQ@@+sWEWWWWWWWWWB$tWWWWWWWWWWWWa@hIWWWWWWWWWWWTKVbccAWWEWs@@$QQ",
  15982. -"QQ$@+aWEWWWWWWWWEa@cWWWWWWWWWWWE7*HWWWWWWWWWELCncccccDWWEEp+@$QQ",
  15983. -"QQ@@+eEEEWWWWWIDM2=GEDPWWWWWWWWK=6TWWWWWWWIFNbcccvcccHWWWRe+@@QQ",
  15984. -"QQ@@+6TWWWWTGNbch*,h8>GWWWWWWWWb@aWWWWWTHVbvcbvvccccbIWWEU6+@@QQ",
  15985. -"QQo$@:GEEWTNccvbp#$@+5TWWWWWWWWp+7tttte867666666ucnCKWWEWH:@@+QQ",
  15986. -"QQ.@@$MWEWWAcccv8@>1@yWWWWWWWWT6$%$$$$%%$$%$%%#@aHYWWWWWWm%@$ QQ",
  15987. -"QQQ$@+pWEEWPccccefCt@bWWWWWWWWEGZAZZAZCAZZAZAV2&GWWWWWWEEp@@@QQQ",
  15988. -"QQQ@@@4IEEWRMcMAPWT5=KWWWWWWWWWWWWWWWWWWWWWWWL:4TWWWWWEWI3@@@QQQ",
  15989. -"QQQo@@%NWWWWPJTWWWG*7EWWWWWWWWWWWWWWWWWWWWWWWM@yWWWWWWWWN%@@oQQQ",
  15990. -"QQQQ$@+eTEWWWWWWWWc@sWWWWWWWWWWWWWWWWWWWWWWWWa@bWWWWWEETeO@#QQQQ",
  15991. -"QQQQ@@@*AWREWWWWWWt@BWWWWWWWWWWWWWWWWWWWWWWWT5:JTLTWWEWA=@@@QQQQ",
  15992. -"QQQQ @@@tTEWWWWWWP2:GTUUUTUUTUTUTTUUTUUUTTTTA*4CnDEWWETt@@# QQQQ",
  15993. -"QQQQQ@@@&VWEWWWTGk%%<<121211<<<<<<<<12<<1<1<>+0vVTWWEWB*@@@QQQQQ",
  15994. -"QQQQQo@@@6PWEWWTMi::::;:;;,11<<1<1<21222>::::>sNTWWEEI6@@#XQQQQQ",
  15995. -"QQQQQQ@@@@aEEEWWYmlzxklcBHITUUTTTUUTULAMxzllxlMUWWWEEa@@#+QQQQQQ",
  15996. -"QQQQQQQ@@@%bEEEWWTVcbBKTWWWWWWWWWWWIDmvccvbccVTWWWRWb%@@@QQQQQQQ",
  15997. -"QQQQQQQo@@@;BWEEWWTKIWWWWWWWWWWWTGNvcccccccbDRWWEEWN:@@@oQQQQQQQ",
  15998. -"QQQQQQQQ+#@@,CWEEWWWWWWWWWWWWTKVnccccccccvVIWWWEEEV,@@#+QQQQQQQQ",
  15999. -"QQQQQQQQQ+@#+>MWEEWWWWWWWWEPZnccccvccccbVPEWWWWWWN,@@@+QQQQQQQQQ",
  16000. -"QQQQQQQQQQ@##+-zREWWEWWWWEDnccccccccnNGUWWWWWEWTx=@@@@QQQQQQQQQQ",
  16001. -"QQQQQQQQQQQ@##@$tLEEEWWWWWWTIKGGGGKITWWWWRWREELt%@@@+QQQQQQQQQQQ",
  16002. -"QQQQQQQQQQQQ+$#@@3bTWEEEWWWWWWWWWWWWWWWWWERWTb4@@@@@QQQQQQQQQQQQ",
  16003. -"QQQQQQQQQQQQQX#@@+%0NTWEEEWEWEWWWWEWEWERWETM0%+@@@oQQQQQQQQQQQQQ",
  16004. -"QQQQQQQQQQQQQQ @@@@@%7xHEWEEEWWERWWEEWEEKx6%+@@@@ QQQQQQQQQQQQQQ",
  16005. -"QQQQQQQQQQQQQQQQ+@@#@+@>0kVKTTETRRTULVk0:@@@#@@+QQQQQQQQQQQQQQQQ",
  16006. -"QQQQQQQQQQQQQQQQQQ@#@@@@+@%>480e0w05>&++@@@@#@QQQQQQQQQQQQQQQQQQ",
  16007. -"QQQQQQQQQQQQQQQQQQQQ+@$@@@@@@++@+++++@@@@$@+QQQQQQQQQQQQQQQQQQQQ",
  16008. -"QQQQQQQQQQQQQQQQQQQQQQ +@##@#@@@@@@@@@@@+ QQQQQQQQQQQQQQQQQQQQQQ",
  16009. -"QQQQQQQQQQQQQQQQQQQQQQQQQQo+@@$@####+oQQQQQQQQQQQQQQQQQQQQQQQQQQ",
  16010. -"QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ",
  16011. -"QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ"
  16012. +"kkkkkkkkkkkkkkkkkkkkkkkkkk           kkkkkkkkkkkkkkkkkkkkkkkkkkk",
  16013. +"kkkkkkkkkkkkkkkkkkkkkk     .              kkkkkkkkkkkkkkkkkkkkkk",
  16014. +"kkkkkkkkkkkkkkkkkkkk  .          .      .   kkkkkkkkkkkkkkkkkkkk",
  16015. +"kkkkkkkkkkkkkkkkk             ....     .       kkkkkkkkkkkkkkkkk",
  16016. +"kkkkkkkkkkkkkkkk .  .   .#:4yhjjjjht4:#..       kkkkkkkkkkkkkkkk",
  16017. +"kkkkkkkkkkkkkk       .&7hjjjjjjjjjjjjjjh4&.       kkkkkkkkkkkkkk",
  16018. +"kkkkkkkkkkkkk      o,djjjjjjjjjjjjjjjjjjjjd,o      kkkkkkkkkkkkk",
  16019. +"kkkkkkkkkkk      X<hjjjjjjjjjjjjjjjjjjjjjjjjh<X.  .  kkkkkkkkkkk",
  16020. +"kkkkkkkkkk      *hjjjjjjjjjjjjjjjjjjjjjjjjjjjjd*      kkkkkkkkkk",
  16021. +"kkkkkkkkk  .  X4jjjjjjjjjjhjjjjjjhtpdhjjjjjjjjjj4X     kkkkkkkkk",
  16022. +"kkkkkkkk     Opjjjjjjjjhpesjjjjjjr0000edjjjjjjjjjyo.    kkkkkkkk",
  16023. +"kkkkkkk     @djjjjjjjht00pjjjhjjt00q00ehjjjjjjjjjjs+.    kkkkkkk",
  16024. +"kkkkkkk    @hjjjjjjhyww0tjjh<ojp00q00qhjjjjjjjjjjjjh+.   kkkkkkk",
  16025. +"kkkkkk    Odjjjjjjsew0wrjj0O  70q0000djjjjjhepjjjjjjdo  . kkkkkk",
  16026. +"kkkkk    Xyjjjjjjiqq0eehp$ .$ =00q0qpjjjjjjr88tjjjjjjy.    kkkkk",
  16027. +"kkkkk    3jjjjjjyqqqq0a;. $ph O0000yjjjjjjy8888ehjjjjj3    kkkkk",
  16028. +"kkkk    &jjjjjjtwwww0:o O0jjj# 800rjjjjjjp888889hjjjjjj*    kkkk",
  16029. +"kkk    Xdjjjjjyq0w0<O X,hjjjj: >0ehjjjjjf888888ajjjjjjjdX    kkk",
  16030. +"kkk    ,jjjjjsqqw0$  =djjjjjje &qhjjjjjh088888yjjjjjjjjj<.   kkk",
  16031. +"kkk. .ohjjjjheqqwqo.rjjjjjjjjj.odjjjjjj088888tjjjjjjjjjjho   kkk",
  16032. +"kk   .,jjjjjy00w0e* tjjjjjjjjj& pd;jjjr88888wjjjjjjgjjjjj, .  kk",
  16033. +"kk   .hjjjjfwwwqwd7 <jjjjjjjjj1 ,@Xjjy888880hjjjjjd7sjjjjh.   kk",
  16034. +"k    *jjjjjt0w0wpjh.$jjjjjjjjjp    ea888888fjjjjjh97qjjjjj& .  k",
  16035. +"k    5jjjjhqqweyjjj#.hjjjjjjjjjO X ;988888pjjjjjh0777hjjjj7    k",
  16036. +"k   .hjjjjpqw0tjjjj, 8jjjjjjjjj;op +88888yjjjjjje6767yjjjjh.. .k",
  16037. +"k  .#jjjjjeq0ehjjjjr ;jjjjjjjjj0ij+ 7888rjjjjjjt677779jjjjj#   k",
  16038. +"k   ;jjjjhqqwhjjjjjh.Ojjjjjjjjjjjj: ,880hjjjjjp777777sjjjjj:    ",
  16039. +"    3jjjjsqqdjjjjjhq@ sjjjjjjjjjjje $99hjjjjjh76=:67pjjjjjj4    ",
  16040. +"    ejjjjp0pjjjjjjr8= 3jjjjjjjjjjjh o9fjjjjjh8:o $6rjjjjjjjt.   ",
  16041. +"    sjjjjyyjjjjjjy881 *jjjjjjjjjjj= $pjjjjjj4@  .Xehjjjjjjjg    ",
  16042. +"    hjjjjijjjjjjs8888XXjjjjjjjjjj< Otjjjjjh;. #t& yjjjjjjjjh    ",
  16043. +"   .jjjjjjjjjjjh99888$ tjjjjjjjjj& 3jjjjj4O o4jj2 2jjjjjjjjj.   ",
  16044. +"   .jjjjjjjjjjh088888> ,jjjjjjjjj2 <jjjt# .:hjjjs &jjjjjjjjj.   ",
  16045. +"    hjjjjjjjjjw88888ed $jjjjjjjjjp &jd=. *sjjjjjjOXjjjtjjjjj    ",
  16046. +"    sjjjjjjjje888880hjO hjjjjjjjjjOX,X +ejjjjjjjj; eje9jjjjd    ",
  16047. +"    rjjjjjjju888880hj2 @hjjjjjjjjj=  X2jjjjjjjjjj8 :i4ejjjjt    ",
  16048. +"    3jjjjjjs888889fjq.Xdjjjjjjjjjj4.;hjjjjjjjjjjj1 O33pjjjj4    ",
  16049. +"    :jjjjjh988888pjj; 3jjjjjjjjjjjhpjjjjjjjjjjjt@ .*44hjjjj;    ",
  16050. +"k   $jjjjjq88899yjjje ;jjjjjjjjjjjjjjjjjjjjjjd*  &<446jjjjj@   k",
  16051. +"k   .hjjjju8888tjjjjh.+jjjjjjjjjjjjjjjjjjjjh,. +q0334tjjjjh..  k",
  16052. +"k    7jjjjh888qhjjjjj$ sj6jjjjjjjjjjjjjjjj7O X2jr3444gjjjj5    k",
  16053. +"k  . *jjjjje89hjjjjjh= 3:Xjjjjjjjjjjjjjjy$  ;hji44449jjjjj*   kk",
  16054. +"kk  ..hjjjjd8djjjjjh9< o  tjjjjjjjjjjjg=  $pjjd43443sjjjjh.   kk",
  16055. +"kk    ,jjjjjdjjjjjj064X   ,jjjjjjjjjj<X O9jjjg644340jjjjj,.   kk",
  16056. +"kkk   ohjjjjjjjjjje666#.: #jjjjjjjj9O X<jjjjh834335gjjjjho . kkk",
  16057. +"kkk    <jjjjjjjjjy6666;-d+.hjjjjjp&  =fjjjjj033453ijjjjj<    kkk",
  16058. +"kkk    Xdjjjjjjjs666665sj: 8jjjh;. O3jjjjjjr44433qjjjjjhX   kkkk",
  16059. +"kkkk    &jjjjjjh666666yjj0 =jj2o o;7jjjjjjp344448jjjjjj*    kkkk",
  16060. +"kkkkk  . 3jjjjjh06666wjjjhXOe+ .*47hjjjjjd444449jjjjjj4    kkkkk",
  16061. +"kkkkk    Xyjjjjjjr660hjjjj&   #144djjjjjg53444wjjjjjjyX    kkkkk",
  16062. +"kkkkkk    odjjjjjjp8hjjjjj< O>444pjjjjjh83444ijjjjjjsO    kkkkkk",
  16063. +"kkkkkkk    +hjjjjjjjjjjjjh1=5444ejjjjjj03440hjjjjjjd+  . kkkkkkk",
  16064. +"kkkkkkk     +djjjjjjjjjjh9444450jjjjjjt456djjjjjjjdO     kkkkkkk",
  16065. +"kkkkkkkk     oyjjjjjjjjja744457hjjjjjp5efjjjjjjjjto  .  kkkkkkkk",
  16066. +"kkkkkkkkk     X3jjjjjjjjjjhit0hjjjjjjhjjjjjjjjjj2.     kkkkkkkkk",
  16067. +"kkkkkkkkkk      &sjjjjjjjjjjjjjjjjjjjjjjjjjjjjs&  .   kkkkkkkkkk",
  16068. +"kkkkkkkkkkk      X,hjjjjjjjjjjjjjjjjjjjjjjjjh,X      kkkkkkkkkkk",
  16069. +"kkkkkkkkkkkkk      X,djjjjjjjjjjjjjjjjjjjjd,o.     kkkkkkkkkkkkk",
  16070. +"kkkkkkkkkkkkkk       .&4hjjjjjjjjjjjjjjh4*.     . kkkkkkkkkkkkkk",
  16071. +"kkkkkkkkkkkkkkkk  .   . .@-3rphjjhsr3;#.  .     kkkkkkkkkkkkkkkk",
  16072. +"kkkkkkkkkkkkkkkkk     .                .       kkkkkkkkkkkkkkkkk",
  16073. +"kkkkkkkkkkkkkkkkkkkk          .  .          kkkkkkkkkkkkkkkkkkkk",
  16074. +"kkkkkkkkkkkkkkkkkkkkkk                    kkkkkkkkkkkkkkkkkkkkkk",
  16075. +"kkkkkkkkkkkkkkkkkkkkkkkkkk            kkkkkkkkkkkkkkkkkkkkkkkkkk"
  16076.  };
  16077. diff --git a/share/pixmaps/nsis-header.bmp b/share/pixmaps/nsis-header.bmp
  16078. index 7912155..79b748e 100644
  16079. Binary files a/share/pixmaps/nsis-header.bmp and b/share/pixmaps/nsis-header.bmp differ
  16080. diff --git a/share/pixmaps/nsis-wizard.bmp b/share/pixmaps/nsis-wizard.bmp
  16081. index 37cc5ed..0186894 100644
  16082. Binary files a/share/pixmaps/nsis-wizard.bmp and b/share/pixmaps/nsis-wizard.bmp differ
  16083. diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in
  16084. index 2ec8eca..dc683ef 100644
  16085. --- a/share/qt/Info.plist.in
  16086. +++ b/share/qt/Info.plist.in
  16087. @@ -29,16 +29,16 @@
  16088.    <string>????</string>
  16089.  
  16090.    <key>CFBundleExecutable</key>
  16091. -  <string>Litecoin-Qt</string>
  16092. +  <string>LitecoinCash-Qt</string>
  16093.    
  16094.    <key>CFBundleName</key>
  16095. -  <string>Litecoin-Qt</string>
  16096. +  <string>LitecoinCash-Qt</string>
  16097.  
  16098.    <key>LSHasLocalizedDisplayName</key>
  16099.    <true/>
  16100.  
  16101.    <key>CFBundleIdentifier</key>
  16102. -  <string>org.litecoin.Litecoin-Qt</string>
  16103. +  <string>org.litecoincash.LitecoinCash-Qt</string>
  16104.  
  16105.    <key>CFBundleURLTypes</key>
  16106.    <array>
  16107. @@ -46,10 +46,10 @@
  16108.        <key>CFBundleTypeRole</key>
  16109.        <string>Editor</string>
  16110.        <key>CFBundleURLName</key>
  16111. -      <string>org.litecoin.LitecoinPayment</string>
  16112. +      <string>org.litecoincash.LitecoinCashPayment</string>
  16113.        <key>CFBundleURLSchemes</key>
  16114.        <array>
  16115. -        <string>litecoin</string>
  16116. +        <string>litecoincash</string>
  16117.        </array>
  16118.      </dict>
  16119.    </array>
  16120. @@ -58,9 +58,9 @@
  16121.    <array>
  16122.      <dict>
  16123.        <key>UTTypeIdentifier</key>
  16124. -      <string>org.litecoin.paymentrequest</string>
  16125. +      <string>org.litecoincash.paymentrequest</string>
  16126.        <key>UTTypeDescription</key>
  16127. -      <string>Litecoin payment request</string>
  16128. +      <string>LitecoinCash payment request</string>
  16129.        <key>UTTypeConformsTo</key>
  16130.        <array>
  16131.          <string>public.data</string>
  16132. @@ -68,10 +68,10 @@
  16133.        <key>UTTypeTagSpecification</key>
  16134.        <dict>
  16135.          <key>public.mime-type</key>
  16136. -        <string>application/x-litecoin-payment-request</string>
  16137. +        <string>application/x-litecoincash-payment-request</string>
  16138.          <key>public.filename-extension</key>
  16139.          <array>
  16140. -          <string>litecoinpaymentrequest</string>
  16141. +          <string>litecoincashpaymentrequest</string>
  16142.          </array>
  16143.        </dict>
  16144.      </dict>
  16145. @@ -84,7 +84,7 @@
  16146.        <string>Editor</string>
  16147.        <key>LSItemContentTypes</key>
  16148.        <array>
  16149. -        <string>org.litecoin.paymentrequest</string>
  16150. +        <string>org.litecoincash.paymentrequest</string>
  16151.        </array>
  16152.        <key>LSHandlerRank</key>
  16153.        <string>Owner</string>
  16154. diff --git a/share/qt/extract_strings_qt.py b/share/qt/extract_strings_qt.py
  16155. old mode 100755
  16156. new mode 100644
  16157. diff --git a/share/rpcuser/rpcuser.py b/share/rpcuser/rpcuser.py
  16158. old mode 100755
  16159. new mode 100644
  16160. index e266986..c9ded07
  16161. --- a/share/rpcuser/rpcuser.py
  16162. +++ b/share/rpcuser/rpcuser.py
  16163. @@ -36,6 +36,6 @@ if sys.version_info.major >= 3:
  16164.  m = hmac.new(bytearray(salt, 'utf-8'), bytearray(password, 'utf-8'), digestmod)
  16165.  result = m.hexdigest()
  16166.  
  16167. -print("String to be appended to litecoin.conf:")
  16168. +print("String to be appended to litecoincash.conf:")
  16169.  print("rpcauth="+username+":"+salt+"$"+result)
  16170.  print("Your password:\n"+password)
  16171. diff --git a/share/setup.nsi.in b/share/setup.nsi.in
  16172. index b298a4e..a5c8c3d 100644
  16173. --- a/share/setup.nsi.in
  16174. +++ b/share/setup.nsi.in
  16175. @@ -50,9 +50,9 @@ Var StartMenuGroup
  16176.  # Installer attributes
  16177.  OutFile @abs_top_srcdir@/@PACKAGE_TARNAME@-${VERSION}-win@WINDOWS_BITS@-setup.exe
  16178.  !if "@WINDOWS_BITS@" == "64"
  16179. -InstallDir $PROGRAMFILES64\Litecoin
  16180. +InstallDir $PROGRAMFILES64\LitecoinCash
  16181.  !else
  16182. -InstallDir $PROGRAMFILES\Litecoin
  16183. +InstallDir $PROGRAMFILES\LitecoinCash
  16184.  !endif
  16185.  CRCCheck on
  16186.  XPStyle on
  16187. @@ -104,7 +104,7 @@ Section -post SEC0001
  16188.      WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
  16189.      WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
  16190.      WriteRegStr HKCR "@PACKAGE_TARNAME@" "URL Protocol" ""
  16191. -    WriteRegStr HKCR "@PACKAGE_TARNAME@" "" "URL:Litecoin"
  16192. +    WriteRegStr HKCR "@PACKAGE_TARNAME@" "" "URL:LitecoinCash"
  16193.      WriteRegStr HKCR "@PACKAGE_TARNAME@\DefaultIcon" "" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@
  16194.      WriteRegStr HKCR "@PACKAGE_TARNAME@\shell\open\command" "" '"$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "%1"'
  16195.  SectionEnd
  16196. @@ -137,7 +137,7 @@ Section -un.post UNSEC0001
  16197.      Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
  16198.      Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"
  16199.      Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet, @WINDOWS_BITS@-bit).lnk"
  16200. -    Delete /REBOOTOK "$SMSTARTUP\Litecoin.lnk"
  16201. +    Delete /REBOOTOK "$SMSTARTUP\LitecoinCash.lnk"
  16202.      Delete /REBOOTOK $INSTDIR\uninstall.exe
  16203.      Delete /REBOOTOK $INSTDIR\debug.log
  16204.      Delete /REBOOTOK $INSTDIR\db.log
  16205. diff --git a/src/Makefile.am b/src/Makefile.am
  16206. index e315196..79f1284 100644
  16207. --- a/src/Makefile.am
  16208. +++ b/src/Makefile.am
  16209. @@ -66,11 +66,11 @@ TESTS =
  16210.  BENCHMARKS =
  16211.  
  16212.  if BUILD_BITCOIND
  16213. -  bin_PROGRAMS += litecoind
  16214. +  bin_PROGRAMS += litecoincashd
  16215.  endif
  16216.  
  16217.  if BUILD_BITCOIN_UTILS
  16218. -  bin_PROGRAMS += litecoin-cli litecoin-tx
  16219. +  bin_PROGRAMS += litecoincash-cli litecoincash-tx
  16220.  endif
  16221.  
  16222.  .PHONY: FORCE check-symbols check-security
  16223. @@ -288,7 +288,6 @@ libbitcoin_consensus_a_SOURCES = \
  16224.    hash.cpp \
  16225.    hash.h \
  16226.    prevector.h \
  16227. -  primitives/block.cpp \
  16228.    primitives/block.h \
  16229.    primitives/transaction.cpp \
  16230.    primitives/transaction.h \
  16231. @@ -324,6 +323,7 @@ libbitcoin_common_a_SOURCES = \
  16232.    netaddress.cpp \
  16233.    netbase.cpp \
  16234.    policy/feerate.cpp \
  16235. +  primitives/block.cpp \
  16236.    protocol.cpp \
  16237.    scheduler.cpp \
  16238.    script/sign.cpp \
  16239. @@ -370,16 +370,16 @@ nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h
  16240.  #
  16241.  
  16242.  # bitcoind binary #
  16243. -litecoind_SOURCES = bitcoind.cpp
  16244. -litecoind_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
  16245. -litecoind_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16246. -litecoind_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16247. +litecoincashd_SOURCES = bitcoind.cpp
  16248. +litecoincashd_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
  16249. +litecoincashd_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16250. +litecoincashd_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16251.  
  16252.  if TARGET_WINDOWS
  16253. -litecoind_SOURCES += bitcoind-res.rc
  16254. +litecoincashd_SOURCES += bitcoind-res.rc
  16255.  endif
  16256.  
  16257. -litecoind_LDADD = \
  16258. +litecoincashd_LDADD = \
  16259.    $(LIBBITCOIN_SERVER) \
  16260.    $(LIBBITCOIN_COMMON) \
  16261.    $(LIBUNIVALUE) \
  16262. @@ -393,38 +393,38 @@ litecoind_LDADD = \
  16263.    $(LIBMEMENV) \
  16264.    $(LIBSECP256K1)
  16265.  
  16266. -litecoind_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) $(ZMQ_LIBS)
  16267. +litecoincashd_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) $(ZMQ_LIBS)
  16268.  
  16269.  # bitcoin-cli binary #
  16270. -litecoin_cli_SOURCES = bitcoin-cli.cpp
  16271. -litecoin_cli_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CFLAGS)
  16272. -litecoin_cli_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16273. -litecoin_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16274. +litecoincash_cli_SOURCES = bitcoin-cli.cpp
  16275. +litecoincash_cli_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CFLAGS)
  16276. +litecoincash_cli_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16277. +litecoincash_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16278.  
  16279.  if TARGET_WINDOWS
  16280. -litecoin_cli_SOURCES += bitcoin-cli-res.rc
  16281. +litecoincash_cli_SOURCES += bitcoin-cli-res.rc
  16282.  endif
  16283.  
  16284. -litecoin_cli_LDADD = \
  16285. +litecoincash_cli_LDADD = \
  16286.    $(LIBBITCOIN_CLI) \
  16287.    $(LIBUNIVALUE) \
  16288.    $(LIBBITCOIN_UTIL) \
  16289.    $(LIBBITCOIN_CRYPTO)
  16290.  
  16291. -litecoin_cli_LDADD += $(BOOST_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(EVENT_LIBS)
  16292. +litecoincash_cli_LDADD += $(BOOST_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(EVENT_LIBS)
  16293.  #
  16294.  
  16295.  # bitcoin-tx binary #
  16296. -litecoin_tx_SOURCES = bitcoin-tx.cpp
  16297. -litecoin_tx_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
  16298. -litecoin_tx_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16299. -litecoin_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16300. +litecoincash_tx_SOURCES = bitcoin-tx.cpp
  16301. +litecoincash_tx_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
  16302. +litecoincash_tx_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16303. +litecoincash_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16304.  
  16305.  if TARGET_WINDOWS
  16306. -litecoin_tx_SOURCES += bitcoin-tx-res.rc
  16307. +litecoincash_tx_SOURCES += bitcoin-tx-res.rc
  16308.  endif
  16309.  
  16310. -litecoin_tx_LDADD = \
  16311. +litecoincash_tx_LDADD = \
  16312.    $(LIBUNIVALUE) \
  16313.    $(LIBBITCOIN_COMMON) \
  16314.    $(LIBBITCOIN_UTIL) \
  16315. @@ -432,7 +432,7 @@ litecoin_tx_LDADD = \
  16316.    $(LIBBITCOIN_CRYPTO) \
  16317.    $(LIBSECP256K1)
  16318.  
  16319. -litecoin_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
  16320. +litecoincash_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
  16321.  #
  16322.  
  16323.  # bitcoinconsensus library #
  16324. diff --git a/src/Makefile.bench.include b/src/Makefile.bench.include
  16325. index c1f3a0d..b623952 100644
  16326. --- a/src/Makefile.bench.include
  16327. +++ b/src/Makefile.bench.include
  16328. @@ -2,15 +2,15 @@
  16329.  # Distributed under the MIT software license, see the accompanying
  16330.  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
  16331.  
  16332. -bin_PROGRAMS += bench/bench_litecoin
  16333. +bin_PROGRAMS += bench/bench_litecoincash
  16334.  BENCH_SRCDIR = bench
  16335. -BENCH_BINARY = bench/bench_litecoin$(EXEEXT)
  16336. +BENCH_BINARY = bench/bench_litecoincash$(EXEEXT)
  16337.  
  16338.  RAW_TEST_FILES = \
  16339.    bench/data/block413567.raw
  16340.  GENERATED_TEST_FILES = $(RAW_TEST_FILES:.raw=.raw.h)
  16341.  
  16342. -bench_bench_litecoin_SOURCES = \
  16343. +bench_bench_litecoincash_SOURCES = \
  16344.    bench/bench_bitcoin.cpp \
  16345.    bench/bench.cpp \
  16346.    bench/bench.h \
  16347. @@ -28,11 +28,11 @@ bench_bench_litecoin_SOURCES = \
  16348.    bench/perf.h \
  16349.    bench/prevector_destructor.cpp
  16350.  
  16351. -nodist_bench_bench_litecoin_SOURCES = $(GENERATED_TEST_FILES)
  16352. +nodist_bench_bench_litecoincash_SOURCES = $(GENERATED_TEST_FILES)
  16353.  
  16354. -bench_bench_litecoin_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CLFAGS) $(EVENT_PTHREADS_CFLAGS) -I$(builddir)/bench/
  16355. -bench_bench_litecoin_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16356. -bench_bench_litecoin_LDADD = \
  16357. +bench_bench_litecoincash_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CLFAGS) $(EVENT_PTHREADS_CFLAGS) -I$(builddir)/bench/
  16358. +bench_bench_litecoincash_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16359. +bench_bench_litecoincash_LDADD = \
  16360.    $(LIBBITCOIN_SERVER) \
  16361.    $(LIBBITCOIN_COMMON) \
  16362.    $(LIBBITCOIN_UTIL) \
  16363. @@ -45,16 +45,16 @@ bench_bench_litecoin_LDADD = \
  16364.    $(LIBUNIVALUE)
  16365.  
  16366.  if ENABLE_ZMQ
  16367. -bench_bench_litecoin_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
  16368. +bench_bench_litecoincash_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
  16369.  endif
  16370.  
  16371.  if ENABLE_WALLET
  16372. -bench_bench_litecoin_SOURCES += bench/coin_selection.cpp
  16373. -bench_bench_litecoin_LDADD += $(LIBBITCOIN_WALLET) $(LIBBITCOIN_CRYPTO)
  16374. +bench_bench_litecoincash_SOURCES += bench/coin_selection.cpp
  16375. +bench_bench_litecoincash_LDADD += $(LIBBITCOIN_WALLET) $(LIBBITCOIN_CRYPTO)
  16376.  endif
  16377.  
  16378. -bench_bench_litecoin_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS)
  16379. -bench_bench_litecoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16380. +bench_bench_litecoincash_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS)
  16381. +bench_bench_litecoincash_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16382.  
  16383.  CLEAN_BITCOIN_BENCH = bench/*.gcda bench/*.gcno $(GENERATED_TEST_FILES)
  16384.  
  16385. diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
  16386. index 2973e3d..e101591 100644
  16387. --- a/src/Makefile.qt.include
  16388. +++ b/src/Makefile.qt.include
  16389. @@ -2,7 +2,7 @@
  16390.  # Distributed under the MIT software license, see the accompanying
  16391.  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
  16392.  
  16393. -bin_PROGRAMS += qt/litecoin-qt
  16394. +bin_PROGRAMS += qt/litecoincash-qt
  16395.  EXTRA_LIBRARIES += qt/libbitcoinqt.a
  16396.  
  16397.  # bitcoin qt core #
  16398. @@ -288,7 +288,7 @@ RES_ICONS = \
  16399.    qt/res/icons/history.png \
  16400.    qt/res/icons/info.png \
  16401.    qt/res/icons/key.png \
  16402. -  qt/res/icons/litecoin_splash.png \
  16403. +  qt/res/icons/litecoincash_splash.png \
  16404.    qt/res/icons/lock_closed.png \
  16405.    qt/res/icons/lock_open.png \
  16406.    qt/res/icons/network_disabled.png \
  16407. @@ -397,7 +397,7 @@ QT_FORMS_H=$(join $(dir $(QT_FORMS_UI)),$(addprefix ui_, $(notdir $(QT_FORMS_UI:
  16408.  # Most files will depend on the forms and moc files as includes. Generate them
  16409.  # before anything else.
  16410.  $(QT_MOC): $(QT_FORMS_H)
  16411. -$(qt_libbitcoinqt_a_OBJECTS) $(qt_litecoin_qt_OBJECTS) : | $(QT_MOC)
  16412. +$(qt_libbitcoinqt_a_OBJECTS) $(qt_litecoincash_qt_OBJECTS) : | $(QT_MOC)
  16413.  
  16414.  #Generating these with a half-written protobuf header leads to wacky results.
  16415.  #This makes sure it's done.
  16416. @@ -405,29 +405,29 @@ $(QT_MOC): $(PROTOBUF_H)
  16417.  $(QT_MOC_CPP): $(PROTOBUF_H)
  16418.  
  16419.  # bitcoin-qt binary #
  16420. -qt_litecoin_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \
  16421. +qt_litecoincash_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \
  16422.    $(QT_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS)
  16423. -qt_litecoin_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS)
  16424. +qt_litecoincash_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS)
  16425.  
  16426. -qt_litecoin_qt_SOURCES = qt/bitcoin.cpp
  16427. +qt_litecoincash_qt_SOURCES = qt/bitcoin.cpp
  16428.  if TARGET_DARWIN
  16429. -  qt_litecoin_qt_SOURCES += $(BITCOIN_MM)
  16430. +  qt_litecoincash_qt_SOURCES += $(BITCOIN_MM)
  16431.  endif
  16432.  if TARGET_WINDOWS
  16433. -  qt_litecoin_qt_SOURCES += $(BITCOIN_RC)
  16434. +  qt_litecoincash_qt_SOURCES += $(BITCOIN_RC)
  16435.  endif
  16436. -qt_litecoin_qt_LDADD = qt/libbitcoinqt.a $(LIBBITCOIN_SERVER)
  16437. +qt_litecoincash_qt_LDADD = qt/libbitcoinqt.a $(LIBBITCOIN_SERVER)
  16438.  if ENABLE_WALLET
  16439. -qt_litecoin_qt_LDADD += $(LIBBITCOIN_WALLET)
  16440. +qt_litecoincash_qt_LDADD += $(LIBBITCOIN_WALLET)
  16441.  endif
  16442.  if ENABLE_ZMQ
  16443. -qt_litecoin_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
  16444. +qt_litecoincash_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
  16445.  endif
  16446. -qt_litecoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) \
  16447. +qt_litecoincash_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) \
  16448.    $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \
  16449.    $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS)
  16450. -qt_litecoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16451. -qt_litecoin_qt_LIBTOOLFLAGS = --tag CXX
  16452. +qt_litecoincash_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16453. +qt_litecoincash_qt_LIBTOOLFLAGS = --tag CXX
  16454.  
  16455.  #locale/foo.ts -> locale/foo.qm
  16456.  QT_QM=$(QT_TS:.ts=.qm)
  16457. @@ -459,9 +459,9 @@ CLEAN_QT = $(nodist_qt_libbitcoinqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda
  16458.  CLEANFILES += $(CLEAN_QT)
  16459.  
  16460.  bitcoin_qt_clean: FORCE
  16461. -   rm -f $(CLEAN_QT) $(qt_libbitcoinqt_a_OBJECTS) $(qt_litecoin_qt_OBJECTS) qt/litecoin-qt$(EXEEXT) $(LIBBITCOINQT)
  16462. +   rm -f $(CLEAN_QT) $(qt_libbitcoinqt_a_OBJECTS) $(qt_litecoincash_qt_OBJECTS) qt/litecoincash-qt$(EXEEXT) $(LIBBITCOINQT)
  16463.  
  16464. -bitcoin_qt : qt/litecoin-qt$(EXEEXT)
  16465. +bitcoin_qt : qt/litecoincash-qt$(EXEEXT)
  16466.  
  16467.  ui_%.h: %.ui
  16468.     @test -f $(UIC)
  16469. diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include
  16470. index 5e0ff98..e644b7f 100644
  16471. --- a/src/Makefile.qttest.include
  16472. +++ b/src/Makefile.qttest.include
  16473. @@ -2,8 +2,8 @@
  16474.  # Distributed under the MIT software license, see the accompanying
  16475.  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
  16476.  
  16477. -bin_PROGRAMS += qt/test/test_litecoin-qt
  16478. -TESTS += qt/test/test_litecoin-qt
  16479. +bin_PROGRAMS += qt/test/test_litecoincash-qt
  16480. +TESTS += qt/test/test_litecoincash-qt
  16481.  
  16482.  TEST_QT_MOC_CPP = \
  16483.    qt/test/moc_compattests.cpp \
  16484. @@ -25,15 +25,17 @@ TEST_QT_H = \
  16485.    qt/test/wallettests.h
  16486.  
  16487.  TEST_BITCOIN_CPP = \
  16488. -  test/test_bitcoin.cpp
  16489. +  test/test_bitcoin.cpp \
  16490. +  test/testutil.cpp
  16491.  
  16492.  TEST_BITCOIN_H = \
  16493. -  test/test_bitcoin.h
  16494. +  test/test_bitcoin.h \
  16495. +  test/testutil.h
  16496.  
  16497. -qt_test_test_litecoin_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \
  16498. +qt_test_test_litecoincash_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \
  16499.    $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS)
  16500.  
  16501. -qt_test_test_litecoin_qt_SOURCES = \
  16502. +qt_test_test_litecoincash_qt_SOURCES = \
  16503.    qt/test/compattests.cpp \
  16504.    qt/test/rpcnestedtests.cpp \
  16505.    qt/test/test_main.cpp \
  16506. @@ -42,35 +44,35 @@ qt_test_test_litecoin_qt_SOURCES = \
  16507.    $(TEST_BITCOIN_CPP) \
  16508.    $(TEST_BITCOIN_H)
  16509.  if ENABLE_WALLET
  16510. -qt_test_test_litecoin_qt_SOURCES += \
  16511. +qt_test_test_litecoincash_qt_SOURCES += \
  16512.    qt/test/paymentservertests.cpp \
  16513.    qt/test/wallettests.cpp \
  16514.    wallet/test/wallet_test_fixture.cpp
  16515.  endif
  16516.  
  16517. -nodist_qt_test_test_litecoin_qt_SOURCES = $(TEST_QT_MOC_CPP)
  16518. +nodist_qt_test_test_litecoincash_qt_SOURCES = $(TEST_QT_MOC_CPP)
  16519.  
  16520. -qt_test_test_litecoin_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN_SERVER)
  16521. +qt_test_test_litecoincash_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN_SERVER)
  16522.  if ENABLE_WALLET
  16523. -qt_test_test_litecoin_qt_LDADD += $(LIBBITCOIN_WALLET)
  16524. +qt_test_test_litecoincash_qt_LDADD += $(LIBBITCOIN_WALLET)
  16525.  endif
  16526.  if ENABLE_ZMQ
  16527. -qt_test_test_litecoin_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
  16528. +qt_test_test_litecoincash_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
  16529.  endif
  16530. -qt_test_test_litecoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) \
  16531. +qt_test_test_litecoincash_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) \
  16532.    $(LIBLEVELDB_SSE42) $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \
  16533.    $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \
  16534.    $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS)
  16535. -qt_test_test_litecoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16536. -qt_test_test_litecoin_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS)
  16537. +qt_test_test_litecoincash_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16538. +qt_test_test_litecoincash_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS)
  16539.  
  16540.  CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno
  16541.  
  16542.  CLEANFILES += $(CLEAN_BITCOIN_QT_TEST)
  16543.  
  16544. -test_bitcoin_qt : qt/test/test_litecoin-qt$(EXEEXT)
  16545. +test_bitcoin_qt : qt/test/test_litecoincash-qt$(EXEEXT)
  16546.  
  16547. -test_bitcoin_qt_check : qt/test/test_litecoin-qt$(EXEEXT) FORCE
  16548. +test_bitcoin_qt_check : qt/test/test_litecoincash-qt$(EXEEXT) FORCE
  16549.     $(MAKE) check-TESTS TESTS=$^
  16550.  
  16551.  test_bitcoin_qt_clean: FORCE
  16552. diff --git a/src/Makefile.test.include b/src/Makefile.test.include
  16553. index daade0d..5d8c61a 100644
  16554. --- a/src/Makefile.test.include
  16555. +++ b/src/Makefile.test.include
  16556. @@ -2,11 +2,11 @@
  16557.  # Distributed under the MIT software license, see the accompanying
  16558.  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
  16559.  
  16560. -TESTS += test/test_litecoin
  16561. -bin_PROGRAMS += test/test_litecoin
  16562. -noinst_PROGRAMS += test/test_litecoin_fuzzy
  16563. +TESTS += test/test_litecoincash
  16564. +bin_PROGRAMS += test/test_litecoincash
  16565. +noinst_PROGRAMS += test/test_litecoincash_fuzzy
  16566.  TEST_SRCDIR = test
  16567. -TEST_BINARY=test/test_litecoin$(EXEEXT)
  16568. +TEST_BINARY=test/test_litecoincash$(EXEEXT)
  16569.  
  16570.  JSON_TEST_FILES = \
  16571.    test/data/script_tests.json \
  16572. @@ -64,7 +64,6 @@ BITCOIN_TESTS =\
  16573.    test/scheduler_tests.cpp \
  16574.    test/script_P2SH_tests.cpp \
  16575.    test/script_tests.cpp \
  16576. -  test/script_standard_tests.cpp \
  16577.    test/scriptnum_tests.cpp \
  16578.    test/scrypt_tests.cpp \
  16579.    test/serialize_tests.cpp \
  16580. @@ -75,6 +74,8 @@ BITCOIN_TESTS =\
  16581.    test/test_bitcoin.cpp \
  16582.    test/test_bitcoin.h \
  16583.    test/test_bitcoin_main.cpp \
  16584. +  test/testutil.cpp \
  16585. +  test/testutil.h \
  16586.    test/timedata_tests.cpp \
  16587.    test/torcontrol_tests.cpp \
  16588.    test/transaction_tests.cpp \
  16589. @@ -93,31 +94,31 @@ BITCOIN_TESTS += \
  16590.    wallet/test/crypto_tests.cpp
  16591.  endif
  16592.  
  16593. -test_test_litecoin_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES)
  16594. -test_test_litecoin_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) $(EVENT_CFLAGS)
  16595. -test_test_litecoin_LDADD =
  16596. +test_test_litecoincash_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES)
  16597. +test_test_litecoincash_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) $(EVENT_CFLAGS)
  16598. +test_test_litecoincash_LDADD =
  16599.  if ENABLE_WALLET
  16600. -test_test_litecoin_LDADD += $(LIBBITCOIN_WALLET)
  16601. +test_test_litecoincash_LDADD += $(LIBBITCOIN_WALLET)
  16602.  endif
  16603. -test_test_litecoin_LDADD += $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) \
  16604. +test_test_litecoincash_LDADD += $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) \
  16605.    $(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSECP256K1) $(EVENT_LIBS) $(EVENT_PTHREADS_LIBS)
  16606. -test_test_litecoin_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16607. +test_test_litecoincash_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16608.  
  16609. -test_test_litecoin_LDADD += $(LIBBITCOIN_CONSENSUS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS)
  16610. -test_test_litecoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static
  16611. +test_test_litecoincash_LDADD += $(LIBBITCOIN_CONSENSUS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS)
  16612. +test_test_litecoincash_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static
  16613.  
  16614.  if ENABLE_ZMQ
  16615. -test_test_litecoin_LDADD += $(ZMQ_LIBS)
  16616. +test_test_litecoincash_LDADD += $(ZMQ_LIBS)
  16617.  endif
  16618.  #
  16619.  
  16620.  # test_bitcoin_fuzzy binary #
  16621. -test_test_litecoin_fuzzy_SOURCES = test/test_bitcoin_fuzzy.cpp
  16622. -test_test_litecoin_fuzzy_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
  16623. -test_test_litecoin_fuzzy_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16624. -test_test_litecoin_fuzzy_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16625. +test_test_litecoincash_fuzzy_SOURCES = test/test_bitcoin_fuzzy.cpp
  16626. +test_test_litecoincash_fuzzy_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
  16627. +test_test_litecoincash_fuzzy_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
  16628. +test_test_litecoincash_fuzzy_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
  16629.  
  16630. -test_test_litecoin_fuzzy_LDADD = \
  16631. +test_test_litecoincash_fuzzy_LDADD = \
  16632.    $(LIBUNIVALUE) \
  16633.    $(LIBBITCOIN_SERVER) \
  16634.    $(LIBBITCOIN_COMMON) \
  16635. @@ -126,10 +127,10 @@ test_test_litecoin_fuzzy_LDADD = \
  16636.    $(LIBBITCOIN_CRYPTO) \
  16637.    $(LIBSECP256K1)
  16638.  
  16639. -test_test_litecoin_fuzzy_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
  16640. +test_test_litecoincash_fuzzy_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
  16641.  #
  16642.  
  16643. -nodist_test_test_litecoin_SOURCES = $(GENERATED_TEST_FILES)
  16644. +nodist_test_test_litecoincash_SOURCES = $(GENERATED_TEST_FILES)
  16645.  
  16646.  $(BITCOIN_TESTS): $(GENERATED_TEST_FILES)
  16647.  
  16648. @@ -146,8 +147,7 @@ bitcoin_test_clean : FORCE
  16649.     rm -f $(CLEAN_BITCOIN_TEST) $(test_test_bitcoin_OBJECTS) $(TEST_BINARY)
  16650.  
  16651.  check-local:
  16652. -   @echo "Running test/util/bitcoin-util-test.py..."
  16653. -   $(PYTHON) $(top_builddir)/test/util/bitcoin-util-test.py
  16654. +   @echo "Skipping test/util/bitcoin-util-test.py as util not distributed..."
  16655.     $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C secp256k1 check
  16656.  if EMBEDDED_UNIVALUE
  16657.     $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C univalue check
  16658. diff --git a/src/addrman.cpp b/src/addrman.cpp
  16659. index a56bb4f..0c34c98 100644
  16660. --- a/src/addrman.cpp
  16661. +++ b/src/addrman.cpp
  16662. @@ -241,8 +241,12 @@ void CAddrMan::Good_(const CService& addr, int64_t nTime)
  16663.  
  16664.  bool CAddrMan::Add_(const CAddress& addr, const CNetAddr& source, int64_t nTimePenalty)
  16665.  {
  16666. -    if (!addr.IsRoutable())
  16667. +    LogPrint(BCLog::ADDRMAN, "Trying %s...\n", addr.ToString());
  16668. +        
  16669. +    if (!addr.IsRoutable()) {
  16670. +        LogPrint(BCLog::ADDRMAN, "Dropping %s (isn't routable)\n", addr.ToString());
  16671.          return false;
  16672. +    }
  16673.  
  16674.      bool fNew = false;
  16675.      int nId;
  16676. @@ -264,23 +268,31 @@ bool CAddrMan::Add_(const CAddress& addr, const CNetAddr& source, int64_t nTimeP
  16677.          pinfo->nServices = ServiceFlags(pinfo->nServices | addr.nServices);
  16678.  
  16679.          // do not update if no new information is present
  16680. -        if (!addr.nTime || (pinfo->nTime && addr.nTime <= pinfo->nTime))
  16681. +        if (!addr.nTime || (pinfo->nTime && addr.nTime <= pinfo->nTime)) {
  16682. +            LogPrint(BCLog::ADDRMAN, "Dropping %s (no new info)\n", addr.ToString());
  16683.              return false;
  16684. +        }
  16685.  
  16686.          // do not update if the entry was already in the "tried" table
  16687. -        if (pinfo->fInTried)
  16688. +        if (pinfo->fInTried) {
  16689. +            LogPrint(BCLog::ADDRMAN, "Dropping %s (already tried)\n", addr.ToString());
  16690.              return false;
  16691. +        }
  16692.  
  16693.          // do not update if the max reference count is reached
  16694. -        if (pinfo->nRefCount == ADDRMAN_NEW_BUCKETS_PER_ADDRESS)
  16695. +        if (pinfo->nRefCount == ADDRMAN_NEW_BUCKETS_PER_ADDRESS) {
  16696. +            LogPrint(BCLog::ADDRMAN, "Dropping %s (max refs reached)\n", addr.ToString());
  16697.              return false;
  16698. +        }
  16699.  
  16700.          // stochastic test: previous nRefCount == N: 2^N times harder to increase it
  16701.          int nFactor = 1;
  16702.          for (int n = 0; n < pinfo->nRefCount; n++)
  16703.              nFactor *= 2;
  16704. -        if (nFactor > 1 && (RandomInt(nFactor) != 0))
  16705. +        if (nFactor > 1 && (RandomInt(nFactor) != 0)) {
  16706. +            LogPrint(BCLog::ADDRMAN, "Dropping %s (stochastic test fail)\n", addr.ToString());
  16707.              return false;
  16708. +        }
  16709.      } else {
  16710.          pinfo = Create(addr, source, &nId);
  16711.          pinfo->nTime = std::max((int64_t)0, (int64_t)pinfo->nTime - nTimePenalty);
  16712. @@ -309,6 +321,7 @@ bool CAddrMan::Add_(const CAddress& addr, const CNetAddr& source, int64_t nTimeP
  16713.              }
  16714.          }
  16715.      }
  16716. +    LogPrint(BCLog::ADDRMAN, "OK for %s\n", addr.ToString());
  16717.      return fNew;
  16718.  }
  16719.  
  16720. diff --git a/src/addrman.h b/src/addrman.h
  16721. index 18f3062..547088a 100644
  16722. --- a/src/addrman.h
  16723. +++ b/src/addrman.h
  16724. @@ -472,8 +472,6 @@ public:
  16725.          nTried = 0;
  16726.          nNew = 0;
  16727.          nLastGood = 1; //Initially at 1 so that "never" is strictly worse.
  16728. -        mapInfo.clear();
  16729. -        mapAddr.clear();
  16730.      }
  16731.  
  16732.      CAddrMan()
  16733. diff --git a/src/amount.h b/src/amount.h
  16734. index 1ea6235..51b8ac4 100644
  16735. --- a/src/amount.h
  16736. +++ b/src/amount.h
  16737. @@ -11,8 +11,10 @@
  16738.  /** Amount in satoshis (Can be negative) */
  16739.  typedef int64_t CAmount;
  16740.  
  16741. -static const CAmount COIN = 100000000;
  16742. -static const CAmount CENT = 1000000;
  16743. +static const CAmount COIN_SCALE = 10;   // LitecoinCash: 10:1 coinswap
  16744. +
  16745. +static const CAmount COIN = 100000000 / COIN_SCALE;
  16746. +static const CAmount CENT = 1000000 / COIN_SCALE;
  16747.  
  16748.  /** No amount larger than this (in satoshi) is valid.
  16749.   *
  16750. @@ -23,7 +25,7 @@ static const CAmount CENT = 1000000;
  16751.   * critical; in unusual circumstances like a(nother) overflow bug that allowed
  16752.   * for the creation of coins out of thin air modification could lead to a fork.
  16753.   * */
  16754. -static const CAmount MAX_MONEY = 84000000 * COIN;
  16755. +static const CAmount MAX_MONEY = 84000000 * COIN * COIN_SCALE;
  16756.  inline bool MoneyRange(const CAmount& nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
  16757.  
  16758.  #endif //  BITCOIN_AMOUNT_H
  16759. diff --git a/src/bench/.gitignore b/src/bench/.gitignore
  16760. index 40f8714..bd60d9e 100644
  16761. --- a/src/bench/.gitignore
  16762. +++ b/src/bench/.gitignore
  16763. @@ -1 +1 @@
  16764. -bench_litecoin
  16765. +bench_litecoincash
  16766. diff --git a/src/bench/checkblock.cpp b/src/bench/checkblock.cpp
  16767. index f227c26..04b027e 100644
  16768. --- a/src/bench/checkblock.cpp
  16769. +++ b/src/bench/checkblock.cpp
  16770. @@ -17,7 +17,7 @@ namespace block_bench {
  16771.  // a block off the wire, but before we can relay the block on to peers using
  16772.  // compact block relay.
  16773.  
  16774. -// Litecoin uses block height 878439, hash 0babe680f55a55d54339511226755f0837261da89a4e78eba4d6436a63026df8
  16775. +// LitecoinCash uses block height 878439, hash 0babe680f55a55d54339511226755f0837261da89a4e78eba4d6436a63026df8
  16776.  // which contains 3808 transactions.
  16777.  
  16778.  static void DeserializeBlockTest(benchmark::State& state)
  16779. diff --git a/src/bench/data/block413567.raw b/src/bench/data/block413567.raw
  16780. old mode 100755
  16781. new mode 100644
  16782. diff --git a/src/bitcoin-cli-res.rc b/src/bitcoin-cli-res.rc
  16783. index 6110093..fb28231 100644
  16784. --- a/src/bitcoin-cli-res.rc
  16785. +++ b/src/bitcoin-cli-res.rc
  16786. @@ -16,14 +16,14 @@ BEGIN
  16787.      BEGIN
  16788.          BLOCK "040904E4" // U.S. English - multilingual (hex)
  16789.          BEGIN
  16790. -            VALUE "CompanyName",        "Litecoin"
  16791. -            VALUE "FileDescription",    "litecoin-cli (JSON-RPC client for " PACKAGE_NAME ")"
  16792. +            VALUE "CompanyName",        "LitecoinCash"
  16793. +            VALUE "FileDescription",    "litecoincash-cli (JSON-RPC client for " PACKAGE_NAME ")"
  16794.              VALUE "FileVersion",        VER_FILEVERSION_STR
  16795. -            VALUE "InternalName",       "litecoin-cli"
  16796. +            VALUE "InternalName",       "litecoincash-cli"
  16797.              VALUE "LegalCopyright",     COPYRIGHT_STR
  16798.              VALUE "LegalTrademarks1",   "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
  16799. -            VALUE "OriginalFilename",   "litecoin-cli.exe"
  16800. -            VALUE "ProductName",        "litecoin-cli"
  16801. +            VALUE "OriginalFilename",   "litecoincash-cli.exe"
  16802. +            VALUE "ProductName",        "litecoincash-cli"
  16803.              VALUE "ProductVersion",     VER_PRODUCTVERSION_STR
  16804.          END
  16805.      END
  16806. diff --git a/src/bitcoin-cli.cpp b/src/bitcoin-cli.cpp
  16807. index 7daa4e4..ab639ee 100644
  16808. --- a/src/bitcoin-cli.cpp
  16809. +++ b/src/bitcoin-cli.cpp
  16810. @@ -84,10 +84,10 @@ static int AppInitRPC(int argc, char* argv[])
  16811.          std::string strUsage = strprintf(_("%s RPC client version"), _(PACKAGE_NAME)) + " " + FormatFullVersion() + "\n";
  16812.          if (!gArgs.IsArgSet("-version")) {
  16813.              strUsage += "\n" + _("Usage:") + "\n" +
  16814. -                  "  litecoin-cli [options] <command> [params]  " + strprintf(_("Send command to %s"), _(PACKAGE_NAME)) + "\n" +
  16815. -                  "  litecoin-cli [options] -named <command> [name=value] ... " + strprintf(_("Send command to %s (with named arguments)"), _(PACKAGE_NAME)) + "\n" +
  16816. -                  "  litecoin-cli [options] help                " + _("List commands") + "\n" +
  16817. -                  "  litecoin-cli [options] help <command>      " + _("Get help for a command") + "\n";
  16818. +                  "  litecoincash-cli [options] <command> [params]  " + strprintf(_("Send command to %s"), _(PACKAGE_NAME)) + "\n" +
  16819. +                  "  litecoincash-cli [options] -named <command> [name=value] ... " + strprintf(_("Send command to %s (with named arguments)"), _(PACKAGE_NAME)) + "\n" +
  16820. +                  "  litecoincash-cli [options] help                " + _("List commands") + "\n" +
  16821. +                  "  litecoincash-cli [options] help <command>      " + _("Get help for a command") + "\n";
  16822.  
  16823.              strUsage += "\n" + HelpMessageCli();
  16824.          }
  16825. diff --git a/src/bitcoin-tx-res.rc b/src/bitcoin-tx-res.rc
  16826. index c5111fb..05a94df 100644
  16827. --- a/src/bitcoin-tx-res.rc
  16828. +++ b/src/bitcoin-tx-res.rc
  16829. @@ -16,14 +16,14 @@ BEGIN
  16830.      BEGIN
  16831.          BLOCK "040904E4" // U.S. English - multilingual (hex)
  16832.          BEGIN
  16833. -            VALUE "CompanyName",        "Litecoin"
  16834. -            VALUE "FileDescription",    "litecoin-tx (CLI Litecoin transaction editor utility)"
  16835. +            VALUE "CompanyName",        "LitecoinCash"
  16836. +            VALUE "FileDescription",    "litecoincash-tx (CLI LitecoinCash transaction editor utility)"
  16837.              VALUE "FileVersion",        VER_FILEVERSION_STR
  16838. -            VALUE "InternalName",       "litecoin-tx"
  16839. +            VALUE "InternalName",       "litecoincash-tx"
  16840.              VALUE "LegalCopyright",     COPYRIGHT_STR
  16841.              VALUE "LegalTrademarks1",   "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
  16842. -            VALUE "OriginalFilename",   "litecoin-tx.exe"
  16843. -            VALUE "ProductName",        "litecoin-tx"
  16844. +            VALUE "OriginalFilename",   "litecoincash-tx.exe"
  16845. +            VALUE "ProductName",        "litecoincash-tx"
  16846.              VALUE "ProductVersion",     VER_PRODUCTVERSION_STR
  16847.          END
  16848.      END
  16849. diff --git a/src/bitcoin-tx.cpp b/src/bitcoin-tx.cpp
  16850. index 95982b0..c865eef 100644
  16851. --- a/src/bitcoin-tx.cpp
  16852. +++ b/src/bitcoin-tx.cpp
  16853. @@ -54,10 +54,10 @@ static int AppInitRawTx(int argc, char* argv[])
  16854.      if (argc<2 || gArgs.IsArgSet("-?") || gArgs.IsArgSet("-h") || gArgs.IsArgSet("-help"))
  16855.      {
  16856.          // First part of help message is specific to this utility
  16857. -        std::string strUsage = strprintf(_("%s litecoin-tx utility version"), _(PACKAGE_NAME)) + " " + FormatFullVersion() + "\n\n" +
  16858. +        std::string strUsage = strprintf(_("%s litecoincash-tx utility version"), _(PACKAGE_NAME)) + " " + FormatFullVersion() + "\n\n" +
  16859.              _("Usage:") + "\n" +
  16860. -              "  litecoin-tx [options] <hex-tx> [commands]  " + _("Update hex-encoded litecoin transaction") + "\n" +
  16861. -              "  litecoin-tx [options] -create [commands]   " + _("Create hex-encoded litecoin transaction") + "\n" +
  16862. +              "  litecoincash-tx [options] <hex-tx> [commands]  " + _("Update hex-encoded litecoincash transaction") + "\n" +
  16863. +              "  litecoincash-tx [options] -create [commands]   " + _("Create hex-encoded litecoincash transaction") + "\n" +
  16864.                "\n";
  16865.  
  16866.          fprintf(stdout, "%s", strUsage.c_str());
  16867. @@ -310,9 +310,6 @@ static void MutateTxAddOutPubKey(CMutableTransaction& tx, const std::string& str
  16868.      }
  16869.  
  16870.      if (bSegWit) {
  16871. -        if (!pubkey.IsCompressed()) {
  16872. -            throw std::runtime_error("Uncompressed pubkeys are not useable for SegWit outputs");
  16873. -        }
  16874.          // Call GetScriptForWitness() to build a P2WSH scriptPubKey
  16875.          scriptPubKey = GetScriptForWitness(scriptPubKey);
  16876.      }
  16877. @@ -380,11 +377,6 @@ static void MutateTxAddOutMultiSig(CMutableTransaction& tx, const std::string& s
  16878.      CScript scriptPubKey = GetScriptForMultisig(required, pubkeys);
  16879.  
  16880.      if (bSegWit) {
  16881. -        for (CPubKey& pubkey : pubkeys) {
  16882. -            if (!pubkey.IsCompressed()) {
  16883. -                throw std::runtime_error("Uncompressed pubkeys are not useable for SegWit outputs");
  16884. -            }
  16885. -        }
  16886.          // Call GetScriptForWitness() to build a P2WSH scriptPubKey
  16887.          scriptPubKey = GetScriptForWitness(scriptPubKey);
  16888.      }
  16889. diff --git a/src/bitcoind-res.rc b/src/bitcoind-res.rc
  16890. index 3dc7c38..b88aa44 100644
  16891. --- a/src/bitcoind-res.rc
  16892. +++ b/src/bitcoind-res.rc
  16893. @@ -16,14 +16,14 @@ BEGIN
  16894.      BEGIN
  16895.          BLOCK "040904E4" // U.S. English - multilingual (hex)
  16896.          BEGIN
  16897. -            VALUE "CompanyName",        "Litecoin"
  16898. -            VALUE "FileDescription",    "litecoind (Litecoin node with a JSON-RPC server)"
  16899. +            VALUE "CompanyName",        "LitecoinCash"
  16900. +            VALUE "FileDescription",    "litecoincashd (LitecoinCash node with a JSON-RPC server)"
  16901.              VALUE "FileVersion",        VER_FILEVERSION_STR
  16902. -            VALUE "InternalName",       "litecoind"
  16903. +            VALUE "InternalName",       "litecoincashd"
  16904.              VALUE "LegalCopyright",     COPYRIGHT_STR
  16905.              VALUE "LegalTrademarks1",   "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
  16906. -            VALUE "OriginalFilename",   "litecoind.exe"
  16907. -            VALUE "ProductName",        "litecoind"
  16908. +            VALUE "OriginalFilename",   "litecoincashd.exe"
  16909. +            VALUE "ProductName",        "litecoincashd"
  16910.              VALUE "ProductVersion",     VER_PRODUCTVERSION_STR
  16911.          END
  16912.      END
  16913. diff --git a/src/bitcoind.cpp b/src/bitcoind.cpp
  16914. index ba875aa..c9ab4a3 100644
  16915. --- a/src/bitcoind.cpp
  16916. +++ b/src/bitcoind.cpp
  16917. @@ -85,7 +85,7 @@ bool AppInit(int argc, char* argv[])
  16918.          else
  16919.          {
  16920.              strUsage += "\n" + _("Usage:") + "\n" +
  16921. -                  "  litecoind [options]                     " + strprintf(_("Start %s Daemon"), _(PACKAGE_NAME)) + "\n";
  16922. +                  "  litecoincashd [options]                     " + strprintf(_("Start %s Daemon"), _(PACKAGE_NAME)) + "\n";
  16923.  
  16924.              strUsage += "\n" + HelpMessage(HMM_BITCOIND);
  16925.          }
  16926. @@ -119,7 +119,7 @@ bool AppInit(int argc, char* argv[])
  16927.          // Error out when loose non-argument tokens are encountered on command line
  16928.          for (int i = 1; i < argc; i++) {
  16929.              if (!IsSwitchChar(argv[i][0])) {
  16930. -                fprintf(stderr, "Error: Command line contains unexpected token '%s', see litecoind -h for a list of options.\n", argv[i]);
  16931. +                fprintf(stderr, "Error: Command line contains unexpected token '%s', see litecoincashd -h for a list of options.\n", argv[i]);
  16932.                  exit(EXIT_FAILURE);
  16933.              }
  16934.          }
  16935. @@ -147,7 +147,7 @@ bool AppInit(int argc, char* argv[])
  16936.          if (gArgs.GetBoolArg("-daemon", false))
  16937.          {
  16938.  #if HAVE_DECL_DAEMON
  16939. -            fprintf(stdout, "Litecoin server starting\n");
  16940. +            fprintf(stdout, "LitecoinCash server starting\n");
  16941.  
  16942.              // Daemonize
  16943.              if (daemon(1, 0)) { // don't chdir (1), do close FDs (0)
  16944. diff --git a/src/chainparams.cpp b/src/chainparams.cpp
  16945. index ba65fec..8dce89f 100644
  16946. --- a/src/chainparams.cpp
  16947. +++ b/src/chainparams.cpp
  16948. @@ -14,6 +14,9 @@
  16949.  
  16950.  #include "chainparamsseeds.h"
  16951.  
  16952. +#define POW_FORK_TIME 1518982404
  16953. +#define LAST_SCRYPT_BLOCK 1371111
  16954. +
  16955.  static CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesisOutputScript, uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)
  16956.  {
  16957.      CMutableTransaction txNew;
  16958. @@ -79,7 +82,7 @@ public:
  16959.          consensus.BIP34Hash = uint256S("fa09d204a83a768ed5a7c8d441fa62f2043abf420cff1226c7b4329aeb9d51cf");
  16960.          consensus.BIP65Height = 918684; // bab3041e8977e0dc3eeff63fe707b92bde1dd449d8efafb248c27c8264cc311a
  16961.          consensus.BIP66Height = 811879; // 7aceee012833fa8952f8835d8b1b3ae233cd6ab08fdb27a771d2bd7bdc491894
  16962. -        consensus.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
  16963. +        consensus.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
  16964.          consensus.nPowTargetTimespan = 3.5 * 24 * 60 * 60; // 3.5 days
  16965.          consensus.nPowTargetSpacing = 2.5 * 60;
  16966.          consensus.fPowAllowMinDifficultyBlocks = false;
  16967. @@ -100,40 +103,45 @@ public:
  16968.          consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1485561600; // January 28, 2017
  16969.          consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 1517356801; // January 31st, 2018
  16970.  
  16971. +        // LitecoinCash fields
  16972. +        consensus.powForkTime = POW_FORK_TIME;              // Time of PoW hash method change
  16973. +        consensus.lastScryptBlock = LAST_SCRYPT_BLOCK;      // Height of last scrypt block
  16974. +        consensus.powLimitSHA = uint256S("00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff");   // Initial hash target at fork
  16975. +        consensus.slowStartBlocks = 2000;                    // Scale post-fork block reward up over this many blocks
  16976. +        consensus.premineAmount = 550000;                   // Premine amount (less than 1% of issued currency at fork time)
  16977. +        std::vector<unsigned char> vch = ParseHex("76a914c9f3305556963e2976ccf3348b89a6cc736b6a4e88ac");
  16978. +        consensus.premineOutputScript = CScript(vch.begin(), vch.end());   // Output script for premine block
  16979. +
  16980.          // The best chain should have at least this much work.
  16981. -        consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000002ebcfe2dd9eff82666");
  16982. +        consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000401b101e2e526d5821");  // LitecoinCash: At LAST_SCRYPT_BLOCK+1
  16983.  
  16984.          // By default assume that the signatures in ancestors of this block are valid.
  16985. -        consensus.defaultAssumeValid = uint256S("0x59c9b9d3fec105bdc716d84caa7579503d5b05b73618d0bf2d5fa639f780a011"); //1353397
  16986. +        consensus.defaultAssumeValid = uint256S("0x00000000de1e4e93317241177b5f1d72fc151c6e76815e9b0be4961dfd309d60"); // LitecoinCash: LAST_SCRYPT_BLOCK+1
  16987.  
  16988.          /**
  16989.           * The message start string is designed to be unlikely to occur in normal data.
  16990.           * The characters are rarely used upper ASCII, not valid as UTF-8, and produce
  16991.           * a large 32-bit integer with any alignment.
  16992.           */
  16993. -        pchMessageStart[0] = 0xfb;
  16994. -        pchMessageStart[1] = 0xc0;
  16995. -        pchMessageStart[2] = 0xb6;
  16996. -        pchMessageStart[3] = 0xdb;
  16997. -        nDefaultPort = 9333;
  16998. +        pchMessageStart[0] = 0xc7;
  16999. +        pchMessageStart[1] = 0xe4;
  17000. +        pchMessageStart[2] = 0xba;
  17001. +        pchMessageStart[3] = 0xf8;
  17002. +        nDefaultPort = 62458;
  17003.          nPruneAfterHeight = 100000;
  17004.  
  17005. -        genesis = CreateGenesisBlock(1317972665, 2084524493, 0x1e0ffff0, 1, 50 * COIN);
  17006. +        genesis = CreateGenesisBlock(1317972665, 2084524493, 0x1e0ffff0, 1, 50 * COIN * COIN_SCALE);
  17007.          consensus.hashGenesisBlock = genesis.GetHash();
  17008.          assert(consensus.hashGenesisBlock == uint256S("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2"));
  17009.          assert(genesis.hashMerkleRoot == uint256S("0x97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9"));
  17010.  
  17011. -        // Note that of those with the service bits flag, most only support a subset of possible options
  17012. -        vSeeds.emplace_back("seed-a.litecoin.loshan.co.uk", true);
  17013. -        vSeeds.emplace_back("dnsseed.thrasher.io", true);
  17014. -        vSeeds.emplace_back("dnsseed.litecointools.com", true);
  17015. -        vSeeds.emplace_back("dnsseed.litecoinpool.org", true);
  17016. -        vSeeds.emplace_back("dnsseed.koin-project.com", false);
  17017. +        // Note that of those with the service bits flag, most only support a subset of possible option
  17018. +        vSeeds.emplace_back("seeds.litecoinca.sh", false);
  17019.  
  17020. -        base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,48);
  17021. +        base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,28);
  17022.          base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,5);
  17023.          base58Prefixes[SCRIPT_ADDRESS2] = std::vector<unsigned char>(1,50);
  17024. -        base58Prefixes[SECRET_KEY] =     std::vector<unsigned char>(1,176);
  17025. +        base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,176);
  17026.          base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x88, 0xB2, 0x1E};
  17027.          base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x88, 0xAD, 0xE4};
  17028.  
  17029. @@ -161,15 +169,16 @@ public:
  17030.                  {456000, uint256S("0xbf34f71cc6366cd487930d06be22f897e34ca6a40501ac7d401be32456372004")},
  17031.                  {638902, uint256S("0x15238656e8ec63d28de29a8c75fcf3a5819afc953dcd9cc45cecc53baec74f38")},
  17032.                  {721000, uint256S("0x198a7b4de1df9478e2463bd99d75b714eab235a2e63e741641dc8a759a9840e5")},
  17033. +                {LAST_SCRYPT_BLOCK+1, uint256S("0x00000000de1e4e93317241177b5f1d72fc151c6e76815e9b0be4961dfd309d60")},  // LitecoinCash: Premine block
  17034.              }
  17035.          };
  17036.  
  17037.          chainTxData = ChainTxData{
  17038. -            // Data as of block 59c9b9d3fec105bdc716d84caa7579503d5b05b73618d0bf2d5fa639f780a011 (height 1353397).
  17039. -            1516406833, // * UNIX timestamp of last known number of transactions
  17040. -            19831879,  // * total number of transactions between genesis and that timestamp
  17041. -                    //   (the tx=... number in the SetBestChain debug.log lines)
  17042. -            0.06     // * estimated number of transactions per second after that timestamp
  17043. +            // Data as of block db42d00d824950a125f9b08b6b6c282c484781562fa8b3bd29d6ce4a2627c348 (height 1259851).
  17044. +            1518985227, // * UNIX timestamp of last known number of transactions
  17045. +            21458357,   // * total number of transactions between genesis and that timestamp
  17046. +                        //   (the tx=... number in the SetBestChain debug.log lines)
  17047. +            0.63        // * estimated number of transactions per second after that timestamp
  17048.          };
  17049.      }
  17050.  };
  17051. @@ -207,32 +216,37 @@ public:
  17052.          consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1483228800; // January 1, 2017
  17053.          consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 1517356801; // January 31st, 2018
  17054.  
  17055. +        // LitecoinCash fields
  17056. +        consensus.powForkTime = 1518355163;                 // Time of PoW hash method change
  17057. +        consensus.lastScryptBlock = 1366830;                // Height of last scrypt block
  17058. +        consensus.powLimitSHA = uint256S("00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff");   // Initial hash target at fork
  17059. +        consensus.slowStartBlocks = 400;                    // Scale post-fork block reward up over this many blocks
  17060. +        consensus.premineAmount = 550000;                   // Premine amount (less than 1% of issued currency at fork time)
  17061. +        std::vector<unsigned char> vch = ParseHex("76a914c9f3305556963e2976ccf3348b89a6cc736b6a4e88ac");
  17062. +        consensus.premineOutputScript = CScript(vch.begin(), vch.end());        // Output script for premine block
  17063. +
  17064.          // The best chain should have at least this much work.
  17065. -        consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000007d006a402163e");
  17066. +        consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000003b68f02ca48530a788");  // LitecoinCash: 1366831
  17067.  
  17068.          // By default assume that the signatures in ancestors of this block are valid.
  17069. -        consensus.defaultAssumeValid = uint256S("0xa0afbded94d4be233e191525dc2d467af5c7eab3143c852c3cd549831022aad6"); //343833
  17070. +        consensus.defaultAssumeValid = uint256S("0x09a5ca9513d4f9cce6f0c083a897219c44aebd5c65713c6903ae558022cd5921"); // LitecoinCash: 1366830
  17071.  
  17072. -        pchMessageStart[0] = 0xfd;
  17073. -        pchMessageStart[1] = 0xd2;
  17074. -        pchMessageStart[2] = 0xc8;
  17075. -        pchMessageStart[3] = 0xf1;
  17076. +        pchMessageStart[0] = 0xb6;
  17077. +        pchMessageStart[1] = 0xf5;
  17078. +        pchMessageStart[2] = 0xd3;
  17079. +        pchMessageStart[3] = 0xcf;
  17080.          nDefaultPort = 19335;
  17081.          nPruneAfterHeight = 1000;
  17082.  
  17083. -        genesis = CreateGenesisBlock(1486949366, 293345, 0x1e0ffff0, 1, 50 * COIN);
  17084. +        genesis = CreateGenesisBlock(1486949366, 293345, 0x1e0ffff0, 1, 50 * COIN * COIN_SCALE);
  17085.          consensus.hashGenesisBlock = genesis.GetHash();
  17086.          assert(consensus.hashGenesisBlock == uint256S("0x4966625a4b2851d9fdee139e56211a0d88575f59ed816ff5e6a63deb4e3e29a0"));
  17087.          assert(genesis.hashMerkleRoot == uint256S("0x97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9"));
  17088.  
  17089.          vFixedSeeds.clear();
  17090.          vSeeds.clear();
  17091. -        // nodes with support for servicebits filtering should be at the top
  17092. -        vSeeds.emplace_back("testnet-seed.litecointools.com", true);
  17093. -        vSeeds.emplace_back("seed-b.litecoin.loshan.co.uk", true);
  17094. -        vSeeds.emplace_back("dnsseed-testnet.thrasher.io", true);
  17095.  
  17096. -        base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,111);
  17097. +        base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,43);
  17098.          base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,196);
  17099.          base58Prefixes[SCRIPT_ADDRESS2] = std::vector<unsigned char>(1,58);
  17100.          base58Prefixes[SECRET_KEY] =     std::vector<unsigned char>(1,239);
  17101. @@ -243,21 +257,21 @@ public:
  17102.  
  17103.          fDefaultConsistencyChecks = false;
  17104.          fRequireStandard = false;
  17105. -        fMineBlocksOnDemand = false;
  17106. +        fMineBlocksOnDemand = true;
  17107.  
  17108.          checkpointData = (CCheckpointData) {
  17109.              {
  17110.                  {2056, uint256S("17748a31ba97afdc9a4f86837a39d287e3e7c7290a08a1d816c5969c78a83289")},
  17111. +                {1366831, uint256S("0x000000007b6db93ffa173567eebcada0ac0d99d8c9c55777ddf7f2af6cbe7ffc")},  // LitecoinCash: Testnet premine block
  17112.              }
  17113.          };
  17114.  
  17115.          chainTxData = ChainTxData{
  17116. -            // Data as of block a0afbded94d4be233e191525dc2d467af5c7eab3143c852c3cd549831022aad6 (height 343833)
  17117. -            1516406749,
  17118. -            794057,
  17119. +            // Data as of block 3351b6229da00b47ad7a8d7e1323b0e2874744b5296e3d6448293463ab758624 (height 153489)
  17120. +            1502953751,
  17121. +            382986,
  17122.              0.01
  17123.          };
  17124. -
  17125.      }
  17126.  };
  17127.  
  17128. @@ -303,7 +317,7 @@ public:
  17129.          nDefaultPort = 19444;
  17130.          nPruneAfterHeight = 1000;
  17131.  
  17132. -        genesis = CreateGenesisBlock(1296688602, 0, 0x207fffff, 1, 50 * COIN);
  17133. +        genesis = CreateGenesisBlock(1296688602, 0, 0x207fffff, 1, 50 * COIN * COIN_SCALE);
  17134.          consensus.hashGenesisBlock = genesis.GetHash();
  17135.          assert(consensus.hashGenesisBlock == uint256S("0x530827f38f93b43ed12af0b3ad25a288dc02ed74d6d7857862df51fc56c416f9"));
  17136.          assert(genesis.hashMerkleRoot == uint256S("0x97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9"));
  17137. @@ -313,7 +327,7 @@ public:
  17138.  
  17139.          fDefaultConsistencyChecks = true;
  17140.          fRequireStandard = false;
  17141. -        fMineBlocksOnDemand = true;
  17142. +        fMineBlocksOnDemand = true;
  17143.  
  17144.          checkpointData = (CCheckpointData) {
  17145.              {
  17146. diff --git a/src/chainparamsbase.cpp b/src/chainparamsbase.cpp
  17147. index 16a4da6..bcc471e 100644
  17148. --- a/src/chainparamsbase.cpp
  17149. +++ b/src/chainparamsbase.cpp
  17150. @@ -32,7 +32,7 @@ class CBaseMainParams : public CBaseChainParams
  17151.  public:
  17152.      CBaseMainParams()
  17153.      {
  17154. -        nRPCPort = 9332;
  17155. +        nRPCPort = 62457;
  17156.      }
  17157.  };
  17158.  
  17159. @@ -44,7 +44,7 @@ class CBaseTestNetParams : public CBaseChainParams
  17160.  public:
  17161.      CBaseTestNetParams()
  17162.      {
  17163. -        nRPCPort = 19332;
  17164. +        nRPCPort = 62455;
  17165.          strDataDir = "testnet4";
  17166.      }
  17167.  };
  17168. @@ -57,7 +57,7 @@ class CBaseRegTestParams : public CBaseChainParams
  17169.  public:
  17170.      CBaseRegTestParams()
  17171.      {
  17172. -        nRPCPort = 19332;
  17173. +        nRPCPort = 62455;
  17174.          strDataDir = "regtest";
  17175.      }
  17176.  };
  17177. diff --git a/src/chainparamsseeds.h b/src/chainparamsseeds.h
  17178. index 0cae7a5..ab79d14 100644
  17179. --- a/src/chainparamsseeds.h
  17180. +++ b/src/chainparamsseeds.h
  17181. @@ -1,360 +1,21 @@
  17182.  #ifndef BITCOIN_CHAINPARAMSSEEDS_H
  17183.  #define BITCOIN_CHAINPARAMSSEEDS_H
  17184.  /**
  17185. - * List of fixed seed nodes for the litecoin network
  17186. + * List of fixed seed nodes for the litecoincash network
  17187.   * AUTOGENERATED by contrib/seeds/generate-seeds.py
  17188.   *
  17189.   * Each line contains a 16-byte IPv6 address and a port.
  17190.   * IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly.
  17191.   */
  17192.  static SeedSpec6 pnSeed6_main[] = {
  17193. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x13,0xab,0xad}, 10333},
  17194. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x27,0x40,0x07}, 9333},
  17195. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x27,0xae,0x74}, 9333},
  17196. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x2d,0x45,0x0d}, 9333},
  17197. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x46,0x3c,0x3b}, 9333},
  17198. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x53,0x80,0xc7}, 9333},
  17199. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xa4,0xdf,0x66}, 9333},
  17200. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xff,0x56,0x07}, 9333},
  17201. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x0e,0x98,0x79,0x2d}, 9333},
  17202. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x0e,0xa2,0xd0,0x9d}, 9333},
  17203. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x59,0xc1,0xc9}, 9333},
  17204. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x5c,0xdd,0x42}, 9333},
  17205. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x6f,0xad,0xd2}, 9333},
  17206. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xe3,0xcc,0x4e}, 9333},
  17207. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xf9,0x48,0x7b}, 9333},
  17208. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x20,0xc9,0x52}, 9333},
  17209. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x2a,0xcf,0x5f}, 9333},
  17210. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x71,0xea,0xe3}, 9333},
  17211. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0xdc,0x45,0xf2}, 9333},
  17212. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0xdc,0x07,0x83}, 9333},
  17213. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x22,0xc1,0x44,0x0a}, 9333},
  17214. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x23,0xc2,0x98,0xec}, 33661},
  17215. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x23,0xc6,0xa8,0xc6}, 9333},
  17216. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x24,0xf9,0x6c,0x3c}, 9333},
  17217. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x3d,0xd1,0x90}, 9333},
  17218. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x61,0xb5,0x56}, 9333},
  17219. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x78,0xa1,0x93}, 9333},
  17220. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x94,0xc3,0xe6}, 9333},
  17221. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x9d,0xb7,0x10}, 9333},
  17222. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xdd,0xd1,0xde}, 9333},
  17223. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x26,0x1b,0x63,0x2c}, 9333},
  17224. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x26,0x6c,0x5c,0x31}, 9333},
  17225. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4d,0x83,0x04}, 9333},
  17226. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4d,0xf8,0x0d}, 9333},
  17227. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x15,0x92,0xf5}, 9333},
  17228. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x1c,0xc9,0x44}, 9333},
  17229. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x20,0x32,0x62}, 9333},
  17230. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x25,0xbf,0x71}, 9333},
  17231. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x26,0x38,0x6e}, 9333},
  17232. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xe5,0xa8,0xc9}, 9333},
  17233. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xee,0xee,0xb0}, 9333},
  17234. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xfe,0xf0,0x56}, 10333},
  17235. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x36,0xcf,0x5b}, 9333},
  17236. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x37,0x5f,0xe3}, 9333},
  17237. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x4a,0xe4,0x9a}, 9333},
  17238. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x59,0x30,0xf3}, 9333},
  17239. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x5d,0xe8,0x3b}, 9333},
  17240. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0xbb,0x01,0x53}, 9333},
  17241. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x31,0xe4,0xce,0x09}, 9333},
  17242. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x3f,0xa6,0x1b}, 9333},
  17243. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x34,0x32,0xf4,0x2c}, 9333},
  17244. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x34,0xe5,0xab,0x6c}, 9333},
  17245. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0x99,0x78,0x20}, 9333},
  17246. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xa6,0xd0,0xbe}, 9333},
  17247. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3c,0x28,0x2b,0xbd}, 9333},
  17248. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3c,0xbf,0x6a,0x94}, 9333},
  17249. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0x98,0x36,0x2c}, 9333},
  17250. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0x98,0x3a,0x10}, 9679},
  17251. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0xd4,0x8d,0x21}, 9333},
  17252. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3f,0x8d,0xf6,0x2a}, 9333},
  17253. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3f,0xe0,0x37,0x4c}, 9333},
  17254. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x40,0x22,0xe7,0x8c}, 9333},
  17255. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x41,0x2c,0x76,0xc2}, 9333},
  17256. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x41,0xbd,0xf0,0x7e}, 9333},
  17257. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xbb,0x41,0x06}, 9333},
  17258. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xc4,0x05,0x21}, 9333},
  17259. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0x06,0xe2,0xdd}, 9333},
  17260. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0x61,0xc9,0x4c}, 9333},
  17261. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0x66,0x9e,0xac}, 9333},
  17262. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0x72,0xe9,0x2c}, 9333},
  17263. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0xab,0x10,0xfa}, 9333},
  17264. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0xc6,0x24,0xb4}, 9333},
  17265. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x1b,0xad,0xe3}, 10333},
  17266. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x70,0x6e,0xf7}, 9333},
  17267. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0xac,0xa9,0xbc}, 9333},
  17268. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x3f,0xaa,0x56}, 9333},
  17269. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x5f,0xdb,0x88}, 9333},
  17270. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x76,0xc5,0x45}, 9333},
  17271. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x7c,0xa8,0x0c}, 9333},
  17272. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0x78,0x10,0xda}, 9333},
  17273. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xb9,0x78,0x1d}, 9333},
  17274. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xea,0xfb,0xcb}, 9333},
  17275. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0x42,0x5d,0x16}, 9333},
  17276. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0x50,0xeb,0xb4}, 10333},
  17277. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0xd0,0xdd,0xe0}, 9333},
  17278. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0x0c,0xf7,0x2d}, 9333},
  17279. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0x6b,0x08,0x43}, 9333},
  17280. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0x25,0x9c,0xa6}, 9333},
  17281. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0x5a,0xc3,0x43}, 9333},
  17282. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0x6e,0x0b,0x34}, 9333},
  17283. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x81,0xf1,0x91}, 9333},
  17284. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0x87,0xc8,0x1b}, 9333},
  17285. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0x9d,0x58,0x30}, 9333},
  17286. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0x53,0xbf,0xc7}, 9333},
  17287. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0x65,0x5d,0x22}, 9333},
  17288. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0x7a,0x2b,0x4e}, 9333},
  17289. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xd1,0xea,0xad}, 9333},
  17290. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xd3,0x84,0xc5}, 9333},
  17291. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xda,0x6c,0x0e}, 9333},
  17292. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x18,0x65,0x8c}, 9333},
  17293. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x1b,0x60,0x25}, 9333},
  17294. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x5e,0xc5,0xfa}, 9333},
  17295. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x6f,0x76,0x38}, 9333},
  17296. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xca,0xa2,0x05}, 9333},
  17297. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xa2,0xc4,0xc0}, 9333},
  17298. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xb7,0x6e,0xfb}, 9333},
  17299. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xd4,0x61,0x22}, 9333},
  17300. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0x55,0x66,0x71}, 9333},
  17301. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xd7,0x50,0x2b}, 9333},
  17302. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xea,0x34,0xbe}, 37700},
  17303. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x15,0x90,0xe2}, 9333},
  17304. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x8f,0x89,0xce}, 9333},
  17305. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x91,0xf8,0xb8}, 9333},
  17306. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xc2,0xee,0x82}, 9333},
  17307. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xc3,0xf2,0x34}, 9333},
  17308. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd6,0x44,0x7a}, 9333},
  17309. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xf5,0xa7,0xf6}, 9333},
  17310. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x56,0x02,0x57,0x13}, 9333},
  17311. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x56,0xa6,0xea,0x04}, 9333},
  17312. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0x4f,0x5e,0xdd}, 9333},
  17313. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0xec,0x1b,0x9b}, 9333},
  17314. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0xf9,0xcf,0x59}, 9333},
  17315. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0x63,0xb8,0x07}, 9333},
  17316. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xbf,0x33,0x07}, 9333},
  17317. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xbf,0xf7,0x0b}, 9333},
  17318. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xca,0xca,0xdd}, 9333},
  17319. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xd0,0x03,0x52}, 9333},
  17320. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x16,0x68,0x30}, 9333},
  17321. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xb3,0x99,0xab}, 9333},
  17322. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xd4,0x4b,0x06}, 9333},
  17323. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xdd,0xd7,0x38}, 9333},
  17324. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xdd,0xf1,0x2c}, 9333},
  17325. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xee,0x4d,0x45}, 9333},
  17326. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x6d,0x70,0x5a}, 9333},
  17327. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x6d,0x70,0x5e}, 9333},
  17328. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x7e,0x76,0xa4}, 9333},
  17329. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xc3,0x2a,0x86}, 9333},
  17330. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xc5,0x2c,0x2b}, 9333},
  17331. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xe3,0x2f,0xf7}, 9333},
  17332. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xe4,0x9b,0x3f}, 9333},
  17333. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xf0,0x8e,0xe4}, 9333},
  17334. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5c,0x3f,0x58,0x7d}, 9333},
  17335. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5c,0x6b,0xa0,0x4d}, 9333},
  17336. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5c,0xde,0xb4,0x0f}, 9333},
  17337. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0x64,0x33,0x30}, 9333},
  17338. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0x68,0xd2,0x70}, 9333},
  17339. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x9c,0xae,0x41}, 9333},
  17340. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xd2,0x3e,0x49}, 9333},
  17341. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xf2,0xe8,0x5c}, 9333},
  17342. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xfe,0x15,0x51}, 9333},
  17343. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0x4f,0x66,0xd1}, 10333},
  17344. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0x9a,0x5a,0x63}, 9333},
  17345. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xae,0x65,0x0e}, 9333},
  17346. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd3,0x88,0x56}, 9333},
  17347. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd3,0xbd,0x03}, 9333},
  17348. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd5,0x89,0x03}, 9333},
  17349. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd5,0xb6,0xb6}, 9333},
  17350. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0x13,0x1c,0x5b}, 9333},
  17351. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0x1b,0x08,0xf2}, 9333},
  17352. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x61,0x5b,0xe0,0xfb}, 9333},
  17353. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xc6,0x68,0x39}, 9333},
  17354. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x63,0x45,0x11,0x92}, 9333},
  17355. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x65,0x64,0x8d,0x45}, 9333},
  17356. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0x38,0x88,0x69}, 9333},
  17357. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0x52,0x38,0x19}, 9333},
  17358. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0xcb,0x32,0x3a}, 9333},
  17359. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0xda,0x03,0x7a}, 9333},
  17360. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0xf2,0x42,0x24}, 3880},
  17361. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0x23,0x60,0xff}, 9333},
  17362. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0xdb,0xfb,0x91}, 9333},
  17363. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0xee,0xc6,0xa5}, 9333},
  17364. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0xef,0xe6,0x83}, 28001},
  17365. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6b,0x9b,0x78,0x83}, 9333},
  17366. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6b,0xb4,0x45,0xeb}, 9333},
  17367. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6b,0xb7,0x25,0x9a}, 9333},
  17368. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0xaa,0x1a,0xd2}, 11333},
  17369. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0xde,0x95,0x53}, 9333},
  17370. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0x4b,0xac,0x28}, 9333},
  17371. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0x58,0x55,0xb1}, 9333},
  17372. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0x6f,0xb2,0xb5}, 10333},
  17373. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xac,0x4d,0xcc}, 9333},
  17374. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xc3,0xb3,0x3f}, 9333},
  17375. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xec,0x58,0xe5}, 9333},
  17376. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6e,0x04,0x28,0x93}, 9333},
  17377. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x71,0x69,0x8b,0x2a}, 9333},
  17378. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x74,0x3e,0xe0,0x17}, 15896},
  17379. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x76,0xa3,0x78,0xb3}, 9333},
  17380. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x76,0xa3,0x7a,0xd0}, 9333},
  17381. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x77,0x09,0x74,0x44}, 9333},
  17382. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x77,0x0f,0x64,0x78}, 9333},
  17383. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x77,0x1c,0x0c,0x98}, 9333},
  17384. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x77,0x1c,0xb1,0x42}, 9333},
  17385. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x77,0xcd,0xea,0x51}, 9333},
  17386. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x78,0x5c,0x75,0x25}, 10001},
  17387. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x79,0x36,0xaf,0x5a}, 10333},
  17388. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x79,0x36,0xaf,0xbf}, 10333},
  17389. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x86,0x77,0xdd,0x73}, 9333},
  17390. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x88,0x1e,0x2c,0x56}, 9333},
  17391. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x88,0x90,0x9b,0x73}, 9333},
  17392. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8a,0xc5,0x9c,0x81}, 9333},
  17393. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8b,0xc7,0x5a,0xdf}, 9333},
  17394. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8f,0x59,0x79,0xcf}, 9333},
  17395. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0xdc,0x11}, 9002},
  17396. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x93,0xe5,0x0d,0xd2}, 9333},
  17397. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x94,0x42,0x3a,0xc2}, 9333},
  17398. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x98,0xba,0x24,0x56}, 9333},
  17399. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9e,0x81,0xd4,0xec}, 9333},
  17400. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9e,0x81,0xd4,0xfb}, 9333},
  17401. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9f,0xcb,0x6e,0x89}, 9333},
  17402. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9f,0xfd,0x15,0x2e}, 9333},
  17403. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xd5,0xfc,0x2e}, 9333},
  17404. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa6,0x46,0x5e,0x6a}, 9333},
  17405. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa7,0x58,0x0f,0x59}, 6001},
  17406. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa8,0xeb,0x51,0x8f}, 9333},
  17407. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa9,0x2c,0x22,0x58}, 9333},
  17408. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa9,0x39,0x91,0x65}, 9333},
  17409. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xab,0x19,0xdd,0x28}, 9333},
  17410. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xac,0x68,0x68,0xcb}, 9333},
  17411. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x20,0x0c,0x6c}, 9333},
  17412. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x33,0xb1,0x02}, 9333},
  17413. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x47,0x44,0x65}, 9333},
  17414. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x50,0xbe,0x56}, 9333},
  17415. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xd1,0x2c,0x22}, 9333},
  17416. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xd1,0x35,0x72}, 9333},
  17417. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xf9,0x08,0x85}, 9333},
  17418. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xff,0xcc,0x7c}, 9333},
  17419. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x61,0xf0,0x1a}, 9333},
  17420. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x75,0xf2,0xcd}, 9333},
  17421. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x63,0x07,0xfd}, 9333},
  17422. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x66,0xc0,0x08}, 9333},
  17423. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x7e,0xa7,0x0a}, 9333},
  17424. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0xdd,0x2b,0x79}, 9333},
  17425. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x0c,0x76,0x80}, 9333},
  17426. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x0f,0x9e,0xed}, 9333},
  17427. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x14,0x37,0xea}, 9333},
  17428. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x9b,0x33,0x36}, 9333},
  17429. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xee,0xec,0x82}, 10333},
  17430. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb6,0xff,0x3d,0xca}, 28374},
  17431. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x3d,0xd5,0x05}, 9333},
  17432. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x46,0x21,0xbe}, 9333},
  17433. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x46,0xfe,0xee}, 9333},
  17434. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x5f,0x30,0xca}, 9333},
  17435. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x08,0xa5,0x96}, 10333},
  17436. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x0f,0x5c,0x12}, 10993},
  17437. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x15,0xdf,0xe7}, 9333},
  17438. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x19,0x78,0x5b}, 9333},
  17439. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x23,0x89,0x32}, 9333},
  17440. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x32,0xd5,0x7c}, 9333},
  17441. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x38,0x52,0x1a}, 9333},
  17442. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x40,0x68,0x02}, 9333},
  17443. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x56,0x53,0x35}, 9333},
  17444. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x65,0xda,0x8c}, 9333},
  17445. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x67,0xf3,0x85}, 9333},
  17446. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x7f,0x11,0x7d}, 9333},
  17447. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x85,0x28,0xc8}, 8234},
  17448. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x8d,0x18,0x7f}, 9333},
  17449. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x8d,0x18,0xf9}, 9333},
  17450. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x94,0xa2,0x23}, 10333},
  17451. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x99,0xc6,0xe7}, 9333},
  17452. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x9a,0x0f,0xbf}, 9333},
  17453. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xa0,0xd0,0x7a}, 9333},
  17454. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xb0,0x8d,0x0b}, 9333},
  17455. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xb5,0x0b,0xe2}, 9333},
  17456. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xb7,0xa1,0x23}, 9333},
  17457. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xc2,0x8c,0x9b}, 9333},
  17458. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xdc,0x21,0x2e}, 9333},
  17459. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x2a,0x3b,0x74}, 9333},
  17460. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x48,0xd6,0x06}, 9333},
  17461. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x7e,0x3c,0x33}, 9333},
  17462. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x8a,0x21,0x21}, 9333},
  17463. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xa8,0x51,0x38}, 9333},
  17464. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xac,0x9b,0x51}, 9333},
  17465. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xd6,0x1e,0xd8}, 9333},
  17466. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xf1,0x3a,0x4f}, 9333},
  17467. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbd,0x26,0x58,0x69}, 9333},
  17468. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbe,0x75,0x85,0xac}, 9333},
  17469. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbf,0x65,0xec,0xde}, 9333},
  17470. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x6f,0x98,0x3a}, 9333},
  17471. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xa2,0x64,0x9c}, 9333},
  17472. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xbb,0x74,0xf5}, 9333},
  17473. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x17,0xb5,0x87}, 9333},
  17474. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x6a,0x1e,0xad}, 9333},
  17475. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc2,0x2c,0x88,0xb2}, 9333},
  17476. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc2,0x3f,0x8f,0xc5}, 9333},
  17477. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc2,0x4f,0x08,0x25}, 10333},
  17478. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc2,0x58,0x6a,0x28}, 9333},
  17479. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc2,0xbe,0x5d,0xeb}, 10333},
  17480. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x44,0x9f,0xb5}, 9333},
  17481. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x9a,0xeb,0x5d}, 9333},
  17482. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0xa9,0x8a,0x02}, 9333},
  17483. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc4,0x26,0xe9,0x82}, 10333},
  17484. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x28,0x30,0x16}, 9333},
  17485. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x30,0xd8,0x31}, 9933},
  17486. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x62,0x30,0xc0}, 9333},
  17487. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0xcc,0xd3,0x57}, 9333},
  17488. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcb,0x3c,0x02,0x43}, 9333},
  17489. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcb,0x62,0xaf,0x1a}, 9333},
  17490. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcb,0x62,0xaf,0x2b}, 9333},
  17491. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcb,0xda,0x09,0x84}, 9333},
  17492. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcd,0xb9,0x78,0x3a}, 9333},
  17493. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcf,0xfe,0x3c,0x0c}, 9333},
  17494. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0x29,0xba,0x4e}, 9333},
  17495. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0x6c,0xce,0xe5}, 9333},
  17496. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0x85,0xdd,0x9f}, 9333},
  17497. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0x93,0x7f,0x6b}, 9333},
  17498. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd2,0xb7,0x0f,0xe3}, 9333},
  17499. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x18,0x60,0xc5}, 9333},
  17500. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x2f,0xfc,0x0d}, 9333},
  17501. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x33,0x90,0x2a}, 9333},
  17502. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x71,0xe8,0x2f}, 9333},
  17503. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x72,0xf4,0x69}, 9333},
  17504. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x8d,0x9a,0xc9}, 9333},
  17505. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x8f,0x6b,0x8f}, 9333},
  17506. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xa8,0x0d,0x97}, 9333},
  17507. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0x14,0x82,0x48}, 9333},
  17508. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0x67,0x20,0xd5}, 9333},
  17509. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0x70,0xfb,0x15}, 9333},
  17510. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0x7a,0xc0,0x5c}, 9333},
  17511. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0x94,0x5e,0x36}, 9333},
  17512. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xdb,0x58,0xe8,0x7f}, 9333},
  17513. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xdb,0x75,0xf8,0x37}, 9333},
  17514. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xdc,0xc2,0x2b,0xed}, 9333},
  17515. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xdd,0xe5,0xa6,0x19}, 9333},
  17516. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xde,0xec,0x2c,0x2e}, 9333},
  17517. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xde,0xef,0x0b,0x83}, 9333}
  17518. +    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x2b,0x09,0xed}, 62458},
  17519. +    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x3f,0x59,0x21}, 62458},
  17520. +    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x65,0x76,0x71}, 62458},
  17521. +    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0xca,0x08,0x52}, 62458},
  17522. +    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x3e,0xd7,0xa7}, 62458}
  17523.  };
  17524.  
  17525.  static SeedSpec6 pnSeed6_test[] = {
  17526. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x1f,0x43}, 19002},
  17527. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xef,0x1e,0xa4}, 19335},
  17528. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x23,0x9f,0x0a,0x56}, 19333},
  17529. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4c,0x5c,0x54}, 19335},
  17530. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x34,0xdd,0xe4,0xd6}, 19335},
  17531. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xed,0xf0,0x66}, 19335},
  17532. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0xa9,0xed,0x84}, 19335},
  17533. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x8f,0xfe,0x97}, 19335},
  17534. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd6,0x63,0xc9}, 19335},
  17535. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0x83,0xa1,0xab}, 19335},
  17536. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0xf3,0x26,0x22}, 19335},
  17537. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x76,0x59,0x9f,0xe5}, 19335},
  17538. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8a,0xc9,0xc3,0xca}, 19335},
  17539. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8b,0x3b,0x26,0x84}, 9898},
  17540. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xd5,0xfc,0x42}, 19335},
  17541. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xd1,0x2a,0x07}, 19335},
  17542. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x2a,0x3b,0x74}, 19335},
  17543. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x8e,0x6f,0x4d}, 6753},
  17544. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x3a,0x66,0x12}, 19335},
  17545. -    {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xda,0xf4,0x92,0x6f}, 19335}
  17546. +
  17547.  };
  17548.  #endif // BITCOIN_CHAINPARAMSSEEDS_H
  17549. diff --git a/src/clientversion.cpp b/src/clientversion.cpp
  17550. index dec014e..9c9b978 100644
  17551. --- a/src/clientversion.cpp
  17552. +++ b/src/clientversion.cpp
  17553. @@ -13,7 +13,7 @@
  17554.   * for both bitcoind and bitcoin-core, to make it harder for attackers to
  17555.   * target servers or GUI users specifically.
  17556.   */
  17557. -const std::string CLIENT_NAME("LitecoinCore");
  17558. +const std::string CLIENT_NAME("LitecoinCashCore");
  17559.  
  17560.  /**
  17561.   * Client version number
  17562. diff --git a/src/consensus/params.h b/src/consensus/params.h
  17563. index 6240e82..f92b5cf 100644
  17564. --- a/src/consensus/params.h
  17565. +++ b/src/consensus/params.h
  17566. @@ -7,6 +7,8 @@
  17567.  #define BITCOIN_CONSENSUS_PARAMS_H
  17568.  
  17569.  #include "uint256.h"
  17570. +#include "script/script.h"
  17571. +#include "amount.h"
  17572.  #include <map>
  17573.  #include <string>
  17574.  
  17575. @@ -63,6 +65,13 @@ struct Params {
  17576.      int64_t DifficultyAdjustmentInterval() const { return nPowTargetTimespan / nPowTargetSpacing; }
  17577.      uint256 nMinimumChainWork;
  17578.      uint256 defaultAssumeValid;
  17579. +
  17580. +    uint32_t powForkTime;           // LitecoinCash: Time of PoW hash method change
  17581. +    int lastScryptBlock;            // LitecoinCash: Height of last scrypt block
  17582. +    int slowStartBlocks;            // LitecoinCash: Scale post-fork block reward over this many blocks
  17583. +    uint256 powLimitSHA;            // LitecoinCash: Initial hash target at fork
  17584. +    CAmount premineAmount;          // LitecoinCash: Premine amount
  17585. +    CScript premineOutputScript;    // LitecoinCash: Premine output script
  17586.  };
  17587.  } // namespace Consensus
  17588.  
  17589. diff --git a/src/core_write.cpp b/src/core_write.cpp
  17590. index 1431fa0..2b9deae 100644
  17591. --- a/src/core_write.cpp
  17592. +++ b/src/core_write.cpp
  17593. @@ -23,7 +23,7 @@ UniValue ValueFromAmount(const CAmount& amount)
  17594.      int64_t quotient = n_abs / COIN;
  17595.      int64_t remainder = n_abs % COIN;
  17596.      return UniValue(UniValue::VNUM,
  17597. -            strprintf("%s%d.%08d", sign ? "-" : "", quotient, remainder));
  17598. +            strprintf("%s%d.%07d", sign ? "-" : "", quotient, remainder));   // LitecoinCash: Updated num decimals
  17599.  }
  17600.  
  17601.  std::string FormatScript(const CScript& script)
  17602. @@ -68,6 +68,12 @@ const std::map<unsigned char, std::string> mapSigHashTypes = {
  17603.      {static_cast<unsigned char>(SIGHASH_NONE|SIGHASH_ANYONECANPAY), std::string("NONE|ANYONECANPAY")},
  17604.      {static_cast<unsigned char>(SIGHASH_SINGLE), std::string("SINGLE")},
  17605.      {static_cast<unsigned char>(SIGHASH_SINGLE|SIGHASH_ANYONECANPAY), std::string("SINGLE|ANYONECANPAY")},
  17606. +   {static_cast<unsigned char>(SIGHASH_ALL|SIGHASH_FORKID), std::string("ALL|FORKID")},                                            // LitecoinCash: Replay attack protection
  17607. +    {static_cast<unsigned char>(SIGHASH_NONE|SIGHASH_FORKID), std::string("NONE|FORKID")},                                         // LitecoinCash: Replay attack protection
  17608. +    {static_cast<unsigned char>(SIGHASH_SINGLE|SIGHASH_FORKID), std::string("SINGLE|FORKID")},                                     // LitecoinCash: Replay attack protection
  17609. +    {static_cast<unsigned char>(SIGHASH_ALL|SIGHASH_FORKID|SIGHASH_ANYONECANPAY), std::string("ALL|FORKID|ANYONECANPAY")},         // LitecoinCash: Replay attack protection
  17610. +    {static_cast<unsigned char>(SIGHASH_NONE|SIGHASH_FORKID|SIGHASH_ANYONECANPAY), std::string("NONE|FORKID|ANYONECANPAY")},       // LitecoinCash: Replay attack protection
  17611. +    {static_cast<unsigned char>(SIGHASH_SINGLE|SIGHASH_FORKID|SIGHASH_ANYONECANPAY), std::string("SINGLE|FORKID|ANYONECANPAY")},   // LitecoinCash: Replay attack protection
  17612.  };
  17613.  
  17614.  /**
  17615. @@ -102,7 +108,9 @@ std::string ScriptToAsmStr(const CScript& script, const bool fAttemptSighashDeco
  17616.                      // this won't decode correctly formatted public keys in Pubkey or Multisig scripts due to
  17617.                      // the restrictions on the pubkey formats (see IsCompressedOrUncompressedPubKey) being incongruous with the
  17618.                      // checks in CheckSignatureEncoding.
  17619. -                    if (CheckSignatureEncoding(vch, SCRIPT_VERIFY_STRICTENC, nullptr)) {
  17620. +                    // LitecoinCash: use SCRIPT_ENABLE_SIGHASH_FORKID
  17621. +                    auto flags = SCRIPT_VERIFY_STRICTENC | SCRIPT_ENABLE_SIGHASH_FORKID;
  17622. +                    if (CheckSignatureEncoding(vch, flags, nullptr)) {
  17623.                          const unsigned char chSigHashType = vch.back();
  17624.                          if (mapSigHashTypes.count(chSigHashType)) {
  17625.                              strSigHashDecode = "[" + mapSigHashTypes.find(chSigHashType)->second + "]";
  17626. diff --git a/src/httpserver.cpp b/src/httpserver.cpp
  17627. index dc7016b..86b37f7 100644
  17628. --- a/src/httpserver.cpp
  17629. +++ b/src/httpserver.cpp
  17630. @@ -24,7 +24,6 @@
  17631.  
  17632.  #include <event2/thread.h>
  17633.  #include <event2/buffer.h>
  17634. -#include <event2/bufferevent.h>
  17635.  #include <event2/util.h>
  17636.  #include <event2/keyvalq_struct.h>
  17637.  
  17638. @@ -240,16 +239,6 @@ static std::string RequestMethodString(HTTPRequest::RequestMethod m)
  17639.  /** HTTP request callback */
  17640.  static void http_request_cb(struct evhttp_request* req, void* arg)
  17641.  {
  17642. -    // Disable reading to work around a libevent bug, fixed in 2.2.0.
  17643. -    if (event_get_version_number() >= 0x02010600 && event_get_version_number() < 0x02020001) {
  17644. -        evhttp_connection* conn = evhttp_request_get_connection(req);
  17645. -        if (conn) {
  17646. -            bufferevent* bev = evhttp_connection_get_bufferevent(conn);
  17647. -            if (bev) {
  17648. -                bufferevent_disable(bev, EV_READ);
  17649. -            }
  17650. -        }
  17651. -    }
  17652.      std::unique_ptr<HTTPRequest> hreq(new HTTPRequest(req));
  17653.  
  17654.      LogPrint(BCLog::HTTP, "Received a %s request for %s from %s\n",
  17655. @@ -610,24 +599,11 @@ void HTTPRequest::WriteReply(int nStatus, const std::string& strReply)
  17656.      struct evbuffer* evb = evhttp_request_get_output_buffer(req);
  17657.      assert(evb);
  17658.      evbuffer_add(evb, strReply.data(), strReply.size());
  17659. -    auto req_copy = req;
  17660. -    HTTPEvent* ev = new HTTPEvent(eventBase, true, [req_copy, nStatus]{
  17661. -        evhttp_send_reply(req_copy, nStatus, nullptr, nullptr);
  17662. -        // Re-enable reading from the socket. This is the second part of the libevent
  17663. -        // workaround above.
  17664. -        if (event_get_version_number() >= 0x02010600 && event_get_version_number() < 0x02020001) {
  17665. -            evhttp_connection* conn = evhttp_request_get_connection(req_copy);
  17666. -            if (conn) {
  17667. -                bufferevent* bev = evhttp_connection_get_bufferevent(conn);
  17668. -                if (bev) {
  17669. -                    bufferevent_enable(bev, EV_READ | EV_WRITE);
  17670. -                }
  17671. -            }
  17672. -        }
  17673. -    });
  17674. -    ev->trigger(nullptr);
  17675. +    HTTPEvent* ev = new HTTPEvent(eventBase, true,
  17676. +        std::bind(evhttp_send_reply, req, nStatus, (const char*)nullptr, (struct evbuffer *)nullptr));
  17677. +    ev->trigger(0);
  17678.      replySent = true;
  17679. -    req = nullptr; // transferred back to main thread
  17680. +    req = 0; // transferred back to main thread
  17681.  }
  17682.  
  17683.  CService HTTPRequest::GetPeer()
  17684. diff --git a/src/init.cpp b/src/init.cpp
  17685. index 4ecf38c..6309a7c 100644
  17686. --- a/src/init.cpp
  17687. +++ b/src/init.cpp
  17688. @@ -197,15 +197,12 @@ void Shutdown()
  17689.      }
  17690.  #endif
  17691.      MapPort(false);
  17692. -
  17693. -    // Because these depend on each-other, we make sure that neither can be
  17694. -    // using the other before destroying them.
  17695.      UnregisterValidationInterface(peerLogic.get());
  17696. -    if(g_connman) g_connman->Stop();
  17697.      peerLogic.reset();
  17698.      g_connman.reset();
  17699.  
  17700.      StopTorControl();
  17701. +    UnregisterNodeSignals(GetNodeSignals());
  17702.      if (fDumpMempoolLater && gArgs.GetArg("-persistmempool", DEFAULT_PERSIST_MEMPOOL)) {
  17703.          DumpMempool();
  17704.      }
  17705. @@ -369,9 +366,6 @@ std::string HelpMessage(HelpMessageMode mode)
  17706.      strUsage += HelpMessageOpt("-maxorphantx=<n>", strprintf(_("Keep at most <n> unconnectable transactions in memory (default: %u)"), DEFAULT_MAX_ORPHAN_TRANSACTIONS));
  17707.      strUsage += HelpMessageOpt("-maxmempool=<n>", strprintf(_("Keep the transaction memory pool below <n> megabytes (default: %u)"), DEFAULT_MAX_MEMPOOL_SIZE));
  17708.      strUsage += HelpMessageOpt("-mempoolexpiry=<n>", strprintf(_("Do not keep transactions in the mempool longer than <n> hours (default: %u)"), DEFAULT_MEMPOOL_EXPIRY));
  17709. -    if (showDebug) {
  17710. -        strUsage += HelpMessageOpt("-minimumchainwork=<hex>", strprintf("Minimum work assumed to exist on a valid chain in hex (default: %s, testnet: %s)", defaultChainParams->GetConsensus().nMinimumChainWork.GetHex(), testnetChainParams->GetConsensus().nMinimumChainWork.GetHex()));
  17711. -    }
  17712.      strUsage += HelpMessageOpt("-persistmempool", strprintf(_("Whether to save the mempool on shutdown and load on restart (default: %u)"), DEFAULT_PERSIST_MEMPOOL));
  17713.      strUsage += HelpMessageOpt("-blockreconstructionextratxn=<n>", strprintf(_("Extra transactions to keep in memory for compact block reconstructions (default: %u)"), DEFAULT_BLOCK_RECONSTRUCTION_EXTRA_TXN));
  17714.      strUsage += HelpMessageOpt("-par=<n>", strprintf(_("Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)"),
  17715. @@ -504,7 +498,7 @@ std::string HelpMessage(HelpMessageMode mode)
  17716.  
  17717.      strUsage += HelpMessageGroup(_("Block creation options:"));
  17718.      strUsage += HelpMessageOpt("-blockmaxweight=<n>", strprintf(_("Set maximum BIP141 block weight (default: %d)"), DEFAULT_BLOCK_MAX_WEIGHT));
  17719. -    strUsage += HelpMessageOpt("-blockmaxsize=<n>", _("Set maximum BIP141 block weight to this * 4. Deprecated, use blockmaxweight"));
  17720. +    strUsage += HelpMessageOpt("-blockmaxsize=<n>", strprintf(_("Set maximum block size in bytes (default: %d)"), DEFAULT_BLOCK_MAX_SIZE));
  17721.      strUsage += HelpMessageOpt("-blockmintxfee=<amt>", strprintf(_("Set lowest fee rate (in %s/kB) for transactions to be included in block creation. (default: %s)"), CURRENCY_UNIT, FormatMoney(DEFAULT_BLOCK_MIN_TX_FEE)));
  17722.      if (showDebug)
  17723.          strUsage += HelpMessageOpt("-blockversion=<n>", "Override block version to test forking scenarios");
  17724. @@ -531,8 +525,8 @@ std::string HelpMessage(HelpMessageMode mode)
  17725.  
  17726.  std::string LicenseInfo()
  17727.  {
  17728. -    const std::string URL_SOURCE_CODE = "<https://github.com/litecoin-project/litecoin>";
  17729. -    const std::string URL_WEBSITE = "<https://litecoin.org>";
  17730. +    const std::string URL_SOURCE_CODE = "<https://github.com/litecoincash-project/litecoincash>";
  17731. +    const std::string URL_WEBSITE = "<https://litecoinca.sh>";
  17732.  
  17733.      return CopyrightHolders(strprintf(_("Copyright (C) %i-%i"), 2011, COPYRIGHT_YEAR) + " ") + "\n" +
  17734.             "\n" +
  17735. @@ -806,15 +800,6 @@ void InitParameterInteraction()
  17736.          if (gArgs.SoftSetBoolArg("-whitelistrelay", true))
  17737.              LogPrintf("%s: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1\n", __func__);
  17738.      }
  17739. -
  17740. -    if (gArgs.IsArgSet("-blockmaxsize")) {
  17741. -        unsigned int max_size = gArgs.GetArg("-blockmaxsize", 0);
  17742. -        if (gArgs.SoftSetArg("blockmaxweight", strprintf("%d", max_size * WITNESS_SCALE_FACTOR))) {
  17743. -            LogPrintf("%s: parameter interaction: -blockmaxsize=%d -> setting -blockmaxweight=%d (-blockmaxsize is deprecated!)\n", __func__, max_size, max_size * WITNESS_SCALE_FACTOR);
  17744. -        } else {
  17745. -            LogPrintf("%s: Ignoring blockmaxsize setting which is overridden by blockmaxweight", __func__);
  17746. -        }
  17747. -    }
  17748.  }
  17749.  
  17750.  static std::string ResolveErrMsg(const char * const optname, const std::string& strBind)
  17751. @@ -830,7 +815,7 @@ void InitLogging()
  17752.      fLogIPs = gArgs.GetBoolArg("-logips", DEFAULT_LOGIPS);
  17753.  
  17754.      LogPrintf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
  17755. -    LogPrintf("Litecoin version %s\n", FormatFullVersion());
  17756. +    LogPrintf("LitecoinCash version %s\n", FormatFullVersion());
  17757.  }
  17758.  
  17759.  namespace { // Variables internal to initialization process only
  17760. @@ -998,20 +983,6 @@ bool AppInitParameterInteraction()
  17761.      else
  17762.          LogPrintf("Validating signatures for all blocks.\n");
  17763.  
  17764. -    if (gArgs.IsArgSet("-minimumchainwork")) {
  17765. -        const std::string minChainWorkStr = gArgs.GetArg("-minimumchainwork", "");
  17766. -        if (!IsHexNumber(minChainWorkStr)) {
  17767. -            return InitError(strprintf("Invalid non-hex (%s) minimum chain work value specified", minChainWorkStr));
  17768. -        }
  17769. -        nMinimumChainWork = UintToArith256(uint256S(minChainWorkStr));
  17770. -    } else {
  17771. -        nMinimumChainWork = UintToArith256(chainparams.GetConsensus().nMinimumChainWork);
  17772. -    }
  17773. -    LogPrintf("Setting nMinimumChainWork=%s\n", nMinimumChainWork.GetHex());
  17774. -    if (nMinimumChainWork < UintToArith256(chainparams.GetConsensus().nMinimumChainWork)) {
  17775. -        LogPrintf("Warning: nMinimumChainWork set below default value of %s\n", chainparams.GetConsensus().nMinimumChainWork.GetHex());
  17776. -    }
  17777. -
  17778.      // mempool limits
  17779.      int64_t nMempoolSizeMax = gArgs.GetArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000;
  17780.      int64_t nMempoolSizeMin = gArgs.GetArg("-limitdescendantsize", DEFAULT_DESCENDANT_SIZE_LIMIT) * 1000 * 40;
  17781. @@ -1296,8 +1267,9 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
  17782.      g_connman = std::unique_ptr<CConnman>(new CConnman(GetRand(std::numeric_limits<uint64_t>::max()), GetRand(std::numeric_limits<uint64_t>::max())));
  17783.      CConnman& connman = *g_connman;
  17784.  
  17785. -    peerLogic.reset(new PeerLogicValidation(&connman, scheduler));
  17786. +    peerLogic.reset(new PeerLogicValidation(&connman));
  17787.      RegisterValidationInterface(peerLogic.get());
  17788. +    RegisterNodeSignals(GetNodeSignals());
  17789.  
  17790.      // sanitize comments per BIP-0014, format user agent and check total size
  17791.      std::vector<std::string> uacomments;
  17792. @@ -1688,7 +1660,6 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
  17793.      connOptions.nMaxFeeler = 1;
  17794.      connOptions.nBestHeight = chainActive.Height();
  17795.      connOptions.uiInterface = &uiInterface;
  17796. -    connOptions.m_msgproc = peerLogic.get();
  17797.      connOptions.nSendBufferMaxSize = 1000*gArgs.GetArg("-maxsendbuffer", DEFAULT_MAXSENDBUFFER);
  17798.      connOptions.nReceiveFloodSize = 1000*gArgs.GetArg("-maxreceivebuffer", DEFAULT_MAXRECEIVEBUFFER);
  17799.  
  17800. diff --git a/src/leveldb/build_detect_platform b/src/leveldb/build_detect_platform
  17801. old mode 100755
  17802. new mode 100644
  17803. index 4a94715..95e26e9
  17804. --- a/src/leveldb/build_detect_platform
  17805. +++ b/src/leveldb/build_detect_platform
  17806. @@ -217,11 +217,11 @@ EOF
  17807.      fi
  17808.  
  17809.      # Test whether tcmalloc is available
  17810. -    $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null  <<EOF
  17811. +    $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -lchmalloc 2>/dev/null  <<EOF
  17812.        int main() {}
  17813.  EOF
  17814.      if [ "$?" = 0 ]; then
  17815. -        PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc"
  17816. +        PLATFORM_LIBS="$PLATFORM_LIBS -lchmalloc"
  17817.      fi
  17818.  
  17819.      rm -f $CXXOUTPUT 2>/dev/null
  17820. diff --git a/src/miner.cpp b/src/miner.cpp
  17821. index adfedcc..01366fe 100644
  17822. --- a/src/miner.cpp
  17823. +++ b/src/miner.cpp
  17824. @@ -44,6 +44,7 @@
  17825.  // its ancestors.
  17826.  
  17827.  uint64_t nLastBlockTx = 0;
  17828. +uint64_t nLastBlockSize = 0;
  17829.  uint64_t nLastBlockWeight = 0;
  17830.  
  17831.  int64_t UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParams, const CBlockIndex* pindexPrev)
  17832. @@ -64,6 +65,7 @@ int64_t UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParam
  17833.  BlockAssembler::Options::Options() {
  17834.      blockMinFeeRate = CFeeRate(DEFAULT_BLOCK_MIN_TX_FEE);
  17835.      nBlockMaxWeight = DEFAULT_BLOCK_MAX_WEIGHT;
  17836. +    nBlockMaxSize = DEFAULT_BLOCK_MAX_SIZE;
  17837.  }
  17838.  
  17839.  BlockAssembler::BlockAssembler(const CChainParams& params, const Options& options) : chainparams(params)
  17840. @@ -71,6 +73,10 @@ BlockAssembler::BlockAssembler(const CChainParams& params, const Options& option
  17841.      blockMinFeeRate = options.blockMinFeeRate;
  17842.      // Limit weight to between 4K and MAX_BLOCK_WEIGHT-4K for sanity:
  17843.      nBlockMaxWeight = std::max<size_t>(4000, std::min<size_t>(MAX_BLOCK_WEIGHT - 4000, options.nBlockMaxWeight));
  17844. +    // Limit size to between 1K and MAX_BLOCK_SERIALIZED_SIZE-1K for sanity:
  17845. +    nBlockMaxSize = std::max<size_t>(1000, std::min<size_t>(MAX_BLOCK_SERIALIZED_SIZE - 1000, options.nBlockMaxSize));
  17846. +    // Whether we need to account for byte usage (in addition to weight usage)
  17847. +    fNeedSizeAccounting = (nBlockMaxSize < MAX_BLOCK_SERIALIZED_SIZE - 1000);
  17848.  }
  17849.  
  17850.  static BlockAssembler::Options DefaultOptions(const CChainParams& params)
  17851. @@ -80,7 +86,20 @@ static BlockAssembler::Options DefaultOptions(const CChainParams& params)
  17852.      // If only one is given, only restrict the specified resource.
  17853.      // If both are given, restrict both.
  17854.      BlockAssembler::Options options;
  17855. -    options.nBlockMaxWeight = gArgs.GetArg("-blockmaxweight", DEFAULT_BLOCK_MAX_WEIGHT);
  17856. +    options.nBlockMaxWeight = DEFAULT_BLOCK_MAX_WEIGHT;
  17857. +    options.nBlockMaxSize = DEFAULT_BLOCK_MAX_SIZE;
  17858. +    bool fWeightSet = false;
  17859. +    if (gArgs.IsArgSet("-blockmaxweight")) {
  17860. +        options.nBlockMaxWeight = gArgs.GetArg("-blockmaxweight", DEFAULT_BLOCK_MAX_WEIGHT);
  17861. +        options.nBlockMaxSize = MAX_BLOCK_SERIALIZED_SIZE;
  17862. +        fWeightSet = true;
  17863. +    }
  17864. +    if (gArgs.IsArgSet("-blockmaxsize")) {
  17865. +        options.nBlockMaxSize = gArgs.GetArg("-blockmaxsize", DEFAULT_BLOCK_MAX_SIZE);
  17866. +        if (!fWeightSet) {
  17867. +            options.nBlockMaxWeight = options.nBlockMaxSize * WITNESS_SCALE_FACTOR;
  17868. +        }
  17869. +    }
  17870.      if (gArgs.IsArgSet("-blockmintxfee")) {
  17871.          CAmount n = 0;
  17872.          ParseMoney(gArgs.GetArg("-blockmintxfee", ""), n);
  17873. @@ -98,6 +117,7 @@ void BlockAssembler::resetBlock()
  17874.      inBlock.clear();
  17875.  
  17876.      // Reserve space for coinbase tx
  17877. +    nBlockSize = 1000;
  17878.      nBlockWeight = 4000;
  17879.      nBlockSigOpsCost = 400;
  17880.      fIncludeWitness = false;
  17881. @@ -156,6 +176,7 @@ std::unique_ptr<CBlockTemplate> BlockAssembler::CreateNewBlock(const CScript& sc
  17882.      int64_t nTime1 = GetTimeMicros();
  17883.  
  17884.      nLastBlockTx = nBlockTx;
  17885. +    nLastBlockSize = nBlockSize;
  17886.      nLastBlockWeight = nBlockWeight;
  17887.  
  17888.      // Create coinbase transaction.
  17889. @@ -170,7 +191,8 @@ std::unique_ptr<CBlockTemplate> BlockAssembler::CreateNewBlock(const CScript& sc
  17890.      pblocktemplate->vchCoinbaseCommitment = GenerateCoinbaseCommitment(*pblock, pindexPrev, chainparams.GetConsensus());
  17891.      pblocktemplate->vTxFees[0] = -nFees;
  17892.  
  17893. -    LogPrintf("CreateNewBlock(): block weight: %u txs: %u fees: %ld sigops %d\n", GetBlockWeight(*pblock), nBlockTx, nFees, nBlockSigOpsCost);
  17894. +    uint64_t nSerializeSize = GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION);
  17895. +    LogPrintf("CreateNewBlock(): total size: %u block weight: %u txs: %u fees: %ld sigops %d\n", nSerializeSize, GetBlockWeight(*pblock), nBlockTx, nFees, nBlockSigOpsCost);
  17896.  
  17897.      // Fill in header
  17898.      pblock->hashPrevBlock  = pindexPrev->GetBlockHash();
  17899. @@ -217,13 +239,22 @@ bool BlockAssembler::TestPackage(uint64_t packageSize, int64_t packageSigOpsCost
  17900.  // - transaction finality (locktime)
  17901.  // - premature witness (in case segwit transactions are added to mempool before
  17902.  //   segwit activation)
  17903. +// - serialized size (in case -blockmaxsize is in use)
  17904.  bool BlockAssembler::TestPackageTransactions(const CTxMemPool::setEntries& package)
  17905.  {
  17906. +    uint64_t nPotentialBlockSize = nBlockSize; // only used with fNeedSizeAccounting
  17907.      for (const CTxMemPool::txiter it : package) {
  17908.          if (!IsFinalTx(it->GetTx(), nHeight, nLockTimeCutoff))
  17909.              return false;
  17910.          if (!fIncludeWitness && it->GetTx().HasWitness())
  17911.              return false;
  17912. +        if (fNeedSizeAccounting) {
  17913. +            uint64_t nTxSize = ::GetSerializeSize(it->GetTx(), SER_NETWORK, PROTOCOL_VERSION);
  17914. +            if (nPotentialBlockSize + nTxSize >= nBlockMaxSize) {
  17915. +                return false;
  17916. +            }
  17917. +            nPotentialBlockSize += nTxSize;
  17918. +        }
  17919.      }
  17920.      return true;
  17921.  }
  17922. @@ -233,6 +264,9 @@ void BlockAssembler::AddToBlock(CTxMemPool::txiter iter)
  17923.      pblock->vtx.emplace_back(iter->GetSharedTx());
  17924.      pblocktemplate->vTxFees.push_back(iter->GetFee());
  17925.      pblocktemplate->vTxSigOpsCost.push_back(iter->GetSigOpCost());
  17926. +    if (fNeedSizeAccounting) {
  17927. +        nBlockSize += ::GetSerializeSize(iter->GetTx(), SER_NETWORK, PROTOCOL_VERSION);
  17928. +    }
  17929.      nBlockWeight += iter->GetTxWeight();
  17930.      ++nBlockTx;
  17931.      nBlockSigOpsCost += iter->GetSigOpCost();
  17932. diff --git a/src/miner.h b/src/miner.h
  17933. index aa5fccf..c7360c1 100644
  17934. --- a/src/miner.h
  17935. +++ b/src/miner.h
  17936. @@ -139,11 +139,13 @@ private:
  17937.  
  17938.      // Configuration parameters for the block size
  17939.      bool fIncludeWitness;
  17940. -    unsigned int nBlockMaxWeight;
  17941. +    unsigned int nBlockMaxWeight, nBlockMaxSize;
  17942. +    bool fNeedSizeAccounting;
  17943.      CFeeRate blockMinFeeRate;
  17944.  
  17945.      // Information on the current status of the block
  17946.      uint64_t nBlockWeight;
  17947. +    uint64_t nBlockSize;
  17948.      uint64_t nBlockTx;
  17949.      uint64_t nBlockSigOpsCost;
  17950.      CAmount nFees;
  17951. diff --git a/src/net.cpp b/src/net.cpp
  17952. index 8dd942a..6300da7 100644
  17953. --- a/src/net.cpp
  17954. +++ b/src/net.cpp
  17955. @@ -89,6 +89,10 @@ std::string strSubVersion;
  17956.  
  17957.  limitedmap<uint256, int64_t> mapAlreadyAskedFor(MAX_INV_SZ);
  17958.  
  17959. +// Signals for message handling
  17960. +static CNodeSignals g_signals;
  17961. +CNodeSignals& GetNodeSignals() { return g_signals; }
  17962. +
  17963.  void CConnman::AddOneShot(const std::string& strDest)
  17964.  {
  17965.      LOCK(cs_vOneShots);
  17966. @@ -661,7 +665,7 @@ void CNode::copyStats(CNodeStats &stats)
  17967.          X(cleanSubVer);
  17968.      }
  17969.      X(fInbound);
  17970. -    X(m_manual_connection);
  17971. +    X(fAddnode);
  17972.      X(nStartingHeight);
  17973.      {
  17974.          LOCK(cs_vSend);
  17975. @@ -1110,7 +1114,7 @@ void CConnman::AcceptConnection(const ListenSocket& hListenSocket) {
  17976.      CNode* pnode = new CNode(id, nLocalServices, GetBestHeight(), hSocket, addr, CalculateKeyedNetGroup(addr), nonce, addr_bind, "", true);
  17977.      pnode->AddRef();
  17978.      pnode->fWhitelisted = whitelisted;
  17979. -    m_msgproc->InitializeNode(pnode);
  17980. +    GetNodeSignals().InitializeNode(pnode, *this);
  17981.  
  17982.      LogPrint(BCLog::NET, "connection from %s accepted\n", addr.ToString());
  17983.  
  17984. @@ -1479,7 +1483,7 @@ void ThreadMapPort()
  17985.              }
  17986.          }
  17987.  
  17988. -        std::string strDesc = "Litecoin " + FormatFullVersion();
  17989. +        std::string strDesc = "LitecoinCash " + FormatFullVersion();
  17990.  
  17991.          try {
  17992.              while (true) {
  17993. @@ -1670,37 +1674,6 @@ void CConnman::ProcessOneShot()
  17994.      }
  17995.  }
  17996.  
  17997. -bool CConnman::GetTryNewOutboundPeer()
  17998. -{
  17999. -    return m_try_another_outbound_peer;
  18000. -}
  18001. -
  18002. -void CConnman::SetTryNewOutboundPeer(bool flag)
  18003. -{
  18004. -    m_try_another_outbound_peer = flag;
  18005. -    LogPrint(BCLog::NET, "net: setting try another outbound peer=%s\n", flag ? "true" : "false");
  18006. -}
  18007. -
  18008. -// Return the number of peers we have over our outbound connection limit
  18009. -// Exclude peers that are marked for disconnect, or are going to be
  18010. -// disconnected soon (eg one-shots and feelers)
  18011. -// Also exclude peers that haven't finished initial connection handshake yet
  18012. -// (so that we don't decide we're over our desired connection limit, and then
  18013. -// evict some peer that has finished the handshake)
  18014. -int CConnman::GetExtraOutboundCount()
  18015. -{
  18016. -    int nOutbound = 0;
  18017. -    {
  18018. -        LOCK(cs_vNodes);
  18019. -        for (CNode* pnode : vNodes) {
  18020. -            if (!pnode->fInbound && !pnode->m_manual_connection && !pnode->fFeeler && !pnode->fDisconnect && !pnode->fOneShot && pnode->fSuccessfullyConnected) {
  18021. -                ++nOutbound;
  18022. -            }
  18023. -        }
  18024. -    }
  18025. -    return std::max(nOutbound - nMaxOutbound, 0);
  18026. -}
  18027. -
  18028.  void CConnman::ThreadOpenConnections()
  18029.  {
  18030.      // Connect to specific addresses
  18031. @@ -1765,7 +1738,7 @@ void CConnman::ThreadOpenConnections()
  18032.          {
  18033.              LOCK(cs_vNodes);
  18034.              for (CNode* pnode : vNodes) {
  18035. -                if (!pnode->fInbound && !pnode->m_manual_connection) {
  18036. +                if (!pnode->fInbound && !pnode->fAddnode) {
  18037.  
  18038.                      // Count the peers that have all relevant services
  18039.                      if (pnode->fSuccessfullyConnected && !pnode->fFeeler && ((pnode->nServices & nRelevantServices) == nRelevantServices)) {
  18040. @@ -1795,8 +1768,7 @@ void CConnman::ThreadOpenConnections()
  18041.          //  * Only make a feeler connection once every few minutes.
  18042.          //
  18043.          bool fFeeler = false;
  18044. -
  18045. -        if (nOutbound >= nMaxOutbound && !GetTryNewOutboundPeer()) {
  18046. +        if (nOutbound >= nMaxOutbound) {
  18047.              int64_t nTime = GetTimeMicros(); // The current time right now (in microseconds).
  18048.              if (nTime > nNextFeeler) {
  18049.                  nNextFeeler = PoissonNextSend(nTime, FEELER_INTERVAL);
  18050. @@ -1962,7 +1934,7 @@ void CConnman::ThreadOpenAddedConnections()
  18051.  }
  18052.  
  18053.  // if successful, this moves the passed grant to the constructed node
  18054. -bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool fOneShot, bool fFeeler, bool manual_connection)
  18055. +bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool fOneShot, bool fFeeler, bool fAddnode)
  18056.  {
  18057.      //
  18058.      // Initiate outbound network connection
  18059. @@ -1991,10 +1963,10 @@ bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
  18060.          pnode->fOneShot = true;
  18061.      if (fFeeler)
  18062.          pnode->fFeeler = true;
  18063. -    if (manual_connection)
  18064. -        pnode->m_manual_connection = true;
  18065. +    if (fAddnode)
  18066. +        pnode->fAddnode = true;
  18067.  
  18068. -    m_msgproc->InitializeNode(pnode);
  18069. +    GetNodeSignals().InitializeNode(pnode, *this);
  18070.      {
  18071.          LOCK(cs_vNodes);
  18072.          vNodes.push_back(pnode);
  18073. @@ -2024,16 +1996,16 @@ void CConnman::ThreadMessageHandler()
  18074.                  continue;
  18075.  
  18076.              // Receive messages
  18077. -            bool fMoreNodeWork = m_msgproc->ProcessMessages(pnode, flagInterruptMsgProc);
  18078. +            bool fMoreNodeWork = GetNodeSignals().ProcessMessages(pnode, *this, flagInterruptMsgProc);
  18079.              fMoreWork |= (fMoreNodeWork && !pnode->fPauseSend);
  18080.              if (flagInterruptMsgProc)
  18081.                  return;
  18082. +
  18083.              // Send messages
  18084.              {
  18085.                  LOCK(pnode->cs_sendProcessing);
  18086. -                m_msgproc->SendMessages(pnode, flagInterruptMsgProc);
  18087. +                GetNodeSignals().SendMessages(pnode, *this, flagInterruptMsgProc);
  18088.              }
  18089. -
  18090.              if (flagInterruptMsgProc)
  18091.                  return;
  18092.          }
  18093. @@ -2239,7 +2211,6 @@ CConnman::CConnman(uint64_t nSeed0In, uint64_t nSeed1In) : nSeed0(nSeed0In), nSe
  18094.      semOutbound = nullptr;
  18095.      semAddnode = nullptr;
  18096.      flagInterruptMsgProc = false;
  18097. -    SetTryNewOutboundPeer(false);
  18098.  
  18099.      Options connOptions;
  18100.      Init(connOptions);
  18101. @@ -2353,7 +2324,6 @@ bool CConnman::Start(CScheduler& scheduler, const Options& connOptions)
  18102.      //
  18103.      // Start threads
  18104.      //
  18105. -    assert(m_msgproc);
  18106.      InterruptSocks5(false);
  18107.      interruptNet.reset();
  18108.      flagInterruptMsgProc = false;
  18109. @@ -2473,10 +2443,9 @@ void CConnman::DeleteNode(CNode* pnode)
  18110.  {
  18111.      assert(pnode);
  18112.      bool fUpdateConnectionTime = false;
  18113. -    m_msgproc->FinalizeNode(pnode->GetId(), fUpdateConnectionTime);
  18114. -    if(fUpdateConnectionTime) {
  18115. +    GetNodeSignals().FinalizeNode(pnode->GetId(), fUpdateConnectionTime);
  18116. +    if(fUpdateConnectionTime)
  18117.          addrman.Connected(pnode->addr);
  18118. -    }
  18119.      delete pnode;
  18120.  }
  18121.  
  18122. @@ -2735,7 +2704,7 @@ CNode::CNode(NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn
  18123.      strSubVer = "";
  18124.      fWhitelisted = false;
  18125.      fOneShot = false;
  18126. -    m_manual_connection = false;
  18127. +    fAddnode = false;
  18128.      fClient = false; // set by version message
  18129.      fFeeler = false;
  18130.      fSuccessfullyConnected = false;
  18131. diff --git a/src/net.h b/src/net.h
  18132. index 6b57d5c..a32736a 100644
  18133. --- a/src/net.h
  18134. +++ b/src/net.h
  18135. @@ -33,6 +33,7 @@
  18136.  #include <arpa/inet.h>
  18137.  #endif
  18138.  
  18139. +#include <boost/signals2/signal.hpp>
  18140.  
  18141.  class CScheduler;
  18142.  class CNode;
  18143. @@ -115,7 +116,7 @@ struct CSerializedNetMsg
  18144.      std::string command;
  18145.  };
  18146.  
  18147. -class NetEventsInterface;
  18148. +
  18149.  class CConnman
  18150.  {
  18151.  public:
  18152. @@ -137,7 +138,6 @@ public:
  18153.          int nMaxFeeler = 0;
  18154.          int nBestHeight = 0;
  18155.          CClientUIInterface* uiInterface = nullptr;
  18156. -        NetEventsInterface* m_msgproc = nullptr;
  18157.          unsigned int nSendBufferMaxSize = 0;
  18158.          unsigned int nReceiveFloodSize = 0;
  18159.          uint64_t nMaxOutboundTimeframe = 0;
  18160. @@ -156,7 +156,6 @@ public:
  18161.          nMaxFeeler = connOptions.nMaxFeeler;
  18162.          nBestHeight = connOptions.nBestHeight;
  18163.          clientInterface = connOptions.uiInterface;
  18164. -        m_msgproc = connOptions.m_msgproc;
  18165.          nSendBufferMaxSize = connOptions.nSendBufferMaxSize;
  18166.          nReceiveFloodSize = connOptions.nReceiveFloodSize;
  18167.          nMaxOutboundTimeframe = connOptions.nMaxOutboundTimeframe;
  18168. @@ -171,7 +170,7 @@ public:
  18169.      void Interrupt();
  18170.      bool GetNetworkActive() const { return fNetworkActive; };
  18171.      void SetNetworkActive(bool active);
  18172. -    bool OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = nullptr, const char *strDest = nullptr, bool fOneShot = false, bool fFeeler = false, bool manual_connection = false);
  18173. +    bool OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = nullptr, const char *strDest = nullptr, bool fOneShot = false, bool fFeeler = false, bool fAddnode = false);
  18174.      bool CheckIncomingNonce(uint64_t nonce);
  18175.  
  18176.      bool ForNode(NodeId id, std::function<bool(CNode* pnode)> func);
  18177. @@ -251,19 +250,6 @@ public:
  18178.      void GetBanned(banmap_t &banmap);
  18179.      void SetBanned(const banmap_t &banmap);
  18180.  
  18181. -    // This allows temporarily exceeding nMaxOutbound, with the goal of finding
  18182. -    // a peer that is better than all our current peers.
  18183. -    void SetTryNewOutboundPeer(bool flag);
  18184. -    bool GetTryNewOutboundPeer();
  18185. -
  18186. -    // Return the number of outbound peers we have in excess of our target (eg,
  18187. -    // if we previously called SetTryNewOutboundPeer(true), and have since set
  18188. -    // to false, we may have extra peers that we wish to disconnect). This may
  18189. -    // return a value less than (num_outbound_connections - num_outbound_slots)
  18190. -    // in cases where some outbound connections are not yet fully connected, or
  18191. -    // not yet fully disconnected.
  18192. -    int GetExtraOutboundCount();
  18193. -
  18194.      bool AddNode(const std::string& node);
  18195.      bool RemoveAddedNode(const std::string& node);
  18196.      std::vector<AddedNodeInfo> GetAddedNodeInfo();
  18197. @@ -410,7 +396,6 @@ private:
  18198.      int nMaxFeeler;
  18199.      std::atomic<int> nBestHeight;
  18200.      CClientUIInterface* clientInterface;
  18201. -    NetEventsInterface* m_msgproc;
  18202.  
  18203.      /** SipHasher seeds for deterministic randomness */
  18204.      const uint64_t nSeed0, nSeed1;
  18205. @@ -429,13 +414,6 @@ private:
  18206.      std::thread threadOpenAddedConnections;
  18207.      std::thread threadOpenConnections;
  18208.      std::thread threadMessageHandler;
  18209. -
  18210. -    /** flag for deciding to connect to an extra outbound peer,
  18211. -     *  in excess of nMaxOutbound
  18212. -     *  This takes the place of a feeler connection */
  18213. -    std::atomic_bool m_try_another_outbound_peer;
  18214. -
  18215. -    friend struct CConnmanTest;
  18216.  };
  18217.  extern std::unique_ptr<CConnman> g_connman;
  18218.  void Discover(boost::thread_group& threadGroup);
  18219. @@ -458,18 +436,19 @@ struct CombinerAll
  18220.      }
  18221.  };
  18222.  
  18223. -/**
  18224. - * Interface for message handling
  18225. - */
  18226. -class NetEventsInterface
  18227. +// Signals for message handling
  18228. +struct CNodeSignals
  18229.  {
  18230. -public:
  18231. -    virtual bool ProcessMessages(CNode* pnode, std::atomic<bool>& interrupt) = 0;
  18232. -    virtual bool SendMessages(CNode* pnode, std::atomic<bool>& interrupt) = 0;
  18233. -    virtual void InitializeNode(CNode* pnode) = 0;
  18234. -    virtual void FinalizeNode(NodeId id, bool& update_connection_time) = 0;
  18235. +    boost::signals2::signal<bool (CNode*, CConnman&, std::atomic<bool>&), CombinerAll> ProcessMessages;
  18236. +    boost::signals2::signal<bool (CNode*, CConnman&, std::atomic<bool>&), CombinerAll> SendMessages;
  18237. +    boost::signals2::signal<void (CNode*, CConnman&)> InitializeNode;
  18238. +    boost::signals2::signal<void (NodeId, bool&)> FinalizeNode;
  18239.  };
  18240.  
  18241. +
  18242. +CNodeSignals& GetNodeSignals();
  18243. +
  18244. +
  18245.  enum
  18246.  {
  18247.      LOCAL_NONE,   // unknown
  18248. @@ -529,7 +508,7 @@ public:
  18249.      int nVersion;
  18250.      std::string cleanSubVer;
  18251.      bool fInbound;
  18252. -    bool m_manual_connection;
  18253. +    bool fAddnode;
  18254.      int nStartingHeight;
  18255.      uint64_t nSendBytes;
  18256.      mapMsgCmdSize mapSendBytesPerMsgCmd;
  18257. @@ -639,7 +618,7 @@ public:
  18258.      bool fWhitelisted; // This peer can bypass DoS banning.
  18259.      bool fFeeler; // If true this node is being used as a short lived feeler.
  18260.      bool fOneShot;
  18261. -    bool m_manual_connection;
  18262. +    bool fAddnode;
  18263.      bool fClient;
  18264.      const bool fInbound;
  18265.      std::atomic_bool fSuccessfullyConnected;
  18266. diff --git a/src/net_processing.cpp b/src/net_processing.cpp
  18267. index a8a2a38..673d4c2 100644
  18268. --- a/src/net_processing.cpp
  18269. +++ b/src/net_processing.cpp
  18270. @@ -23,7 +23,6 @@
  18271.  #include "primitives/transaction.h"
  18272.  #include "random.h"
  18273.  #include "reverse_iterator.h"
  18274. -#include "scheduler.h"
  18275.  #include "tinyformat.h"
  18276.  #include "txmempool.h"
  18277.  #include "ui_interface.h"
  18278. @@ -33,7 +32,7 @@
  18279.  #include "validationinterface.h"
  18280.  
  18281.  #if defined(NDEBUG)
  18282. -# error "Litecoin cannot be compiled without assertions."
  18283. +# error "LitecoinCash cannot be compiled without assertions."
  18284.  #endif
  18285.  
  18286.  std::atomic<int64_t> nTimeBestReceived(0); // Used only to inform the wallet of when we last received a block
  18287. @@ -117,12 +116,6 @@ namespace {
  18288.      /** Number of peers from which we're downloading blocks. */
  18289.      int nPeersWithValidatedDownloads = 0;
  18290.  
  18291. -    /** Number of outbound peers with m_chain_sync.m_protect. */
  18292. -    int g_outbound_peers_with_protect_from_disconnect = 0;
  18293. -
  18294. -    /** When our tip was last updated. */
  18295. -    int64_t g_last_tip_update = 0;
  18296. -
  18297.      /** Relay map, protected by cs_main. */
  18298.      typedef std::map<uint256, CTransactionRef> MapRelay;
  18299.      MapRelay mapRelay;
  18300. @@ -130,6 +123,11 @@ namespace {
  18301.      std::deque<std::pair<int64_t, MapRelay::iterator>> vRelayExpiration;
  18302.  } // namespace
  18303.  
  18304. +//////////////////////////////////////////////////////////////////////////////
  18305. +//
  18306. +// Registration of network node signals.
  18307. +//
  18308. +
  18309.  namespace {
  18310.  
  18311.  struct CBlockReject {
  18312. @@ -200,36 +198,6 @@ struct CNodeState {
  18313.       */
  18314.      bool fSupportsDesiredCmpctVersion;
  18315.  
  18316. -    /** State used to enforce CHAIN_SYNC_TIMEOUT
  18317. -      * Only in effect for outbound, non-manual connections, with
  18318. -      * m_protect == false
  18319. -      * Algorithm: if a peer's best known block has less work than our tip,
  18320. -      * set a timeout CHAIN_SYNC_TIMEOUT seconds in the future:
  18321. -      *   - If at timeout their best known block now has more work than our tip
  18322. -      *     when the timeout was set, then either reset the timeout or clear it
  18323. -      *     (after comparing against our current tip's work)
  18324. -      *   - If at timeout their best known block still has less work than our
  18325. -      *     tip did when the timeout was set, then send a getheaders message,
  18326. -      *     and set a shorter timeout, HEADERS_RESPONSE_TIME seconds in future.
  18327. -      *     If their best known block is still behind when that new timeout is
  18328. -      *     reached, disconnect.
  18329. -      */
  18330. -    struct ChainSyncTimeoutState {
  18331. -        //! A timeout used for checking whether our peer has sufficiently synced
  18332. -        int64_t m_timeout;
  18333. -        //! A header with the work we require on our peer's chain
  18334. -        const CBlockIndex * m_work_header;
  18335. -        //! After timeout is reached, set to true after sending getheaders
  18336. -        bool m_sent_getheaders;
  18337. -        //! Whether this peer is protected from disconnection due to a bad/slow chain
  18338. -        bool m_protect;
  18339. -    };
  18340. -
  18341. -    ChainSyncTimeoutState m_chain_sync;
  18342. -
  18343. -    //! Time of last new block announcement
  18344. -    int64_t m_last_block_announcement;
  18345. -
  18346.      CNodeState(CAddress addrIn, std::string addrNameIn) : address(addrIn), name(addrNameIn) {
  18347.          fCurrentlyConnected = false;
  18348.          nMisbehavior = 0;
  18349. @@ -252,8 +220,6 @@ struct CNodeState {
  18350.          fHaveWitness = false;
  18351.          fWantsCmpctWitness = false;
  18352.          fSupportsDesiredCmpctVersion = false;
  18353. -        m_chain_sync = { 0, nullptr, false, false };
  18354. -        m_last_block_announcement = 0;
  18355.      }
  18356.  };
  18357.  
  18358. @@ -278,7 +244,7 @@ void UpdatePreferredDownload(CNode* node, CNodeState* state)
  18359.      nPreferredDownload += state->fPreferredDownload;
  18360.  }
  18361.  
  18362. -void PushNodeVersion(CNode *pnode, CConnman* connman, int64_t nTime)
  18363. +void PushNodeVersion(CNode *pnode, CConnman& connman, int64_t nTime)
  18364.  {
  18365.      ServiceFlags nLocalNodeServices = pnode->GetLocalServices();
  18366.      uint64_t nonce = pnode->GetLocalNonce();
  18367. @@ -289,7 +255,7 @@ void PushNodeVersion(CNode *pnode, CConnman* connman, int64_t nTime)
  18368.      CAddress addrYou = (addr.IsRoutable() && !IsProxy(addr) ? addr : CAddress(CService(), addr.nServices));
  18369.      CAddress addrMe = CAddress(CService(), nLocalNodeServices);
  18370.  
  18371. -    connman->PushMessage(pnode, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::VERSION, PROTOCOL_VERSION, (uint64_t)nLocalNodeServices, nTime, addrYou, addrMe,
  18372. +    connman.PushMessage(pnode, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::VERSION, PROTOCOL_VERSION, (uint64_t)nLocalNodeServices, nTime, addrYou, addrMe,
  18373.              nonce, strSubVersion, nNodeStartingHeight, ::fRelayTxes));
  18374.  
  18375.      if (fLogIPs) {
  18376. @@ -299,6 +265,49 @@ void PushNodeVersion(CNode *pnode, CConnman* connman, int64_t nTime)
  18377.      }
  18378.  }
  18379.  
  18380. +void InitializeNode(CNode *pnode, CConnman& connman) {
  18381. +    CAddress addr = pnode->addr;
  18382. +    std::string addrName = pnode->GetAddrName();
  18383. +    NodeId nodeid = pnode->GetId();
  18384. +    {
  18385. +        LOCK(cs_main);
  18386. +        mapNodeState.emplace_hint(mapNodeState.end(), std::piecewise_construct, std::forward_as_tuple(nodeid), std::forward_as_tuple(addr, std::move(addrName)));
  18387. +    }
  18388. +    if(!pnode->fInbound)
  18389. +        PushNodeVersion(pnode, connman, GetTime());
  18390. +}
  18391. +
  18392. +void FinalizeNode(NodeId nodeid, bool& fUpdateConnectionTime) {
  18393. +    fUpdateConnectionTime = false;
  18394. +    LOCK(cs_main);
  18395. +    CNodeState *state = State(nodeid);
  18396. +
  18397. +    if (state->fSyncStarted)
  18398. +        nSyncStarted--;
  18399. +
  18400. +    if (state->nMisbehavior == 0 && state->fCurrentlyConnected) {
  18401. +        fUpdateConnectionTime = true;
  18402. +    }
  18403. +
  18404. +    for (const QueuedBlock& entry : state->vBlocksInFlight) {
  18405. +        mapBlocksInFlight.erase(entry.hash);
  18406. +    }
  18407. +    EraseOrphansFor(nodeid);
  18408. +    nPreferredDownload -= state->fPreferredDownload;
  18409. +    nPeersWithValidatedDownloads -= (state->nBlocksInFlightValidHeaders != 0);
  18410. +    assert(nPeersWithValidatedDownloads >= 0);
  18411. +
  18412. +    mapNodeState.erase(nodeid);
  18413. +
  18414. +    if (mapNodeState.empty()) {
  18415. +        // Do a consistency check after the last peer is removed.
  18416. +        assert(mapBlocksInFlight.empty());
  18417. +        assert(nPreferredDownload == 0);
  18418. +        assert(nPeersWithValidatedDownloads == 0);
  18419. +    }
  18420. +    LogPrint(BCLog::NET, "Cleared nodestate for peer=%d\n", nodeid);
  18421. +}
  18422. +
  18423.  // Requires cs_main.
  18424.  // Returns a bool indicating whether we requested this block.
  18425.  // Also used if a block was /not/ received and timed out or started with another peer
  18426. @@ -393,7 +402,7 @@ void UpdateBlockAvailability(NodeId nodeid, const uint256 &hash) {
  18427.      }
  18428.  }
  18429.  
  18430. -void MaybeSetPeerAsAnnouncingHeaderAndIDs(NodeId nodeid, CConnman* connman) {
  18431. +void MaybeSetPeerAsAnnouncingHeaderAndIDs(NodeId nodeid, CConnman& connman) {
  18432.      AssertLockHeld(cs_main);
  18433.      CNodeState* nodestate = State(nodeid);
  18434.      if (!nodestate || !nodestate->fSupportsDesiredCmpctVersion) {
  18435. @@ -408,35 +417,26 @@ void MaybeSetPeerAsAnnouncingHeaderAndIDs(NodeId nodeid, CConnman* connman) {
  18436.                  return;
  18437.              }
  18438.          }
  18439. -        connman->ForNode(nodeid, [connman](CNode* pfrom){
  18440. +        connman.ForNode(nodeid, [&connman](CNode* pfrom){
  18441.              bool fAnnounceUsingCMPCTBLOCK = false;
  18442.              uint64_t nCMPCTBLOCKVersion = (pfrom->GetLocalServices() & NODE_WITNESS) ? 2 : 1;
  18443.              if (lNodesAnnouncingHeaderAndIDs.size() >= 3) {
  18444.                  // As per BIP152, we only get 3 of our peers to announce
  18445.                  // blocks using compact encodings.
  18446. -                connman->ForNode(lNodesAnnouncingHeaderAndIDs.front(), [connman, fAnnounceUsingCMPCTBLOCK, nCMPCTBLOCKVersion](CNode* pnodeStop){
  18447. -                    connman->PushMessage(pnodeStop, CNetMsgMaker(pnodeStop->GetSendVersion()).Make(NetMsgType::SENDCMPCT, fAnnounceUsingCMPCTBLOCK, nCMPCTBLOCKVersion));
  18448. +                connman.ForNode(lNodesAnnouncingHeaderAndIDs.front(), [&connman, fAnnounceUsingCMPCTBLOCK, nCMPCTBLOCKVersion](CNode* pnodeStop){
  18449. +                    connman.PushMessage(pnodeStop, CNetMsgMaker(pnodeStop->GetSendVersion()).Make(NetMsgType::SENDCMPCT, fAnnounceUsingCMPCTBLOCK, nCMPCTBLOCKVersion));
  18450.                      return true;
  18451.                  });
  18452.                  lNodesAnnouncingHeaderAndIDs.pop_front();
  18453.              }
  18454.              fAnnounceUsingCMPCTBLOCK = true;
  18455. -            connman->PushMessage(pfrom, CNetMsgMaker(pfrom->GetSendVersion()).Make(NetMsgType::SENDCMPCT, fAnnounceUsingCMPCTBLOCK, nCMPCTBLOCKVersion));
  18456. +            connman.PushMessage(pfrom, CNetMsgMaker(pfrom->GetSendVersion()).Make(NetMsgType::SENDCMPCT, fAnnounceUsingCMPCTBLOCK, nCMPCTBLOCKVersion));
  18457.              lNodesAnnouncingHeaderAndIDs.push_back(pfrom->GetId());
  18458.              return true;
  18459.          });
  18460.      }
  18461.  }
  18462.  
  18463. -bool TipMayBeStale(const Consensus::Params &consensusParams)
  18464. -{
  18465. -    AssertLockHeld(cs_main);
  18466. -    if (g_last_tip_update == 0) {
  18467. -        g_last_tip_update = GetTime();
  18468. -    }
  18469. -    return g_last_tip_update < GetTime() - consensusParams.nPowTargetSpacing * 3 && mapBlocksInFlight.empty();
  18470. -}
  18471. -
  18472.  // Requires cs_main
  18473.  bool CanDirectFetch(const Consensus::Params &consensusParams)
  18474.  {
  18475. @@ -466,7 +466,7 @@ void FindNextBlocksToDownload(NodeId nodeid, unsigned int count, std::vector<con
  18476.      // Make sure pindexBestKnownBlock is up to date, we'll need it.
  18477.      ProcessBlockAvailability(nodeid);
  18478.  
  18479. -    if (state->pindexBestKnownBlock == nullptr || state->pindexBestKnownBlock->nChainWork < chainActive.Tip()->nChainWork || state->pindexBestKnownBlock->nChainWork < nMinimumChainWork) {
  18480. +    if (state->pindexBestKnownBlock == nullptr || state->pindexBestKnownBlock->nChainWork < chainActive.Tip()->nChainWork || state->pindexBestKnownBlock->nChainWork < UintToArith256(consensusParams.nMinimumChainWork)) {
  18481.          // This peer has nothing interesting.
  18482.          return;
  18483.      }
  18484. @@ -543,69 +543,6 @@ void FindNextBlocksToDownload(NodeId nodeid, unsigned int count, std::vector<con
  18485.  
  18486.  } // namespace
  18487.  
  18488. -// This function is used for testing the stale tip eviction logic, see
  18489. -// DoS_tests.cpp
  18490. -void UpdateLastBlockAnnounceTime(NodeId node, int64_t time_in_seconds)
  18491. -{
  18492. -    LOCK(cs_main);
  18493. -    CNodeState *state = State(node);
  18494. -    if (state) state->m_last_block_announcement = time_in_seconds;
  18495. -}
  18496. -
  18497. -// Returns true for outbound peers, excluding manual connections, feelers, and
  18498. -// one-shots
  18499. -bool IsOutboundDisconnectionCandidate(const CNode *node)
  18500. -{
  18501. -    return !(node->fInbound || node->m_manual_connection || node->fFeeler || node->fOneShot);
  18502. -}
  18503. -
  18504. -void PeerLogicValidation::InitializeNode(CNode *pnode) {
  18505. -    CAddress addr = pnode->addr;
  18506. -    std::string addrName = pnode->GetAddrName();
  18507. -    NodeId nodeid = pnode->GetId();
  18508. -    {
  18509. -        LOCK(cs_main);
  18510. -        mapNodeState.emplace_hint(mapNodeState.end(), std::piecewise_construct, std::forward_as_tuple(nodeid), std::forward_as_tuple(addr, std::move(addrName)));
  18511. -    }
  18512. -    if(!pnode->fInbound)
  18513. -        PushNodeVersion(pnode, connman, GetTime());
  18514. -}
  18515. -
  18516. -void PeerLogicValidation::FinalizeNode(NodeId nodeid, bool& fUpdateConnectionTime) {
  18517. -    fUpdateConnectionTime = false;
  18518. -    LOCK(cs_main);
  18519. -    CNodeState *state = State(nodeid);
  18520. -    assert(state != nullptr);
  18521. -
  18522. -    if (state->fSyncStarted)
  18523. -        nSyncStarted--;
  18524. -
  18525. -    if (state->nMisbehavior == 0 && state->fCurrentlyConnected) {
  18526. -        fUpdateConnectionTime = true;
  18527. -    }
  18528. -
  18529. -    for (const QueuedBlock& entry : state->vBlocksInFlight) {
  18530. -        mapBlocksInFlight.erase(entry.hash);
  18531. -    }
  18532. -    EraseOrphansFor(nodeid);
  18533. -    nPreferredDownload -= state->fPreferredDownload;
  18534. -    nPeersWithValidatedDownloads -= (state->nBlocksInFlightValidHeaders != 0);
  18535. -    assert(nPeersWithValidatedDownloads >= 0);
  18536. -    g_outbound_peers_with_protect_from_disconnect -= state->m_chain_sync.m_protect;
  18537. -    assert(g_outbound_peers_with_protect_from_disconnect >= 0);
  18538. -
  18539. -    mapNodeState.erase(nodeid);
  18540. -
  18541. -    if (mapNodeState.empty()) {
  18542. -        // Do a consistency check after the last peer is removed.
  18543. -        assert(mapBlocksInFlight.empty());
  18544. -        assert(nPreferredDownload == 0);
  18545. -        assert(nPeersWithValidatedDownloads == 0);
  18546. -        assert(g_outbound_peers_with_protect_from_disconnect == 0);
  18547. -    }
  18548. -    LogPrint(BCLog::NET, "Cleared nodestate for peer=%d\n", nodeid);
  18549. -}
  18550. -
  18551.  bool GetNodeStateStats(NodeId nodeid, CNodeStateStats &stats) {
  18552.      LOCK(cs_main);
  18553.      CNodeState *state = State(nodeid);
  18554. @@ -621,6 +558,22 @@ bool GetNodeStateStats(NodeId nodeid, CNodeStateStats &stats) {
  18555.      return true;
  18556.  }
  18557.  
  18558. +void RegisterNodeSignals(CNodeSignals& nodeSignals)
  18559. +{
  18560. +    nodeSignals.ProcessMessages.connect(&ProcessMessages);
  18561. +    nodeSignals.SendMessages.connect(&SendMessages);
  18562. +    nodeSignals.InitializeNode.connect(&InitializeNode);
  18563. +    nodeSignals.FinalizeNode.connect(&FinalizeNode);
  18564. +}
  18565. +
  18566. +void UnregisterNodeSignals(CNodeSignals& nodeSignals)
  18567. +{
  18568. +    nodeSignals.ProcessMessages.disconnect(&ProcessMessages);
  18569. +    nodeSignals.SendMessages.disconnect(&SendMessages);
  18570. +    nodeSignals.InitializeNode.disconnect(&InitializeNode);
  18571. +    nodeSignals.FinalizeNode.disconnect(&FinalizeNode);
  18572. +}
  18573. +
  18574.  //////////////////////////////////////////////////////////////////////////////
  18575.  //
  18576.  // mapOrphanTransactions
  18577. @@ -772,17 +725,9 @@ void Misbehaving(NodeId pnode, int howmuch)
  18578.  // blockchain -> download logic notification
  18579.  //
  18580.  
  18581. -PeerLogicValidation::PeerLogicValidation(CConnman* connmanIn, CScheduler &scheduler) : connman(connmanIn), m_stale_tip_check_time(0) {
  18582. +PeerLogicValidation::PeerLogicValidation(CConnman* connmanIn) : connman(connmanIn) {
  18583.      // Initialize global variables that cannot be constructed at startup.
  18584.      recentRejects.reset(new CRollingBloomFilter(120000, 0.000001));
  18585. -
  18586. -    const Consensus::Params& consensusParams = Params().GetConsensus();
  18587. -    // Stale tip checking and peer eviction are on two different timers, but we
  18588. -    // don't want them to get out of sync due to drift in the scheduler, so we
  18589. -    // combine them in one function and schedule at the quicker (peer-eviction)
  18590. -    // timer.
  18591. -    static_assert(EXTRA_PEER_CHECK_INTERVAL < STALE_CHECK_INTERVAL, "peer eviction timer should be less than stale tip check timer");
  18592. -    scheduler.scheduleEvery(std::bind(&PeerLogicValidation::CheckForStaleTipAndEvictPeers, this, consensusParams), EXTRA_PEER_CHECK_INTERVAL * 1000);
  18593.  }
  18594.  
  18595.  void PeerLogicValidation::BlockConnected(const std::shared_ptr<const CBlock>& pblock, const CBlockIndex* pindex, const std::vector<CTransactionRef>& vtxConflicted) {
  18596. @@ -813,8 +758,6 @@ void PeerLogicValidation::BlockConnected(const std::shared_ptr<const CBlock>& pb
  18597.          }
  18598.          LogPrint(BCLog::MEMPOOL, "Erased %d orphan tx included or conflicted by block\n", nErased);
  18599.      }
  18600. -
  18601. -    g_last_tip_update = GetTime();
  18602.  }
  18603.  
  18604.  // All of the following cache a recent block, and are protected by cs_most_recent_block
  18605. @@ -922,7 +865,7 @@ void PeerLogicValidation::BlockChecked(const CBlock& block, const CValidationSta
  18606.               !IsInitialBlockDownload() &&
  18607.               mapBlocksInFlight.count(hash) == mapBlocksInFlight.size()) {
  18608.          if (it != mapBlockSource.end()) {
  18609. -            MaybeSetPeerAsAnnouncingHeaderAndIDs(it->second.first, connman);
  18610. +            MaybeSetPeerAsAnnouncingHeaderAndIDs(it->second.first, *connman);
  18611.          }
  18612.      }
  18613.      if (it != mapBlockSource.end())
  18614. @@ -967,16 +910,16 @@ bool static AlreadyHave(const CInv& inv) EXCLUSIVE_LOCKS_REQUIRED(cs_main)
  18615.      return true;
  18616.  }
  18617.  
  18618. -static void RelayTransaction(const CTransaction& tx, CConnman* connman)
  18619. +static void RelayTransaction(const CTransaction& tx, CConnman& connman)
  18620.  {
  18621.      CInv inv(MSG_TX, tx.GetHash());
  18622. -    connman->ForEachNode([&inv](CNode* pnode)
  18623. +    connman.ForEachNode([&inv](CNode* pnode)
  18624.      {
  18625.          pnode->PushInventory(inv);
  18626.      });
  18627.  }
  18628.  
  18629. -static void RelayAddress(const CAddress& addr, bool fReachable, CConnman* connman)
  18630. +static void RelayAddress(const CAddress& addr, bool fReachable, CConnman& connman)
  18631.  {
  18632.      unsigned int nRelayNodes = fReachable ? 2 : 1; // limited relaying of addresses outside our network(s)
  18633.  
  18634. @@ -984,7 +927,7 @@ static void RelayAddress(const CAddress& addr, bool fReachable, CConnman* connma
  18635.      // Use deterministic randomness to send to the same nodes for 24 hours
  18636.      // at a time so the addrKnowns of the chosen nodes prevent repeats
  18637.      uint64_t hashAddr = addr.GetHash();
  18638. -    const CSipHasher hasher = connman->GetDeterministicRandomizer(RANDOMIZER_ID_ADDRESS_RELAY).Write(hashAddr << 32).Write((GetTime() + hashAddr) / (24*60*60));
  18639. +    const CSipHasher hasher = connman.GetDeterministicRandomizer(RANDOMIZER_ID_ADDRESS_RELAY).Write(hashAddr << 32).Write((GetTime() + hashAddr) / (24*60*60));
  18640.      FastRandomContext insecure_rand;
  18641.  
  18642.      std::array<std::pair<uint64_t, CNode*>,2> best{{{0, nullptr}, {0, nullptr}}};
  18643. @@ -1009,10 +952,10 @@ static void RelayAddress(const CAddress& addr, bool fReachable, CConnman* connma
  18644.          }
  18645.      };
  18646.  
  18647. -    connman->ForEachNodeThen(std::move(sortfunc), std::move(pushfunc));
  18648. +    connman.ForEachNodeThen(std::move(sortfunc), std::move(pushfunc));
  18649.  }
  18650.  
  18651. -void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParams, CConnman* connman, const std::atomic<bool>& interruptMsgProc)
  18652. +void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParams, CConnman& connman, const std::atomic<bool>& interruptMsgProc)
  18653.  {
  18654.      std::deque<CInv>::iterator it = pfrom->vRecvGetData.begin();
  18655.      std::vector<CInv> vNotFound;
  18656. @@ -1074,7 +1017,7 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam
  18657.                  // disconnect node in case we have reached the outbound limit for serving historical blocks
  18658.                  // never disconnect whitelisted nodes
  18659.                  static const int nOneWeek = 7 * 24 * 60 * 60; // assume > 1 week = historical
  18660. -                if (send && connman->OutboundTargetReached(true) && ( ((pindexBestHeader != nullptr) && (pindexBestHeader->GetBlockTime() - mi->second->GetBlockTime() > nOneWeek)) || inv.type == MSG_FILTERED_BLOCK) && !pfrom->fWhitelisted)
  18661. +                if (send && connman.OutboundTargetReached(true) && ( ((pindexBestHeader != nullptr) && (pindexBestHeader->GetBlockTime() - mi->second->GetBlockTime() > nOneWeek)) || inv.type == MSG_FILTERED_BLOCK) && !pfrom->fWhitelisted)
  18662.                  {
  18663.                      LogPrint(BCLog::NET, "historical block serving limit reached, disconnect peer=%d\n", pfrom->GetId());
  18664.  
  18665. @@ -1097,9 +1040,9 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam
  18666.                          pblock = pblockRead;
  18667.                      }
  18668.                      if (inv.type == MSG_BLOCK)
  18669. -                        connman->PushMessage(pfrom, msgMaker.Make(SERIALIZE_TRANSACTION_NO_WITNESS, NetMsgType::BLOCK, *pblock));
  18670. +                        connman.PushMessage(pfrom, msgMaker.Make(SERIALIZE_TRANSACTION_NO_WITNESS, NetMsgType::BLOCK, *pblock));
  18671.                      else if (inv.type == MSG_WITNESS_BLOCK)
  18672. -                        connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::BLOCK, *pblock));
  18673. +                        connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::BLOCK, *pblock));
  18674.                      else if (inv.type == MSG_FILTERED_BLOCK)
  18675.                      {
  18676.                          bool sendMerkleBlock = false;
  18677. @@ -1112,7 +1055,7 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam
  18678.                              }
  18679.                          }
  18680.                          if (sendMerkleBlock) {
  18681. -                            connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::MERKLEBLOCK, merkleBlock));
  18682. +                            connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::MERKLEBLOCK, merkleBlock));
  18683.                              // CMerkleBlock just contains hashes, so also push any transactions in the block the client did not see
  18684.                              // This avoids hurting performance by pointlessly requiring a round-trip
  18685.                              // Note that there is currently no way for a node to request any single transactions we didn't send here -
  18686. @@ -1121,7 +1064,7 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam
  18687.                              // however we MUST always provide at least what the remote peer needs
  18688.                              typedef std::pair<unsigned int, uint256> PairType;
  18689.                              for (PairType& pair : merkleBlock.vMatchedTxn)
  18690. -                                connman->PushMessage(pfrom, msgMaker.Make(SERIALIZE_TRANSACTION_NO_WITNESS, NetMsgType::TX, *pblock->vtx[pair.first]));
  18691. +                                connman.PushMessage(pfrom, msgMaker.Make(SERIALIZE_TRANSACTION_NO_WITNESS, NetMsgType::TX, *pblock->vtx[pair.first]));
  18692.                          }
  18693.                          // else
  18694.                              // no response
  18695. @@ -1136,13 +1079,13 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam
  18696.                          int nSendFlags = fPeerWantsWitness ? 0 : SERIALIZE_TRANSACTION_NO_WITNESS;
  18697.                          if (CanDirectFetch(consensusParams) && mi->second->nHeight >= chainActive.Height() - MAX_CMPCTBLOCK_DEPTH) {
  18698.                              if ((fPeerWantsWitness || !fWitnessesPresentInARecentCompactBlock) && a_recent_compact_block && a_recent_compact_block->header.GetHash() == mi->second->GetBlockHash()) {
  18699. -                                connman->PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::CMPCTBLOCK, *a_recent_compact_block));
  18700. +                                connman.PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::CMPCTBLOCK, *a_recent_compact_block));
  18701.                              } else {
  18702.                                  CBlockHeaderAndShortTxIDs cmpctblock(*pblock, fPeerWantsWitness);
  18703. -                                connman->PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::CMPCTBLOCK, cmpctblock));
  18704. +                                connman.PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::CMPCTBLOCK, cmpctblock));
  18705.                              }
  18706.                          } else {
  18707. -                            connman->PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::BLOCK, *pblock));
  18708. +                            connman.PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::BLOCK, *pblock));
  18709.                          }
  18710.                      }
  18711.  
  18712. @@ -1154,7 +1097,7 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam
  18713.                          // wait for other stuff first.
  18714.                          std::vector<CInv> vInv;
  18715.                          vInv.push_back(CInv(MSG_BLOCK, chainActive.Tip()->GetBlockHash()));
  18716. -                        connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::INV, vInv));
  18717. +                        connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::INV, vInv));
  18718.                          pfrom->hashContinue.SetNull();
  18719.                      }
  18720.                  }
  18721. @@ -1166,14 +1109,14 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam
  18722.                  auto mi = mapRelay.find(inv.hash);
  18723.                  int nSendFlags = (inv.type == MSG_TX ? SERIALIZE_TRANSACTION_NO_WITNESS : 0);
  18724.                  if (mi != mapRelay.end()) {
  18725. -                    connman->PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::TX, *mi->second));
  18726. +                    connman.PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::TX, *mi->second));
  18727.                      push = true;
  18728.                  } else if (pfrom->timeLastMempoolReq) {
  18729.                      auto txinfo = mempool.info(inv.hash);
  18730.                      // To protect privacy, do not answer getdata using the mempool when
  18731.                      // that TX couldn't have been INVed in reply to a MEMPOOL request.
  18732.                      if (txinfo.tx && txinfo.nTime <= pfrom->timeLastMempoolReq) {
  18733. -                        connman->PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::TX, *txinfo.tx));
  18734. +                        connman.PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::TX, *txinfo.tx));
  18735.                          push = true;
  18736.                      }
  18737.                  }
  18738. @@ -1200,7 +1143,7 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam
  18739.          // do that because they want to know about (and store and rebroadcast and
  18740.          // risk analyze) the dependencies of transactions relevant to them, without
  18741.          // having to download the entire memory pool.
  18742. -        connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::NOTFOUND, vNotFound));
  18743. +        connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::NOTFOUND, vNotFound));
  18744.      }
  18745.  }
  18746.  
  18747. @@ -1212,7 +1155,7 @@ uint32_t GetFetchFlags(CNode* pfrom) {
  18748.      return nFetchFlags;
  18749.  }
  18750.  
  18751. -inline void static SendBlockTransactions(const CBlock& block, const BlockTransactionsRequest& req, CNode* pfrom, CConnman* connman) {
  18752. +inline void static SendBlockTransactions(const CBlock& block, const BlockTransactionsRequest& req, CNode* pfrom, CConnman& connman) {
  18753.      BlockTransactions resp(req);
  18754.      for (size_t i = 0; i < req.indexes.size(); i++) {
  18755.          if (req.indexes[i] >= block.vtx.size()) {
  18756. @@ -1226,229 +1169,10 @@ inline void static SendBlockTransactions(const CBlock& block, const BlockTransac
  18757.      LOCK(cs_main);
  18758.      const CNetMsgMaker msgMaker(pfrom->GetSendVersion());
  18759.      int nSendFlags = State(pfrom->GetId())->fWantsCmpctWitness ? 0 : SERIALIZE_TRANSACTION_NO_WITNESS;
  18760. -    connman->PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::BLOCKTXN, resp));
  18761. +    connman.PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::BLOCKTXN, resp));
  18762.  }
  18763.  
  18764. -bool static ProcessHeadersMessage(CNode *pfrom, CConnman *connman, const std::vector<CBlockHeader>& headers, const CChainParams& chainparams, bool punish_duplicate_invalid)
  18765. -{
  18766. -    const CNetMsgMaker msgMaker(pfrom->GetSendVersion());
  18767. -    size_t nCount = headers.size();
  18768. -
  18769. -    if (nCount == 0) {
  18770. -        // Nothing interesting. Stop asking this peers for more headers.
  18771. -        return true;
  18772. -    }
  18773. -
  18774. -    bool received_new_header = false;
  18775. -    const CBlockIndex *pindexLast = nullptr;
  18776. -    {
  18777. -        LOCK(cs_main);
  18778. -        CNodeState *nodestate = State(pfrom->GetId());
  18779. -
  18780. -        // If this looks like it could be a block announcement (nCount <
  18781. -        // MAX_BLOCKS_TO_ANNOUNCE), use special logic for handling headers that
  18782. -        // don't connect:
  18783. -        // - Send a getheaders message in response to try to connect the chain.
  18784. -        // - The peer can send up to MAX_UNCONNECTING_HEADERS in a row that
  18785. -        //   don't connect before giving DoS points
  18786. -        // - Once a headers message is received that is valid and does connect,
  18787. -        //   nUnconnectingHeaders gets reset back to 0.
  18788. -        if (mapBlockIndex.find(headers[0].hashPrevBlock) == mapBlockIndex.end() && nCount < MAX_BLOCKS_TO_ANNOUNCE) {
  18789. -            nodestate->nUnconnectingHeaders++;
  18790. -            connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexBestHeader), uint256()));
  18791. -            LogPrint(BCLog::NET, "received header %s: missing prev block %s, sending getheaders (%d) to end (peer=%d, nUnconnectingHeaders=%d)\n",
  18792. -                    headers[0].GetHash().ToString(),
  18793. -                    headers[0].hashPrevBlock.ToString(),
  18794. -                    pindexBestHeader->nHeight,
  18795. -                    pfrom->GetId(), nodestate->nUnconnectingHeaders);
  18796. -            // Set hashLastUnknownBlock for this peer, so that if we
  18797. -            // eventually get the headers - even from a different peer -
  18798. -            // we can use this peer to download.
  18799. -            UpdateBlockAvailability(pfrom->GetId(), headers.back().GetHash());
  18800. -
  18801. -            if (nodestate->nUnconnectingHeaders % MAX_UNCONNECTING_HEADERS == 0) {
  18802. -                Misbehaving(pfrom->GetId(), 20);
  18803. -            }
  18804. -            return true;
  18805. -        }
  18806. -
  18807. -        uint256 hashLastBlock;
  18808. -        for (const CBlockHeader& header : headers) {
  18809. -            if (!hashLastBlock.IsNull() && header.hashPrevBlock != hashLastBlock) {
  18810. -                Misbehaving(pfrom->GetId(), 20);
  18811. -                return error("non-continuous headers sequence");
  18812. -            }
  18813. -            hashLastBlock = header.GetHash();
  18814. -        }
  18815. -
  18816. -        // If we don't have the last header, then they'll have given us
  18817. -        // something new (if these headers are valid).
  18818. -        if (mapBlockIndex.find(hashLastBlock) == mapBlockIndex.end()) {
  18819. -            received_new_header = true;
  18820. -        }
  18821. -    }
  18822. -
  18823. -    CValidationState state;
  18824. -    CBlockHeader first_invalid_header;
  18825. -    if (!ProcessNewBlockHeaders(headers, state, chainparams, &pindexLast, &first_invalid_header)) {
  18826. -        int nDoS;
  18827. -        if (state.IsInvalid(nDoS)) {
  18828. -            LOCK(cs_main);
  18829. -            if (nDoS > 0) {
  18830. -                Misbehaving(pfrom->GetId(), nDoS);
  18831. -            }
  18832. -            if (punish_duplicate_invalid && mapBlockIndex.find(first_invalid_header.GetHash()) != mapBlockIndex.end()) {
  18833. -                // Goal: don't allow outbound peers to use up our outbound
  18834. -                // connection slots if they are on incompatible chains.
  18835. -                //
  18836. -                // We ask the caller to set punish_invalid appropriately based
  18837. -                // on the peer and the method of header delivery (compact
  18838. -                // blocks are allowed to be invalid in some circumstances,
  18839. -                // under BIP 152).
  18840. -                // Here, we try to detect the narrow situation that we have a
  18841. -                // valid block header (ie it was valid at the time the header
  18842. -                // was received, and hence stored in mapBlockIndex) but know the
  18843. -                // block is invalid, and that a peer has announced that same
  18844. -                // block as being on its active chain.
  18845. -                // Disconnect the peer in such a situation.
  18846. -                //
  18847. -                // Note: if the header that is invalid was not accepted to our
  18848. -                // mapBlockIndex at all, that may also be grounds for
  18849. -                // disconnecting the peer, as the chain they are on is likely
  18850. -                // to be incompatible. However, there is a circumstance where
  18851. -                // that does not hold: if the header's timestamp is more than
  18852. -                // 2 hours ahead of our current time. In that case, the header
  18853. -                // may become valid in the future, and we don't want to
  18854. -                // disconnect a peer merely for serving us one too-far-ahead
  18855. -                // block header, to prevent an attacker from splitting the
  18856. -                // network by mining a block right at the 2 hour boundary.
  18857. -                //
  18858. -                // TODO: update the DoS logic (or, rather, rewrite the
  18859. -                // DoS-interface between validation and net_processing) so that
  18860. -                // the interface is cleaner, and so that we disconnect on all the
  18861. -                // reasons that a peer's headers chain is incompatible
  18862. -                // with ours (eg block->nVersion softforks, MTP violations,
  18863. -                // etc), and not just the duplicate-invalid case.
  18864. -                pfrom->fDisconnect = true;
  18865. -            }
  18866. -            return error("invalid header received");
  18867. -        }
  18868. -    }
  18869. -
  18870. -    {
  18871. -        LOCK(cs_main);
  18872. -        CNodeState *nodestate = State(pfrom->GetId());
  18873. -        if (nodestate->nUnconnectingHeaders > 0) {
  18874. -            LogPrint(BCLog::NET, "peer=%d: resetting nUnconnectingHeaders (%d -> 0)\n", pfrom->GetId(), nodestate->nUnconnectingHeaders);
  18875. -        }
  18876. -        nodestate->nUnconnectingHeaders = 0;
  18877. -
  18878. -        assert(pindexLast);
  18879. -        UpdateBlockAvailability(pfrom->GetId(), pindexLast->GetBlockHash());
  18880. -
  18881. -        // From here, pindexBestKnownBlock should be guaranteed to be non-null,
  18882. -        // because it is set in UpdateBlockAvailability. Some nullptr checks
  18883. -        // are still present, however, as belt-and-suspenders.
  18884. -
  18885. -        if (received_new_header && pindexLast->nChainWork > chainActive.Tip()->nChainWork) {
  18886. -            nodestate->m_last_block_announcement = GetTime();
  18887. -        }
  18888. -
  18889. -        if (nCount == MAX_HEADERS_RESULTS) {
  18890. -            // Headers message had its maximum size; the peer may have more headers.
  18891. -            // TODO: optimize: if pindexLast is an ancestor of chainActive.Tip or pindexBestHeader, continue
  18892. -            // from there instead.
  18893. -            LogPrint(BCLog::NET, "more getheaders (%d) to end to peer=%d (startheight:%d)\n", pindexLast->nHeight, pfrom->GetId(), pfrom->nStartingHeight);
  18894. -            connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexLast), uint256()));
  18895. -        }
  18896. -
  18897. -        bool fCanDirectFetch = CanDirectFetch(chainparams.GetConsensus());
  18898. -        // If this set of headers is valid and ends in a block with at least as
  18899. -        // much work as our tip, download as much as possible.
  18900. -        if (fCanDirectFetch && pindexLast->IsValid(BLOCK_VALID_TREE) && chainActive.Tip()->nChainWork <= pindexLast->nChainWork) {
  18901. -            std::vector<const CBlockIndex*> vToFetch;
  18902. -            const CBlockIndex *pindexWalk = pindexLast;
  18903. -            // Calculate all the blocks we'd need to switch to pindexLast, up to a limit.
  18904. -            while (pindexWalk && !chainActive.Contains(pindexWalk) && vToFetch.size() <= MAX_BLOCKS_IN_TRANSIT_PER_PEER) {
  18905. -                if (!(pindexWalk->nStatus & BLOCK_HAVE_DATA) &&
  18906. -                        !mapBlocksInFlight.count(pindexWalk->GetBlockHash()) &&
  18907. -                        (!IsWitnessEnabled(pindexWalk->pprev, chainparams.GetConsensus()) || State(pfrom->GetId())->fHaveWitness)) {
  18908. -                    // We don't have this block, and it's not yet in flight.
  18909. -                    vToFetch.push_back(pindexWalk);
  18910. -                }
  18911. -                pindexWalk = pindexWalk->pprev;
  18912. -            }
  18913. -            // If pindexWalk still isn't on our main chain, we're looking at a
  18914. -            // very large reorg at a time we think we're close to caught up to
  18915. -            // the main chain -- this shouldn't really happen.  Bail out on the
  18916. -            // direct fetch and rely on parallel download instead.
  18917. -            if (!chainActive.Contains(pindexWalk)) {
  18918. -                LogPrint(BCLog::NET, "Large reorg, won't direct fetch to %s (%d)\n",
  18919. -                        pindexLast->GetBlockHash().ToString(),
  18920. -                        pindexLast->nHeight);
  18921. -            } else {
  18922. -                std::vector<CInv> vGetData;
  18923. -                // Download as much as possible, from earliest to latest.
  18924. -                for (const CBlockIndex *pindex : reverse_iterate(vToFetch)) {
  18925. -                    if (nodestate->nBlocksInFlight >= MAX_BLOCKS_IN_TRANSIT_PER_PEER) {
  18926. -                        // Can't download any more from this peer
  18927. -                        break;
  18928. -                    }
  18929. -                    uint32_t nFetchFlags = GetFetchFlags(pfrom);
  18930. -                    vGetData.push_back(CInv(MSG_BLOCK | nFetchFlags, pindex->GetBlockHash()));
  18931. -                    MarkBlockAsInFlight(pfrom->GetId(), pindex->GetBlockHash(), pindex);
  18932. -                    LogPrint(BCLog::NET, "Requesting block %s from  peer=%d\n",
  18933. -                            pindex->GetBlockHash().ToString(), pfrom->GetId());
  18934. -                }
  18935. -                if (vGetData.size() > 1) {
  18936. -                    LogPrint(BCLog::NET, "Downloading blocks toward %s (%d) via headers direct fetch\n",
  18937. -                            pindexLast->GetBlockHash().ToString(), pindexLast->nHeight);
  18938. -                }
  18939. -                if (vGetData.size() > 0) {
  18940. -                    if (nodestate->fSupportsDesiredCmpctVersion && vGetData.size() == 1 && mapBlocksInFlight.size() == 1 && pindexLast->pprev->IsValid(BLOCK_VALID_CHAIN)) {
  18941. -                        // In any case, we want to download using a compact block, not a regular one
  18942. -                        vGetData[0] = CInv(MSG_CMPCT_BLOCK, vGetData[0].hash);
  18943. -                    }
  18944. -                    connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, vGetData));
  18945. -                }
  18946. -            }
  18947. -        }
  18948. -        // If we're in IBD, we want outbound peers that will serve us a useful
  18949. -        // chain. Disconnect peers that are on chains with insufficient work.
  18950. -        if (IsInitialBlockDownload() && nCount != MAX_HEADERS_RESULTS) {
  18951. -            // When nCount < MAX_HEADERS_RESULTS, we know we have no more
  18952. -            // headers to fetch from this peer.
  18953. -            if (nodestate->pindexBestKnownBlock && nodestate->pindexBestKnownBlock->nChainWork < nMinimumChainWork) {
  18954. -                // This peer has too little work on their headers chain to help
  18955. -                // us sync -- disconnect if using an outbound slot (unless
  18956. -                // whitelisted or addnode).
  18957. -                // Note: We compare their tip to nMinimumChainWork (rather than
  18958. -                // chainActive.Tip()) because we won't start block download
  18959. -                // until we have a headers chain that has at least
  18960. -                // nMinimumChainWork, even if a peer has a chain past our tip,
  18961. -                // as an anti-DoS measure.
  18962. -                if (IsOutboundDisconnectionCandidate(pfrom)) {
  18963. -                    LogPrintf("Disconnecting outbound peer %d -- headers chain has insufficient work\n", pfrom->GetId());
  18964. -                    pfrom->fDisconnect = true;
  18965. -                }
  18966. -            }
  18967. -        }
  18968. -
  18969. -        if (!pfrom->fDisconnect && IsOutboundDisconnectionCandidate(pfrom) && nodestate->pindexBestKnownBlock != nullptr) {
  18970. -            // If this is an outbound peer, check to see if we should protect
  18971. -            // it from the bad/lagging chain logic.
  18972. -            if (g_outbound_peers_with_protect_from_disconnect < MAX_OUTBOUND_PEERS_TO_PROTECT_FROM_DISCONNECT && nodestate->pindexBestKnownBlock->nChainWork >= chainActive.Tip()->nChainWork && !nodestate->m_chain_sync.m_protect) {
  18973. -                LogPrint(BCLog::NET, "Protecting outbound peer=%d from eviction\n", pfrom->GetId());
  18974. -                nodestate->m_chain_sync.m_protect = true;
  18975. -                ++g_outbound_peers_with_protect_from_disconnect;
  18976. -            }
  18977. -        }
  18978. -    }
  18979. -
  18980. -    return true;
  18981. -}
  18982. -
  18983. -bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStream& vRecv, int64_t nTimeReceived, const CChainParams& chainparams, CConnman* connman, const std::atomic<bool>& interruptMsgProc)
  18984. +bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStream& vRecv, int64_t nTimeReceived, const CChainParams& chainparams, CConnman& connman, const std::atomic<bool>& interruptMsgProc)
  18985.  {
  18986.      LogPrint(BCLog::NET, "received: %s (%u bytes) peer=%d\n", SanitizeString(strCommand), vRecv.size(), pfrom->GetId());
  18987.      if (gArgs.IsArgSet("-dropmessagestest") && GetRand(gArgs.GetArg("-dropmessagestest", 0)) == 0)
  18988. @@ -1501,7 +1225,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  18989.          // Each connection can only send one version message
  18990.          if (pfrom->nVersion != 0)
  18991.          {
  18992. -            connman->PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, strCommand, REJECT_DUPLICATE, std::string("Duplicate version message")));
  18993. +            connman.PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, strCommand, REJECT_DUPLICATE, std::string("Duplicate version message")));
  18994.              LOCK(cs_main);
  18995.              Misbehaving(pfrom->GetId(), 1);
  18996.              return false;
  18997. @@ -1525,12 +1249,12 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  18998.          nServices = ServiceFlags(nServiceInt);
  18999.          if (!pfrom->fInbound)
  19000.          {
  19001. -            connman->SetServices(pfrom->addr, nServices);
  19002. +            connman.SetServices(pfrom->addr, nServices);
  19003.          }
  19004.          if (pfrom->nServicesExpected & ~nServices)
  19005.          {
  19006.              LogPrint(BCLog::NET, "peer=%d does not offer the expected services (%08x offered, %08x expected); disconnecting\n", pfrom->GetId(), nServices, pfrom->nServicesExpected);
  19007. -            connman->PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, strCommand, REJECT_NONSTANDARD,
  19008. +            connman.PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, strCommand, REJECT_NONSTANDARD,
  19009.                                 strprintf("Expected to offer services %08x", pfrom->nServicesExpected)));
  19010.              pfrom->fDisconnect = true;
  19011.              return false;
  19012. @@ -1551,7 +1275,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19013.          {
  19014.              // disconnect from peers older than this proto version
  19015.              LogPrintf("peer=%d using obsolete version %i; disconnecting\n", pfrom->GetId(), nVersion);
  19016. -            connman->PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, strCommand, REJECT_OBSOLETE,
  19017. +            connman.PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, strCommand, REJECT_OBSOLETE,
  19018.                                 strprintf("Version must be %d or greater", MIN_PEER_PROTO_VERSION)));
  19019.              pfrom->fDisconnect = true;
  19020.              return false;
  19021. @@ -1571,7 +1295,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19022.          if (!vRecv.empty())
  19023.              vRecv >> fRelay;
  19024.          // Disconnect if we connected to ourself
  19025. -        if (pfrom->fInbound && !connman->CheckIncomingNonce(nNonce))
  19026. +        if (pfrom->fInbound && !connman.CheckIncomingNonce(nNonce))
  19027.          {
  19028.              LogPrintf("connected to self at %s, disconnecting\n", pfrom->addr.ToString());
  19029.              pfrom->fDisconnect = true;
  19030. @@ -1587,7 +1311,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19031.          if (pfrom->fInbound)
  19032.              PushNodeVersion(pfrom, connman, GetAdjustedTime());
  19033.  
  19034. -        connman->PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::VERACK));
  19035. +        connman.PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::VERACK));
  19036.  
  19037.          pfrom->nServices = nServices;
  19038.          pfrom->SetAddrLocal(addrMe);
  19039. @@ -1638,12 +1362,12 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19040.              }
  19041.  
  19042.              // Get recent addresses
  19043. -            if (pfrom->fOneShot || pfrom->nVersion >= CADDR_TIME_VERSION || connman->GetAddressCount() < 1000)
  19044. +            if (pfrom->fOneShot || pfrom->nVersion >= CADDR_TIME_VERSION || connman.GetAddressCount() < 1000)
  19045.              {
  19046. -                connman->PushMessage(pfrom, CNetMsgMaker(nSendVersion).Make(NetMsgType::GETADDR));
  19047. +                connman.PushMessage(pfrom, CNetMsgMaker(nSendVersion).Make(NetMsgType::GETADDR));
  19048.                  pfrom->fGetAddr = true;
  19049.              }
  19050. -            connman->MarkAddressGood(pfrom->addr);
  19051. +            connman.MarkAddressGood(pfrom->addr);
  19052.          }
  19053.  
  19054.          std::string remoteAddr;
  19055. @@ -1662,7 +1386,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19056.          // If the peer is old enough to have the old alert system, send it the final alert.
  19057.          if (pfrom->nVersion <= 70012) {
  19058.              CDataStream finalAlert(ParseHex("5c0100000015f7675900000000ffffff7f00000000ffffff7ffeffff7f0000000000ffffff7f00ffffff7f002f555247454e543a20416c657274206b657920636f6d70726f6d697365642c2075706772616465207265717569726564004630440220405f7e7572b176f3316d4e12deab75ad4ff978844f7a7bcd5ed06f6aa094eb6602207880fcc07d0a78e0f46f188d115e04ed4ad48980ea3572cb0e0cb97921048095"), SER_NETWORK, PROTOCOL_VERSION);
  19059. -            connman->PushMessage(pfrom, CNetMsgMaker(nSendVersion).Make("alert", finalAlert));
  19060. +            connman.PushMessage(pfrom, CNetMsgMaker(nSendVersion).Make("alert", finalAlert));
  19061.          }
  19062.  
  19063.          // Feeler connections exist only to verify if address is online.
  19064. @@ -1700,7 +1424,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19065.              // We send this to non-NODE NETWORK peers as well, because even
  19066.              // non-NODE NETWORK peers can announce blocks (such as pruning
  19067.              // nodes)
  19068. -            connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::SENDHEADERS));
  19069. +            connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::SENDHEADERS));
  19070.          }
  19071.          if (pfrom->nVersion >= SHORT_IDS_BLOCKS_VERSION) {
  19072.              // Tell our peer we are willing to provide version 1 or 2 cmpctblocks
  19073. @@ -1711,9 +1435,9 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19074.              bool fAnnounceUsingCMPCTBLOCK = false;
  19075.              uint64_t nCMPCTBLOCKVersion = 2;
  19076.              if (pfrom->GetLocalServices() & NODE_WITNESS)
  19077. -                connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::SENDCMPCT, fAnnounceUsingCMPCTBLOCK, nCMPCTBLOCKVersion));
  19078. +                connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::SENDCMPCT, fAnnounceUsingCMPCTBLOCK, nCMPCTBLOCKVersion));
  19079.              nCMPCTBLOCKVersion = 1;
  19080. -            connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::SENDCMPCT, fAnnounceUsingCMPCTBLOCK, nCMPCTBLOCKVersion));
  19081. +            connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::SENDCMPCT, fAnnounceUsingCMPCTBLOCK, nCMPCTBLOCKVersion));
  19082.          }
  19083.          pfrom->fSuccessfullyConnected = true;
  19084.      }
  19085. @@ -1732,7 +1456,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19086.          vRecv >> vAddr;
  19087.  
  19088.          // Don't want addr from older versions unless seeding
  19089. -        if (pfrom->nVersion < CADDR_TIME_VERSION && connman->GetAddressCount() > 1000)
  19090. +        if (pfrom->nVersion < CADDR_TIME_VERSION && connman.GetAddressCount() > 1000)
  19091.              return true;
  19092.          if (vAddr.size() > 1000)
  19093.          {
  19094. @@ -1766,7 +1490,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19095.              if (fReachable)
  19096.                  vAddrOk.push_back(addr);
  19097.          }
  19098. -        connman->AddNewAddresses(vAddrOk, pfrom->addr, 2 * 60 * 60);
  19099. +        connman.AddNewAddresses(vAddrOk, pfrom->addr, 2 * 60 * 60);
  19100.          if (vAddr.size() < 1000)
  19101.              pfrom->fGetAddr = false;
  19102.          if (pfrom->fOneShot)
  19103. @@ -1844,7 +1568,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19104.                      // fell back to inv we probably have a reorg which we should get the headers for first,
  19105.                      // we now only provide a getheaders response here. When we receive the headers, we will
  19106.                      // then ask for the blocks we need.
  19107. -                    connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexBestHeader), inv.hash));
  19108. +                    connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexBestHeader), inv.hash));
  19109.                      LogPrint(BCLog::NET, "getheaders (%d) %s to peer=%d\n", pindexBestHeader->nHeight, inv.hash.ToString(), pfrom->GetId());
  19110.                  }
  19111.              }
  19112. @@ -2050,7 +1774,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19113.          // will re-announce the new block via headers (or compact blocks again)
  19114.          // in the SendMessages logic.
  19115.          nodestate->pindexBestHeaderSent = pindex ? pindex : chainActive.Tip();
  19116. -        connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::HEADERS, vHeaders));
  19117. +        connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::HEADERS, vHeaders));
  19118.      }
  19119.  
  19120.  
  19121. @@ -2231,7 +1955,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19122.                  pfrom->GetId(),
  19123.                  FormatStateMessage(state));
  19124.              if (state.GetRejectCode() > 0 && state.GetRejectCode() < REJECT_INTERNAL) // Never send AcceptToMemoryPool's internal codes over P2P
  19125. -                connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::REJECT, strCommand, (unsigned char)state.GetRejectCode(),
  19126. +                connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::REJECT, strCommand, (unsigned char)state.GetRejectCode(),
  19127.                                     state.GetRejectReason().substr(0, MAX_REJECT_MESSAGE_LENGTH), inv.hash));
  19128.              if (nDoS > 0) {
  19129.                  Misbehaving(pfrom->GetId(), nDoS);
  19130. @@ -2245,21 +1969,15 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19131.          CBlockHeaderAndShortTxIDs cmpctblock;
  19132.          vRecv >> cmpctblock;
  19133.  
  19134. -        bool received_new_header = false;
  19135. -
  19136.          {
  19137.          LOCK(cs_main);
  19138.  
  19139.          if (mapBlockIndex.find(cmpctblock.header.hashPrevBlock) == mapBlockIndex.end()) {
  19140.              // Doesn't connect (or is genesis), instead of DoSing in AcceptBlockHeader, request deeper headers
  19141.              if (!IsInitialBlockDownload())
  19142. -                connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexBestHeader), uint256()));
  19143. +                connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexBestHeader), uint256()));
  19144.              return true;
  19145.          }
  19146. -
  19147. -        if (mapBlockIndex.find(cmpctblock.header.GetHash()) == mapBlockIndex.end()) {
  19148. -            received_new_header = true;
  19149. -        }
  19150.          }
  19151.  
  19152.          const CBlockIndex *pindex = nullptr;
  19153. @@ -2286,6 +2004,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19154.          // If we end up treating this as a plain headers message, call that as well
  19155.          // without cs_main.
  19156.          bool fRevertToHeaderProcessing = false;
  19157. +        CDataStream vHeadersMsg(SER_NETWORK, PROTOCOL_VERSION);
  19158.  
  19159.          // Keep a CBlock for "optimistic" compactblock reconstructions (see
  19160.          // below)
  19161. @@ -2298,14 +2017,6 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19162.          assert(pindex);
  19163.          UpdateBlockAvailability(pfrom->GetId(), pindex->GetBlockHash());
  19164.  
  19165. -        CNodeState *nodestate = State(pfrom->GetId());
  19166. -
  19167. -        // If this was a new header with more work than our tip, update the
  19168. -        // peer's last block announcement time
  19169. -        if (received_new_header && pindex->nChainWork > chainActive.Tip()->nChainWork) {
  19170. -            nodestate->m_last_block_announcement = GetTime();
  19171. -        }
  19172. -
  19173.          std::map<uint256, std::pair<NodeId, std::list<QueuedBlock>::iterator> >::iterator blockInFlightIt = mapBlocksInFlight.find(pindex->GetBlockHash());
  19174.          bool fAlreadyInFlight = blockInFlightIt != mapBlocksInFlight.end();
  19175.  
  19176. @@ -2319,7 +2030,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19177.                  // so we just grab the block via normal getdata
  19178.                  std::vector<CInv> vInv(1);
  19179.                  vInv[0] = CInv(MSG_BLOCK | GetFetchFlags(pfrom), cmpctblock.header.GetHash());
  19180. -                connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, vInv));
  19181. +                connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, vInv));
  19182.              }
  19183.              return true;
  19184.          }
  19185. @@ -2328,6 +2039,8 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19186.          if (!fAlreadyInFlight && !CanDirectFetch(chainparams.GetConsensus()))
  19187.              return true;
  19188.  
  19189. +        CNodeState *nodestate = State(pfrom->GetId());
  19190. +
  19191.          if (IsWitnessEnabled(pindex->pprev, chainparams.GetConsensus()) && !nodestate->fSupportsDesiredCmpctVersion) {
  19192.              // Don't bother trying to process compact blocks from v1 peers
  19193.              // after segwit activates.
  19194. @@ -2361,7 +2074,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19195.                      // Duplicate txindexes, the block is now in-flight, so just request it
  19196.                      std::vector<CInv> vInv(1);
  19197.                      vInv[0] = CInv(MSG_BLOCK | GetFetchFlags(pfrom), cmpctblock.header.GetHash());
  19198. -                    connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, vInv));
  19199. +                    connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, vInv));
  19200.                      return true;
  19201.                  }
  19202.  
  19203. @@ -2378,7 +2091,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19204.                      fProcessBLOCKTXN = true;
  19205.                  } else {
  19206.                      req.blockhash = pindex->GetBlockHash();
  19207. -                    connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETBLOCKTXN, req));
  19208. +                    connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::GETBLOCKTXN, req));
  19209.                  }
  19210.              } else {
  19211.                  // This block is either already in flight from a different
  19212. @@ -2404,10 +2117,14 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19213.                  // mempool will probably be useless - request the block normally
  19214.                  std::vector<CInv> vInv(1);
  19215.                  vInv[0] = CInv(MSG_BLOCK | GetFetchFlags(pfrom), cmpctblock.header.GetHash());
  19216. -                connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, vInv));
  19217. +                connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, vInv));
  19218.                  return true;
  19219.              } else {
  19220.                  // If this was an announce-cmpctblock, we want the same treatment as a header message
  19221. +                // Dirty hack to process as if it were just a headers message (TODO: move message handling into their own functions)
  19222. +                std::vector<CBlock> headers;
  19223. +                headers.push_back(cmpctblock.header);
  19224. +                vHeadersMsg << headers;
  19225.                  fRevertToHeaderProcessing = true;
  19226.              }
  19227.          }
  19228. @@ -2416,14 +2133,8 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19229.          if (fProcessBLOCKTXN)
  19230.              return ProcessMessage(pfrom, NetMsgType::BLOCKTXN, blockTxnMsg, nTimeReceived, chainparams, connman, interruptMsgProc);
  19231.  
  19232. -        if (fRevertToHeaderProcessing) {
  19233. -            // Headers received from HB compact block peers are permitted to be
  19234. -            // relayed before full validation (see BIP 152), so we don't want to disconnect
  19235. -            // the peer if the header turns out to be for an invalid block.
  19236. -            // Note that if a peer tries to build on an invalid chain, that
  19237. -            // will be detected and the peer will be banned.
  19238. -            return ProcessHeadersMessage(pfrom, connman, {cmpctblock.header}, chainparams, /*punish_duplicate_invalid=*/false);
  19239. -        }
  19240. +        if (fRevertToHeaderProcessing)
  19241. +            return ProcessMessage(pfrom, NetMsgType::HEADERS, vHeadersMsg, nTimeReceived, chainparams, connman, interruptMsgProc);
  19242.  
  19243.          if (fBlockReconstructed) {
  19244.              // If we got here, we were able to optimistically reconstruct a
  19245. @@ -2433,16 +2144,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19246.                  mapBlockSource.emplace(pblock->GetHash(), std::make_pair(pfrom->GetId(), false));
  19247.              }
  19248.              bool fNewBlock = false;
  19249. -            // Setting fForceProcessing to true means that we bypass some of
  19250. -            // our anti-DoS protections in AcceptBlock, which filters
  19251. -            // unrequested blocks that might be trying to waste our resources
  19252. -            // (eg disk space). Because we only try to reconstruct blocks when
  19253. -            // we're close to caught up (via the CanDirectFetch() requirement
  19254. -            // above, combined with the behavior of not requesting blocks until
  19255. -            // we have a chain with at least nMinimumChainWork), and we ignore
  19256. -            // compact blocks with less work than our tip, it is safe to treat
  19257. -            // reconstructed compact blocks as having been requested.
  19258. -            ProcessNewBlock(chainparams, pblock, /*fForceProcessing=*/true, &fNewBlock);
  19259. +            ProcessNewBlock(chainparams, pblock, true, &fNewBlock);
  19260.              if (fNewBlock) {
  19261.                  pfrom->nLastBlockTime = GetTime();
  19262.              } else {
  19263. @@ -2489,7 +2191,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19264.                  // Might have collided, fall back to getdata now :(
  19265.                  std::vector<CInv> invs;
  19266.                  invs.push_back(CInv(MSG_BLOCK | GetFetchFlags(pfrom), resp.blockhash));
  19267. -                connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, invs));
  19268. +                connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, invs));
  19269.              } else {
  19270.                  // Block is either okay, or possibly we received
  19271.                  // READ_STATUS_CHECKBLOCK_FAILED.
  19272. @@ -2522,11 +2224,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19273.              bool fNewBlock = false;
  19274.              // Since we requested this block (it was in mapBlocksInFlight), force it to be processed,
  19275.              // even if it would not be a candidate for new tip (missing previous block, chain not long enough, etc)
  19276. -            // This bypasses some anti-DoS logic in AcceptBlock (eg to prevent
  19277. -            // disk-space attacks), but this should be safe due to the
  19278. -            // protections in the compact block handler -- see related comment
  19279. -            // in compact block optimistic reconstruction handling.
  19280. -            ProcessNewBlock(chainparams, pblock, /*fForceProcessing=*/true, &fNewBlock);
  19281. +            ProcessNewBlock(chainparams, pblock, true, &fNewBlock);
  19282.              if (fNewBlock) {
  19283.                  pfrom->nLastBlockTime = GetTime();
  19284.              } else {
  19285. @@ -2554,12 +2252,136 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19286.              ReadCompactSize(vRecv); // ignore tx count; assume it is 0.
  19287.          }
  19288.  
  19289. -        // Headers received via a HEADERS message should be valid, and reflect
  19290. -        // the chain the peer is on. If we receive a known-invalid header,
  19291. -        // disconnect the peer if it is using one of our outbound connection
  19292. -        // slots.
  19293. -        bool should_punish = !pfrom->fInbound && !pfrom->m_manual_connection;
  19294. -        return ProcessHeadersMessage(pfrom, connman, headers, chainparams, should_punish);
  19295. +        if (nCount == 0) {
  19296. +            // Nothing interesting. Stop asking this peers for more headers.
  19297. +            return true;
  19298. +        }
  19299. +
  19300. +        const CBlockIndex *pindexLast = nullptr;
  19301. +        {
  19302. +        LOCK(cs_main);
  19303. +        CNodeState *nodestate = State(pfrom->GetId());
  19304. +
  19305. +        // If this looks like it could be a block announcement (nCount <
  19306. +        // MAX_BLOCKS_TO_ANNOUNCE), use special logic for handling headers that
  19307. +        // don't connect:
  19308. +        // - Send a getheaders message in response to try to connect the chain.
  19309. +        // - The peer can send up to MAX_UNCONNECTING_HEADERS in a row that
  19310. +        //   don't connect before giving DoS points
  19311. +        // - Once a headers message is received that is valid and does connect,
  19312. +        //   nUnconnectingHeaders gets reset back to 0.
  19313. +        if (mapBlockIndex.find(headers[0].hashPrevBlock) == mapBlockIndex.end() && nCount < MAX_BLOCKS_TO_ANNOUNCE) {
  19314. +            nodestate->nUnconnectingHeaders++;
  19315. +            connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexBestHeader), uint256()));
  19316. +            LogPrint(BCLog::NET, "received header %s: missing prev block %s, sending getheaders (%d) to end (peer=%d, nUnconnectingHeaders=%d)\n",
  19317. +                    headers[0].GetHash().ToString(),
  19318. +                    headers[0].hashPrevBlock.ToString(),
  19319. +                    pindexBestHeader->nHeight,
  19320. +                    pfrom->GetId(), nodestate->nUnconnectingHeaders);
  19321. +            // Set hashLastUnknownBlock for this peer, so that if we
  19322. +            // eventually get the headers - even from a different peer -
  19323. +            // we can use this peer to download.
  19324. +            UpdateBlockAvailability(pfrom->GetId(), headers.back().GetHash());
  19325. +
  19326. +            if (nodestate->nUnconnectingHeaders % MAX_UNCONNECTING_HEADERS == 0) {
  19327. +                Misbehaving(pfrom->GetId(), 20);
  19328. +            }
  19329. +            return true;
  19330. +        }
  19331. +
  19332. +        uint256 hashLastBlock;
  19333. +        for (const CBlockHeader& header : headers) {
  19334. +            if (!hashLastBlock.IsNull() && header.hashPrevBlock != hashLastBlock) {
  19335. +                Misbehaving(pfrom->GetId(), 20);
  19336. +                return error("non-continuous headers sequence");
  19337. +            }
  19338. +            hashLastBlock = header.GetHash();
  19339. +        }
  19340. +        }
  19341. +
  19342. +        CValidationState state;
  19343. +        if (!ProcessNewBlockHeaders(headers, state, chainparams, &pindexLast)) {
  19344. +            int nDoS;
  19345. +            if (state.IsInvalid(nDoS)) {
  19346. +                if (nDoS > 0) {
  19347. +                    LOCK(cs_main);
  19348. +                    Misbehaving(pfrom->GetId(), nDoS);
  19349. +                }
  19350. +                return error("invalid header received");
  19351. +            }
  19352. +        }
  19353. +
  19354. +        {
  19355. +        LOCK(cs_main);
  19356. +        CNodeState *nodestate = State(pfrom->GetId());
  19357. +        if (nodestate->nUnconnectingHeaders > 0) {
  19358. +            LogPrint(BCLog::NET, "peer=%d: resetting nUnconnectingHeaders (%d -> 0)\n", pfrom->GetId(), nodestate->nUnconnectingHeaders);
  19359. +        }
  19360. +        nodestate->nUnconnectingHeaders = 0;
  19361. +
  19362. +        assert(pindexLast);
  19363. +        UpdateBlockAvailability(pfrom->GetId(), pindexLast->GetBlockHash());
  19364. +
  19365. +        if (nCount == MAX_HEADERS_RESULTS) {
  19366. +            // Headers message had its maximum size; the peer may have more headers.
  19367. +            // TODO: optimize: if pindexLast is an ancestor of chainActive.Tip or pindexBestHeader, continue
  19368. +            // from there instead.
  19369. +            LogPrint(BCLog::NET, "more getheaders (%d) to end to peer=%d (startheight:%d)\n", pindexLast->nHeight, pfrom->GetId(), pfrom->nStartingHeight);
  19370. +            connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexLast), uint256()));
  19371. +        }
  19372. +
  19373. +        bool fCanDirectFetch = CanDirectFetch(chainparams.GetConsensus());
  19374. +        // If this set of headers is valid and ends in a block with at least as
  19375. +        // much work as our tip, download as much as possible.
  19376. +        if (fCanDirectFetch && pindexLast->IsValid(BLOCK_VALID_TREE) && chainActive.Tip()->nChainWork <= pindexLast->nChainWork) {
  19377. +            std::vector<const CBlockIndex*> vToFetch;
  19378. +            const CBlockIndex *pindexWalk = pindexLast;
  19379. +            // Calculate all the blocks we'd need to switch to pindexLast, up to a limit.
  19380. +            while (pindexWalk && !chainActive.Contains(pindexWalk) && vToFetch.size() <= MAX_BLOCKS_IN_TRANSIT_PER_PEER) {
  19381. +                if (!(pindexWalk->nStatus & BLOCK_HAVE_DATA) &&
  19382. +                        !mapBlocksInFlight.count(pindexWalk->GetBlockHash()) &&
  19383. +                        (!IsWitnessEnabled(pindexWalk->pprev, chainparams.GetConsensus()) || State(pfrom->GetId())->fHaveWitness)) {
  19384. +                    // We don't have this block, and it's not yet in flight.
  19385. +                    vToFetch.push_back(pindexWalk);
  19386. +                }
  19387. +                pindexWalk = pindexWalk->pprev;
  19388. +            }
  19389. +            // If pindexWalk still isn't on our main chain, we're looking at a
  19390. +            // very large reorg at a time we think we're close to caught up to
  19391. +            // the main chain -- this shouldn't really happen.  Bail out on the
  19392. +            // direct fetch and rely on parallel download instead.
  19393. +            if (!chainActive.Contains(pindexWalk)) {
  19394. +                LogPrint(BCLog::NET, "Large reorg, won't direct fetch to %s (%d)\n",
  19395. +                        pindexLast->GetBlockHash().ToString(),
  19396. +                        pindexLast->nHeight);
  19397. +            } else {
  19398. +                std::vector<CInv> vGetData;
  19399. +                // Download as much as possible, from earliest to latest.
  19400. +                for (const CBlockIndex *pindex : reverse_iterate(vToFetch)) {
  19401. +                    if (nodestate->nBlocksInFlight >= MAX_BLOCKS_IN_TRANSIT_PER_PEER) {
  19402. +                        // Can't download any more from this peer
  19403. +                        break;
  19404. +                    }
  19405. +                    uint32_t nFetchFlags = GetFetchFlags(pfrom);
  19406. +                    vGetData.push_back(CInv(MSG_BLOCK | nFetchFlags, pindex->GetBlockHash()));
  19407. +                    MarkBlockAsInFlight(pfrom->GetId(), pindex->GetBlockHash(), pindex);
  19408. +                    LogPrint(BCLog::NET, "Requesting block %s from  peer=%d\n",
  19409. +                            pindex->GetBlockHash().ToString(), pfrom->GetId());
  19410. +                }
  19411. +                if (vGetData.size() > 1) {
  19412. +                    LogPrint(BCLog::NET, "Downloading blocks toward %s (%d) via headers direct fetch\n",
  19413. +                            pindexLast->GetBlockHash().ToString(), pindexLast->nHeight);
  19414. +                }
  19415. +                if (vGetData.size() > 0) {
  19416. +                    if (nodestate->fSupportsDesiredCmpctVersion && vGetData.size() == 1 && mapBlocksInFlight.size() == 1 && pindexLast->pprev->IsValid(BLOCK_VALID_CHAIN)) {
  19417. +                        // In any case, we want to download using a compact block, not a regular one
  19418. +                        vGetData[0] = CInv(MSG_CMPCT_BLOCK, vGetData[0].hash);
  19419. +                    }
  19420. +                    connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::GETDATA, vGetData));
  19421. +                }
  19422. +            }
  19423. +        }
  19424. +        }
  19425.      }
  19426.  
  19427.      else if (strCommand == NetMsgType::BLOCK && !fImporting && !fReindex) // Ignore blocks received while importing
  19428. @@ -2569,7 +2391,11 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19429.  
  19430.          LogPrint(BCLog::NET, "received block %s peer=%d\n", pblock->GetHash().ToString(), pfrom->GetId());
  19431.  
  19432. -        bool forceProcessing = false;
  19433. +        // Process all blocks from whitelisted peers, even if not requested,
  19434. +        // unless we're still syncing with the network.
  19435. +        // Such an unrequested block may still be processed, subject to the
  19436. +        // conditions in AcceptBlock().
  19437. +        bool forceProcessing = pfrom->fWhitelisted && !IsInitialBlockDownload();
  19438.          const uint256 hash(pblock->GetHash());
  19439.          {
  19440.              LOCK(cs_main);
  19441. @@ -2612,7 +2438,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19442.          pfrom->fSentAddr = true;
  19443.  
  19444.          pfrom->vAddrToSend.clear();
  19445. -        std::vector<CAddress> vAddr = connman->GetAddresses();
  19446. +        std::vector<CAddress> vAddr = connman.GetAddresses();
  19447.          FastRandomContext insecure_rand;
  19448.          for (const CAddress &addr : vAddr)
  19449.              pfrom->PushAddress(addr, insecure_rand);
  19450. @@ -2628,7 +2454,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19451.              return true;
  19452.          }
  19453.  
  19454. -        if (connman->OutboundTargetReached(false) && !pfrom->fWhitelisted)
  19455. +        if (connman.OutboundTargetReached(false) && !pfrom->fWhitelisted)
  19456.          {
  19457.              LogPrint(BCLog::NET, "mempool request with bandwidth limit reached, disconnect peer=%d\n", pfrom->GetId());
  19458.              pfrom->fDisconnect = true;
  19459. @@ -2657,7 +2483,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19460.              // it, if the remote node sends a ping once per second and this node takes 5
  19461.              // seconds to respond to each, the 5th ping the remote sends would appear to
  19462.              // return very quickly.
  19463. -            connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::PONG, nonce));
  19464. +            connman.PushMessage(pfrom, msgMaker.Make(NetMsgType::PONG, nonce));
  19465.          }
  19466.      }
  19467.  
  19468. @@ -2803,13 +2629,13 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
  19469.      return true;
  19470.  }
  19471.  
  19472. -static bool SendRejectsAndCheckIfBanned(CNode* pnode, CConnman* connman)
  19473. +static bool SendRejectsAndCheckIfBanned(CNode* pnode, CConnman& connman)
  19474.  {
  19475.      AssertLockHeld(cs_main);
  19476.      CNodeState &state = *State(pnode->GetId());
  19477.  
  19478.      for (const CBlockReject& reject : state.rejects) {
  19479. -        connman->PushMessage(pnode, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, (std::string)NetMsgType::BLOCK, reject.chRejectCode, reject.strRejectReason, reject.hashBlock));
  19480. +        connman.PushMessage(pnode, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, (std::string)NetMsgType::BLOCK, reject.chRejectCode, reject.strRejectReason, reject.hashBlock));
  19481.      }
  19482.      state.rejects.clear();
  19483.  
  19484. @@ -2817,7 +2643,7 @@ static bool SendRejectsAndCheckIfBanned(CNode* pnode, CConnman* connman)
  19485.          state.fShouldBan = false;
  19486.          if (pnode->fWhitelisted)
  19487.              LogPrintf("Warning: not punishing whitelisted peer %s!\n", pnode->addr.ToString());
  19488. -        else if (pnode->m_manual_connection)
  19489. +        else if (pnode->fAddnode)
  19490.              LogPrintf("Warning: not punishing addnoded peer %s!\n", pnode->addr.ToString());
  19491.          else {
  19492.              pnode->fDisconnect = true;
  19493. @@ -2825,7 +2651,7 @@ static bool SendRejectsAndCheckIfBanned(CNode* pnode, CConnman* connman)
  19494.                  LogPrintf("Warning: not banning local peer %s!\n", pnode->addr.ToString());
  19495.              else
  19496.              {
  19497. -                connman->Ban(pnode->addr, BanReasonNodeMisbehaving);
  19498. +                connman.Ban(pnode->addr, BanReasonNodeMisbehaving);
  19499.              }
  19500.          }
  19501.          return true;
  19502. @@ -2833,7 +2659,7 @@ static bool SendRejectsAndCheckIfBanned(CNode* pnode, CConnman* connman)
  19503.      return false;
  19504.  }
  19505.  
  19506. -bool PeerLogicValidation::ProcessMessages(CNode* pfrom, std::atomic<bool>& interruptMsgProc)
  19507. +bool ProcessMessages(CNode* pfrom, CConnman& connman, const std::atomic<bool>& interruptMsgProc)
  19508.  {
  19509.      const CChainParams& chainparams = Params();
  19510.      //
  19511. @@ -2867,7 +2693,7 @@ bool PeerLogicValidation::ProcessMessages(CNode* pfrom, std::atomic<bool>& inter
  19512.          // Just take one message
  19513.          msgs.splice(msgs.begin(), pfrom->vProcessMsg, pfrom->vProcessMsg.begin());
  19514.          pfrom->nProcessQueueSize -= msgs.front().vRecv.size() + CMessageHeader::HEADER_SIZE;
  19515. -        pfrom->fPauseRecv = pfrom->nProcessQueueSize > connman->GetReceiveFloodSize();
  19516. +        pfrom->fPauseRecv = pfrom->nProcessQueueSize > connman.GetReceiveFloodSize();
  19517.          fMoreWork = !pfrom->vProcessMsg.empty();
  19518.      }
  19519.      CNetMessage& msg(msgs.front());
  19520. @@ -2916,7 +2742,7 @@ bool PeerLogicValidation::ProcessMessages(CNode* pfrom, std::atomic<bool>& inter
  19521.      }
  19522.      catch (const std::ios_base::failure& e)
  19523.      {
  19524. -        connman->PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, strCommand, REJECT_MALFORMED, std::string("error parsing message")));
  19525. +        connman.PushMessage(pfrom, CNetMsgMaker(INIT_PROTO_VERSION).Make(NetMsgType::REJECT, strCommand, REJECT_MALFORMED, std::string("error parsing message")));
  19526.          if (strstr(e.what(), "end of data"))
  19527.          {
  19528.              // Allow exceptions from under-length message on vRecv
  19529. @@ -2953,135 +2779,6 @@ bool PeerLogicValidation::ProcessMessages(CNode* pfrom, std::atomic<bool>& inter
  19530.      return fMoreWork;
  19531.  }
  19532.  
  19533. -void PeerLogicValidation::ConsiderEviction(CNode *pto, int64_t time_in_seconds)
  19534. -{
  19535. -    AssertLockHeld(cs_main);
  19536. -
  19537. -    CNodeState &state = *State(pto->GetId());
  19538. -    const CNetMsgMaker msgMaker(pto->GetSendVersion());
  19539. -
  19540. -    if (!state.m_chain_sync.m_protect && IsOutboundDisconnectionCandidate(pto) && state.fSyncStarted) {
  19541. -        // This is an outbound peer subject to disconnection if they don't
  19542. -        // announce a block with as much work as the current tip within
  19543. -        // CHAIN_SYNC_TIMEOUT + HEADERS_RESPONSE_TIME seconds (note: if
  19544. -        // their chain has more work than ours, we should sync to it,
  19545. -        // unless it's invalid, in which case we should find that out and
  19546. -        // disconnect from them elsewhere).
  19547. -        if (state.pindexBestKnownBlock != nullptr && state.pindexBestKnownBlock->nChainWork >= chainActive.Tip()->nChainWork) {
  19548. -            if (state.m_chain_sync.m_timeout != 0) {
  19549. -                state.m_chain_sync.m_timeout = 0;
  19550. -                state.m_chain_sync.m_work_header = nullptr;
  19551. -                state.m_chain_sync.m_sent_getheaders = false;
  19552. -            }
  19553. -        } else if (state.m_chain_sync.m_timeout == 0 || (state.m_chain_sync.m_work_header != nullptr && state.pindexBestKnownBlock != nullptr && state.pindexBestKnownBlock->nChainWork >= state.m_chain_sync.m_work_header->nChainWork)) {
  19554. -            // Our best block known by this peer is behind our tip, and we're either noticing
  19555. -            // that for the first time, OR this peer was able to catch up to some earlier point
  19556. -            // where we checked against our tip.
  19557. -            // Either way, set a new timeout based on current tip.
  19558. -            state.m_chain_sync.m_timeout = time_in_seconds + CHAIN_SYNC_TIMEOUT;
  19559. -            state.m_chain_sync.m_work_header = chainActive.Tip();
  19560. -            state.m_chain_sync.m_sent_getheaders = false;
  19561. -        } else if (state.m_chain_sync.m_timeout > 0 && time_in_seconds > state.m_chain_sync.m_timeout) {
  19562. -            // No evidence yet that our peer has synced to a chain with work equal to that
  19563. -            // of our tip, when we first detected it was behind. Send a single getheaders
  19564. -            // message to give the peer a chance to update us.
  19565. -            if (state.m_chain_sync.m_sent_getheaders) {
  19566. -                // They've run out of time to catch up!
  19567. -                LogPrintf("Disconnecting outbound peer %d for old chain, best known block = %s\n", pto->GetId(), state.pindexBestKnownBlock != nullptr ? state.pindexBestKnownBlock->GetBlockHash().ToString() : "<none>");
  19568. -                pto->fDisconnect = true;
  19569. -            } else {
  19570. -                LogPrint(BCLog::NET, "sending getheaders to outbound peer=%d to verify chain work (current best known block:%s, benchmark blockhash: %s)\n", pto->GetId(), state.pindexBestKnownBlock != nullptr ? state.pindexBestKnownBlock->GetBlockHash().ToString() : "<none>", state.m_chain_sync.m_work_header->GetBlockHash().ToString());
  19571. -                connman->PushMessage(pto, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(state.m_chain_sync.m_work_header->pprev), uint256()));
  19572. -                state.m_chain_sync.m_sent_getheaders = true;
  19573. -                constexpr int64_t HEADERS_RESPONSE_TIME = 120; // 2 minutes
  19574. -                // Bump the timeout to allow a response, which could clear the timeout
  19575. -                // (if the response shows the peer has synced), reset the timeout (if
  19576. -                // the peer syncs to the required work but not to our tip), or result
  19577. -                // in disconnect (if we advance to the timeout and pindexBestKnownBlock
  19578. -                // has not sufficiently progressed)
  19579. -                state.m_chain_sync.m_timeout = time_in_seconds + HEADERS_RESPONSE_TIME;
  19580. -            }
  19581. -        }
  19582. -    }
  19583. -}
  19584. -
  19585. -void PeerLogicValidation::EvictExtraOutboundPeers(int64_t time_in_seconds)
  19586. -{
  19587. -    // Check whether we have too many outbound peers
  19588. -    int extra_peers = connman->GetExtraOutboundCount();
  19589. -    if (extra_peers > 0) {
  19590. -        // If we have more outbound peers than we target, disconnect one.
  19591. -        // Pick the outbound peer that least recently announced
  19592. -        // us a new block, with ties broken by choosing the more recent
  19593. -        // connection (higher node id)
  19594. -        NodeId worst_peer = -1;
  19595. -        int64_t oldest_block_announcement = std::numeric_limits<int64_t>::max();
  19596. -
  19597. -        LOCK(cs_main);
  19598. -
  19599. -        connman->ForEachNode([&](CNode* pnode) {
  19600. -            // Ignore non-outbound peers, or nodes marked for disconnect already
  19601. -            if (!IsOutboundDisconnectionCandidate(pnode) || pnode->fDisconnect) return;
  19602. -            CNodeState *state = State(pnode->GetId());
  19603. -            if (state == nullptr) return; // shouldn't be possible, but just in case
  19604. -            // Don't evict our protected peers
  19605. -            if (state->m_chain_sync.m_protect) return;
  19606. -            if (state->m_last_block_announcement < oldest_block_announcement || (state->m_last_block_announcement == oldest_block_announcement && pnode->GetId() > worst_peer)) {
  19607. -                worst_peer = pnode->GetId();
  19608. -                oldest_block_announcement = state->m_last_block_announcement;
  19609. -            }
  19610. -        });
  19611. -        if (worst_peer != -1) {
  19612. -            bool disconnected = connman->ForNode(worst_peer, [&](CNode *pnode) {
  19613. -                // Only disconnect a peer that has been connected to us for
  19614. -                // some reasonable fraction of our check-frequency, to give
  19615. -                // it time for new information to have arrived.
  19616. -                // Also don't disconnect any peer we're trying to download a
  19617. -                // block from.
  19618. -                CNodeState &state = *State(pnode->GetId());
  19619. -                if (time_in_seconds - pnode->nTimeConnected > MINIMUM_CONNECT_TIME && state.nBlocksInFlight == 0) {
  19620. -                    LogPrint(BCLog::NET, "disconnecting extra outbound peer=%d (last block announcement received at time %d)\n", pnode->GetId(), oldest_block_announcement);
  19621. -                    pnode->fDisconnect = true;
  19622. -                    return true;
  19623. -                } else {
  19624. -                    LogPrint(BCLog::NET, "keeping outbound peer=%d chosen for eviction (connect time: %d, blocks_in_flight: %d)\n", pnode->GetId(), pnode->nTimeConnected, state.nBlocksInFlight);
  19625. -                    return false;
  19626. -                }
  19627. -            });
  19628. -            if (disconnected) {
  19629. -                // If we disconnected an extra peer, that means we successfully
  19630. -                // connected to at least one peer after the last time we
  19631. -                // detected a stale tip. Don't try any more extra peers until
  19632. -                // we next detect a stale tip, to limit the load we put on the
  19633. -                // network from these extra connections.
  19634. -                connman->SetTryNewOutboundPeer(false);
  19635. -            }
  19636. -        }
  19637. -    }
  19638. -}
  19639. -
  19640. -void PeerLogicValidation::CheckForStaleTipAndEvictPeers(const Consensus::Params &consensusParams)
  19641. -{
  19642. -    if (connman == nullptr) return;
  19643. -
  19644. -    int64_t time_in_seconds = GetTime();
  19645. -
  19646. -    EvictExtraOutboundPeers(time_in_seconds);
  19647. -
  19648. -    if (time_in_seconds > m_stale_tip_check_time) {
  19649. -        LOCK(cs_main);
  19650. -        // Check whether our tip is stale, and if so, allow using an extra
  19651. -        // outbound peer
  19652. -        if (TipMayBeStale(consensusParams)) {
  19653. -            LogPrintf("Potential stale tip detected, will try using extra outbound peer (last tip update: %d seconds ago)\n", time_in_seconds - g_last_tip_update);
  19654. -            connman->SetTryNewOutboundPeer(true);
  19655. -        } else if (connman->GetTryNewOutboundPeer()) {
  19656. -            connman->SetTryNewOutboundPeer(false);
  19657. -        }
  19658. -        m_stale_tip_check_time = time_in_seconds + STALE_CHECK_INTERVAL;
  19659. -    }
  19660. -}
  19661. -
  19662.  class CompareInvMempoolOrder
  19663.  {
  19664.      CTxMemPool *mp;
  19665. @@ -3099,7 +2796,7 @@ public:
  19666.      }
  19667.  };
  19668.  
  19669. -bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptMsgProc)
  19670. +bool SendMessages(CNode* pto, CConnman& connman, const std::atomic<bool>& interruptMsgProc)
  19671.  {
  19672.      const Consensus::Params& consensusParams = Params().GetConsensus();
  19673.      {
  19674. @@ -3131,11 +2828,11 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19675.              pto->nPingUsecStart = GetTimeMicros();
  19676.              if (pto->nVersion > BIP0031_VERSION) {
  19677.                  pto->nPingNonceSent = nonce;
  19678. -                connman->PushMessage(pto, msgMaker.Make(NetMsgType::PING, nonce));
  19679. +                connman.PushMessage(pto, msgMaker.Make(NetMsgType::PING, nonce));
  19680.              } else {
  19681.                  // Peer is too old to support ping command with nonce, pong will never arrive.
  19682.                  pto->nPingNonceSent = 0;
  19683. -                connman->PushMessage(pto, msgMaker.Make(NetMsgType::PING));
  19684. +                connman.PushMessage(pto, msgMaker.Make(NetMsgType::PING));
  19685.              }
  19686.          }
  19687.  
  19688. @@ -3170,14 +2867,14 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19689.                      // receiver rejects addr messages larger than 1000
  19690.                      if (vAddr.size() >= 1000)
  19691.                      {
  19692. -                        connman->PushMessage(pto, msgMaker.Make(NetMsgType::ADDR, vAddr));
  19693. +                        connman.PushMessage(pto, msgMaker.Make(NetMsgType::ADDR, vAddr));
  19694.                          vAddr.clear();
  19695.                      }
  19696.                  }
  19697.              }
  19698.              pto->vAddrToSend.clear();
  19699.              if (!vAddr.empty())
  19700. -                connman->PushMessage(pto, msgMaker.Make(NetMsgType::ADDR, vAddr));
  19701. +                connman.PushMessage(pto, msgMaker.Make(NetMsgType::ADDR, vAddr));
  19702.              // we only send the big addr message once
  19703.              if (pto->vAddrToSend.capacity() > 40)
  19704.                  pto->vAddrToSend.shrink_to_fit();
  19705. @@ -3204,7 +2901,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19706.                  if (pindexStart->pprev)
  19707.                      pindexStart = pindexStart->pprev;
  19708.                  LogPrint(BCLog::NET, "initial getheaders (%d) to peer=%d (startheight:%d)\n", pindexStart->nHeight, pto->GetId(), pto->nStartingHeight);
  19709. -                connman->PushMessage(pto, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexStart), uint256()));
  19710. +                connman.PushMessage(pto, msgMaker.Make(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexStart), uint256()));
  19711.              }
  19712.          }
  19713.  
  19714. @@ -3213,7 +2910,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19715.          // transactions become unconfirmed and spams other nodes.
  19716.          if (!fReindex && !fImporting && !IsInitialBlockDownload())
  19717.          {
  19718. -            GetMainSignals().Broadcast(nTimeBestReceived, connman);
  19719. +            GetMainSignals().Broadcast(nTimeBestReceived, &connman);
  19720.          }
  19721.  
  19722.          //
  19723. @@ -3297,10 +2994,10 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19724.                          LOCK(cs_most_recent_block);
  19725.                          if (most_recent_block_hash == pBestIndex->GetBlockHash()) {
  19726.                              if (state.fWantsCmpctWitness || !fWitnessesPresentInMostRecentCompactBlock)
  19727. -                                connman->PushMessage(pto, msgMaker.Make(nSendFlags, NetMsgType::CMPCTBLOCK, *most_recent_compact_block));
  19728. +                                connman.PushMessage(pto, msgMaker.Make(nSendFlags, NetMsgType::CMPCTBLOCK, *most_recent_compact_block));
  19729.                              else {
  19730.                                  CBlockHeaderAndShortTxIDs cmpctblock(*most_recent_block, state.fWantsCmpctWitness);
  19731. -                                connman->PushMessage(pto, msgMaker.Make(nSendFlags, NetMsgType::CMPCTBLOCK, cmpctblock));
  19732. +                                connman.PushMessage(pto, msgMaker.Make(nSendFlags, NetMsgType::CMPCTBLOCK, cmpctblock));
  19733.                              }
  19734.                              fGotBlockFromCache = true;
  19735.                          }
  19736. @@ -3310,7 +3007,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19737.                          bool ret = ReadBlockFromDisk(block, pBestIndex, consensusParams);
  19738.                          assert(ret);
  19739.                          CBlockHeaderAndShortTxIDs cmpctblock(block, state.fWantsCmpctWitness);
  19740. -                        connman->PushMessage(pto, msgMaker.Make(nSendFlags, NetMsgType::CMPCTBLOCK, cmpctblock));
  19741. +                        connman.PushMessage(pto, msgMaker.Make(nSendFlags, NetMsgType::CMPCTBLOCK, cmpctblock));
  19742.                      }
  19743.                      state.pindexBestHeaderSent = pBestIndex;
  19744.                  } else if (state.fPreferHeaders) {
  19745. @@ -3323,7 +3020,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19746.                          LogPrint(BCLog::NET, "%s: sending header %s to peer=%d\n", __func__,
  19747.                                  vHeaders.front().GetHash().ToString(), pto->GetId());
  19748.                      }
  19749. -                    connman->PushMessage(pto, msgMaker.Make(NetMsgType::HEADERS, vHeaders));
  19750. +                    connman.PushMessage(pto, msgMaker.Make(NetMsgType::HEADERS, vHeaders));
  19751.                      state.pindexBestHeaderSent = pBestIndex;
  19752.                  } else
  19753.                      fRevertToInv = true;
  19754. @@ -3369,7 +3066,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19755.              for (const uint256& hash : pto->vInventoryBlockToSend) {
  19756.                  vInv.push_back(CInv(MSG_BLOCK, hash));
  19757.                  if (vInv.size() == MAX_INV_SZ) {
  19758. -                    connman->PushMessage(pto, msgMaker.Make(NetMsgType::INV, vInv));
  19759. +                    connman.PushMessage(pto, msgMaker.Make(NetMsgType::INV, vInv));
  19760.                      vInv.clear();
  19761.                  }
  19762.              }
  19763. @@ -3415,7 +3112,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19764.                      pto->filterInventoryKnown.insert(hash);
  19765.                      vInv.push_back(inv);
  19766.                      if (vInv.size() == MAX_INV_SZ) {
  19767. -                        connman->PushMessage(pto, msgMaker.Make(NetMsgType::INV, vInv));
  19768. +                        connman.PushMessage(pto, msgMaker.Make(NetMsgType::INV, vInv));
  19769.                          vInv.clear();
  19770.                      }
  19771.                  }
  19772. @@ -3481,7 +3178,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19773.                          }
  19774.                      }
  19775.                      if (vInv.size() == MAX_INV_SZ) {
  19776. -                        connman->PushMessage(pto, msgMaker.Make(NetMsgType::INV, vInv));
  19777. +                        connman.PushMessage(pto, msgMaker.Make(NetMsgType::INV, vInv));
  19778.                          vInv.clear();
  19779.                      }
  19780.                      pto->filterInventoryKnown.insert(hash);
  19781. @@ -3489,7 +3186,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19782.              }
  19783.          }
  19784.          if (!vInv.empty())
  19785. -            connman->PushMessage(pto, msgMaker.Make(NetMsgType::INV, vInv));
  19786. +            connman.PushMessage(pto, msgMaker.Make(NetMsgType::INV, vInv));
  19787.  
  19788.          // Detect whether we're stalling
  19789.          nNow = GetTimeMicros();
  19790. @@ -3548,9 +3245,6 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19791.              }
  19792.          }
  19793.  
  19794. -        // Check that outbound peers have reasonable chains
  19795. -        // GetTime() is used by this anti-DoS logic so we can test this using mocktime
  19796. -        ConsiderEviction(pto, GetTime());
  19797.  
  19798.          //
  19799.          // Message: getdata (blocks)
  19800. @@ -3587,7 +3281,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19801.                  vGetData.push_back(inv);
  19802.                  if (vGetData.size() >= 1000)
  19803.                  {
  19804. -                    connman->PushMessage(pto, msgMaker.Make(NetMsgType::GETDATA, vGetData));
  19805. +                    connman.PushMessage(pto, msgMaker.Make(NetMsgType::GETDATA, vGetData));
  19806.                      vGetData.clear();
  19807.                  }
  19808.              } else {
  19809. @@ -3597,7 +3291,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19810.              pto->mapAskFor.erase(pto->mapAskFor.begin());
  19811.          }
  19812.          if (!vGetData.empty())
  19813. -            connman->PushMessage(pto, msgMaker.Make(NetMsgType::GETDATA, vGetData));
  19814. +            connman.PushMessage(pto, msgMaker.Make(NetMsgType::GETDATA, vGetData));
  19815.  
  19816.          //
  19817.          // Message: feefilter
  19818. @@ -3614,7 +3308,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic<bool>& interruptM
  19819.                  // We always have a fee filter of at least minRelayTxFee
  19820.                  filterToSend = std::max(filterToSend, ::minRelayTxFee.GetFeePerK());
  19821.                  if (filterToSend != pto->lastSentFeeFilter) {
  19822. -                    connman->PushMessage(pto, msgMaker.Make(NetMsgType::FEEFILTER, filterToSend));
  19823. +                    connman.PushMessage(pto, msgMaker.Make(NetMsgType::FEEFILTER, filterToSend));
  19824.                      pto->lastSentFeeFilter = filterToSend;
  19825.                  }
  19826.                  pto->nextSendTimeFeeFilter = PoissonNextSend(timeNow, AVG_FEEFILTER_BROADCAST_INTERVAL);
  19827. diff --git a/src/net_processing.h b/src/net_processing.h
  19828. index 7f1b509..db6d81e 100644
  19829. --- a/src/net_processing.h
  19830. +++ b/src/net_processing.h
  19831. @@ -8,7 +8,6 @@
  19832.  
  19833.  #include "net.h"
  19834.  #include "validationinterface.h"
  19835. -#include "consensus/params.h"
  19836.  
  19837.  /** Default for -maxorphantx, maximum number of orphan transactions kept in memory */
  19838.  static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS = 100;
  19839. @@ -22,51 +21,23 @@ static const unsigned int DEFAULT_BLOCK_RECONSTRUCTION_EXTRA_TXN = 100;
  19840.   *  Timeout = base + per_header * (expected number of headers) */
  19841.  static constexpr int64_t HEADERS_DOWNLOAD_TIMEOUT_BASE = 15 * 60 * 1000000; // 15 minutes
  19842.  static constexpr int64_t HEADERS_DOWNLOAD_TIMEOUT_PER_HEADER = 1000; // 1ms/header
  19843. -/** Protect at least this many outbound peers from disconnection due to slow/
  19844. - * behind headers chain.
  19845. - */
  19846. -static constexpr int32_t MAX_OUTBOUND_PEERS_TO_PROTECT_FROM_DISCONNECT = 4;
  19847. -/** Timeout for (unprotected) outbound peers to sync to our chainwork, in seconds */
  19848. -static constexpr int64_t CHAIN_SYNC_TIMEOUT = 20 * 60; // 20 minutes
  19849. -/** How frequently to check for stale tips, in seconds */
  19850. -static constexpr int64_t STALE_CHECK_INTERVAL = 2.5 * 60; // 2.5 minutes
  19851. -/** How frequently to check for extra outbound peers and disconnect, in seconds */
  19852. -static constexpr int64_t EXTRA_PEER_CHECK_INTERVAL = 45;
  19853. -/** Minimum time an outbound-peer-eviction candidate must be connected for, in order to evict, in seconds */
  19854. -static constexpr int64_t MINIMUM_CONNECT_TIME = 30;
  19855.  
  19856. -class PeerLogicValidation : public CValidationInterface, public NetEventsInterface {
  19857. +/** Register with a network node to receive its signals */
  19858. +void RegisterNodeSignals(CNodeSignals& nodeSignals);
  19859. +/** Unregister a network node */
  19860. +void UnregisterNodeSignals(CNodeSignals& nodeSignals);
  19861. +
  19862. +class PeerLogicValidation : public CValidationInterface {
  19863.  private:
  19864. -    CConnman* const connman;
  19865. +    CConnman* connman;
  19866.  
  19867.  public:
  19868. -    explicit PeerLogicValidation(CConnman* connman, CScheduler &scheduler);
  19869. +    PeerLogicValidation(CConnman* connmanIn);
  19870.  
  19871.      void BlockConnected(const std::shared_ptr<const CBlock>& pblock, const CBlockIndex* pindexConnected, const std::vector<CTransactionRef>& vtxConflicted) override;
  19872.      void UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload) override;
  19873.      void BlockChecked(const CBlock& block, const CValidationState& state) override;
  19874.      void NewPoWValidBlock(const CBlockIndex *pindex, const std::shared_ptr<const CBlock>& pblock) override;
  19875. -
  19876. -
  19877. -    void InitializeNode(CNode* pnode) override;
  19878. -    void FinalizeNode(NodeId nodeid, bool& fUpdateConnectionTime) override;
  19879. -    /** Process protocol messages received from a given node */
  19880. -    bool ProcessMessages(CNode* pfrom, std::atomic<bool>& interrupt) override;
  19881. -    /**
  19882. -    * Send queued protocol messages to be sent to a give node.
  19883. -    *
  19884. -    * @param[in]   pto             The node which we are sending messages to.
  19885. -    * @param[in]   interrupt       Interrupt condition for processing threads
  19886. -    * @return                      True if there is more work to be done
  19887. -    */
  19888. -    bool SendMessages(CNode* pto, std::atomic<bool>& interrupt) override;
  19889. -
  19890. -    void ConsiderEviction(CNode *pto, int64_t time_in_seconds);
  19891. -    void CheckForStaleTipAndEvictPeers(const Consensus::Params &consensusParams);
  19892. -    void EvictExtraOutboundPeers(int64_t time_in_seconds);
  19893. -
  19894. -private:
  19895. -    int64_t m_stale_tip_check_time; //! Next time to check for stale tip
  19896.  };
  19897.  
  19898.  struct CNodeStateStats {
  19899. @@ -81,4 +52,16 @@ bool GetNodeStateStats(NodeId nodeid, CNodeStateStats &stats);
  19900.  /** Increase a node's misbehavior score. */
  19901.  void Misbehaving(NodeId nodeid, int howmuch);
  19902.  
  19903. +/** Process protocol messages received from a given node */
  19904. +bool ProcessMessages(CNode* pfrom, CConnman& connman, const std::atomic<bool>& interrupt);
  19905. +/**
  19906. + * Send queued protocol messages to be sent to a give node.
  19907. + *
  19908. + * @param[in]   pto             The node which we are sending messages to.
  19909. + * @param[in]   connman         The connection manager for that node.
  19910. + * @param[in]   interrupt       Interrupt condition for processing threads
  19911. + * @return                      True if there is more work to be done
  19912. + */
  19913. +bool SendMessages(CNode* pto, CConnman& connman, const std::atomic<bool>& interrupt);
  19914. +
  19915.  #endif // BITCOIN_NET_PROCESSING_H
  19916. diff --git a/src/netbase.cpp b/src/netbase.cpp
  19917. index 914124c..05f9f69 100644
  19918. --- a/src/netbase.cpp
  19919. +++ b/src/netbase.cpp
  19920. @@ -184,48 +184,6 @@ struct timeval MillisToTimeval(int64_t nTimeout)
  19921.      return timeout;
  19922.  }
  19923.  
  19924. -/** SOCKS version */
  19925. -enum SOCKSVersion: uint8_t {
  19926. -    SOCKS4 = 0x04,
  19927. -    SOCKS5 = 0x05
  19928. -};
  19929. -
  19930. -/** Values defined for METHOD in RFC1928 */
  19931. -enum SOCKS5Method: uint8_t {
  19932. -    NOAUTH = 0x00,        //! No authentication required
  19933. -    GSSAPI = 0x01,        //! GSSAPI
  19934. -    USER_PASS = 0x02,     //! Username/password
  19935. -    NO_ACCEPTABLE = 0xff, //! No acceptable methods
  19936. -};
  19937. -
  19938. -/** Values defined for CMD in RFC1928 */
  19939. -enum SOCKS5Command: uint8_t {
  19940. -    CONNECT = 0x01,
  19941. -    BIND = 0x02,
  19942. -    UDP_ASSOCIATE = 0x03
  19943. -};
  19944. -
  19945. -/** Values defined for REP in RFC1928 */
  19946. -enum SOCKS5Reply: uint8_t {
  19947. -    SUCCEEDED = 0x00,        //! Succeeded
  19948. -    GENFAILURE = 0x01,       //! General failure
  19949. -    NOTALLOWED = 0x02,       //! Connection not allowed by ruleset
  19950. -    NETUNREACHABLE = 0x03,   //! Network unreachable
  19951. -    HOSTUNREACHABLE = 0x04,  //! Network unreachable
  19952. -    CONNREFUSED = 0x05,      //! Connection refused
  19953. -    TTLEXPIRED = 0x06,       //! TTL expired
  19954. -    CMDUNSUPPORTED = 0x07,   //! Command not supported
  19955. -    ATYPEUNSUPPORTED = 0x08, //! Address type not supported
  19956. -};
  19957. -
  19958. -/** Values defined for ATYPE in RFC1928 */
  19959. -enum SOCKS5Atyp: uint8_t {
  19960. -    IPV4 = 0x01,
  19961. -    DOMAINNAME = 0x03,
  19962. -    IPV6 = 0x04,
  19963. -};
  19964. -
  19965. -/** Status codes that can be returned by InterruptibleRecv */
  19966.  enum class IntrRecvError {
  19967.      OK,
  19968.      Timeout,
  19969. @@ -245,7 +203,7 @@ enum class IntrRecvError {
  19970.   *
  19971.   * @note This function requires that hSocket is in non-blocking mode.
  19972.   */
  19973. -static IntrRecvError InterruptibleRecv(uint8_t* data, size_t len, int timeout, const SOCKET& hSocket)
  19974. +static IntrRecvError InterruptibleRecv(char* data, size_t len, int timeout, const SOCKET& hSocket)
  19975.  {
  19976.      int64_t curTime = GetTimeMillis();
  19977.      int64_t endTime = curTime + timeout;
  19978. @@ -253,7 +211,7 @@ static IntrRecvError InterruptibleRecv(uint8_t* data, size_t len, int timeout, c
  19979.      // to break off in case of an interruption.
  19980.      const int64_t maxWait = 1000;
  19981.      while (len > 0 && curTime < endTime) {
  19982. -        ssize_t ret = recv(hSocket, (char*)data, len, 0); // Optimistically try the recv first
  19983. +        ssize_t ret = recv(hSocket, data, len, 0); // Optimistically try the recv first
  19984.          if (ret > 0) {
  19985.              len -= ret;
  19986.              data += ret;
  19987. @@ -284,35 +242,24 @@ static IntrRecvError InterruptibleRecv(uint8_t* data, size_t len, int timeout, c
  19988.      return len == 0 ? IntrRecvError::OK : IntrRecvError::Timeout;
  19989.  }
  19990.  
  19991. -/** Credentials for proxy authentication */
  19992.  struct ProxyCredentials
  19993.  {
  19994.      std::string username;
  19995.      std::string password;
  19996.  };
  19997.  
  19998. -/** Convert SOCKS5 reply to a an error message */
  19999. -std::string Socks5ErrorString(uint8_t err)
  20000. +std::string Socks5ErrorString(int err)
  20001.  {
  20002.      switch(err) {
  20003. -        case SOCKS5Reply::GENFAILURE:
  20004. -            return "general failure";
  20005. -        case SOCKS5Reply::NOTALLOWED:
  20006. -            return "connection not allowed";
  20007. -        case SOCKS5Reply::NETUNREACHABLE:
  20008. -            return "network unreachable";
  20009. -        case SOCKS5Reply::HOSTUNREACHABLE:
  20010. -            return "host unreachable";
  20011. -        case SOCKS5Reply::CONNREFUSED:
  20012. -            return "connection refused";
  20013. -        case SOCKS5Reply::TTLEXPIRED:
  20014. -            return "TTL expired";
  20015. -        case SOCKS5Reply::CMDUNSUPPORTED:
  20016. -            return "protocol error";
  20017. -        case SOCKS5Reply::ATYPEUNSUPPORTED:
  20018. -            return "address type not supported";
  20019. -        default:
  20020. -            return "unknown";
  20021. +        case 0x01: return "general failure";
  20022. +        case 0x02: return "connection not allowed";
  20023. +        case 0x03: return "network unreachable";
  20024. +        case 0x04: return "host unreachable";
  20025. +        case 0x05: return "connection refused";
  20026. +        case 0x06: return "TTL expired";
  20027. +        case 0x07: return "protocol error";
  20028. +        case 0x08: return "address type not supported";
  20029. +        default:   return "unknown";
  20030.      }
  20031.  }
  20032.  
  20033. @@ -327,34 +274,34 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials
  20034.      }
  20035.      // Accepted authentication methods
  20036.      std::vector<uint8_t> vSocks5Init;
  20037. -    vSocks5Init.push_back(SOCKSVersion::SOCKS5);
  20038. +    vSocks5Init.push_back(0x05);
  20039.      if (auth) {
  20040. -        vSocks5Init.push_back(0x02); // Number of methods
  20041. -        vSocks5Init.push_back(SOCKS5Method::NOAUTH);
  20042. -        vSocks5Init.push_back(SOCKS5Method::USER_PASS);
  20043. +        vSocks5Init.push_back(0x02); // # METHODS
  20044. +        vSocks5Init.push_back(0x00); // X'00' NO AUTHENTICATION REQUIRED
  20045. +        vSocks5Init.push_back(0x02); // X'02' USERNAME/PASSWORD (RFC1929)
  20046.      } else {
  20047. -        vSocks5Init.push_back(0x01); // Number of methods
  20048. -        vSocks5Init.push_back(SOCKS5Method::NOAUTH);
  20049. +        vSocks5Init.push_back(0x01); // # METHODS
  20050. +        vSocks5Init.push_back(0x00); // X'00' NO AUTHENTICATION REQUIRED
  20051.      }
  20052.      ssize_t ret = send(hSocket, (const char*)vSocks5Init.data(), vSocks5Init.size(), MSG_NOSIGNAL);
  20053.      if (ret != (ssize_t)vSocks5Init.size()) {
  20054.          CloseSocket(hSocket);
  20055.          return error("Error sending to proxy");
  20056.      }
  20057. -    uint8_t pchRet1[2];
  20058. +    char pchRet1[2];
  20059.      if ((recvr = InterruptibleRecv(pchRet1, 2, SOCKS5_RECV_TIMEOUT, hSocket)) != IntrRecvError::OK) {
  20060.          CloseSocket(hSocket);
  20061.          LogPrintf("Socks5() connect to %s:%d failed: InterruptibleRecv() timeout or other failure\n", strDest, port);
  20062.          return false;
  20063.      }
  20064. -    if (pchRet1[0] != SOCKSVersion::SOCKS5) {
  20065. +    if (pchRet1[0] != 0x05) {
  20066.          CloseSocket(hSocket);
  20067.          return error("Proxy failed to initialize");
  20068.      }
  20069. -    if (pchRet1[1] == SOCKS5Method::USER_PASS && auth) {
  20070. +    if (pchRet1[1] == 0x02 && auth) {
  20071.          // Perform username/password authentication (as described in RFC1929)
  20072.          std::vector<uint8_t> vAuth;
  20073. -        vAuth.push_back(0x01); // Current (and only) version of user/pass subnegotiation
  20074. +        vAuth.push_back(0x01);
  20075.          if (auth->username.size() > 255 || auth->password.size() > 255)
  20076.              return error("Proxy username or password too long");
  20077.          vAuth.push_back(auth->username.size());
  20078. @@ -367,7 +314,7 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials
  20079.              return error("Error sending authentication to proxy");
  20080.          }
  20081.          LogPrint(BCLog::PROXY, "SOCKS5 sending proxy authentication %s:%s\n", auth->username, auth->password);
  20082. -        uint8_t pchRetA[2];
  20083. +        char pchRetA[2];
  20084.          if ((recvr = InterruptibleRecv(pchRetA, 2, SOCKS5_RECV_TIMEOUT, hSocket)) != IntrRecvError::OK) {
  20085.              CloseSocket(hSocket);
  20086.              return error("Error reading proxy authentication response");
  20087. @@ -376,17 +323,17 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials
  20088.              CloseSocket(hSocket);
  20089.              return error("Proxy authentication unsuccessful");
  20090.          }
  20091. -    } else if (pchRet1[1] == SOCKS5Method::NOAUTH) {
  20092. +    } else if (pchRet1[1] == 0x00) {
  20093.          // Perform no authentication
  20094.      } else {
  20095.          CloseSocket(hSocket);
  20096.          return error("Proxy requested wrong authentication method %02x", pchRet1[1]);
  20097.      }
  20098.      std::vector<uint8_t> vSocks5;
  20099. -    vSocks5.push_back(SOCKSVersion::SOCKS5); // VER protocol version
  20100. -    vSocks5.push_back(SOCKS5Command::CONNECT); // CMD CONNECT
  20101. -    vSocks5.push_back(0x00); // RSV Reserved must be 0
  20102. -    vSocks5.push_back(SOCKS5Atyp::DOMAINNAME); // ATYP DOMAINNAME
  20103. +    vSocks5.push_back(0x05); // VER protocol version
  20104. +    vSocks5.push_back(0x01); // CMD CONNECT
  20105. +    vSocks5.push_back(0x00); // RSV Reserved
  20106. +    vSocks5.push_back(0x03); // ATYP DOMAINNAME
  20107.      vSocks5.push_back(strDest.size()); // Length<=255 is checked at beginning of function
  20108.      vSocks5.insert(vSocks5.end(), strDest.begin(), strDest.end());
  20109.      vSocks5.push_back((port >> 8) & 0xFF);
  20110. @@ -396,7 +343,7 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials
  20111.          CloseSocket(hSocket);
  20112.          return error("Error sending to proxy");
  20113.      }
  20114. -    uint8_t pchRet2[4];
  20115. +    char pchRet2[4];
  20116.      if ((recvr = InterruptibleRecv(pchRet2, 4, SOCKS5_RECV_TIMEOUT, hSocket)) != IntrRecvError::OK) {
  20117.          CloseSocket(hSocket);
  20118.          if (recvr == IntrRecvError::Timeout) {
  20119. @@ -408,26 +355,26 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials
  20120.              return error("Error while reading proxy response");
  20121.          }
  20122.      }
  20123. -    if (pchRet2[0] != SOCKSVersion::SOCKS5) {
  20124. +    if (pchRet2[0] != 0x05) {
  20125.          CloseSocket(hSocket);
  20126.          return error("Proxy failed to accept request");
  20127.      }
  20128. -    if (pchRet2[1] != SOCKS5Reply::SUCCEEDED) {
  20129. +    if (pchRet2[1] != 0x00) {
  20130.          // Failures to connect to a peer that are not proxy errors
  20131.          CloseSocket(hSocket);
  20132.          LogPrintf("Socks5() connect to %s:%d failed: %s\n", strDest, port, Socks5ErrorString(pchRet2[1]));
  20133.          return false;
  20134.      }
  20135. -    if (pchRet2[2] != 0x00) { // Reserved field must be 0
  20136. +    if (pchRet2[2] != 0x00) {
  20137.          CloseSocket(hSocket);
  20138.          return error("Error: malformed proxy response");
  20139.      }
  20140. -    uint8_t pchRet3[256];
  20141. +    char pchRet3[256];
  20142.      switch (pchRet2[3])
  20143.      {
  20144. -        case SOCKS5Atyp::IPV4: recvr = InterruptibleRecv(pchRet3, 4, SOCKS5_RECV_TIMEOUT, hSocket); break;
  20145. -        case SOCKS5Atyp::IPV6: recvr = InterruptibleRecv(pchRet3, 16, SOCKS5_RECV_TIMEOUT, hSocket); break;
  20146. -        case SOCKS5Atyp::DOMAINNAME:
  20147. +        case 0x01: recvr = InterruptibleRecv(pchRet3, 4, SOCKS5_RECV_TIMEOUT, hSocket); break;
  20148. +        case 0x04: recvr = InterruptibleRecv(pchRet3, 16, SOCKS5_RECV_TIMEOUT, hSocket); break;
  20149. +        case 0x03:
  20150.          {
  20151.              recvr = InterruptibleRecv(pchRet3, 1, SOCKS5_RECV_TIMEOUT, hSocket);
  20152.              if (recvr != IntrRecvError::OK) {
  20153. diff --git a/src/policy/feerate.cpp b/src/policy/feerate.cpp
  20154. index 64229ed..2b97fba 100644
  20155. --- a/src/policy/feerate.cpp
  20156. +++ b/src/policy/feerate.cpp
  20157. @@ -7,7 +7,7 @@
  20158.  
  20159.  #include "tinyformat.h"
  20160.  
  20161. -const std::string CURRENCY_UNIT = "LTC";
  20162. +const std::string CURRENCY_UNIT = "LCC";
  20163.  
  20164.  CFeeRate::CFeeRate(const CAmount& nFeePaid, size_t nBytes_)
  20165.  {
  20166. @@ -39,5 +39,5 @@ CAmount CFeeRate::GetFee(size_t nBytes_) const
  20167.  
  20168.  std::string CFeeRate::ToString() const
  20169.  {
  20170. -    return strprintf("%d.%08d %s/kB", nSatoshisPerK / COIN, nSatoshisPerK % COIN, CURRENCY_UNIT);
  20171. +    return strprintf("%d.%07d %s/kB", nSatoshisPerK / COIN, nSatoshisPerK % COIN, CURRENCY_UNIT);   // LitecoinCash: Updated num decimals
  20172.  }
  20173. diff --git a/src/policy/policy.h b/src/policy/policy.h
  20174. index 6d0e08c..061c8ef 100644
  20175. --- a/src/policy/policy.h
  20176. +++ b/src/policy/policy.h
  20177. @@ -16,8 +16,10 @@
  20178.  class CCoinsViewCache;
  20179.  class CTxOut;
  20180.  
  20181. +/** Default for -blockmaxsize, which controls the maximum size of block the mining code will create **/
  20182. +static const unsigned int DEFAULT_BLOCK_MAX_SIZE = 750000;
  20183.  /** Default for -blockmaxweight, which controls the range of block weights the mining code will create **/
  20184. -static const unsigned int DEFAULT_BLOCK_MAX_WEIGHT = MAX_BLOCK_WEIGHT - 4000;
  20185. +static const unsigned int DEFAULT_BLOCK_MAX_WEIGHT = 3000000;
  20186.  /** Default for -blockmintxfee, which sets the minimum feerate for a transaction in blocks created by mining code **/
  20187.  static const unsigned int DEFAULT_BLOCK_MIN_TX_FEE = 1000;
  20188.  /** The maximum weight for transactions we're willing to relay/mine */
  20189. @@ -63,7 +65,8 @@ static const unsigned int STANDARD_SCRIPT_VERIFY_FLAGS = MANDATORY_SCRIPT_VERIFY
  20190.                                                           SCRIPT_VERIFY_LOW_S |
  20191.                                                           SCRIPT_VERIFY_WITNESS |
  20192.                                                           SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM |
  20193. -                                                         SCRIPT_VERIFY_WITNESS_PUBKEYTYPE;
  20194. +                                                         SCRIPT_VERIFY_WITNESS_PUBKEYTYPE |
  20195. +                                                         SCRIPT_ENABLE_SIGHASH_FORKID;          // LitecoinCash: Use SCRIPT_ENABLE_SIGHASH_FORKID
  20196.  
  20197.  /** For convenience, standard but not mandatory verify flags. */
  20198.  static const unsigned int STANDARD_NOT_MANDATORY_VERIFY_FLAGS = STANDARD_SCRIPT_VERIFY_FLAGS & ~MANDATORY_SCRIPT_VERIFY_FLAGS;
  20199. diff --git a/src/pow.cpp b/src/pow.cpp
  20200. index a7e5a0d..f487405 100644
  20201. --- a/src/pow.cpp
  20202. +++ b/src/pow.cpp
  20203. @@ -11,11 +11,73 @@
  20204.  #include "uint256.h"
  20205.  #include "util.h"
  20206.  
  20207. -unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params)
  20208. +// LitecoinCash: DarkGravity V3 (https://github.com/dashpay/dash/blob/master/src/pow.cpp#L82)
  20209. +// By Evan Duffield <evan@dash.org>
  20210. +unsigned int DarkGravityWave(const CBlockIndex* pindexLast, const Consensus::Params& params)
  20211.  {
  20212. +    const arith_uint256 bnPowLimit = UintToArith256(params.powLimitSHA);
  20213. +    int64_t nPastBlocks = 24;
  20214. +
  20215. +    // LitecoinCash: Make sure we have at least (nPastBlocks + 1) blocks since the fork, otherwise just return powLimitSHA
  20216. +    if (!pindexLast || pindexLast->nHeight - params.lastScryptBlock < nPastBlocks) {
  20217. +        return bnPowLimit.GetCompact();
  20218. +    }
  20219. +
  20220. +    const CBlockIndex *pindex = pindexLast;
  20221. +    arith_uint256 bnPastTargetAvg;
  20222. +
  20223. +    for (unsigned int nCountBlocks = 1; nCountBlocks <= nPastBlocks; nCountBlocks++) {
  20224. +        arith_uint256 bnTarget = arith_uint256().SetCompact(pindex->nBits);
  20225. +        if (nCountBlocks == 1) {
  20226. +            bnPastTargetAvg = bnTarget;
  20227. +        } else {
  20228. +            // NOTE: that's not an average really...
  20229. +            bnPastTargetAvg = (bnPastTargetAvg * nCountBlocks + bnTarget) / (nCountBlocks + 1);
  20230. +        }
  20231. +
  20232. +        if(nCountBlocks != nPastBlocks) {
  20233. +            assert(pindex->pprev); // should never fail
  20234. +            pindex = pindex->pprev;
  20235. +        }
  20236. +    }
  20237. +
  20238. +    arith_uint256 bnNew(bnPastTargetAvg);
  20239. +
  20240. +    int64_t nActualTimespan = pindexLast->GetBlockTime() - pindex->GetBlockTime();
  20241. +    // NOTE: is this accurate? nActualTimespan counts it for (nPastBlocks - 1) blocks only...
  20242. +    int64_t nTargetTimespan = nPastBlocks * params.nPowTargetSpacing;
  20243. +
  20244. +    if (nActualTimespan < nTargetTimespan/3)
  20245. +        nActualTimespan = nTargetTimespan/3;
  20246. +    if (nActualTimespan > nTargetTimespan*3)
  20247. +        nActualTimespan = nTargetTimespan*3;
  20248. +
  20249. +    // Retarget
  20250. +    bnNew *= nActualTimespan;
  20251. +    bnNew /= nTargetTimespan;
  20252. +
  20253. +    if (bnNew > bnPowLimit) {
  20254. +        bnNew = bnPowLimit;
  20255. +    }
  20256. +
  20257. +    return bnNew.GetCompact();
  20258. +}
  20259. +
  20260. +unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params)
  20261. +{  
  20262.      assert(pindexLast != nullptr);
  20263. +    
  20264. +    // LitecoinCash: If past fork time, use Dark Gravity Wave
  20265. +    if (pindexLast->nHeight >= params.lastScryptBlock)
  20266. +        return DarkGravityWave(pindexLast, params);
  20267. +    else
  20268. +        return GetNextWorkRequiredLTC(pindexLast, pblock, params);
  20269. +}
  20270. +    
  20271. +unsigned int GetNextWorkRequiredLTC(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params)
  20272. +{
  20273.      unsigned int nProofOfWorkLimit = UintToArith256(params.powLimit).GetCompact();
  20274. -
  20275. +        
  20276.      // Only change once per difficulty adjustment interval
  20277.      if ((pindexLast->nHeight+1) % params.DifficultyAdjustmentInterval() != 0)
  20278.      {
  20279. diff --git a/src/pow.h b/src/pow.h
  20280. index e203f49..60fa644 100644
  20281. --- a/src/pow.h
  20282. +++ b/src/pow.h
  20283. @@ -15,6 +15,8 @@ class CBlockIndex;
  20284.  class uint256;
  20285.  
  20286.  unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params&);
  20287. +unsigned int DarkGravityWave(const CBlockIndex* pindexLast, const Consensus::Params& params);
  20288. +unsigned int GetNextWorkRequiredLTC(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params&);
  20289.  unsigned int CalculateNextWorkRequired(const CBlockIndex* pindexLast, int64_t nFirstBlockTime, const Consensus::Params&);
  20290.  
  20291.  /** Check whether a block hash satisfies the proof-of-work requirement specified by nBits */
  20292. diff --git a/src/primitives/block.cpp b/src/primitives/block.cpp
  20293. index 454f10e..7617232 100644
  20294. --- a/src/primitives/block.cpp
  20295. +++ b/src/primitives/block.cpp
  20296. @@ -10,6 +10,7 @@
  20297.  #include "utilstrencodings.h"
  20298.  #include "crypto/common.h"
  20299.  #include "crypto/scrypt.h"
  20300. +#include "chainparams.h"
  20301.  
  20302.  uint256 CBlockHeader::GetHash() const
  20303.  {
  20304. @@ -18,6 +19,10 @@ uint256 CBlockHeader::GetHash() const
  20305.  
  20306.  uint256 CBlockHeader::GetPoWHash() const
  20307.  {
  20308. +    // LitecoinCash: After powForkTime, the pow hash is sha256
  20309. +    if (nTime > Params().GetConsensus().powForkTime)
  20310. +        return GetHash();
  20311. +    
  20312.      uint256 thash;
  20313.      scrypt_1024_1_1_256(BEGIN(nVersion), BEGIN(thash));
  20314.      return thash;
  20315. @@ -26,8 +31,9 @@ uint256 CBlockHeader::GetPoWHash() const
  20316.  std::string CBlock::ToString() const
  20317.  {
  20318.      std::stringstream s;
  20319. -    s << strprintf("CBlock(hash=%s, ver=0x%08x, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%u)\n",
  20320. +    s << strprintf("CBlock(hash=%s, powHash=%s, ver=0x%08x, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%u)\n",
  20321.          GetHash().ToString(),
  20322. +        GetPoWHash().ToString(),
  20323.          nVersion,
  20324.          hashPrevBlock.ToString(),
  20325.          hashMerkleRoot.ToString(),
  20326. diff --git a/src/primitives/transaction.cpp b/src/primitives/transaction.cpp
  20327. index 9b6a814..c2638f7 100644
  20328. --- a/src/primitives/transaction.cpp
  20329. +++ b/src/primitives/transaction.cpp
  20330. @@ -51,7 +51,7 @@ CTxOut::CTxOut(const CAmount& nValueIn, CScript scriptPubKeyIn)
  20331.  
  20332.  std::string CTxOut::ToString() const
  20333.  {
  20334. -    return strprintf("CTxOut(nValue=%d.%08d, scriptPubKey=%s)", nValue / COIN, nValue % COIN, HexStr(scriptPubKey).substr(0, 30));
  20335. +    return strprintf("CTxOut(nValue=%d.%07d, scriptPubKey=%s)", nValue / COIN, nValue % COIN, HexStr(scriptPubKey).substr(0, 30));   // LitecoinCash: Updated num decimals
  20336.  }
  20337.  
  20338.  CMutableTransaction::CMutableTransaction() : nVersion(CTransaction::CURRENT_VERSION), nLockTime(0) {}
  20339. diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp
  20340. index 7e10c0a..862e7a1 100644
  20341. --- a/src/qt/addressbookpage.cpp
  20342. +++ b/src/qt/addressbookpage.cpp
  20343. @@ -67,11 +67,11 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode _mode,
  20344.      switch(tab)
  20345.      {
  20346.      case SendingTab:
  20347. -        ui->labelExplanation->setText(tr("These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins."));
  20348. +        ui->labelExplanation->setText(tr("These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins."));
  20349.          ui->deleteAddress->setVisible(true);
  20350.          break;
  20351.      case ReceivingTab:
  20352. -        ui->labelExplanation->setText(tr("These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction."));
  20353. +        ui->labelExplanation->setText(tr("These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction."));
  20354.          ui->deleteAddress->setVisible(false);
  20355.          break;
  20356.      }
  20357. diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp
  20358. index ed0e410..c65cc0c 100644
  20359. --- a/src/qt/askpassphrasedialog.cpp
  20360. +++ b/src/qt/askpassphrasedialog.cpp
  20361. @@ -111,7 +111,7 @@ void AskPassphraseDialog::accept()
  20362.              break;
  20363.          }
  20364.          QMessageBox::StandardButton retval = QMessageBox::question(this, tr("Confirm wallet encryption"),
  20365. -                 tr("Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR LITECOINS</b>!") + "<br><br>" + tr("Are you sure you wish to encrypt your wallet?"),
  20366. +                 tr("Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR LCC</b>!") + "<br><br>" + tr("Are you sure you wish to encrypt your wallet?"),
  20367.                   QMessageBox::Yes|QMessageBox::Cancel,
  20368.                   QMessageBox::Cancel);
  20369.          if(retval == QMessageBox::Yes)
  20370. @@ -124,7 +124,7 @@ void AskPassphraseDialog::accept()
  20371.                                           "<qt>" +
  20372.                                           tr("%1 will close now to finish the encryption process. "
  20373.                                           "Remember that encrypting your wallet cannot fully protect "
  20374. -                                         "your litecoins from being stolen by malware infecting your computer.").arg(tr(PACKAGE_NAME)) +
  20375. +                                         "your coins from being stolen by malware infecting your computer.").arg(tr(PACKAGE_NAME)) +
  20376.                                           "<br><br><b>" +
  20377.                                           tr("IMPORTANT: Any previous backups you have made of your wallet file "
  20378.                                           "should be replaced with the newly generated, encrypted wallet file. "
  20379. diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
  20380. index a26417e..59414a5 100644
  20381. --- a/src/qt/bitcoin.cpp
  20382. +++ b/src/qt/bitcoin.cpp
  20383. @@ -531,7 +531,7 @@ void BitcoinApplication::shutdownResult()
  20384.  
  20385.  void BitcoinApplication::handleRunawayException(const QString &message)
  20386.  {
  20387. -    QMessageBox::critical(0, "Runaway exception", BitcoinGUI::tr("A fatal error occurred. Litecoin can no longer continue safely and will quit.") + QString("\n\n") + message);
  20388. +    QMessageBox::critical(0, "Runaway exception", BitcoinGUI::tr("A fatal error occurred. LitecoinCash can no longer continue safely and will quit.") + QString("\n\n") + message);
  20389.      ::exit(EXIT_FAILURE);
  20390.  }
  20391.  
  20392. diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc
  20393. index 5d4cee0..300f93e 100644
  20394. --- a/src/qt/bitcoin.qrc
  20395. +++ b/src/qt/bitcoin.qrc
  20396. @@ -1,7 +1,7 @@
  20397.  <!DOCTYPE RCC><RCC version="1.0">
  20398.      <qresource prefix="/icons">
  20399.          <file alias="bitcoin">res/icons/bitcoin.png</file>
  20400. -        <file alias="litecoin_splash">res/icons/litecoin_splash.png</file>
  20401. +        <file alias="litecoincash_splash">res/icons/litecoincash_splash.png</file>
  20402.          <file alias="address-book">res/icons/address-book.png</file>
  20403.          <file alias="quit">res/icons/quit.png</file>
  20404.          <file alias="send">res/icons/send.png</file>
  20405. diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
  20406. index 36d3dce..1ad2a79 100644
  20407. --- a/src/qt/bitcoingui.cpp
  20408. +++ b/src/qt/bitcoingui.cpp
  20409. @@ -113,6 +113,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *_platformStyle, const NetworkStyle *
  20410.      openRPCConsoleAction(0),
  20411.      openAction(0),
  20412.      showHelpMessageAction(0),
  20413. +    importPrivateKeyAction(0),
  20414.      trayIcon(0),
  20415.      trayIconMenu(0),
  20416.      notificator(0),
  20417. @@ -123,11 +124,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *_platformStyle, const NetworkStyle *
  20418.      spinnerFrame(0),
  20419.      platformStyle(_platformStyle)
  20420.  {
  20421. -    QSettings settings;
  20422. -    if (!restoreGeometry(settings.value("MainWindowGeometry").toByteArray())) {
  20423. -        // Restore failed (perhaps missing setting), center the window
  20424. -        move(QApplication::desktop()->availableGeometry().center() - frameGeometry().center());
  20425. -    }
  20426. +    GUIUtil::restoreWindowGeometry("nWindow", QSize(850, 550), this);
  20427.  
  20428.      QString windowTitle = tr(PACKAGE_NAME) + " - ";
  20429.  #ifdef ENABLE_WALLET
  20430. @@ -265,8 +262,7 @@ BitcoinGUI::~BitcoinGUI()
  20431.      // Unsubscribe from notifications from core
  20432.      unsubscribeFromCoreSignals();
  20433.  
  20434. -    QSettings settings;
  20435. -    settings.setValue("MainWindowGeometry", saveGeometry());
  20436. +    GUIUtil::saveWindowGeometry("nWindow", this);
  20437.      if(trayIcon) // Hide tray icon, as deleting will let it linger until quit (on Ubuntu)
  20438.          trayIcon->hide();
  20439.  #ifdef Q_OS_MAC
  20440. @@ -289,7 +285,7 @@ void BitcoinGUI::createActions()
  20441.      tabGroup->addAction(overviewAction);
  20442.  
  20443.      sendCoinsAction = new QAction(platformStyle->SingleColorIcon(":/icons/send"), tr("&Send"), this);
  20444. -    sendCoinsAction->setStatusTip(tr("Send coins to a Litecoin address"));
  20445. +    sendCoinsAction->setStatusTip(tr("Send coins to a LitecoinCash address"));
  20446.      sendCoinsAction->setToolTip(sendCoinsAction->statusTip());
  20447.      sendCoinsAction->setCheckable(true);
  20448.      sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2));
  20449. @@ -300,7 +296,7 @@ void BitcoinGUI::createActions()
  20450.      sendCoinsMenuAction->setToolTip(sendCoinsMenuAction->statusTip());
  20451.  
  20452.      receiveCoinsAction = new QAction(platformStyle->SingleColorIcon(":/icons/receiving_addresses"), tr("&Receive"), this);
  20453. -    receiveCoinsAction->setStatusTip(tr("Request payments (generates QR codes and litecoin: URIs)"));
  20454. +    receiveCoinsAction->setStatusTip(tr("Request payments (generates QR codes and litecoincash: URIs)"));
  20455.      receiveCoinsAction->setToolTip(receiveCoinsAction->statusTip());
  20456.      receiveCoinsAction->setCheckable(true);
  20457.      receiveCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3));
  20458. @@ -360,9 +356,9 @@ void BitcoinGUI::createActions()
  20459.      changePassphraseAction = new QAction(platformStyle->TextColorIcon(":/icons/key"), tr("&Change Passphrase..."), this);
  20460.      changePassphraseAction->setStatusTip(tr("Change the passphrase used for wallet encryption"));
  20461.      signMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/edit"), tr("Sign &message..."), this);
  20462. -    signMessageAction->setStatusTip(tr("Sign messages with your Litecoin addresses to prove you own them"));
  20463. +    signMessageAction->setStatusTip(tr("Sign messages with your LitecoinCash addresses to prove you own them"));
  20464.      verifyMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/verify"), tr("&Verify message..."), this);
  20465. -    verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Litecoin addresses"));
  20466. +    verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified LitecoinCash addresses"));
  20467.  
  20468.      openRPCConsoleAction = new QAction(platformStyle->TextColorIcon(":/icons/debugwindow"), tr("&Debug window"), this);
  20469.      openRPCConsoleAction->setStatusTip(tr("Open debugging and diagnostic console"));
  20470. @@ -375,11 +371,14 @@ void BitcoinGUI::createActions()
  20471.      usedReceivingAddressesAction->setStatusTip(tr("Show the list of used receiving addresses and labels"));
  20472.  
  20473.      openAction = new QAction(platformStyle->TextColorIcon(":/icons/open"), tr("Open &URI..."), this);
  20474. -    openAction->setStatusTip(tr("Open a litecoin: URI or payment request"));
  20475. +    openAction->setStatusTip(tr("Open a litecoincash: URI or payment request"));
  20476.  
  20477.      showHelpMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/info"), tr("&Command-line options"), this);
  20478.      showHelpMessageAction->setMenuRole(QAction::NoRole);
  20479. -    showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible Litecoin command-line options").arg(tr(PACKAGE_NAME)));
  20480. +    showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible LitecoinCash command-line options").arg(tr(PACKAGE_NAME)));
  20481. +
  20482. +    importPrivateKeyAction = new QAction(platformStyle->TextColorIcon(":/icons/key"), tr("&Import private key..."), this);
  20483. +    importPrivateKeyAction->setToolTip(tr("Import a Litecoin or LitecoinCash private key"));
  20484.  
  20485.      connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
  20486.      connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked()));
  20487. @@ -402,6 +401,7 @@ void BitcoinGUI::createActions()
  20488.          connect(usedSendingAddressesAction, SIGNAL(triggered()), walletFrame, SLOT(usedSendingAddresses()));
  20489.          connect(usedReceivingAddressesAction, SIGNAL(triggered()), walletFrame, SLOT(usedReceivingAddresses()));
  20490.          connect(openAction, SIGNAL(triggered()), this, SLOT(openClicked()));
  20491. +        connect(importPrivateKeyAction, SIGNAL(triggered()), walletFrame, SLOT(importPrivateKey()));
  20492.      }
  20493.  #endif // ENABLE_WALLET
  20494.  
  20495. @@ -431,6 +431,8 @@ void BitcoinGUI::createMenuBar()
  20496.          file->addAction(usedSendingAddressesAction);
  20497.          file->addAction(usedReceivingAddressesAction);
  20498.          file->addSeparator();
  20499. +        file->addAction(importPrivateKeyAction);        
  20500. +        file->addSeparator();
  20501.      }
  20502.      file->addAction(quitAction);
  20503.  
  20504. @@ -572,6 +574,7 @@ void BitcoinGUI::setWalletActionsEnabled(bool enabled)
  20505.      usedSendingAddressesAction->setEnabled(enabled);
  20506.      usedReceivingAddressesAction->setEnabled(enabled);
  20507.      openAction->setEnabled(enabled);
  20508. +    importPrivateKeyAction->setEnabled(enabled);
  20509.  }
  20510.  
  20511.  void BitcoinGUI::createTrayIcon(const NetworkStyle *networkStyle)
  20512. @@ -733,7 +736,7 @@ void BitcoinGUI::updateNetworkState()
  20513.      QString tooltip;
  20514.  
  20515.      if (clientModel->getNetworkActive()) {
  20516. -        tooltip = tr("%n active connection(s) to Litecoin network", "", count) + QString(".<br>") + tr("Click to disable network activity.");
  20517. +        tooltip = tr("%n active connection(s) to LitecoinCash network", "", count) + QString(".<br>") + tr("Click to disable network activity.");
  20518.      } else {
  20519.          tooltip = tr("Network activity disabled.") + QString("<br>") + tr("Click to enable network activity again.");
  20520.          icon = ":/icons/network_disabled";
  20521. @@ -877,7 +880,7 @@ void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVer
  20522.  
  20523.  void BitcoinGUI::message(const QString &title, const QString &message, unsigned int style, bool *ret)
  20524.  {
  20525. -    QString strTitle = tr("Litecoin"); // default title
  20526. +    QString strTitle = tr("LitecoinCash"); // default title
  20527.      // Default to information icon
  20528.      int nMBoxIcon = QMessageBox::Information;
  20529.      int nNotifyIcon = Notificator::Information;
  20530. diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
  20531. index aa45ea1..7291a3c 100644
  20532. --- a/src/qt/bitcoingui.h
  20533. +++ b/src/qt/bitcoingui.h
  20534. @@ -111,7 +111,8 @@ private:
  20535.      QAction *openRPCConsoleAction;
  20536.      QAction *openAction;
  20537.      QAction *showHelpMessageAction;
  20538. -
  20539. +    QAction *importPrivateKeyAction;
  20540. +    
  20541.      QSystemTrayIcon *trayIcon;
  20542.      QMenu *trayIconMenu;
  20543.      Notificator *notificator;
  20544. diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp
  20545. index 70b252b..da4c55b 100644
  20546. --- a/src/qt/bitcoinunits.cpp
  20547. +++ b/src/qt/bitcoinunits.cpp
  20548. @@ -40,9 +40,9 @@ QString BitcoinUnits::name(int unit)
  20549.  {
  20550.      switch(unit)
  20551.      {
  20552. -    case BTC: return QString("LTC");
  20553. -    case mBTC: return QString("lites");
  20554. -    case uBTC: return QString("photons");
  20555. +    case BTC: return QString("LCC");
  20556. +    case mBTC: return QString("mLCC");
  20557. +    case uBTC: return QString::fromUtf8("?LCC");
  20558.      default: return QString("???");
  20559.      }
  20560.  }
  20561. @@ -51,9 +51,9 @@ QString BitcoinUnits::description(int unit)
  20562.  {
  20563.      switch(unit)
  20564.      {
  20565. -    case BTC: return QString("Litecoins");
  20566. -    case mBTC: return QString("Lites (1 / 1" THIN_SP_UTF8 "000)");
  20567. -    case uBTC: return QString("Photons (1 / 1" THIN_SP_UTF8 "000" THIN_SP_UTF8 "000)");
  20568. +    case BTC: return QString("LCC");
  20569. +    case mBTC: return QString("Milli-LCC (1 / 1" THIN_SP_UTF8 "000)");
  20570. +    case uBTC: return QString("Micro-LCC (1 / 1" THIN_SP_UTF8 "000" THIN_SP_UTF8 "000)");
  20571.      default: return QString("???");
  20572.      }
  20573.  }
  20574. @@ -62,10 +62,10 @@ qint64 BitcoinUnits::factor(int unit)
  20575.  {
  20576.      switch(unit)
  20577.      {
  20578. -    case BTC:  return 100000000;
  20579. -    case mBTC: return 100000;
  20580. -    case uBTC: return 100;
  20581. -    default:   return 100000000;
  20582. +    case BTC:  return 100000000 / COIN_SCALE;     // LitecoinCash: Updated factors
  20583. +    case mBTC: return 100000 / COIN_SCALE;
  20584. +    case uBTC: return 100 / COIN_SCALE;
  20585. +    default:   return 100000000 / COIN_SCALE;
  20586.      }
  20587.  }
  20588.  
  20589. @@ -73,15 +73,16 @@ int BitcoinUnits::decimals(int unit)
  20590.  {
  20591.      switch(unit)
  20592.      {
  20593. -    case BTC: return 8;
  20594. -    case mBTC: return 5;
  20595. -    case uBTC: return 2;
  20596. +    case BTC: return 7;                         // LitecoinCash: Updated decimals
  20597. +    case mBTC: return 4;
  20598. +    case uBTC: return 1;
  20599.      default: return 0;
  20600.      }
  20601.  }
  20602.  
  20603.  QString BitcoinUnits::format(int unit, const CAmount& nIn, bool fPlus, SeparatorStyle separators)
  20604.  {
  20605. +    
  20606.      // Note: not using straight sprintf here because we do NOT want
  20607.      // localized number formatting.
  20608.      if(!valid(unit))
  20609. diff --git a/src/qt/editaddressdialog.cpp b/src/qt/editaddressdialog.cpp
  20610. index 047ebd3..ae492ca 100644
  20611. --- a/src/qt/editaddressdialog.cpp
  20612. +++ b/src/qt/editaddressdialog.cpp
  20613. @@ -107,7 +107,7 @@ void EditAddressDialog::accept()
  20614.              break;
  20615.          case AddressTableModel::INVALID_ADDRESS:
  20616.              QMessageBox::warning(this, windowTitle(),
  20617. -                tr("The entered address \"%1\" is not a valid Litecoin address.").arg(ui->addressEdit->text()),
  20618. +                tr("The entered address \"%1\" is not a valid LitecoinCash address.").arg(ui->addressEdit->text()),
  20619.                  QMessageBox::Ok, QMessageBox::Ok);
  20620.              break;
  20621.          case AddressTableModel::DUPLICATE_ADDRESS:
  20622. diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui
  20623. index 0122c27..53874c3 100644
  20624. --- a/src/qt/forms/coincontroldialog.ui
  20625. +++ b/src/qt/forms/coincontroldialog.ui
  20626. @@ -132,7 +132,7 @@
  20627.            <enum>Qt::ActionsContextMenu</enum>
  20628.           </property>
  20629.           <property name="text">
  20630. -          <string notr="true">0.00 LTC</string>
  20631. +          <string notr="true">0.00 LCC</string>
  20632.           </property>
  20633.           <property name="textInteractionFlags">
  20634.            <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
  20635. @@ -212,7 +212,7 @@
  20636.            <enum>Qt::ActionsContextMenu</enum>
  20637.           </property>
  20638.           <property name="text">
  20639. -          <string notr="true">0.00 LTC</string>
  20640. +          <string notr="true">0.00 LCC</string>
  20641.           </property>
  20642.           <property name="textInteractionFlags">
  20643.            <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
  20644. @@ -257,7 +257,7 @@
  20645.            <enum>Qt::ActionsContextMenu</enum>
  20646.           </property>
  20647.           <property name="text">
  20648. -          <string notr="true">0.00 LTC</string>
  20649. +          <string notr="true">0.00 LCC</string>
  20650.           </property>
  20651.           <property name="textInteractionFlags">
  20652.            <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
  20653. @@ -292,7 +292,7 @@
  20654.            <enum>Qt::ActionsContextMenu</enum>
  20655.           </property>
  20656.           <property name="text">
  20657. -          <string notr="true">0.00 LTC</string>
  20658. +          <string notr="true">0.00 LCC</string>
  20659.           </property>
  20660.           <property name="textInteractionFlags">
  20661.            <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
  20662. diff --git a/src/qt/forms/modaloverlay.ui b/src/qt/forms/modaloverlay.ui
  20663. index cda0106..cd2ce8f 100644
  20664. --- a/src/qt/forms/modaloverlay.ui
  20665. +++ b/src/qt/forms/modaloverlay.ui
  20666. @@ -130,7 +130,7 @@ QLabel { color: rgb(40,40,40);  }</string>
  20667.               <item>
  20668.                <widget class="QLabel" name="infoText">
  20669.                 <property name="text">
  20670. -                <string>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</string>
  20671. +                <string>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</string>
  20672.                 </property>
  20673.                 <property name="textFormat">
  20674.                  <enum>Qt::RichText</enum>
  20675. @@ -149,7 +149,7 @@ QLabel { color: rgb(40,40,40);  }</string>
  20676.                  </font>
  20677.                 </property>
  20678.                 <property name="text">
  20679. -                <string>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</string>
  20680. +                <string>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</string>
  20681.                 </property>
  20682.                 <property name="textFormat">
  20683.                  <enum>Qt::RichText</enum>
  20684. diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui
  20685. index e1c5593..1e08a71 100644
  20686. --- a/src/qt/forms/optionsdialog.ui
  20687. +++ b/src/qt/forms/optionsdialog.ui
  20688. @@ -189,7 +189,7 @@
  20689.         <item>
  20690.          <widget class="QCheckBox" name="mapPortUpnp">
  20691.           <property name="toolTip">
  20692. -          <string>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</string>
  20693. +          <string>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</string>
  20694.           </property>
  20695.           <property name="text">
  20696.            <string>Map port using &amp;UPnP</string>
  20697. @@ -209,7 +209,7 @@
  20698.         <item>
  20699.          <widget class="QCheckBox" name="connectSocks">
  20700.           <property name="toolTip">
  20701. -          <string>Connect to the Litecoin network through a SOCKS5 proxy.</string>
  20702. +          <string>Connect to the LitecoinCash network through a SOCKS5 proxy.</string>
  20703.           </property>
  20704.           <property name="text">
  20705.            <string>&amp;Connect through SOCKS5 proxy (default proxy):</string>
  20706. @@ -396,7 +396,7 @@
  20707.         <item>
  20708.          <widget class="QCheckBox" name="connectSocksTor">
  20709.           <property name="toolTip">
  20710. -          <string>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</string>
  20711. +          <string>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</string>
  20712.           </property>
  20713.           <property name="text">
  20714.            <string>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</string>
  20715. diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
  20716. index fae6dec..78abd86 100644
  20717. --- a/src/qt/forms/overviewpage.ui
  20718. +++ b/src/qt/forms/overviewpage.ui
  20719. @@ -73,7 +73,7 @@
  20720.                 </size>
  20721.                </property>
  20722.                <property name="toolTip">
  20723. -               <string>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</string>
  20724. +               <string>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</string>
  20725.                </property>
  20726.                <property name="text">
  20727.                 <string/>
  20728. @@ -129,7 +129,7 @@
  20729.                 <string>Unconfirmed transactions to watch-only addresses</string>
  20730.                </property>
  20731.                <property name="text">
  20732. -               <string notr="true">0.000?000?00 LTC</string>
  20733. +               <string notr="true">0.000?000?00 LCC</string>
  20734.                </property>
  20735.                <property name="alignment">
  20736.                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  20737. @@ -154,7 +154,7 @@
  20738.                 <string>Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance</string>
  20739.                </property>
  20740.                <property name="text">
  20741. -               <string notr="true">0.000?000?00 LTC</string>
  20742. +               <string notr="true">0.000?000?00 LCC</string>
  20743.                </property>
  20744.                <property name="alignment">
  20745.                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  20746. @@ -179,7 +179,7 @@
  20747.                 <string>Mined balance in watch-only addresses that has not yet matured</string>
  20748.                </property>
  20749.                <property name="text">
  20750. -               <string notr="true">0.000?000?00 LTC</string>
  20751. +               <string notr="true">0.000?000?00 LCC</string>
  20752.                </property>
  20753.                <property name="alignment">
  20754.                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  20755. @@ -237,7 +237,7 @@
  20756.                 <string>Mined balance that has not yet matured</string>
  20757.                </property>
  20758.                <property name="text">
  20759. -               <string notr="true">0.000?000?00 LTC</string>
  20760. +               <string notr="true">0.000?000?00 LCC</string>
  20761.                </property>
  20762.                <property name="alignment">
  20763.                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  20764. @@ -282,7 +282,7 @@
  20765.                 <string>Your current total balance</string>
  20766.                </property>
  20767.                <property name="text">
  20768. -               <string notr="true">0.000?000?00 LTC</string>
  20769. +               <string notr="true">0.000?000?00 LCC</string>
  20770.                </property>
  20771.                <property name="alignment">
  20772.                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  20773. @@ -307,7 +307,7 @@
  20774.                 <string>Current total balance in watch-only addresses</string>
  20775.                </property>
  20776.                <property name="text">
  20777. -               <string notr="true">0.000?000?00 LTC</string>
  20778. +               <string notr="true">0.000?000?00 LCC</string>
  20779.                </property>
  20780.                <property name="alignment">
  20781.                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  20782. @@ -349,7 +349,7 @@
  20783.                 <string>Your current spendable balance</string>
  20784.                </property>
  20785.                <property name="text">
  20786. -               <string notr="true">0.000?000?00 LTC</string>
  20787. +               <string notr="true">0.000?000?00 LCC</string>
  20788.                </property>
  20789.                <property name="alignment">
  20790.                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  20791. @@ -374,7 +374,7 @@
  20792.                 <string>Your current balance in watch-only addresses</string>
  20793.                </property>
  20794.                <property name="text">
  20795. -               <string notr="true">0.000?000?00 LTC</string>
  20796. +               <string notr="true">0.000?000?00 LCC</string>
  20797.                </property>
  20798.                <property name="alignment">
  20799.                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  20800. @@ -459,7 +459,7 @@
  20801.                 </size>
  20802.                </property>
  20803.                <property name="toolTip">
  20804. -               <string>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</string>
  20805. +               <string>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</string>
  20806.                </property>
  20807.                <property name="text">
  20808.                 <string/>
  20809. diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
  20810. index 4a1d712..2983a7e 100644
  20811. --- a/src/qt/forms/receivecoinsdialog.ui
  20812. +++ b/src/qt/forms/receivecoinsdialog.ui
  20813. @@ -48,7 +48,7 @@
  20814.          <item row="6" column="0">
  20815.           <widget class="QLabel" name="label_3">
  20816.            <property name="toolTip">
  20817. -           <string>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 Litecoin network.</string>
  20818. +           <string>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 LitecoinCash network.</string>
  20819.            </property>
  20820.            <property name="text">
  20821.             <string>&amp;Message:</string>
  20822. @@ -71,7 +71,7 @@
  20823.          <item row="6" column="2">
  20824.           <widget class="QLineEdit" name="reqMessage">
  20825.            <property name="toolTip">
  20826. -           <string>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 Litecoin network.</string>
  20827. +           <string>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 LitecoinCash network.</string>
  20828.            </property>
  20829.           </widget>
  20830.          </item>
  20831. diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
  20832. index ddbec16..4c28b9b 100644
  20833. --- a/src/qt/forms/sendcoinsdialog.ui
  20834. +++ b/src/qt/forms/sendcoinsdialog.ui
  20835. @@ -324,7 +324,7 @@
  20836.                    <enum>Qt::ActionsContextMenu</enum>
  20837.                   </property>
  20838.                   <property name="text">
  20839. -                  <string notr="true">0.00 LTC</string>
  20840. +                  <string notr="true">0.00 LCC</string>
  20841.                   </property>
  20842.                   <property name="textInteractionFlags">
  20843.                    <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
  20844. @@ -404,7 +404,7 @@
  20845.                    <enum>Qt::ActionsContextMenu</enum>
  20846.                   </property>
  20847.                   <property name="text">
  20848. -                  <string notr="true">0.00 LTC</string>
  20849. +                  <string notr="true">0.00 LCC</string>
  20850.                   </property>
  20851.                   <property name="textInteractionFlags">
  20852.                    <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
  20853. @@ -455,7 +455,7 @@
  20854.                    <enum>Qt::ActionsContextMenu</enum>
  20855.                   </property>
  20856.                   <property name="text">
  20857. -                  <string notr="true">0.00 LTC</string>
  20858. +                  <string notr="true">0.00 LCC</string>
  20859.                   </property>
  20860.                   <property name="textInteractionFlags">
  20861.                    <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
  20862. @@ -484,7 +484,7 @@
  20863.                    <enum>Qt::ActionsContextMenu</enum>
  20864.                   </property>
  20865.                   <property name="text">
  20866. -                  <string notr="true">0.00 LTC</string>
  20867. +                  <string notr="true">0.00 LCC</string>
  20868.                   </property>
  20869.                   <property name="textInteractionFlags">
  20870.                    <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
  20871. @@ -846,13 +846,19 @@
  20872.                 <item>
  20873.                  <layout class="QHBoxLayout" name="horizontalLayoutFee13">
  20874.                   <item>
  20875. -                  <widget class="QLabel" name="labelCustomPerKilobyte">
  20876. +                  <widget class="QRadioButton" name="radioCustomPerKilobyte">
  20877.                     <property name="toolTip">
  20878.                      <string>If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 satoshis in fee, while &quot;total at least&quot; pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte.</string>
  20879.                     </property>
  20880.                     <property name="text">
  20881.                      <string>per kilobyte</string>
  20882.                     </property>
  20883. +                   <property name="checked">
  20884. +                    <bool>true</bool>
  20885. +                   </property>
  20886. +                   <attribute name="buttonGroup">
  20887. +                    <string notr="true">groupCustomFee</string>
  20888. +                   </attribute>
  20889.                    </widget>
  20890.                   </item>
  20891.                   <item>
  20892. @@ -878,7 +884,7 @@
  20893.                   <item>
  20894.                    <widget class="QCheckBox" name="checkBoxMinimumFee">
  20895.                     <property name="toolTip">
  20896. -                    <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</string>
  20897. +                    <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</string>
  20898.                     </property>
  20899.                     <property name="text">
  20900.                      <string/>
  20901. @@ -891,7 +897,7 @@
  20902.                      <bool>true</bool>
  20903.                     </property>
  20904.                     <property name="toolTip">
  20905. -                    <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</string>
  20906. +                    <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</string>
  20907.                     </property>
  20908.                     <property name="text">
  20909.                      <string>(read the tooltip)</string>
  20910. @@ -1105,6 +1111,16 @@
  20911.               </item>
  20912.              </layout>
  20913.             </item>
  20914. +           <item>
  20915. +            <widget class="QCheckBox" name="optInRBF">
  20916. +             <property name="text">
  20917. +              <string>Request Replace-By-Fee</string>
  20918. +             </property>
  20919. +             <property name="toolTip">
  20920. +              <string>Indicates that the sender may wish to replace this transaction with a new one paying higher fees (prior to being confirmed).</string>
  20921. +             </property>
  20922. +            </widget>
  20923. +           </item>
  20924.            </layout>
  20925.           </widget>
  20926.          </item>
  20927. @@ -1237,7 +1253,7 @@
  20928.            <cursorShape>IBeamCursor</cursorShape>
  20929.           </property>
  20930.           <property name="text">
  20931. -          <string notr="true">123.456 LTC</string>
  20932. +          <string notr="true">123.456 LCC</string>
  20933.           </property>
  20934.           <property name="textInteractionFlags">
  20935.            <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
  20936. @@ -1269,5 +1285,6 @@
  20937.   <connections/>
  20938.   <buttongroups>
  20939.    <buttongroup name="groupFee"/>
  20940. +  <buttongroup name="groupCustomFee"/>
  20941.   </buttongroups>
  20942.  </ui>
  20943. diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
  20944. index 7b2c471..818122c 100644
  20945. --- a/src/qt/forms/sendcoinsentry.ui
  20946. +++ b/src/qt/forms/sendcoinsentry.ui
  20947. @@ -57,7 +57,7 @@
  20948.        <item>
  20949.         <widget class="QValidatedLineEdit" name="payTo">
  20950.          <property name="toolTip">
  20951. -         <string>The Litecoin address to send the payment to</string>
  20952. +         <string>The LitecoinCash address to send the payment to</string>
  20953.          </property>
  20954.         </widget>
  20955.        </item>
  20956. @@ -170,7 +170,7 @@
  20957.        <item>
  20958.         <widget class="QCheckBox" name="checkboxSubtractFeeFromAmount">
  20959.          <property name="toolTip">
  20960. -         <string>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</string>
  20961. +         <string>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</string>
  20962.          </property>
  20963.          <property name="text">
  20964.           <string>S&amp;ubtract fee from amount</string>
  20965. @@ -192,7 +192,7 @@
  20966.      <item row="3" column="1">
  20967.       <widget class="QLabel" name="messageTextLabel">
  20968.        <property name="toolTip">
  20969. -       <string>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</string>
  20970. +       <string>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</string>
  20971.        </property>
  20972.        <property name="textFormat">
  20973.         <enum>Qt::PlainText</enum>
  20974. diff --git a/src/qt/forms/signverifymessagedialog.ui b/src/qt/forms/signverifymessagedialog.ui
  20975. index 9004d06..d21727b 100644
  20976. --- a/src/qt/forms/signverifymessagedialog.ui
  20977. +++ b/src/qt/forms/signverifymessagedialog.ui
  20978. @@ -30,7 +30,7 @@
  20979.         <item>
  20980.          <widget class="QLabel" name="infoLabel_SM">
  20981.           <property name="text">
  20982. -          <string>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</string>
  20983. +          <string>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</string>
  20984.           </property>
  20985.           <property name="textFormat">
  20986.            <enum>Qt::PlainText</enum>
  20987. @@ -48,7 +48,7 @@
  20988.           <item>
  20989.            <widget class="QValidatedLineEdit" name="addressIn_SM">
  20990.             <property name="toolTip">
  20991. -            <string>The Litecoin address to sign the message with</string>
  20992. +            <string>The LitecoinCash address to sign the message with</string>
  20993.             </property>
  20994.            </widget>
  20995.           </item>
  20996. @@ -152,7 +152,7 @@
  20997.           <item>
  20998.            <widget class="QPushButton" name="signMessageButton_SM">
  20999.             <property name="toolTip">
  21000. -            <string>Sign the message to prove you own this Litecoin address</string>
  21001. +            <string>Sign the message to prove you own this LitecoinCash address</string>
  21002.             </property>
  21003.             <property name="text">
  21004.              <string>Sign &amp;Message</string>
  21005. @@ -258,7 +258,7 @@
  21006.           <item>
  21007.            <widget class="QValidatedLineEdit" name="addressIn_VM">
  21008.             <property name="toolTip">
  21009. -            <string>The Litecoin address the message was signed with</string>
  21010. +            <string>The LitecoinCash address the message was signed with</string>
  21011.             </property>
  21012.            </widget>
  21013.           </item>
  21014. @@ -295,7 +295,7 @@
  21015.           <item>
  21016.            <widget class="QPushButton" name="verifyMessageButton_VM">
  21017.             <property name="toolTip">
  21018. -            <string>Verify the message to ensure it was signed with the specified Litecoin address</string>
  21019. +            <string>Verify the message to ensure it was signed with the specified LitecoinCash address</string>
  21020.             </property>
  21021.             <property name="text">
  21022.              <string>Verify &amp;Message</string>
  21023. diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h
  21024. index a5efd8a..c28e0dc 100644
  21025. --- a/src/qt/guiconstants.h
  21026. +++ b/src/qt/guiconstants.h
  21027. @@ -48,9 +48,9 @@ static const int MAX_URI_LENGTH = 255;
  21028.  /* Number of frames in spinner animation */
  21029.  #define SPINNER_FRAMES 36
  21030.  
  21031. -#define QAPP_ORG_NAME "Litecoin"
  21032. -#define QAPP_ORG_DOMAIN "litecoin.org"
  21033. -#define QAPP_APP_NAME_DEFAULT "Litecoin-Qt"
  21034. -#define QAPP_APP_NAME_TESTNET "Litecoin-Qt-testnet"
  21035. +#define QAPP_ORG_NAME "LitecoinCash"
  21036. +#define QAPP_ORG_DOMAIN "litecoinca.sh"
  21037. +#define QAPP_APP_NAME_DEFAULT "LitecoinCash-Qt"
  21038. +#define QAPP_APP_NAME_TESTNET "LitecoinCash-Qt-testnet"
  21039.  
  21040.  #endif // BITCOIN_QT_GUICONSTANTS_H
  21041. diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
  21042. index c3836ee..9add88e 100644
  21043. --- a/src/qt/guiutil.cpp
  21044. +++ b/src/qt/guiutil.cpp
  21045. @@ -127,7 +127,7 @@ void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent)
  21046.  #if QT_VERSION >= 0x040700
  21047.      // We don't want translators to use own addresses in translations
  21048.      // and this is the only place, where this address is supplied.
  21049. -    widget->setPlaceholderText(QObject::tr("Enter a Litecoin address (e.g. %1)").arg(
  21050. +    widget->setPlaceholderText(QObject::tr("Enter a LitecoinCash address (e.g. %1)").arg(
  21051.          QString::fromStdString(DummyAddress(Params()))));
  21052.  #endif
  21053.      widget->setValidator(new BitcoinAddressEntryValidator(parent));
  21054. @@ -146,7 +146,7 @@ void setupAmountWidget(QLineEdit *widget, QWidget *parent)
  21055.  bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out)
  21056.  {
  21057.      // return if URI is not valid or is no bitcoin: URI
  21058. -    if(!uri.isValid() || uri.scheme() != QString("litecoin"))
  21059. +    if(!uri.isValid() || uri.scheme() != QString("litecoincash"))
  21060.          return false;
  21061.  
  21062.      SendCoinsRecipient rv;
  21063. @@ -210,9 +210,9 @@ bool parseBitcoinURI(QString uri, SendCoinsRecipient *out)
  21064.      //
  21065.      //    Cannot handle this later, because bitcoin:// will cause Qt to see the part after // as host,
  21066.      //    which will lower-case it (and thus invalidate the address).
  21067. -    if(uri.startsWith("litecoin://", Qt::CaseInsensitive))
  21068. +    if(uri.startsWith("litecoincash://", Qt::CaseInsensitive))
  21069.      {
  21070. -        uri.replace(0, 11, "litecoin:");
  21071. +        uri.replace(0, 11, "litecoincash:");
  21072.      }
  21073.      QUrl uriInstance(uri);
  21074.      return parseBitcoinURI(uriInstance, out);
  21075. @@ -220,7 +220,7 @@ bool parseBitcoinURI(QString uri, SendCoinsRecipient *out)
  21076.  
  21077.  QString formatBitcoinURI(const SendCoinsRecipient &info)
  21078.  {
  21079. -    QString ret = QString("litecoin:%1").arg(info.address);
  21080. +    QString ret = QString("litecoincash:%1").arg(info.address);
  21081.      int paramCount = 0;
  21082.  
  21083.      if (info.amount)
  21084. @@ -615,10 +615,10 @@ fs::path static StartupShortcutPath()
  21085.  {
  21086.      std::string chain = ChainNameFromCommandLine();
  21087.      if (chain == CBaseChainParams::MAIN)
  21088. -        return GetSpecialFolderPath(CSIDL_STARTUP) / "Litecoin.lnk";
  21089. +        return GetSpecialFolderPath(CSIDL_STARTUP) / "LitecoinCash.lnk";
  21090.      if (chain == CBaseChainParams::TESTNET) // Remove this special case when CBaseChainParams::TESTNET = "testnet4"
  21091. -        return GetSpecialFolderPath(CSIDL_STARTUP) / "Litecoin (testnet).lnk";
  21092. -    return GetSpecialFolderPath(CSIDL_STARTUP) / strprintf("Litecoin (%s).lnk", chain);
  21093. +        return GetSpecialFolderPath(CSIDL_STARTUP) / "LitecoinCash (testnet).lnk";
  21094. +    return GetSpecialFolderPath(CSIDL_STARTUP) / strprintf("LitecoinCash (%s).lnk", chain);
  21095.  }
  21096.  
  21097.  bool GetStartOnSystemStartup()
  21098. @@ -713,8 +713,8 @@ fs::path static GetAutostartFilePath()
  21099.  {
  21100.      std::string chain = ChainNameFromCommandLine();
  21101.      if (chain == CBaseChainParams::MAIN)
  21102. -        return GetAutostartDir() / "litecoin.desktop";
  21103. -    return GetAutostartDir() / strprintf("litecoin-%s.lnk", chain);
  21104. +        return GetAutostartDir() / "litecoincash.desktop";
  21105. +    return GetAutostartDir() / strprintf("litecoincash-%s.lnk", chain);
  21106.  }
  21107.  
  21108.  bool GetStartOnSystemStartup()
  21109. @@ -757,9 +757,9 @@ bool SetStartOnSystemStartup(bool fAutoStart)
  21110.          optionFile << "[Desktop Entry]\n";
  21111.          optionFile << "Type=Application\n";
  21112.          if (chain == CBaseChainParams::MAIN)
  21113. -            optionFile << "Name=Litecoin\n";
  21114. +            optionFile << "Name=LitecoinCash\n";
  21115.          else
  21116. -            optionFile << strprintf("Name=Litecoin (%s)\n", chain);
  21117. +            optionFile << strprintf("Name=LitecoinCash (%s)\n", chain);
  21118.          optionFile << "Exec=" << pszExePath << strprintf(" -min -testnet=%d -regtest=%d\n", gArgs.GetBoolArg("-testnet", false), gArgs.GetBoolArg("-regtest", false));
  21119.          optionFile << "Terminal=false\n";
  21120.          optionFile << "Hidden=false\n";
  21121. @@ -842,6 +842,32 @@ bool SetStartOnSystemStartup(bool fAutoStart) { return false; }
  21122.  
  21123.  #endif
  21124.  
  21125. +void saveWindowGeometry(const QString& strSetting, QWidget *parent)
  21126. +{
  21127. +    QSettings settings;
  21128. +    settings.setValue(strSetting + "Pos", parent->pos());
  21129. +    settings.setValue(strSetting + "Size", parent->size());
  21130. +}
  21131. +
  21132. +void restoreWindowGeometry(const QString& strSetting, const QSize& defaultSize, QWidget *parent)
  21133. +{
  21134. +    QSettings settings;
  21135. +    QPoint pos = settings.value(strSetting + "Pos").toPoint();
  21136. +    QSize size = settings.value(strSetting + "Size", defaultSize).toSize();
  21137. +
  21138. +    parent->resize(size);
  21139. +    parent->move(pos);
  21140. +
  21141. +    if ((!pos.x() && !pos.y()) || (QApplication::desktop()->screenNumber(parent) == -1))
  21142. +    {
  21143. +        QRect screen = QApplication::desktop()->screenGeometry();
  21144. +        QPoint defaultPos((screen.width() - defaultSize.width()) / 2,
  21145. +                          (screen.height() - defaultSize.height()) / 2);
  21146. +        parent->resize(defaultSize);
  21147. +        parent->move(defaultPos);
  21148. +    }
  21149. +}
  21150. +
  21151.  void setClipboard(const QString& str)
  21152.  {
  21153.      QApplication::clipboard()->setText(str, QClipboard::Clipboard);
  21154. diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h
  21155. index d10818d..d6aa8c4 100644
  21156. --- a/src/qt/guiutil.h
  21157. +++ b/src/qt/guiutil.h
  21158. @@ -179,6 +179,11 @@ namespace GUIUtil
  21159.      bool GetStartOnSystemStartup();
  21160.      bool SetStartOnSystemStartup(bool fAutoStart);
  21161.  
  21162. +    /** Save window size and position */
  21163. +    void saveWindowGeometry(const QString& strSetting, QWidget *parent);
  21164. +    /** Restore window size and position */
  21165. +    void restoreWindowGeometry(const QString& strSetting, const QSize &defaultSizeIn, QWidget *parent);
  21166. +
  21167.      /* Convert QString to OS specific boost path through UTF-8 */
  21168.      fs::path qstringToBoostPath(const QString &path);
  21169.  
  21170. diff --git a/src/qt/intro.cpp b/src/qt/intro.cpp
  21171. index 6ff0373..c78c510 100644
  21172. --- a/src/qt/intro.cpp
  21173. +++ b/src/qt/intro.cpp
  21174. @@ -24,7 +24,7 @@ static const uint64_t GB_BYTES = 1000000000LL;
  21175.  /* Minimum free space (in GB) needed for data directory */
  21176.  static const uint64_t BLOCK_CHAIN_SIZE = 14;
  21177.  /* Minimum free space (in GB) needed for data directory when pruned; Does not include prune target */
  21178. -static const uint64_t CHAIN_STATE_SIZE = 3;
  21179. +static const uint64_t CHAIN_STATE_SIZE = 4;
  21180.  /* Total required space (in GB) depending on user choice (prune, not prune) */
  21181.  static uint64_t requiredSpace;
  21182.  
  21183. @@ -126,8 +126,8 @@ Intro::Intro(QWidget *parent) :
  21184.      ui->lblExplanation1->setText(ui->lblExplanation1->text()
  21185.          .arg(tr(PACKAGE_NAME))
  21186.          .arg(BLOCK_CHAIN_SIZE)
  21187. -        .arg(2009)
  21188. -        .arg(tr("Bitcoin"))
  21189. +        .arg(2011)
  21190. +        .arg(tr("Litecoin"))
  21191.      );
  21192.      ui->lblExplanation2->setText(ui->lblExplanation2->text().arg(tr(PACKAGE_NAME)));
  21193.  
  21194. diff --git a/src/qt/locale/bitcoin_af.ts b/src/qt/locale/bitcoin_af.ts
  21195. index f9c07d6..7ee8b56 100644
  21196. --- a/src/qt/locale/bitcoin_af.ts
  21197. +++ b/src/qt/locale/bitcoin_af.ts
  21198. @@ -62,12 +62,12 @@
  21199.          <translation>Ontvanger adresse</translation>
  21200.      </message>
  21201.      <message>
  21202. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21203. -        <translation>Hierdie is die adresse vanwaar u Litecoin betalings stuur. U moet altyd die bedrag en die adres van die ontvanger nagaan voordat u enige munte stuur.</translation>
  21204. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21205. +        <translation>Hierdie is die adresse vanwaar u LitecoinCash betalings stuur. U moet altyd die bedrag en die adres van die ontvanger nagaan voordat u enige munte stuur.</translation>
  21206.      </message>
  21207.      <message>
  21208. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21209. -        <translation>Hierdie is die adresse waar u Litecoins sal ontvang. Ons beveel aan dat u 'n nuwe adres kies vir elke transaksie</translation>
  21210. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21211. +        <translation>Hierdie is die adresse waar u LCC sal ontvang. Ons beveel aan dat u 'n nuwe adres kies vir elke transaksie</translation>
  21212.      </message>
  21213.      <message>
  21214.          <source>&amp;Copy Address</source>
  21215. @@ -168,8 +168,8 @@
  21216.          <translation>Bevestig dat die beursie gekodifiseer is</translation>
  21217.      </message>
  21218.      <message>
  21219. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  21220. -        <translation>Waarskuwing: Indien u die beursie kodifiseer en u vergeet u wagwoord &lt;b&gt;VERLOOR U AL U LITECOINS&lt;/b&gt;!</translation>
  21221. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  21222. +        <translation>Waarskuwing: Indien u die beursie kodifiseer en u vergeet u wagwoord &lt;b&gt;VERLOOR U AL U LCC&lt;/b&gt;!</translation>
  21223.      </message>
  21224.      <message>
  21225.          <source>Are you sure you wish to encrypt your wallet?</source>
  21226. @@ -330,8 +330,8 @@
  21227.          <translation>Besig met herindeksering van blokke op hardeskyf...</translation>
  21228.      </message>
  21229.      <message>
  21230. -        <source>Send coins to a Litecoin address</source>
  21231. -        <translation>Stuur munte na 'n Litecoin adres</translation>
  21232. +        <source>Send coins to a LitecoinCash address</source>
  21233. +        <translation>Stuur munte na 'n LitecoinCash adres</translation>
  21234.      </message>
  21235.      <message>
  21236.          <source>Backup wallet to another location</source>
  21237. @@ -350,8 +350,8 @@
  21238.          <translation>Maak ontfouting en diagnostiese konsole oop</translation>
  21239.      </message>
  21240.      <message>
  21241. -        <source>Litecoin</source>
  21242. -        <translation>Litecoin</translation>
  21243. +        <source>LitecoinCash</source>
  21244. +        <translation>LitecoinCash</translation>
  21245.      </message>
  21246.      <message>
  21247.          <source>Wallet</source>
  21248. @@ -378,12 +378,12 @@
  21249.          <translation>Kodifiseer die private sleutes wat aan jou beursie gekoppel is.</translation>
  21250.      </message>
  21251.      <message>
  21252. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  21253. -        <translation>Onderteken boodskappe met u Litecoin adresse om u eienaarskap te bewys</translation>
  21254. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  21255. +        <translation>Onderteken boodskappe met u LitecoinCash adresse om u eienaarskap te bewys</translation>
  21256.      </message>
  21257.      <message>
  21258. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  21259. -        <translation>Verifieër boodskappe om seker te maak dat dit met die gespesifiseerde Litecoin adresse</translation>
  21260. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  21261. +        <translation>Verifieër boodskappe om seker te maak dat dit met die gespesifiseerde LitecoinCash adresse</translation>
  21262.      </message>
  21263.      <message>
  21264.          <source>&amp;File</source>
  21265. @@ -398,8 +398,8 @@
  21266.          <translation>Orebalk</translation>
  21267.      </message>
  21268.      <message>
  21269. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  21270. -        <translation>Versoek betalings (genereer QR-kodes en litecoin: URI's)</translation>
  21271. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  21272. +        <translation>Versoek betalings (genereer QR-kodes en litecoincash: URI's)</translation>
  21273.      </message>
  21274.      <message>
  21275.          <source>Show the list of used sending addresses and labels</source>
  21276. @@ -410,8 +410,8 @@
  21277.          <translation>Vertoon die lys van gebruikte ontvangers-adresse en etikette</translation>
  21278.      </message>
  21279.      <message>
  21280. -        <source>Open a litecoin: URI or payment request</source>
  21281. -        <translation>Skep 'n litecoin: URI of betalingsversoek</translation>
  21282. +        <source>Open a litecoincash: URI or payment request</source>
  21283. +        <translation>Skep 'n litecoincash: URI of betalingsversoek</translation>
  21284.      </message>
  21285.      <message>
  21286.          <source>Indexing blocks on disk...</source>
  21287. @@ -1012,8 +1012,8 @@
  21288.  <context>
  21289.      <name>bitcoin-core</name>
  21290.      <message>
  21291. -        <source>Litecoin Core</source>
  21292. -        <translation>Litecoin Kern</translation>
  21293. +        <source>LitecoinCash Core</source>
  21294. +        <translation>LitecoinCash Kern</translation>
  21295.      </message>
  21296.      <message>
  21297.          <source>Information</source>
  21298. diff --git a/src/qt/locale/bitcoin_af_ZA.ts b/src/qt/locale/bitcoin_af_ZA.ts
  21299. index 01164f7..42f7a1f 100644
  21300. --- a/src/qt/locale/bitcoin_af_ZA.ts
  21301. +++ b/src/qt/locale/bitcoin_af_ZA.ts
  21302. @@ -214,8 +214,8 @@
  21303.          <translation>&amp;Opsies</translation>
  21304.      </message>
  21305.      <message>
  21306. -        <source>Litecoin</source>
  21307. -        <translation>Litecoin</translation>
  21308. +        <source>LitecoinCash</source>
  21309. +        <translation>LitecoinCash</translation>
  21310.      </message>
  21311.      <message>
  21312.          <source>Wallet</source>
  21313. diff --git a/src/qt/locale/bitcoin_ar.ts b/src/qt/locale/bitcoin_ar.ts
  21314. index 37b4145..f98ad56 100644
  21315. --- a/src/qt/locale/bitcoin_ar.ts
  21316. +++ b/src/qt/locale/bitcoin_ar.ts
  21317. @@ -62,11 +62,11 @@
  21318.          <translation>??????? ????????</translation>
  21319.      </message>
  21320.      <message>
  21321. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21322. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21323.          <translation>??? ?? ?????? Litecion ??????? ?? ?? ??? ????? ???????. ???? ????? ?? ?????? ? ????? ?????? ???????? ??? ????? ???????</translation>
  21324.      </message>
  21325.      <message>
  21326. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21327. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21328.          <translation>??? ?? ?????? Litecion ??????? ?? ?? ??? ??????? ???????. ???? ??????? ????? ???? ?? ??? ?? ????</translation>
  21329.      </message>
  21330.      <message>
  21331. @@ -168,8 +168,8 @@
  21332.          <translation>????? ????? ???????</translation>
  21333.      </message>
  21334.      <message>
  21335. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  21336. -        <translation>?????: ??? ??? ?????? ?????? ????? ???? ?????? ????? ??, ????? ?? ????? LITECOINS ?????? ??.</translation>
  21337. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  21338. +        <translation>?????: ??? ??? ?????? ?????? ????? ???? ?????? ????? ??, ????? ?? ????? LCC ?????? ??.</translation>
  21339.      </message>
  21340.      <message>
  21341.          <source>Are you sure you wish to encrypt your wallet?</source>
  21342. @@ -330,8 +330,8 @@
  21343.          <translation>????? ??????? ????? ??? ????? ...</translation>
  21344.      </message>
  21345.      <message>
  21346. -        <source>Send coins to a Litecoin address</source>
  21347. -        <translation>???? ????? ??? ????? Litecoin</translation>
  21348. +        <source>Send coins to a LitecoinCash address</source>
  21349. +        <translation>???? ????? ??? ????? LitecoinCash</translation>
  21350.      </message>
  21351.      <message>
  21352.          <source>Backup wallet to another location</source>
  21353. @@ -354,7 +354,7 @@
  21354.          <translation>&amp;?????? ?? ???????...</translation>
  21355.      </message>
  21356.      <message>
  21357. -        <source>Litecoin</source>
  21358. +        <source>LitecoinCash</source>
  21359.          <translation>?? ????</translation>
  21360.      </message>
  21361.      <message>
  21362. @@ -382,12 +382,12 @@
  21363.          <translation>????? ??????? ????? ???????</translation>
  21364.      </message>
  21365.      <message>
  21366. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  21367. -        <translation>???? ??????? ?????? ??: Litecoin ????? ?? ?????? ??????? ???</translation>
  21368. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  21369. +        <translation>???? ??????? ?????? ??: LitecoinCash ????? ?? ?????? ??????? ???</translation>
  21370.      </message>
  21371.      <message>
  21372. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  21373. -        <translation>???? ?? ??????? ?????? ?? ????? ????? ?????? Litecoin ??????</translation>
  21374. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  21375. +        <translation>???? ?? ??????? ?????? ?? ????? ????? ?????? LitecoinCash ??????</translation>
  21376.      </message>
  21377.      <message>
  21378.          <source>&amp;File</source>
  21379. @@ -406,7 +406,7 @@
  21380.          <translation>???? ????? ?????? ???????</translation>
  21381.      </message>
  21382.      <message>
  21383. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  21384. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  21385.          <translation>???? ????? (???? ????? ????? ?????? ???? ????: ???????? ???????)</translation>
  21386.      </message>
  21387.      <message>
  21388. @@ -418,8 +418,8 @@
  21389.          <translation>??? ????? ?????? ????????? ????????? ?????????</translation>
  21390.      </message>
  21391.      <message>
  21392. -        <source>Open a litecoin: URI or payment request</source>
  21393. -        <translation>??? URI : Litecoin ?? ??? ???</translation>
  21394. +        <source>Open a litecoincash: URI or payment request</source>
  21395. +        <translation>??? URI : LitecoinCash ?? ??? ???</translation>
  21396.      </message>
  21397.      <message>
  21398.          <source>&amp;Command-line options</source>
  21399. @@ -462,7 +462,7 @@
  21400.          <translation>????</translation>
  21401.      </message>
  21402.      <message>
  21403. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  21404. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  21405.          <translation>??? ????? ???????? %1 ?????? ??? ????? ?? ?????? ????? ???? ???? ???????? </translation>
  21406.      </message>
  21407.      <message>
  21408. @@ -522,8 +522,8 @@
  21409.          <translation>??????? &lt;b&gt;?????&lt;/b&gt; ? &lt;b&gt;?????&lt;/b&gt; ?????</translation>
  21410.      </message>
  21411.      <message>
  21412. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  21413. -        <translation>??? ???? ??? . ?? ???? ????? Litecoin ????? ???? ??????</translation>
  21414. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  21415. +        <translation>??? ???? ??? . ?? ???? ????? LitecoinCash ????? ???? ??????</translation>
  21416.      </message>
  21417.  </context>
  21418.  <context>
  21419. @@ -688,7 +688,7 @@
  21420.          <translation>????? ????? ???????</translation>
  21421.      </message>
  21422.      <message>
  21423. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  21424. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  21425.          <translation>??????? ?????? "%1" ??? ????? ??? ???? ????.</translation>
  21426.      </message>
  21427.      <message>
  21428. @@ -1446,7 +1446,7 @@
  21429.          <translation>??? ??? ???????</translation>
  21430.      </message>
  21431.      <message>
  21432. -        <source>The Litecoin address to send the payment to</source>
  21433. +        <source>The LitecoinCash address to send the payment to</source>
  21434.          <translation>????? ???? ???? ?????? ???? ?????</translation>
  21435.      </message>
  21436.      <message>
  21437. @@ -1523,7 +1523,7 @@
  21438.          <translation>???????</translation>
  21439.      </message>
  21440.      <message>
  21441. -        <source>Sign the message to prove you own this Litecoin address</source>
  21442. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  21443.          <translation>??? ??????? ????? ??? ????? ????? ???? ???? ???</translation>
  21444.      </message>
  21445.      <message>
  21446. @@ -1960,7 +1960,7 @@
  21447.          <translation>??? ???? ?????????</translation>
  21448.      </message>
  21449.      <message>
  21450. -        <source>Litecoin Core</source>
  21451. +        <source>LitecoinCash Core</source>
  21452.          <translation>???? ????? ????</translation>
  21453.      </message>
  21454.      <message>
  21455. diff --git a/src/qt/locale/bitcoin_be_BY.ts b/src/qt/locale/bitcoin_be_BY.ts
  21456. index f2fd193..2ab5a01 100644
  21457. --- a/src/qt/locale/bitcoin_be_BY.ts
  21458. +++ b/src/qt/locale/bitcoin_be_BY.ts
  21459. @@ -62,12 +62,12 @@
  21460.          <translation>?????? ????????</translation>
  21461.      </message>
  21462.      <message>
  21463. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21464. -        <translation>??? ??????????? Litecoin-?????? ??? ????????? ????????. ??????? ???????????? ????????? ? ????? ??????????? ????? ???????????? ??????????.</translation>
  21465. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21466. +        <translation>??? ??????????? LitecoinCash-?????? ??? ????????? ????????. ??????? ???????????? ????????? ? ????? ??????????? ????? ???????????? ??????????.</translation>
  21467.      </message>
  21468.      <message>
  21469. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21470. -        <translation>??? ??????????? Litecoin-?????? ??? ???????? ????????. ???????? ?????????????? ???? ????? ??? ?????? ??????????.</translation>
  21471. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21472. +        <translation>??? ??????????? LitecoinCash-?????? ??? ???????? ????????. ???????? ?????????????? ???? ????? ??? ?????? ??????????.</translation>
  21473.      </message>
  21474.      <message>
  21475.          <source>&amp;Copy Address</source>
  21476. @@ -168,7 +168,7 @@
  21477.          <translation>??????????? ?????????? ???????</translation>
  21478.      </message>
  21479.      <message>
  21480. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  21481. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  21482.          <translation>?????: ???? ?? ?????????? ???? ??????? ? ???????? ????????? ?????, ?? &lt;b&gt;???????? ??? ???? ????????&lt;/b&gt;!</translation>
  21483.      </message>
  21484.      <message>
  21485. @@ -298,8 +298,8 @@
  21486.          <translation>?????????????? ?????? ?? ?????...</translation>
  21487.      </message>
  21488.      <message>
  21489. -        <source>Send coins to a Litecoin address</source>
  21490. -        <translation>??????? ?????? ?? Litecoin-?????</translation>
  21491. +        <source>Send coins to a LitecoinCash address</source>
  21492. +        <translation>??????? ?????? ?? LitecoinCash-?????</translation>
  21493.      </message>
  21494.      <message>
  21495.          <source>Backup wallet to another location</source>
  21496. @@ -322,8 +322,8 @@
  21497.          <translation>????????? ????????????...</translation>
  21498.      </message>
  21499.      <message>
  21500. -        <source>Litecoin</source>
  21501. -        <translation>Litecoin</translation>
  21502. +        <source>LitecoinCash</source>
  21503. +        <translation>LitecoinCash</translation>
  21504.      </message>
  21505.      <message>
  21506.          <source>Wallet</source>
  21507. @@ -350,12 +350,12 @@
  21508.          <translation>??????????? ????????? ?????, ???? ???????? ?????? ???????</translation>
  21509.      </message>
  21510.      <message>
  21511. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  21512. -        <translation>????????? ???????????? ? ????????? Litecoin-?????? ??? ????????, ??? ??? ???????? ???</translation>
  21513. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  21514. +        <translation>????????? ???????????? ? ????????? LitecoinCash-?????? ??? ????????, ??? ??? ???????? ???</translation>
  21515.      </message>
  21516.      <message>
  21517. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  21518. -        <translation>?????????? ???????????? ? ????????? Litecoin-?????? ??? ????????, ??? ??? ???????? ???</translation>
  21519. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  21520. +        <translation>?????????? ???????????? ? ????????? LitecoinCash-?????? ??? ????????, ??? ??? ???????? ???</translation>
  21521.      </message>
  21522.      <message>
  21523.          <source>&amp;File</source>
  21524. @@ -370,8 +370,8 @@
  21525.          <translation>????????</translation>
  21526.      </message>
  21527.      <message>
  21528. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  21529. -        <translation>????????????? ?????? (?????????? QR-??? ??? litecoin URI)</translation>
  21530. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  21531. +        <translation>????????????? ?????? (?????????? QR-??? ??? litecoincash URI)</translation>
  21532.      </message>
  21533.      <message>
  21534.          <source>Show the list of used sending addresses and labels</source>
  21535. @@ -382,8 +382,8 @@
  21536.          <translation>???????? ???? ??????? ? ????? ??? ????????</translation>
  21537.      </message>
  21538.      <message>
  21539. -        <source>Open a litecoin: URI or payment request</source>
  21540. -        <translation>??????? litecoin: URI ?? ????? ???????</translation>
  21541. +        <source>Open a litecoincash: URI or payment request</source>
  21542. +        <translation>??????? litecoincash: URI ?? ????? ???????</translation>
  21543.      </message>
  21544.      <message>
  21545.          <source>&amp;Command-line options</source>
  21546. @@ -1258,8 +1258,8 @@
  21547.          <translation>????????? ? ???? ?? ????? ? ??????? ???????</translation>
  21548.      </message>
  21549.      <message>
  21550. -        <source>Litecoin Core</source>
  21551. -        <translation>Litecoin Core</translation>
  21552. +        <source>LitecoinCash Core</source>
  21553. +        <translation>LitecoinCash Core</translation>
  21554.      </message>
  21555.      <message>
  21556.          <source>Do you want to rebuild the block database now?</source>
  21557. diff --git a/src/qt/locale/bitcoin_bg.ts b/src/qt/locale/bitcoin_bg.ts
  21558. index 118d931..d8a7175 100644
  21559. --- a/src/qt/locale/bitcoin_bg.ts
  21560. +++ b/src/qt/locale/bitcoin_bg.ts
  21561. @@ -62,12 +62,12 @@
  21562.          <translation>?????? ?? ??????????</translation>
  21563.      </message>
  21564.      <message>
  21565. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21566. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21567.          <translation>???? ?? ???????? ?? ???????????? ?? ????????. ?????? ???????????? ??????? ?? ?????? ? ?????? ?? ??????????, ????? ?? ????????? ??????.</translation>
  21568.      </message>
  21569.      <message>
  21570. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21571. -        <translation>???? ?? ?????? Litecoin ??????,???????????? ?? ????? ?? ?????????? ????????.?????????????? ? ?? ?????????? ???? ?????? ?? ?????????? ?? ????? ??????????.</translation>
  21572. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21573. +        <translation>???? ?? ?????? LitecoinCash ??????,???????????? ?? ????? ?? ?????????? ????????.?????????????? ? ?? ?????????? ???? ?????? ?? ?????????? ?? ????? ??????????.</translation>
  21574.      </message>
  21575.      <message>
  21576.          <source>&amp;Copy Address</source>
  21577. @@ -168,7 +168,7 @@
  21578.          <translation>?????????? ?? ??????????? ?? ?????????</translation>
  21579.      </message>
  21580.      <message>
  21581. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  21582. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  21583.          <translation>????????: ??? ????????? ?????? ???????? ? ???????? ???????? ??, &lt;b&gt;?? ???????? ???????? ?? ????????&lt;/b&gt;!</translation>
  21584.      </message>
  21585.      <message>
  21586. @@ -330,7 +330,7 @@
  21587.          <translation>???????? ??????????? ?? ????????? ?? ?????...</translation>
  21588.      </message>
  21589.      <message>
  21590. -        <source>Send coins to a Litecoin address</source>
  21591. +        <source>Send coins to a LitecoinCash address</source>
  21592.          <translation>????????? ??? ??????? ?????</translation>
  21593.      </message>
  21594.      <message>
  21595. @@ -354,7 +354,7 @@
  21596.          <translation>&amp;???????? ?? ?????????...</translation>
  21597.      </message>
  21598.      <message>
  21599. -        <source>Litecoin</source>
  21600. +        <source>LitecoinCash</source>
  21601.          <translation>???????</translation>
  21602.      </message>
  21603.      <message>
  21604. @@ -382,12 +382,12 @@
  21605.          <translation>????????? ?? ??????? ???????,????? ??????????? ?? ????????? ??.</translation>
  21606.      </message>
  21607.      <message>
  21608. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  21609. -        <translation>?????? ????????? ??? ???? Litecoin ????? ?? ?? ????????,?? ? ???.</translation>
  21610. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  21611. +        <translation>?????? ????????? ??? ???? LitecoinCash ????? ?? ?? ????????,?? ? ???.</translation>
  21612.      </message>
  21613.      <message>
  21614. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  21615. -        <translation>????????????? ?? ?????????  ?? ?? ?? ????,?? ?? ???????? ? ???????? Litecoin ??????.</translation>
  21616. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  21617. +        <translation>????????????? ?? ?????????  ?? ?? ?? ????,?? ?? ???????? ? ???????? LitecoinCash ??????.</translation>
  21618.      </message>
  21619.      <message>
  21620.          <source>&amp;File</source>
  21621. @@ -406,8 +406,8 @@
  21622.          <translation>???????</translation>
  21623.      </message>
  21624.      <message>
  21625. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  21626. -        <translation>????????? ?? ????????(???????? QR ?????? ? Litecoin: URIs)</translation>
  21627. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  21628. +        <translation>????????? ?? ????????(???????? QR ?????? ? LitecoinCash: URIs)</translation>
  21629.      </message>
  21630.      <message>
  21631.          <source>Show the list of used sending addresses and labels</source>
  21632. @@ -418,8 +418,8 @@
  21633.          <translation>?????? ?????? ? ???????????? ?????? ? ?????.</translation>
  21634.      </message>
  21635.      <message>
  21636. -        <source>Open a litecoin: URI or payment request</source>
  21637. -        <translation>???????? Litecoin: URI  ??? ?????? ?? ???????</translation>
  21638. +        <source>Open a litecoincash: URI or payment request</source>
  21639. +        <translation>???????? LitecoinCash: URI  ??? ?????? ?? ???????</translation>
  21640.      </message>
  21641.      <message>
  21642.          <source>&amp;Command-line options</source>
  21643. @@ -462,8 +462,8 @@
  21644.          <translation>?????????????</translation>
  21645.      </message>
  21646.      <message>
  21647. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  21648. -        <translation>?????? %1 ??????? ????????? ?? ?? ??????? ???? ? ???????? Litecoin ???????</translation>
  21649. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  21650. +        <translation>?????? %1 ??????? ????????? ?? ?? ??????? ???? ? ???????? LitecoinCash ???????</translation>
  21651.      </message>
  21652.      <message>
  21653.          <source>%1 client</source>
  21654. @@ -706,7 +706,7 @@
  21655.          <translation>??????????? ?? ????? ?? ?????????</translation>
  21656.      </message>
  21657.      <message>
  21658. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  21659. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  21660.          <translation>"%1" ?? ? ??????? ??????? ?????.</translation>
  21661.      </message>
  21662.      <message>
  21663. @@ -928,16 +928,16 @@
  21664.          <translation>&amp;????????? ?????????????? ?????</translation>
  21665.      </message>
  21666.      <message>
  21667. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  21668. -        <translation>??????????? ???????? ?? ???????? Litecoin ????. ?????? ???? ? ?????? ?????????? UPnP.</translation>
  21669. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  21670. +        <translation>??????????? ???????? ?? ???????? LitecoinCash ????. ?????? ???? ? ?????? ?????????? UPnP.</translation>
  21671.      </message>
  21672.      <message>
  21673.          <source>Map port using &amp;UPnP</source>
  21674.          <translation>???????? ?? ???????? ???? ???? &amp;UPnP</translation>
  21675.      </message>
  21676.      <message>
  21677. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  21678. -        <translation>????????? ? Litecoin ??????? ???? SOCKS5  ??????.</translation>
  21679. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  21680. +        <translation>????????? ? LitecoinCash ??????? ???? SOCKS5  ??????.</translation>
  21681.      </message>
  21682.      <message>
  21683.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  21684. @@ -1031,7 +1031,7 @@
  21685.          <translation>????????</translation>
  21686.      </message>
  21687.      <message>
  21688. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  21689. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  21690.          <translation>???????? ?????????? ?? ?????? ???? ?? ?? ? ????????. ?????? ???????? ?? ?? ???????????? ??????????? ? ??????? ?? ???????, ??? ???? ???? ???????? ? ??? ?? ????????; ???? ?????? ??? ??? ?? ? ?????????.</translation>
  21691.      </message>
  21692.      <message>
  21693. @@ -1086,8 +1086,8 @@
  21694.          <translation>???????? ?????? ?? ????? ?????????? ?? ???????</translation>
  21695.      </message>
  21696.      <message>
  21697. -        <source>Cannot start litecoin: click-to-pay handler</source>
  21698. -        <translation>Litecoin ?? ???e ?? ?? ????????: click-to-pay handler</translation>
  21699. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  21700. +        <translation>LitecoinCash ?? ???e ?? ?? ????????: click-to-pay handler</translation>
  21701.      </message>
  21702.      <message>
  21703.          <source>URI handling</source>
  21704. @@ -1160,8 +1160,8 @@
  21705.          <translation>????</translation>
  21706.      </message>
  21707.      <message>
  21708. -        <source>Enter a Litecoin address (e.g. %1)</source>
  21709. -        <translation>???????? Litecoin ????? (????????: %1)</translation>
  21710. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  21711. +        <translation>???????? LitecoinCash ????? (????????: %1)</translation>
  21712.      </message>
  21713.      <message>
  21714.          <source>%1 d</source>
  21715. @@ -1713,8 +1713,8 @@
  21716.          <translation>???????? ?? ??????? ? ???????.</translation>
  21717.      </message>
  21718.      <message>
  21719. -        <source>Warning: Invalid Litecoin address</source>
  21720. -        <translation>????????: ????????? Litecoin ?????</translation>
  21721. +        <source>Warning: Invalid LitecoinCash address</source>
  21722. +        <translation>????????: ????????? LitecoinCash ?????</translation>
  21723.      </message>
  21724.      <message>
  21725.          <source>Warning: Unknown change address</source>
  21726. @@ -1833,7 +1833,7 @@
  21727.          <translation>???????? ?? ??????? ??????</translation>
  21728.      </message>
  21729.      <message>
  21730. -        <source>Sign the message to prove you own this Litecoin address</source>
  21731. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  21732.          <translation>????????? ????????? ???? ?????????????, ?? ??????????? ????????? ?????</translation>
  21733.      </message>
  21734.      <message>
  21735. @@ -1849,7 +1849,7 @@
  21736.          <translation>&amp;???????</translation>
  21737.      </message>
  21738.      <message>
  21739. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  21740. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  21741.          <translation>????????? ?????????, ?? ?? ??? ??????? ?? ? ????????? ? ????????? ??????? ?????</translation>
  21742.      </message>
  21743.      <message>
  21744. @@ -2370,8 +2370,8 @@
  21745.          <translation>???????? ??? ???????? ?????</translation>
  21746.      </message>
  21747.      <message>
  21748. -        <source>Litecoin Core</source>
  21749. -        <translation>Litecoin ????</translation>
  21750. +        <source>LitecoinCash Core</source>
  21751. +        <translation>LitecoinCash ????</translation>
  21752.      </message>
  21753.      <message>
  21754.          <source>&lt;category&gt; can be:</source>
  21755. diff --git a/src/qt/locale/bitcoin_bg_BG.ts b/src/qt/locale/bitcoin_bg_BG.ts
  21756. index 64de74c..0141643 100644
  21757. --- a/src/qt/locale/bitcoin_bg_BG.ts
  21758. +++ b/src/qt/locale/bitcoin_bg_BG.ts
  21759. @@ -62,12 +62,12 @@
  21760.          <translation>????? ?? ??????????</translation>
  21761.      </message>
  21762.      <message>
  21763. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21764. -        <translation>???? ?? ?????? Litecoin ?????? ?? ????????? ?? ??????. ?????? ???????????? ???????????? ? ??????????? ????? ????? ?????????. </translation>
  21765. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21766. +        <translation>???? ?? ?????? LitecoinCash ?????? ?? ????????? ?? ??????. ?????? ???????????? ???????????? ? ??????????? ????? ????? ?????????. </translation>
  21767.      </message>
  21768.      <message>
  21769. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21770. -        <translation>???? ?? ?????? Litecoin ?????? ?? ?????????? ?? ??????. ?????????????? ? ?? ???????? ??? ????? ?? ????? ??????????.</translation>
  21771. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21772. +        <translation>???? ?? ?????? LitecoinCash ?????? ?? ?????????? ?? ??????. ?????????????? ? ?? ???????? ??? ????? ?? ????? ??????????.</translation>
  21773.      </message>
  21774.      <message>
  21775.          <source>&amp;Copy Address</source>
  21776. @@ -420,8 +420,8 @@
  21777.  <context>
  21778.      <name>bitcoin-core</name>
  21779.      <message>
  21780. -        <source>Litecoin Core</source>
  21781. -        <translation>Litecoin ????</translation>
  21782. +        <source>LitecoinCash Core</source>
  21783. +        <translation>LitecoinCash ????</translation>
  21784.      </message>
  21785.      </context>
  21786.  </TS>
  21787. \ No newline at end of file
  21788. diff --git a/src/qt/locale/bitcoin_bs.ts b/src/qt/locale/bitcoin_bs.ts
  21789. index 7228c4a..1c4e906 100644
  21790. --- a/src/qt/locale/bitcoin_bs.ts
  21791. +++ b/src/qt/locale/bitcoin_bs.ts
  21792. @@ -14,8 +14,8 @@
  21793.  <context>
  21794.      <name>BitcoinGUI</name>
  21795.      <message>
  21796. -        <source>Litecoin</source>
  21797. -        <translation>Litecoin</translation>
  21798. +        <source>LitecoinCash</source>
  21799. +        <translation>LitecoinCash</translation>
  21800.      </message>
  21801.      </context>
  21802.  <context>
  21803. @@ -156,8 +156,8 @@
  21804.  <context>
  21805.      <name>bitcoin-core</name>
  21806.      <message>
  21807. -        <source>Litecoin Core</source>
  21808. -        <translation>Litecoin Jezrga</translation>
  21809. +        <source>LitecoinCash Core</source>
  21810. +        <translation>LitecoinCash Jezrga</translation>
  21811.      </message>
  21812.      </context>
  21813.  </TS>
  21814. \ No newline at end of file
  21815. diff --git a/src/qt/locale/bitcoin_ca.ts b/src/qt/locale/bitcoin_ca.ts
  21816. index 3e93b95..aae70c3 100644
  21817. --- a/src/qt/locale/bitcoin_ca.ts
  21818. +++ b/src/qt/locale/bitcoin_ca.ts
  21819. @@ -62,12 +62,12 @@
  21820.          <translation>Adreces de recepció</translation>
  21821.      </message>
  21822.      <message>
  21823. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21824. -        <translation>Aquestes són les vostres adreces de Litecoin per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes.</translation>
  21825. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  21826. +        <translation>Aquestes són les vostres adreces de LitecoinCash per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes.</translation>
  21827.      </message>
  21828.      <message>
  21829. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21830. -        <translation>Aquestes són les vostres adreces Litecoin per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció.</translation>
  21831. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  21832. +        <translation>Aquestes són les vostres adreces LitecoinCash per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció.</translation>
  21833.      </message>
  21834.      <message>
  21835.          <source>&amp;Copy Address</source>
  21836. @@ -168,8 +168,8 @@
  21837.          <translation>Confirma l'encriptació del moneder</translation>
  21838.      </message>
  21839.      <message>
  21840. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  21841. -        <translation>Avís: si encripteu el vostre moneder i perdeu la contrasenya, &lt;b&gt;PERDREU TOTS ELS VOSTRES LITECOINS&lt;/b&gt;!</translation>
  21842. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  21843. +        <translation>Avís: si encripteu el vostre moneder i perdeu la contrasenya, &lt;b&gt;PERDREU TOTS ELS VOSTRES LCC&lt;/b&gt;!</translation>
  21844.      </message>
  21845.      <message>
  21846.          <source>Are you sure you wish to encrypt your wallet?</source>
  21847. @@ -180,8 +180,8 @@
  21848.          <translation>Moneder encriptat</translation>
  21849.      </message>
  21850.      <message>
  21851. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  21852. -        <translation>Ara es tancarà el %1 per finalitzar el procés d'encriptació. Recordeu que encriptar el vostre moneder no garanteix que les vostres litecoins no puguin ser robades per programari maliciós que infecti l'ordinador.</translation>
  21853. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  21854. +        <translation>Ara es tancarà el %1 per finalitzar el procés d'encriptació. Recordeu que encriptar el vostre moneder no garanteix que les vostres coins no puguin ser robades per programari maliciós que infecti l'ordinador.</translation>
  21855.      </message>
  21856.      <message>
  21857.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  21858. @@ -334,8 +334,8 @@
  21859.          <translation>S'estan reindexant els blocs al disc...</translation>
  21860.      </message>
  21861.      <message>
  21862. -        <source>Send coins to a Litecoin address</source>
  21863. -        <translation>Envia monedes a una adreça Litecoin</translation>
  21864. +        <source>Send coins to a LitecoinCash address</source>
  21865. +        <translation>Envia monedes a una adreça LitecoinCash</translation>
  21866.      </message>
  21867.      <message>
  21868.          <source>Backup wallet to another location</source>
  21869. @@ -358,8 +358,8 @@
  21870.          <translation>&amp;Verifica el missatge...</translation>
  21871.      </message>
  21872.      <message>
  21873. -        <source>Litecoin</source>
  21874. -        <translation>Litecoin</translation>
  21875. +        <source>LitecoinCash</source>
  21876. +        <translation>LitecoinCash</translation>
  21877.      </message>
  21878.      <message>
  21879.          <source>Wallet</source>
  21880. @@ -386,12 +386,12 @@
  21881.          <translation>Encripta les claus privades pertanyents al moneder</translation>
  21882.      </message>
  21883.      <message>
  21884. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  21885. -        <translation>Signa el missatges amb la seva adreça de Litecoin per provar que les poseeixes</translation>
  21886. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  21887. +        <translation>Signa el missatges amb la seva adreça de LitecoinCash per provar que les poseeixes</translation>
  21888.      </message>
  21889.      <message>
  21890. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  21891. -        <translation>Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça Litecoin específica.</translation>
  21892. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  21893. +        <translation>Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça LitecoinCash específica.</translation>
  21894.      </message>
  21895.      <message>
  21896.          <source>&amp;File</source>
  21897. @@ -410,8 +410,8 @@
  21898.          <translation>Barra d'eines de les pestanyes</translation>
  21899.      </message>
  21900.      <message>
  21901. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  21902. -        <translation>Sol·licita pagaments (genera codis QR i litecoin: URI)</translation>
  21903. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  21904. +        <translation>Sol·licita pagaments (genera codis QR i litecoincash: URI)</translation>
  21905.      </message>
  21906.      <message>
  21907.          <source>Show the list of used sending addresses and labels</source>
  21908. @@ -422,16 +422,16 @@
  21909.          <translation>Mostra la llista d'adreces de recepció i etiquetes utilitzades</translation>
  21910.      </message>
  21911.      <message>
  21912. -        <source>Open a litecoin: URI or payment request</source>
  21913. -        <translation>Obre una litecoin: sol·licitud d'URI o pagament</translation>
  21914. +        <source>Open a litecoincash: URI or payment request</source>
  21915. +        <translation>Obre una litecoincash: sol·licitud d'URI o pagament</translation>
  21916.      </message>
  21917.      <message>
  21918.          <source>&amp;Command-line options</source>
  21919.          <translation>Opcions de la &amp;línia d'ordres</translation>
  21920.      </message>
  21921.      <message numerus="yes">
  21922. -        <source>%n active connection(s) to Litecoin network</source>
  21923. -        <translation><numerusform>%n connexió activa a la xarxa Litecoin</numerusform><numerusform>%n connexions actives a la xarxa Litecoin</numerusform></translation>
  21924. +        <source>%n active connection(s) to LitecoinCash network</source>
  21925. +        <translation><numerusform>%n connexió activa a la xarxa LitecoinCash</numerusform><numerusform>%n connexions actives a la xarxa LitecoinCash</numerusform></translation>
  21926.      </message>
  21927.      <message>
  21928.          <source>Indexing blocks on disk...</source>
  21929. @@ -474,8 +474,8 @@
  21930.          <translation>Al dia</translation>
  21931.      </message>
  21932.      <message>
  21933. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  21934. -        <translation>Mostra el missatge d'ajuda del %1 per obtenir una llista amb les possibles opcions de línia d'ordres de Litecoin</translation>
  21935. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  21936. +        <translation>Mostra el missatge d'ajuda del %1 per obtenir una llista amb les possibles opcions de línia d'ordres de LitecoinCash</translation>
  21937.      </message>
  21938.      <message>
  21939.          <source>%1 client</source>
  21940. @@ -540,8 +540,8 @@
  21941.          <translation>El moneder està &lt;b&gt;encriptat&lt;/b&gt; i actualment &lt;b&gt;bloquejat&lt;/b&gt;</translation>
  21942.      </message>
  21943.      <message>
  21944. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  21945. -        <translation>S'ha produït un error fatal. Litecoin no pot continuar amb seguretat i finalitzarà.</translation>
  21946. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  21947. +        <translation>S'ha produït un error fatal. LitecoinCash no pot continuar amb seguretat i finalitzarà.</translation>
  21948.      </message>
  21949.  </context>
  21950.  <context>
  21951. @@ -734,8 +734,8 @@
  21952.          <translation>Edita l'adreça d'enviament</translation>
  21953.      </message>
  21954.      <message>
  21955. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  21956. -        <translation>L'adreça introduïda «%1» no és una adreça de Litecoin vàlida.</translation>
  21957. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  21958. +        <translation>L'adreça introduïda «%1» no és una adreça de LitecoinCash vàlida.</translation>
  21959.      </message>
  21960.      <message>
  21961.          <source>The entered address "%1" is already in the address book.</source>
  21962. @@ -843,8 +843,8 @@
  21963.          <translation>Com és la primera vegada que s'executa el programa, podeu triar on %1 emmagatzemarà les dades.</translation>
  21964.      </message>
  21965.      <message>
  21966. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  21967. -        <translation>%1 baixarà i emmagatzemarà una còpia de la cadena de blocs de Litecoin. Com a mínim %2GB de dades s'emmagatzemaran en aquest directori, i augmentarà al llarg del temps. El moneder també s'emmagatzemarà en aquest directori.</translation>
  21968. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  21969. +        <translation>%1 baixarà i emmagatzemarà una còpia de la cadena de blocs de LitecoinCash. Com a mínim %2GB de dades s'emmagatzemaran en aquest directori, i augmentarà al llarg del temps. El moneder també s'emmagatzemarà en aquest directori.</translation>
  21970.      </message>
  21971.      <message>
  21972.          <source>Use the default data directory</source>
  21973. @@ -1020,16 +1020,16 @@
  21974.          <translation>&amp;Gasta el canvi sense confirmar</translation>
  21975.      </message>
  21976.      <message>
  21977. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  21978. -        <translation>Obre el port del client de Litecoin al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada.</translation>
  21979. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  21980. +        <translation>Obre el port del client de LitecoinCash al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada.</translation>
  21981.      </message>
  21982.      <message>
  21983.          <source>Map port using &amp;UPnP</source>
  21984.          <translation>Port obert amb &amp;UPnP</translation>
  21985.      </message>
  21986.      <message>
  21987. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  21988. -        <translation>Connecta a la xarxa Litecoin a través d'un proxy SOCKS5.</translation>
  21989. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  21990. +        <translation>Connecta a la xarxa LitecoinCash a través d'un proxy SOCKS5.</translation>
  21991.      </message>
  21992.      <message>
  21993.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  21994. @@ -1068,8 +1068,8 @@
  21995.          <translation>Tor</translation>
  21996.      </message>
  21997.      <message>
  21998. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  21999. -        <translation>Conectar a la red de Litecoin a través de un proxy SOCKS5 per als serveis ocults de Tor</translation>
  22000. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  22001. +        <translation>Conectar a la red de LitecoinCash a través de un proxy SOCKS5 per als serveis ocults de Tor</translation>
  22002.      </message>
  22003.      <message>
  22004.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  22005. @@ -1167,8 +1167,8 @@
  22006.          <translation>Formulari</translation>
  22007.      </message>
  22008.      <message>
  22009. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  22010. -        <translation>La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa Litecoin un cop s'ha establert connexió, però aquest proces no s'ha completat encara.</translation>
  22011. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  22012. +        <translation>La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa LitecoinCash un cop s'ha establert connexió, però aquest proces no s'ha completat encara.</translation>
  22013.      </message>
  22014.      <message>
  22015.          <source>Watch-only:</source>
  22016. @@ -1242,8 +1242,8 @@
  22017.          <translation>Error de la sol·licitud de pagament</translation>
  22018.      </message>
  22019.      <message>
  22020. -        <source>Cannot start litecoin: click-to-pay handler</source>
  22021. -        <translation>No es pot iniciar litecoin: controlador click-to-pay</translation>
  22022. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  22023. +        <translation>No es pot iniciar litecoincash: controlador click-to-pay</translation>
  22024.      </message>
  22025.      <message>
  22026.          <source>URI handling</source>
  22027. @@ -1258,8 +1258,8 @@
  22028.          <translation>Adreça de pagament no vàlida %1</translation>
  22029.      </message>
  22030.      <message>
  22031. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  22032. -        <translation>L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de Litecoin no vàlida o per paràmetres URI amb mal format.</translation>
  22033. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  22034. +        <translation>L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de LitecoinCash no vàlida o per paràmetres URI amb mal format.</translation>
  22035.      </message>
  22036.      <message>
  22037.          <source>Payment request file handling</source>
  22038. @@ -1344,8 +1344,8 @@
  22039.          <translation>Import</translation>
  22040.      </message>
  22041.      <message>
  22042. -        <source>Enter a Litecoin address (e.g. %1)</source>
  22043. -        <translation>Introduïu una adreça de Litecoin (p. ex. %1)</translation>
  22044. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  22045. +        <translation>Introduïu una adreça de LitecoinCash (p. ex. %1)</translation>
  22046.      </message>
  22047.      <message>
  22048.          <source>%1 d</source>
  22049. @@ -1688,8 +1688,8 @@
  22050.          <translation>R&amp;eutilitza una adreça de recepció anterior (no recomanat)</translation>
  22051.      </message>
  22052.      <message>
  22053. -        <source>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 Litecoin network.</source>
  22054. -        <translation>Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'obri la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa Litecoin.</translation>
  22055. +        <source>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 LitecoinCash network.</source>
  22056. +        <translation>Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'obri la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa LitecoinCash.</translation>
  22057.      </message>
  22058.      <message>
  22059.          <source>An optional label to associate with the new receiving address.</source>
  22060. @@ -1917,8 +1917,8 @@
  22061.          <translation>total com a mínim</translation>
  22062.      </message>
  22063.      <message>
  22064. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  22065. -        <translation>No hi ha cap problema en pagar només la comissió mínima sempre que hi hagi menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirmi una vegada hi hagi més demanda de transaccions de litecoins que la xarxa pugui processar.</translation>
  22066. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  22067. +        <translation>No hi ha cap problema en pagar només la comissió mínima sempre que hi hagi menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirmi una vegada hi hagi més demanda de transaccions de coins que la xarxa pugui processar.</translation>
  22068.      </message>
  22069.      <message>
  22070.          <source>(read the tooltip)</source>
  22071. @@ -2065,8 +2065,8 @@
  22072.          <translation>Paga només la comissió necessària de %1</translation>
  22073.      </message>
  22074.      <message>
  22075. -        <source>Warning: Invalid Litecoin address</source>
  22076. -        <translation>Avís: adreça Litecoin no vàlida</translation>
  22077. +        <source>Warning: Invalid LitecoinCash address</source>
  22078. +        <translation>Avís: adreça LitecoinCash no vàlida</translation>
  22079.      </message>
  22080.      <message>
  22081.          <source>Warning: Unknown change address</source>
  22082. @@ -2100,8 +2100,8 @@
  22083.          <translation>Això és un pagament normal.</translation>
  22084.      </message>
  22085.      <message>
  22086. -        <source>The Litecoin address to send the payment to</source>
  22087. -        <translation>L'adreça Litecoin on enviar el pagament</translation>
  22088. +        <source>The LitecoinCash address to send the payment to</source>
  22089. +        <translation>L'adreça LitecoinCash on enviar el pagament</translation>
  22090.      </message>
  22091.      <message>
  22092.          <source>Alt+A</source>
  22093. @@ -2120,8 +2120,8 @@
  22094.          <translation>Elimina aquesta entrada</translation>
  22095.      </message>
  22096.      <message>
  22097. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  22098. -        <translation>La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys litecoins que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual.</translation>
  22099. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  22100. +        <translation>La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys coins que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual.</translation>
  22101.      </message>
  22102.      <message>
  22103.          <source>S&amp;ubtract fee from amount</source>
  22104. @@ -2144,8 +2144,8 @@
  22105.          <translation>Introduïu una etiqueta per a aquesta adreça per afegir-la a la llista d'adreces utilitzades</translation>
  22106.      </message>
  22107.      <message>
  22108. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  22109. -        <translation>Un missatge que s'ha adjuntat al litecoin: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa Litecoin.</translation>
  22110. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  22111. +        <translation>Un missatge que s'ha adjuntat al litecoincash: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa LitecoinCash.</translation>
  22112.      </message>
  22113.      <message>
  22114.          <source>Pay To:</source>
  22115. @@ -2185,12 +2185,12 @@
  22116.          <translation>&amp;Signa el missatge</translation>
  22117.      </message>
  22118.      <message>
  22119. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  22120. -        <translation>Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les litecoins que s'hi envien. Aneu amb compte no signar res que sigui vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. </translation>
  22121. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  22122. +        <translation>Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les coins que s'hi envien. Aneu amb compte no signar res que sigui vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. </translation>
  22123.      </message>
  22124.      <message>
  22125. -        <source>The Litecoin address to sign the message with</source>
  22126. -        <translation>L'adreça Litecoin amb què signar el missatge</translation>
  22127. +        <source>The LitecoinCash address to sign the message with</source>
  22128. +        <translation>L'adreça LitecoinCash amb què signar el missatge</translation>
  22129.      </message>
  22130.      <message>
  22131.          <source>Choose previously used address</source>
  22132. @@ -2221,8 +2221,8 @@
  22133.          <translation>Copia la signatura actual al porta-retalls del sistema</translation>
  22134.      </message>
  22135.      <message>
  22136. -        <source>Sign the message to prove you own this Litecoin address</source>
  22137. -        <translation>Signa el missatge per provar que ets propietari d'aquesta adreça Litecoin</translation>
  22138. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  22139. +        <translation>Signa el missatge per provar que ets propietari d'aquesta adreça LitecoinCash</translation>
  22140.      </message>
  22141.      <message>
  22142.          <source>Sign &amp;Message</source>
  22143. @@ -2245,12 +2245,12 @@
  22144.          <translation>Introduïu l'adreça del receptor, el missatge (assegureu-vos de copiar els salts de línia, espais, tabuladors, etc. exactament) i signatura de sota per verificar el missatge. Tingueu cura de no llegir més en la signatura del que està al missatge signat, per evitar ser enganyat per un atac d'home-en-el-mig. Tingueu en compte que això només demostra que la part que signa rep amb l'adreça, i no es pot provar l'enviament de qualsevol transacció!</translation>
  22145.      </message>
  22146.      <message>
  22147. -        <source>The Litecoin address the message was signed with</source>
  22148. -        <translation>L'adreça Litecoin amb què va ser signat el missatge</translation>
  22149. +        <source>The LitecoinCash address the message was signed with</source>
  22150. +        <translation>L'adreça LitecoinCash amb què va ser signat el missatge</translation>
  22151.      </message>
  22152.      <message>
  22153. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  22154. -        <translation>Verificar el missatge per assegurar-se que ha estat signat amb una adreça Litecoin específica</translation>
  22155. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  22156. +        <translation>Verificar el missatge per assegurar-se que ha estat signat amb una adreça LitecoinCash específica</translation>
  22157.      </message>
  22158.      <message>
  22159.          <source>Verify &amp;Message</source>
  22160. @@ -2842,8 +2842,8 @@
  22161.          <translation>No s'ha pogut iniciar el servidor HTTP. Vegeu debug.log per a més detalls.</translation>
  22162.      </message>
  22163.      <message>
  22164. -        <source>Litecoin Core</source>
  22165. -        <translation>Litecoin Core</translation>
  22166. +        <source>LitecoinCash Core</source>
  22167. +        <translation>LitecoinCash Core</translation>
  22168.      </message>
  22169.      <message>
  22170.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  22171. diff --git a/src/qt/locale/bitcoin_ca@valencia.ts b/src/qt/locale/bitcoin_ca@valencia.ts
  22172. index df53c37..ec381bc 100644
  22173. --- a/src/qt/locale/bitcoin_ca@valencia.ts
  22174. +++ b/src/qt/locale/bitcoin_ca@valencia.ts
  22175. @@ -62,12 +62,12 @@
  22176.          <translation>S'estan rebent les adreces</translation>
  22177.      </message>
  22178.      <message>
  22179. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  22180. -        <translation>Estes són les vostres adreces de Litecoin per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes.</translation>
  22181. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  22182. +        <translation>Estes són les vostres adreces de LitecoinCash per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes.</translation>
  22183.      </message>
  22184.      <message>
  22185. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  22186. -        <translation>Estes són les vostres adreces Litecoin per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció.</translation>
  22187. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  22188. +        <translation>Estes són les vostres adreces LitecoinCash per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció.</translation>
  22189.      </message>
  22190.      <message>
  22191.          <source>&amp;Copy Address</source>
  22192. @@ -168,8 +168,8 @@
  22193.          <translation>Confirma l'encriptació del moneder</translation>
  22194.      </message>
  22195.      <message>
  22196. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  22197. -        <translation>Avís: si encripteu el vostre moneder i perdeu la contrasenya, &lt;b&gt;PERDREU TOTS ELS VOSTRES LITECOINS&lt;/b&gt;!</translation>
  22198. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  22199. +        <translation>Avís: si encripteu el vostre moneder i perdeu la contrasenya, &lt;b&gt;PERDREU TOTS ELS VOSTRES LCC&lt;/b&gt;!</translation>
  22200.      </message>
  22201.      <message>
  22202.          <source>Are you sure you wish to encrypt your wallet?</source>
  22203. @@ -298,8 +298,8 @@
  22204.          <translation>S'estan reindexant els blocs al disc...</translation>
  22205.      </message>
  22206.      <message>
  22207. -        <source>Send coins to a Litecoin address</source>
  22208. -        <translation>Envia monedes a una adreça Litecoin</translation>
  22209. +        <source>Send coins to a LitecoinCash address</source>
  22210. +        <translation>Envia monedes a una adreça LitecoinCash</translation>
  22211.      </message>
  22212.      <message>
  22213.          <source>Backup wallet to another location</source>
  22214. @@ -322,8 +322,8 @@
  22215.          <translation>&amp;Verifica el missatge...</translation>
  22216.      </message>
  22217.      <message>
  22218. -        <source>Litecoin</source>
  22219. -        <translation>Litecoin</translation>
  22220. +        <source>LitecoinCash</source>
  22221. +        <translation>LitecoinCash</translation>
  22222.      </message>
  22223.      <message>
  22224.          <source>Wallet</source>
  22225. @@ -350,12 +350,12 @@
  22226.          <translation>Encripta les claus privades pertanyents al moneder</translation>
  22227.      </message>
  22228.      <message>
  22229. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  22230. -        <translation>Signa el missatges amb la seua adreça de Litecoin per provar que les poseeixes</translation>
  22231. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  22232. +        <translation>Signa el missatges amb la seua adreça de LitecoinCash per provar que les poseeixes</translation>
  22233.      </message>
  22234.      <message>
  22235. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  22236. -        <translation>Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça Litecoin específica.</translation>
  22237. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  22238. +        <translation>Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça LitecoinCash específica.</translation>
  22239.      </message>
  22240.      <message>
  22241.          <source>&amp;File</source>
  22242. @@ -374,8 +374,8 @@
  22243.          <translation>Barra d'eines de les pestanyes</translation>
  22244.      </message>
  22245.      <message>
  22246. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  22247. -        <translation>Sol·licita pagaments (genera codis QR i litecoin: URI)</translation>
  22248. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  22249. +        <translation>Sol·licita pagaments (genera codis QR i litecoincash: URI)</translation>
  22250.      </message>
  22251.      <message>
  22252.          <source>Show the list of used sending addresses and labels</source>
  22253. @@ -386,8 +386,8 @@
  22254.          <translation>Mostra la llista d'adreces de recepció i etiquetes utilitzades</translation>
  22255.      </message>
  22256.      <message>
  22257. -        <source>Open a litecoin: URI or payment request</source>
  22258. -        <translation>Obri una litecoin: sol·licitud d'URI o pagament</translation>
  22259. +        <source>Open a litecoincash: URI or payment request</source>
  22260. +        <translation>Obri una litecoincash: sol·licitud d'URI o pagament</translation>
  22261.      </message>
  22262.      <message>
  22263.          <source>&amp;Command-line options</source>
  22264. @@ -658,8 +658,8 @@
  22265.          <translation>Edita les adreces d'enviament</translation>
  22266.      </message>
  22267.      <message>
  22268. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  22269. -        <translation>L'adreça introduïda «%1» no és una adreça de Litecoin vàlida.</translation>
  22270. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  22271. +        <translation>L'adreça introduïda «%1» no és una adreça de LitecoinCash vàlida.</translation>
  22272.      </message>
  22273.      <message>
  22274.          <source>The entered address "%1" is already in the address book.</source>
  22275. @@ -884,16 +884,16 @@
  22276.          <translation>&amp;Gasta el canvi sense confirmar</translation>
  22277.      </message>
  22278.      <message>
  22279. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  22280. -        <translation>Obri el port del client de Litecoin al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada.</translation>
  22281. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  22282. +        <translation>Obri el port del client de LitecoinCash al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada.</translation>
  22283.      </message>
  22284.      <message>
  22285.          <source>Map port using &amp;UPnP</source>
  22286.          <translation>Port obert amb &amp;UPnP</translation>
  22287.      </message>
  22288.      <message>
  22289. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  22290. -        <translation>Connecta a la xarxa Litecoin a través d'un proxy SOCKS5.</translation>
  22291. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  22292. +        <translation>Connecta a la xarxa LitecoinCash a través d'un proxy SOCKS5.</translation>
  22293.      </message>
  22294.      <message>
  22295.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  22296. @@ -995,8 +995,8 @@
  22297.          <translation>Formulari</translation>
  22298.      </message>
  22299.      <message>
  22300. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  22301. -        <translation>La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa Litecoin un cop s'ha establit connexió, però este proces no s'ha completat encara.</translation>
  22302. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  22303. +        <translation>La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa LitecoinCash un cop s'ha establit connexió, però este proces no s'ha completat encara.</translation>
  22304.      </message>
  22305.      <message>
  22306.          <source>Watch-only:</source>
  22307. @@ -1070,8 +1070,8 @@
  22308.          <translation>Error en la sol·licitud de pagament</translation>
  22309.      </message>
  22310.      <message>
  22311. -        <source>Cannot start litecoin: click-to-pay handler</source>
  22312. -        <translation>No es pot iniciar litecoin: gestor clica-per-pagar</translation>
  22313. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  22314. +        <translation>No es pot iniciar litecoincash: gestor clica-per-pagar</translation>
  22315.      </message>
  22316.      <message>
  22317.          <source>URI handling</source>
  22318. @@ -1086,8 +1086,8 @@
  22319.          <translation>Adreça de pagament no vàlida %1</translation>
  22320.      </message>
  22321.      <message>
  22322. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  22323. -        <translation>L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de Litecoin no vàlida o per paràmetres URI amb mal format.</translation>
  22324. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  22325. +        <translation>L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de LitecoinCash no vàlida o per paràmetres URI amb mal format.</translation>
  22326.      </message>
  22327.      <message>
  22328.          <source>Payment request file handling</source>
  22329. @@ -1172,8 +1172,8 @@
  22330.          <translation>Import</translation>
  22331.      </message>
  22332.      <message>
  22333. -        <source>Enter a Litecoin address (e.g. %1)</source>
  22334. -        <translation>Introduïu una adreça de Litecoin (p. ex. %1)</translation>
  22335. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  22336. +        <translation>Introduïu una adreça de LitecoinCash (p. ex. %1)</translation>
  22337.      </message>
  22338.      <message>
  22339.          <source>%1 d</source>
  22340. @@ -1452,8 +1452,8 @@
  22341.          <translation>R&amp;eutilitza una adreça de recepció anterior (no recomanat)</translation>
  22342.      </message>
  22343.      <message>
  22344. -        <source>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 Litecoin network.</source>
  22345. -        <translation>Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'òbriga la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa Litecoin.</translation>
  22346. +        <source>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 LitecoinCash network.</source>
  22347. +        <translation>Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'òbriga la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa LitecoinCash.</translation>
  22348.      </message>
  22349.      <message>
  22350.          <source>An optional label to associate with the new receiving address.</source>
  22351. @@ -1673,8 +1673,8 @@
  22352.          <translation>total com a mínim</translation>
  22353.      </message>
  22354.      <message>
  22355. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  22356. -        <translation>No hi ha cap problema en pagar només la comissió mínima sempre que hi haja menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirme una vegada hi haja més demanda de transaccions de litecoins que la xarxa puga processar.</translation>
  22357. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  22358. +        <translation>No hi ha cap problema en pagar només la comissió mínima sempre que hi haja menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirme una vegada hi haja més demanda de transaccions de coins que la xarxa puga processar.</translation>
  22359.      </message>
  22360.      <message>
  22361.          <source>(read the tooltip)</source>
  22362. @@ -1813,8 +1813,8 @@
  22363.          <translation>La sol·licitud de pagament ha vençut.</translation>
  22364.      </message>
  22365.      <message>
  22366. -        <source>Warning: Invalid Litecoin address</source>
  22367. -        <translation>Avís: adreça Litecoin no vàlida</translation>
  22368. +        <source>Warning: Invalid LitecoinCash address</source>
  22369. +        <translation>Avís: adreça LitecoinCash no vàlida</translation>
  22370.      </message>
  22371.      <message>
  22372.          <source>Warning: Unknown change address</source>
  22373. @@ -1848,8 +1848,8 @@
  22374.          <translation>Això és un pagament normal.</translation>
  22375.      </message>
  22376.      <message>
  22377. -        <source>The Litecoin address to send the payment to</source>
  22378. -        <translation>L'adreça Litecoin on enviar el pagament</translation>
  22379. +        <source>The LitecoinCash address to send the payment to</source>
  22380. +        <translation>L'adreça LitecoinCash on enviar el pagament</translation>
  22381.      </message>
  22382.      <message>
  22383.          <source>Alt+A</source>
  22384. @@ -1868,8 +1868,8 @@
  22385.          <translation>Elimina esta entrada</translation>
  22386.      </message>
  22387.      <message>
  22388. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  22389. -        <translation>La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys litecoins que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual.</translation>
  22390. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  22391. +        <translation>La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys coins que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual.</translation>
  22392.      </message>
  22393.      <message>
  22394.          <source>S&amp;ubtract fee from amount</source>
  22395. @@ -1892,8 +1892,8 @@
  22396.          <translation>Introduïu una etiqueta per a esta adreça per afegir-la a la llista d'adreces utilitzades</translation>
  22397.      </message>
  22398.      <message>
  22399. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  22400. -        <translation>Un missatge que s'ha adjuntat al litecoin: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa Litecoin.</translation>
  22401. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  22402. +        <translation>Un missatge que s'ha adjuntat al litecoincash: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa LitecoinCash.</translation>
  22403.      </message>
  22404.      <message>
  22405.          <source>Pay To:</source>
  22406. @@ -1933,12 +1933,12 @@
  22407.          <translation>&amp;Signa el missatge</translation>
  22408.      </message>
  22409.      <message>
  22410. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  22411. -        <translation>Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les litecoins que s'hi envien. Aneu amb compte no signar res que siga vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. </translation>
  22412. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  22413. +        <translation>Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les coins que s'hi envien. Aneu amb compte no signar res que siga vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. </translation>
  22414.      </message>
  22415.      <message>
  22416. -        <source>The Litecoin address to sign the message with</source>
  22417. -        <translation>L'adreça Litecoin amb què signar el missatge</translation>
  22418. +        <source>The LitecoinCash address to sign the message with</source>
  22419. +        <translation>L'adreça LitecoinCash amb què signar el missatge</translation>
  22420.      </message>
  22421.      <message>
  22422.          <source>Choose previously used address</source>
  22423. @@ -1969,8 +1969,8 @@
  22424.          <translation>Copia la signatura actual al porta-retalls del sistema</translation>
  22425.      </message>
  22426.      <message>
  22427. -        <source>Sign the message to prove you own this Litecoin address</source>
  22428. -        <translation>Signa el missatge per provar que ets propietari d'esta adreça Litecoin</translation>
  22429. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  22430. +        <translation>Signa el missatge per provar que ets propietari d'esta adreça LitecoinCash</translation>
  22431.      </message>
  22432.      <message>
  22433.          <source>Sign &amp;Message</source>
  22434. @@ -1993,12 +1993,12 @@
  22435.          <translation>Introduïu l'adreça del receptor, el missatge (assegureu-vos de copiar els salts de línia, espais, tabuladors, etc. exactament) i signatura de sota per verificar el missatge. Tingueu cura de no llegir més en la signatura del que està al missatge signat, per evitar ser enganyat per un atac d'home-en-el-mig. Tingueu en compte que això només demostra que la part que signa rep amb l'adreça, i no es pot provar l'enviament de qualsevol transacció!</translation>
  22436.      </message>
  22437.      <message>
  22438. -        <source>The Litecoin address the message was signed with</source>
  22439. -        <translation>L'adreça Litecoin amb què va ser signat el missatge</translation>
  22440. +        <source>The LitecoinCash address the message was signed with</source>
  22441. +        <translation>L'adreça LitecoinCash amb què va ser signat el missatge</translation>
  22442.      </message>
  22443.      <message>
  22444. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  22445. -        <translation>Verificar el missatge per assegurar-se que ha estat signat amb una adreça Litecoin específica</translation>
  22446. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  22447. +        <translation>Verificar el missatge per assegurar-se que ha estat signat amb una adreça LitecoinCash específica</translation>
  22448.      </message>
  22449.      <message>
  22450.          <source>Verify &amp;Message</source>
  22451. @@ -2558,8 +2558,8 @@
  22452.          <translation>Executa en segon pla com a programa dimoni i accepta ordes</translation>
  22453.      </message>
  22454.      <message>
  22455. -        <source>Litecoin Core</source>
  22456. -        <translation>Litecoin Core</translation>
  22457. +        <source>LitecoinCash Core</source>
  22458. +        <translation>LitecoinCash Core</translation>
  22459.      </message>
  22460.      <message>
  22461.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  22462. diff --git a/src/qt/locale/bitcoin_ca_ES.ts b/src/qt/locale/bitcoin_ca_ES.ts
  22463. index 161e45e..cf17db6 100644
  22464. --- a/src/qt/locale/bitcoin_ca_ES.ts
  22465. +++ b/src/qt/locale/bitcoin_ca_ES.ts
  22466. @@ -62,12 +62,12 @@
  22467.          <translation>Adreces de recepció</translation>
  22468.      </message>
  22469.      <message>
  22470. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  22471. -        <translation>Aquestes són les vostres adreces de Litecoin per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes.</translation>
  22472. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  22473. +        <translation>Aquestes són les vostres adreces de LitecoinCash per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes.</translation>
  22474.      </message>
  22475.      <message>
  22476. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  22477. -        <translation>Aquestes són les vostres adreces Litecoin per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció.</translation>
  22478. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  22479. +        <translation>Aquestes són les vostres adreces LitecoinCash per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció.</translation>
  22480.      </message>
  22481.      <message>
  22482.          <source>&amp;Copy Address</source>
  22483. @@ -168,8 +168,8 @@
  22484.          <translation>Confirma l'encriptació del moneder</translation>
  22485.      </message>
  22486.      <message>
  22487. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  22488. -        <translation>Avís: si encripteu el vostre moneder i perdeu la contrasenya, &lt;b&gt;PERDREU TOTS ELS VOSTRES LITECOINS&lt;/b&gt;!</translation>
  22489. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  22490. +        <translation>Avís: si encripteu el vostre moneder i perdeu la contrasenya, &lt;b&gt;PERDREU TOTS ELS VOSTRES LCC&lt;/b&gt;!</translation>
  22491.      </message>
  22492.      <message>
  22493.          <source>Are you sure you wish to encrypt your wallet?</source>
  22494. @@ -180,8 +180,8 @@
  22495.          <translation>Moneder encriptat</translation>
  22496.      </message>
  22497.      <message>
  22498. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  22499. -        <translation>Ara es tancarà el %1 per finalitzar el procés d'encriptació. Recordeu que encriptar el vostre moneder no garanteix que les vostres litecoins no puguin ser robades per programari maliciós que infecti l'ordinador.</translation>
  22500. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  22501. +        <translation>Ara es tancarà el %1 per finalitzar el procés d'encriptació. Recordeu que encriptar el vostre moneder no garanteix que les vostres coins no puguin ser robades per programari maliciós que infecti l'ordinador.</translation>
  22502.      </message>
  22503.      <message>
  22504.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  22505. @@ -334,8 +334,8 @@
  22506.          <translation>S'estan reindexant els blocs al disc...</translation>
  22507.      </message>
  22508.      <message>
  22509. -        <source>Send coins to a Litecoin address</source>
  22510. -        <translation>Envia monedes a una adreça Litecoin</translation>
  22511. +        <source>Send coins to a LitecoinCash address</source>
  22512. +        <translation>Envia monedes a una adreça LitecoinCash</translation>
  22513.      </message>
  22514.      <message>
  22515.          <source>Backup wallet to another location</source>
  22516. @@ -358,8 +358,8 @@
  22517.          <translation>&amp;Verifica el missatge...</translation>
  22518.      </message>
  22519.      <message>
  22520. -        <source>Litecoin</source>
  22521. -        <translation>Litecoin</translation>
  22522. +        <source>LitecoinCash</source>
  22523. +        <translation>LitecoinCash</translation>
  22524.      </message>
  22525.      <message>
  22526.          <source>Wallet</source>
  22527. @@ -386,12 +386,12 @@
  22528.          <translation>Encripta les claus privades pertanyents al moneder</translation>
  22529.      </message>
  22530.      <message>
  22531. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  22532. -        <translation>Signa el missatges amb la seva adreça de Litecoin per provar que les poseeixes</translation>
  22533. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  22534. +        <translation>Signa el missatges amb la seva adreça de LitecoinCash per provar que les poseeixes</translation>
  22535.      </message>
  22536.      <message>
  22537. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  22538. -        <translation>Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça Litecoin específica.</translation>
  22539. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  22540. +        <translation>Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça LitecoinCash específica.</translation>
  22541.      </message>
  22542.      <message>
  22543.          <source>&amp;File</source>
  22544. @@ -410,8 +410,8 @@
  22545.          <translation>Barra d'eines de les pestanyes</translation>
  22546.      </message>
  22547.      <message>
  22548. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  22549. -        <translation>Sol·licita pagaments (genera codis QR i litecoin: URI)</translation>
  22550. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  22551. +        <translation>Sol·licita pagaments (genera codis QR i litecoincash: URI)</translation>
  22552.      </message>
  22553.      <message>
  22554.          <source>Show the list of used sending addresses and labels</source>
  22555. @@ -422,16 +422,16 @@
  22556.          <translation>Mostra la llista d'adreces de recepció i etiquetes utilitzades</translation>
  22557.      </message>
  22558.      <message>
  22559. -        <source>Open a litecoin: URI or payment request</source>
  22560. -        <translation>Obre una litecoin: sol·licitud d'URI o pagament</translation>
  22561. +        <source>Open a litecoincash: URI or payment request</source>
  22562. +        <translation>Obre una litecoincash: sol·licitud d'URI o pagament</translation>
  22563.      </message>
  22564.      <message>
  22565.          <source>&amp;Command-line options</source>
  22566.          <translation>Opcions de la &amp;línia d'ordres</translation>
  22567.      </message>
  22568.      <message numerus="yes">
  22569. -        <source>%n active connection(s) to Litecoin network</source>
  22570. -        <translation><numerusform>%n connexió activa a la xarxa Litecoin</numerusform><numerusform>%n connexions actives a la xarxa Litecoin</numerusform></translation>
  22571. +        <source>%n active connection(s) to LitecoinCash network</source>
  22572. +        <translation><numerusform>%n connexió activa a la xarxa LitecoinCash</numerusform><numerusform>%n connexions actives a la xarxa LitecoinCash</numerusform></translation>
  22573.      </message>
  22574.      <message>
  22575.          <source>Indexing blocks on disk...</source>
  22576. @@ -474,8 +474,8 @@
  22577.          <translation>Al dia</translation>
  22578.      </message>
  22579.      <message>
  22580. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  22581. -        <translation>Mostra el missatge d'ajuda del %1 per obtenir una llista amb les possibles opcions de línia d'ordres de Litecoin</translation>
  22582. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  22583. +        <translation>Mostra el missatge d'ajuda del %1 per obtenir una llista amb les possibles opcions de línia d'ordres de LitecoinCash</translation>
  22584.      </message>
  22585.      <message>
  22586.          <source>%1 client</source>
  22587. @@ -540,8 +540,8 @@
  22588.          <translation>El moneder està &lt;b&gt;encriptat&lt;/b&gt; i actualment &lt;b&gt;bloquejat&lt;/b&gt;</translation>
  22589.      </message>
  22590.      <message>
  22591. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  22592. -        <translation>S'ha produït un error fatal. Litecoin no pot continuar amb seguretat i finalitzarà.</translation>
  22593. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  22594. +        <translation>S'ha produït un error fatal. LitecoinCash no pot continuar amb seguretat i finalitzarà.</translation>
  22595.      </message>
  22596.  </context>
  22597.  <context>
  22598. @@ -734,8 +734,8 @@
  22599.          <translation>Edita l'adreça d'enviament</translation>
  22600.      </message>
  22601.      <message>
  22602. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  22603. -        <translation>L'adreça introduïda «%1» no és una adreça de Litecoin vàlida.</translation>
  22604. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  22605. +        <translation>L'adreça introduïda «%1» no és una adreça de LitecoinCash vàlida.</translation>
  22606.      </message>
  22607.      <message>
  22608.          <source>The entered address "%1" is already in the address book.</source>
  22609. @@ -843,8 +843,8 @@
  22610.          <translation>Com és la primera vegada que s'executa el programa, podeu triar on %1 emmagatzemarà les dades.</translation>
  22611.      </message>
  22612.      <message>
  22613. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  22614. -        <translation>%1 baixarà i emmagatzemarà una còpia de la cadena de blocs de Litecoin. Com a mínim %2GB de dades s'emmagatzemaran en aquest directori, i augmentarà al llarg del temps. El moneder també s'emmagatzemarà en aquest directori.</translation>
  22615. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  22616. +        <translation>%1 baixarà i emmagatzemarà una còpia de la cadena de blocs de LitecoinCash. Com a mínim %2GB de dades s'emmagatzemaran en aquest directori, i augmentarà al llarg del temps. El moneder també s'emmagatzemarà en aquest directori.</translation>
  22617.      </message>
  22618.      <message>
  22619.          <source>Use the default data directory</source>
  22620. @@ -1024,16 +1024,16 @@
  22621.          <translation>&amp;Gasta el canvi sense confirmar</translation>
  22622.      </message>
  22623.      <message>
  22624. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  22625. -        <translation>Obre el port del client de Litecoin al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada.</translation>
  22626. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  22627. +        <translation>Obre el port del client de LitecoinCash al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada.</translation>
  22628.      </message>
  22629.      <message>
  22630.          <source>Map port using &amp;UPnP</source>
  22631.          <translation>Port obert amb &amp;UPnP</translation>
  22632.      </message>
  22633.      <message>
  22634. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  22635. -        <translation>Connecta a la xarxa Litecoin a través d'un proxy SOCKS5.</translation>
  22636. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  22637. +        <translation>Connecta a la xarxa LitecoinCash a través d'un proxy SOCKS5.</translation>
  22638.      </message>
  22639.      <message>
  22640.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  22641. @@ -1072,8 +1072,8 @@
  22642.          <translation>Tor</translation>
  22643.      </message>
  22644.      <message>
  22645. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  22646. -        <translation>Conectar a la red de Litecoin a través de un proxy SOCKS5 per als serveis ocults de Tor</translation>
  22647. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  22648. +        <translation>Conectar a la red de LitecoinCash a través de un proxy SOCKS5 per als serveis ocults de Tor</translation>
  22649.      </message>
  22650.      <message>
  22651.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  22652. @@ -1171,8 +1171,8 @@
  22653.          <translation>Formulari</translation>
  22654.      </message>
  22655.      <message>
  22656. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  22657. -        <translation>La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa Litecoin un cop s'ha establert connexió, però aquest proces no s'ha completat encara.</translation>
  22658. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  22659. +        <translation>La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa LitecoinCash un cop s'ha establert connexió, però aquest proces no s'ha completat encara.</translation>
  22660.      </message>
  22661.      <message>
  22662.          <source>Watch-only:</source>
  22663. @@ -1246,8 +1246,8 @@
  22664.          <translation>Error de la sol·licitud de pagament</translation>
  22665.      </message>
  22666.      <message>
  22667. -        <source>Cannot start litecoin: click-to-pay handler</source>
  22668. -        <translation>No es pot iniciar litecoin: controlador click-to-pay</translation>
  22669. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  22670. +        <translation>No es pot iniciar litecoincash: controlador click-to-pay</translation>
  22671.      </message>
  22672.      <message>
  22673.          <source>URI handling</source>
  22674. @@ -1262,8 +1262,8 @@
  22675.          <translation>Adreça de pagament no vàlida %1</translation>
  22676.      </message>
  22677.      <message>
  22678. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  22679. -        <translation>L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de Litecoin no vàlida o per paràmetres URI amb mal format.</translation>
  22680. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  22681. +        <translation>L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de LitecoinCash no vàlida o per paràmetres URI amb mal format.</translation>
  22682.      </message>
  22683.      <message>
  22684.          <source>Payment request file handling</source>
  22685. @@ -1348,8 +1348,8 @@
  22686.          <translation>Import</translation>
  22687.      </message>
  22688.      <message>
  22689. -        <source>Enter a Litecoin address (e.g. %1)</source>
  22690. -        <translation>Introduïu una adreça de Litecoin (p. ex. %1)</translation>
  22691. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  22692. +        <translation>Introduïu una adreça de LitecoinCash (p. ex. %1)</translation>
  22693.      </message>
  22694.      <message>
  22695.          <source>%1 d</source>
  22696. @@ -1696,8 +1696,8 @@
  22697.          <translation>R&amp;eutilitza una adreça de recepció anterior (no recomanat)</translation>
  22698.      </message>
  22699.      <message>
  22700. -        <source>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 Litecoin network.</source>
  22701. -        <translation>Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'obri la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa Litecoin.</translation>
  22702. +        <source>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 LitecoinCash network.</source>
  22703. +        <translation>Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'obri la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa LitecoinCash.</translation>
  22704.      </message>
  22705.      <message>
  22706.          <source>An optional label to associate with the new receiving address.</source>
  22707. @@ -1925,8 +1925,8 @@
  22708.          <translation>total com a mínim</translation>
  22709.      </message>
  22710.      <message>
  22711. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  22712. -        <translation>No hi ha cap problema en pagar només la comissió mínima sempre que hi hagi menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirmi una vegada hi hagi més demanda de transaccions de litecoins que la xarxa pugui processar.</translation>
  22713. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  22714. +        <translation>No hi ha cap problema en pagar només la comissió mínima sempre que hi hagi menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirmi una vegada hi hagi més demanda de transaccions de coins que la xarxa pugui processar.</translation>
  22715.      </message>
  22716.      <message>
  22717.          <source>(read the tooltip)</source>
  22718. @@ -2073,8 +2073,8 @@
  22719.          <translation>Paga només la comissió necessària de %1</translation>
  22720.      </message>
  22721.      <message>
  22722. -        <source>Warning: Invalid Litecoin address</source>
  22723. -        <translation>Avís: adreça Litecoin no vàlida</translation>
  22724. +        <source>Warning: Invalid LitecoinCash address</source>
  22725. +        <translation>Avís: adreça LitecoinCash no vàlida</translation>
  22726.      </message>
  22727.      <message>
  22728.          <source>Warning: Unknown change address</source>
  22729. @@ -2108,8 +2108,8 @@
  22730.          <translation>Això és un pagament normal.</translation>
  22731.      </message>
  22732.      <message>
  22733. -        <source>The Litecoin address to send the payment to</source>
  22734. -        <translation>L'adreça Litecoin on enviar el pagament</translation>
  22735. +        <source>The LitecoinCash address to send the payment to</source>
  22736. +        <translation>L'adreça LitecoinCash on enviar el pagament</translation>
  22737.      </message>
  22738.      <message>
  22739.          <source>Alt+A</source>
  22740. @@ -2128,8 +2128,8 @@
  22741.          <translation>Elimina aquesta entrada</translation>
  22742.      </message>
  22743.      <message>
  22744. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  22745. -        <translation>La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys litecoins que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual.</translation>
  22746. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  22747. +        <translation>La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys coins que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual.</translation>
  22748.      </message>
  22749.      <message>
  22750.          <source>S&amp;ubtract fee from amount</source>
  22751. @@ -2152,8 +2152,8 @@
  22752.          <translation>Introduïu una etiqueta per a aquesta adreça per afegir-la a la llista d'adreces utilitzades</translation>
  22753.      </message>
  22754.      <message>
  22755. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  22756. -        <translation>Un missatge que s'ha adjuntat al litecoin: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa Litecoin.</translation>
  22757. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  22758. +        <translation>Un missatge que s'ha adjuntat al litecoincash: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa LitecoinCash.</translation>
  22759.      </message>
  22760.      <message>
  22761.          <source>Pay To:</source>
  22762. @@ -2193,12 +2193,12 @@
  22763.          <translation>&amp;Signa el missatge</translation>
  22764.      </message>
  22765.      <message>
  22766. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  22767. -        <translation>Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les litecoins que s'hi envien. Aneu amb compte no signar res que sigui vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. </translation>
  22768. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  22769. +        <translation>Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les coins que s'hi envien. Aneu amb compte no signar res que sigui vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. </translation>
  22770.      </message>
  22771.      <message>
  22772. -        <source>The Litecoin address to sign the message with</source>
  22773. -        <translation>L'adreça Litecoin amb què signar el missatge</translation>
  22774. +        <source>The LitecoinCash address to sign the message with</source>
  22775. +        <translation>L'adreça LitecoinCash amb què signar el missatge</translation>
  22776.      </message>
  22777.      <message>
  22778.          <source>Choose previously used address</source>
  22779. @@ -2229,8 +2229,8 @@
  22780.          <translation>Copia la signatura actual al porta-retalls del sistema</translation>
  22781.      </message>
  22782.      <message>
  22783. -        <source>Sign the message to prove you own this Litecoin address</source>
  22784. -        <translation>Signa el missatge per provar que ets propietari d'aquesta adreça Litecoin</translation>
  22785. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  22786. +        <translation>Signa el missatge per provar que ets propietari d'aquesta adreça LitecoinCash</translation>
  22787.      </message>
  22788.      <message>
  22789.          <source>Sign &amp;Message</source>
  22790. @@ -2253,12 +2253,12 @@
  22791.          <translation>Introduïu l'adreça del receptor, el missatge (assegureu-vos de copiar els salts de línia, espais, tabuladors, etc. exactament) i signatura de sota per verificar el missatge. Tingueu cura de no llegir més en la signatura del que està al missatge signat, per evitar ser enganyat per un atac d'home-en-el-mig. Tingueu en compte que això només demostra que la part que signa rep amb l'adreça, i no es pot provar l'enviament de qualsevol transacció!</translation>
  22792.      </message>
  22793.      <message>
  22794. -        <source>The Litecoin address the message was signed with</source>
  22795. -        <translation>L'adreça Litecoin amb què va ser signat el missatge</translation>
  22796. +        <source>The LitecoinCash address the message was signed with</source>
  22797. +        <translation>L'adreça LitecoinCash amb què va ser signat el missatge</translation>
  22798.      </message>
  22799.      <message>
  22800. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  22801. -        <translation>Verificar el missatge per assegurar-se que ha estat signat amb una adreça Litecoin específica</translation>
  22802. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  22803. +        <translation>Verificar el missatge per assegurar-se que ha estat signat amb una adreça LitecoinCash específica</translation>
  22804.      </message>
  22805.      <message>
  22806.          <source>Verify &amp;Message</source>
  22807. @@ -2862,8 +2862,8 @@
  22808.          <translation>No s'ha pogut iniciar el servidor HTTP. Vegeu debug.log per a més detalls.</translation>
  22809.      </message>
  22810.      <message>
  22811. -        <source>Litecoin Core</source>
  22812. -        <translation>Litecoin Core</translation>
  22813. +        <source>LitecoinCash Core</source>
  22814. +        <translation>LitecoinCash Core</translation>
  22815.      </message>
  22816.      <message>
  22817.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  22818. diff --git a/src/qt/locale/bitcoin_cs.ts b/src/qt/locale/bitcoin_cs.ts
  22819. index f3556f7..3c305d7 100644
  22820. --- a/src/qt/locale/bitcoin_cs.ts
  22821. +++ b/src/qt/locale/bitcoin_cs.ts
  22822. @@ -62,12 +62,12 @@
  22823.          <translation>P?ijímací adresy</translation>
  22824.      </message>
  22825.      <message>
  22826. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  22827. -        <translation>Tohle jsou tvé litecoinové adresy pro posílání plateb. P?ed odesláním mincí si v?dy zkontroluj ?ástku a cílovou adresu.</translation>
  22828. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  22829. +        <translation>Tohle jsou tvé litecoincashové adresy pro posílání plateb. P?ed odesláním mincí si v?dy zkontroluj ?ástku a cílovou adresu.</translation>
  22830.      </message>
  22831.      <message>
  22832. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  22833. -        <translation>Tohle jsou tvé litecoinové adresy pro p?íjem plateb. Nezapome? si pro ka?dou transakci v?dy vygenerovat novou adresu.</translation>
  22834. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  22835. +        <translation>Tohle jsou tvé litecoincashové adresy pro p?íjem plateb. Nezapome? si pro ka?dou transakci v?dy vygenerovat novou adresu.</translation>
  22836.      </message>
  22837.      <message>
  22838.          <source>&amp;Copy Address</source>
  22839. @@ -168,8 +168,8 @@
  22840.          <translation>Potvr? za?ifrování pen??enky</translation>
  22841.      </message>
  22842.      <message>
  22843. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  22844. -        <translation>Upozorn?ní: Pokud si za?ifruje? pen??enku a ztratí? ?i zapomene? heslo, &lt;b&gt;P?IJDE? O V?ECHNY LITECOINY&lt;/b&gt;!</translation>
  22845. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  22846. +        <translation>Upozorn?ní: Pokud si za?ifruje? pen??enku a ztratí? ?i zapomene? heslo, &lt;b&gt;P?IJDE? O V?ECHNY LITECOINCASHY&lt;/b&gt;!</translation>
  22847.      </message>
  22848.      <message>
  22849.          <source>Are you sure you wish to encrypt your wallet?</source>
  22850. @@ -180,8 +180,8 @@
  22851.          <translation>Pen??enka je za?ifrována</translation>
  22852.      </message>
  22853.      <message>
  22854. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  22855. -        <translation>%1 se te? ukon?í, aby dokon?il za?ifrování. Pamatuj v?ak, ?e pouhé za?ifrování pen??enky nem??e zabránit kráde?i tvých litecoin? malwarem, kterým se m??e po?íta? nakazit.</translation>
  22856. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  22857. +        <translation>%1 se te? ukon?í, aby dokon?il za?ifrování. Pamatuj v?ak, ?e pouhé za?ifrování pen??enky nem??e zabránit kráde?i tvých litecoincash? malwarem, kterým se m??e po?íta? nakazit.</translation>
  22858.      </message>
  22859.      <message>
  22860.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  22861. @@ -338,8 +338,8 @@
  22862.          <translation>Vytvá?ím nový index blok? na disku...</translation>
  22863.      </message>
  22864.      <message>
  22865. -        <source>Send coins to a Litecoin address</source>
  22866. -        <translation>Po?li mince na litecoinovou adresu</translation>
  22867. +        <source>Send coins to a LitecoinCash address</source>
  22868. +        <translation>Po?li mince na litecoincashovou adresu</translation>
  22869.      </message>
  22870.      <message>
  22871.          <source>Backup wallet to another location</source>
  22872. @@ -362,8 +362,8 @@
  22873.          <translation>&amp;Ov?? zprávu...</translation>
  22874.      </message>
  22875.      <message>
  22876. -        <source>Litecoin</source>
  22877. -        <translation>Litecoin</translation>
  22878. +        <source>LitecoinCash</source>
  22879. +        <translation>LitecoinCash</translation>
  22880.      </message>
  22881.      <message>
  22882.          <source>Wallet</source>
  22883. @@ -390,12 +390,12 @@
  22884.          <translation>Za?ifruj soukromé klí?e ve své pen??ence</translation>
  22885.      </message>
  22886.      <message>
  22887. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  22888. -        <translation>Podepi? zprávy svými litecoinovými adresami, ?ím? proká?e?, ?e jsi jejich vlastníkem</translation>
  22889. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  22890. +        <translation>Podepi? zprávy svými litecoincashovými adresami, ?ím? proká?e?, ?e jsi jejich vlastníkem</translation>
  22891.      </message>
  22892.      <message>
  22893. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  22894. -        <translation>Ov?? zprávy, aby ses ujistil, ?e byly podepsány danými litecoinovými adresami</translation>
  22895. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  22896. +        <translation>Ov?? zprávy, aby ses ujistil, ?e byly podepsány danými litecoincashovými adresami</translation>
  22897.      </message>
  22898.      <message>
  22899.          <source>&amp;File</source>
  22900. @@ -414,8 +414,8 @@
  22901.          <translation>Panel s listy</translation>
  22902.      </message>
  22903.      <message>
  22904. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  22905. -        <translation>Po?aduj platby (generuje QR kódy a litecoin: URI)</translation>
  22906. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  22907. +        <translation>Po?aduj platby (generuje QR kódy a litecoincash: URI)</translation>
  22908.      </message>
  22909.      <message>
  22910.          <source>Show the list of used sending addresses and labels</source>
  22911. @@ -426,16 +426,16 @@
  22912.          <translation>Uka? seznam pou?itých p?ijímacích adres a jejich ozna?ení</translation>
  22913.      </message>
  22914.      <message>
  22915. -        <source>Open a litecoin: URI or payment request</source>
  22916. -        <translation>Na?ti litecoin: URI nebo platební po?adavek</translation>
  22917. +        <source>Open a litecoincash: URI or payment request</source>
  22918. +        <translation>Na?ti litecoincash: URI nebo platební po?adavek</translation>
  22919.      </message>
  22920.      <message>
  22921.          <source>&amp;Command-line options</source>
  22922.          <translation>Ar&amp;gumenty p?íkazové ?ádky</translation>
  22923.      </message>
  22924.      <message numerus="yes">
  22925. -        <source>%n active connection(s) to Litecoin network</source>
  22926. -        <translation><numerusform>%n aktivní spojení do litecoinové sít?</numerusform><numerusform>%n aktivní spojení do litecoinové sít?</numerusform><numerusform>%n aktivních spojení do litecoinové sít?</numerusform></translation>
  22927. +        <source>%n active connection(s) to LitecoinCash network</source>
  22928. +        <translation><numerusform>%n aktivní spojení do litecoincashové sít?</numerusform><numerusform>%n aktivní spojení do litecoincashové sít?</numerusform><numerusform>%n aktivních spojení do litecoincashové sít?</numerusform></translation>
  22929.      </message>
  22930.      <message>
  22931.          <source>Indexing blocks on disk...</source>
  22932. @@ -478,8 +478,8 @@
  22933.          <translation>Aktuální</translation>
  22934.      </message>
  22935.      <message>
  22936. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  22937. -        <translation>Seznam argument? Litecoinu pro p?íkazovou ?ádku získá? v nápov?d? %1</translation>
  22938. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  22939. +        <translation>Seznam argument? LitecoinCashu pro p?íkazovou ?ádku získá? v nápov?d? %1</translation>
  22940.      </message>
  22941.      <message>
  22942.          <source>%1 client</source>
  22943. @@ -548,8 +548,8 @@
  22944.          <translation>Pen??enka je &lt;b&gt;za?ifrovaná&lt;/b&gt; a momentáln? &lt;b&gt;zam?ená&lt;/b&gt;</translation>
  22945.      </message>
  22946.      <message>
  22947. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  22948. -        <translation>Stala se fatální chyba. Litecoin nem??e bezpe?n? pokra?ovat v ?innosti, a proto skon?í.</translation>
  22949. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  22950. +        <translation>Stala se fatální chyba. LitecoinCash nem??e bezpe?n? pokra?ovat v ?innosti, a proto skon?í.</translation>
  22951.      </message>
  22952.  </context>
  22953.  <context>
  22954. @@ -742,8 +742,8 @@
  22955.          <translation>Uprav odesílací adresu</translation>
  22956.      </message>
  22957.      <message>
  22958. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  22959. -        <translation>Zadaná adresa ?%1? není platná litecoinová adresa.</translation>
  22960. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  22961. +        <translation>Zadaná adresa ?%1? není platná litecoincashová adresa.</translation>
  22962.      </message>
  22963.      <message>
  22964.          <source>The entered address "%1" is already in the address book.</source>
  22965. @@ -851,7 +851,7 @@
  22966.          <translation>Tohle je poprvé, co spou?tí? %1, tak?e si m??e? zvolit, kam bude ukládat svá data.</translation>
  22967.      </message>
  22968.      <message>
  22969. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  22970. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  22971.          <translation>%1 bude stahovat kopii ?et?zce blok?. Proto bude pot?eba do tohoto adresá?e ulo?it nejmén? %2 GB dat ? toto ?íslo bude navíc v pr?b?hu ?asu r?st. Tvá pen??enka bude rovn?? ulo?ena v tomto adresá?i.</translation>
  22972.      </message>
  22973.      <message>
  22974. @@ -886,12 +886,12 @@
  22975.          <translation>Formulá?</translation>
  22976.      </message>
  22977.      <message>
  22978. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  22979. -        <translation>Nedávné transakce je?t? nemusí být vid?t, tak?e stav tvého ú?tu nemusí být platný. Jakmile se v?ak tvá pen??enka dosynchronizuje s litecoinovou sítí (viz informace ní?e), tak u? bude stav správn?.</translation>
  22980. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  22981. +        <translation>Nedávné transakce je?t? nemusí být vid?t, tak?e stav tvého ú?tu nemusí být platný. Jakmile se v?ak tvá pen??enka dosynchronizuje s litecoincashovou sítí (viz informace ní?e), tak u? bude stav správn?.</translation>
  22982.      </message>
  22983.      <message>
  22984. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  22985. -        <translation>Utrácení litecoin?, které u? utratily zatím nezobrazené transakce, nebude litecoinovou sítí umo?n?no.</translation>
  22986. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  22987. +        <translation>Utrácení litecoincash?, které u? utratily zatím nezobrazené transakce, nebude litecoincashovou sítí umo?n?no.</translation>
  22988.      </message>
  22989.      <message>
  22990.          <source>Number of blocks left</source>
  22991. @@ -1048,7 +1048,7 @@
  22992.          <translation>&amp;Utrácet i je?t? nepotvrzené drobné</translation>
  22993.      </message>
  22994.      <message>
  22995. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  22996. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  22997.          <translation>Automaticky otev?e pot?ebný port na routeru. Tohle funguje jen za p?edpokladu, ?e tv?j router podporuje UPnP a ?e je UPnP povolené.</translation>
  22998.      </message>
  22999.      <message>
  23000. @@ -1056,8 +1056,8 @@
  23001.          <translation>Namapovat port p?es &amp;UPnP</translation>
  23002.      </message>
  23003.      <message>
  23004. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  23005. -        <translation>P?ipojí se do litecoinové sít? p?es SOCKS5 proxy.</translation>
  23006. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  23007. +        <translation>P?ipojí se do litecoincashové sít? p?es SOCKS5 proxy.</translation>
  23008.      </message>
  23009.      <message>
  23010.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  23011. @@ -1096,8 +1096,8 @@
  23012.          <translation>Tor</translation>
  23013.      </message>
  23014.      <message>
  23015. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  23016. -        <translation>P?ipojí se do litecoinové sít? p?es SOCKS5 proxy vyhrazenou pro skryté slu?by v Tor síti.</translation>
  23017. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  23018. +        <translation>P?ipojí se do litecoincashové sít? p?es SOCKS5 proxy vyhrazenou pro skryté slu?by v Tor síti.</translation>
  23019.      </message>
  23020.      <message>
  23021.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  23022. @@ -1195,8 +1195,8 @@
  23023.          <translation>Formulá?</translation>
  23024.      </message>
  23025.      <message>
  23026. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  23027. -        <translation>Zobrazené informace nemusí být aktuální. Tvá pen??enka se automaticky sesynchronizuje s litecoinovou sítí, jakmile se s ní spojí. Zatím ale je?t? není synchronizace dokon?ena.</translation>
  23028. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  23029. +        <translation>Zobrazené informace nemusí být aktuální. Tvá pen??enka se automaticky sesynchronizuje s litecoincashovou sítí, jakmile se s ní spojí. Zatím ale je?t? není synchronizace dokon?ena.</translation>
  23030.      </message>
  23031.      <message>
  23032.          <source>Watch-only:</source>
  23033. @@ -1270,8 +1270,8 @@
  23034.          <translation>Chyba platebního po?adavku</translation>
  23035.      </message>
  23036.      <message>
  23037. -        <source>Cannot start litecoin: click-to-pay handler</source>
  23038. -        <translation>Nem??u spustit litecoin: obsluha click-to-pay</translation>
  23039. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  23040. +        <translation>Nem??u spustit litecoincash: obsluha click-to-pay</translation>
  23041.      </message>
  23042.      <message>
  23043.          <source>URI handling</source>
  23044. @@ -1286,8 +1286,8 @@
  23045.          <translation>Neplatná platební adresa %1</translation>
  23046.      </message>
  23047.      <message>
  23048. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  23049. -        <translation>Nepoda?ilo se analyzovat URI! D?vodem m??e být neplatná litecoinová adresa nebo po?kozené parametry URI.</translation>
  23050. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  23051. +        <translation>Nepoda?ilo se analyzovat URI! D?vodem m??e být neplatná litecoincashová adresa nebo po?kozené parametry URI.</translation>
  23052.      </message>
  23053.      <message>
  23054.          <source>Payment request file handling</source>
  23055. @@ -1380,8 +1380,8 @@
  23056.          <translation>?ástka</translation>
  23057.      </message>
  23058.      <message>
  23059. -        <source>Enter a Litecoin address (e.g. %1)</source>
  23060. -        <translation>Zadej litecoinovou adresu (nap?. %1)</translation>
  23061. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  23062. +        <translation>Zadej litecoincashovou adresu (nap?. %1)</translation>
  23063.      </message>
  23064.      <message>
  23065.          <source>%1 d</source>
  23066. @@ -1804,8 +1804,8 @@
  23067.          <translation>&amp;Recyklovat ji? existující adresy (nedoporu?eno)</translation>
  23068.      </message>
  23069.      <message>
  23070. -        <source>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 Litecoin network.</source>
  23071. -        <translation>Volitelná zpráva, která se p?ipojí k platebnímu po?adavku a která se zobrazí, kdy? se po?adavek otev?e. Poznámka: tahle zpráva se neposílá s platbou po litecoinové síti.</translation>
  23072. +        <source>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 LitecoinCash network.</source>
  23073. +        <translation>Volitelná zpráva, která se p?ipojí k platebnímu po?adavku a která se zobrazí, kdy? se po?adavek otev?e. Poznámka: tahle zpráva se neposílá s platbou po litecoincashové síti.</translation>
  23074.      </message>
  23075.      <message>
  23076.          <source>An optional label to associate with the new receiving address.</source>
  23077. @@ -2037,8 +2037,8 @@
  23078.          <translation>p?inejmen?ím</translation>
  23079.      </message>
  23080.      <message>
  23081. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  23082. -        <translation>Platit jen minimální poplatek je v po?ádku, pokud je zrovna mén? transakcí ne? místa v blocích. Ale po?ítej s tím, ?e to také m??e skon?it transakcí, která nikdy nebude potvrzena, pokud je v?t?í poptávka po litecoinových transakcích, ne? sí? zvládne zpracovat.</translation>
  23083. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  23084. +        <translation>Platit jen minimální poplatek je v po?ádku, pokud je zrovna mén? transakcí ne? místa v blocích. Ale po?ítej s tím, ?e to také m??e skon?it transakcí, která nikdy nebude potvrzena, pokud je v?t?í poptávka po litecoincashových transakcích, ne? sí? zvládne zpracovat.</translation>
  23085.      </message>
  23086.      <message>
  23087.          <source>(read the tooltip)</source>
  23088. @@ -2201,8 +2201,8 @@
  23089.          <translation><numerusform>Potvrzování by podle odhadu m?lo za?ít b?hem %n bloku.</numerusform><numerusform>Potvrzování by podle odhadu m?lo za?ít b?hem %n blok?.</numerusform><numerusform>Potvrzování by podle odhadu m?lo za?ít b?hem %n blok?.</numerusform></translation>
  23090.      </message>
  23091.      <message>
  23092. -        <source>Warning: Invalid Litecoin address</source>
  23093. -        <translation>Upozorn?ní: Neplatná litecoinová adresa</translation>
  23094. +        <source>Warning: Invalid LitecoinCash address</source>
  23095. +        <translation>Upozorn?ní: Neplatná litecoincashová adresa</translation>
  23096.      </message>
  23097.      <message>
  23098.          <source>Warning: Unknown change address</source>
  23099. @@ -2244,8 +2244,8 @@
  23100.          <translation>Tohle je normální platba.</translation>
  23101.      </message>
  23102.      <message>
  23103. -        <source>The Litecoin address to send the payment to</source>
  23104. -        <translation>Litecoinová adresa p?íjemce</translation>
  23105. +        <source>The LitecoinCash address to send the payment to</source>
  23106. +        <translation>LitecoinCashová adresa p?íjemce</translation>
  23107.      </message>
  23108.      <message>
  23109.          <source>Alt+A</source>
  23110. @@ -2264,8 +2264,8 @@
  23111.          <translation>Sma? tento záznam</translation>
  23112.      </message>
  23113.      <message>
  23114. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  23115. -        <translation>Poplatek se ode?te od posílané ?ástky. P?íjemce tak dostane mén? litecoin?, ne? zadá? do pole ?ástka. Pokud vybere? více p?íjemc?, tak se poplatek rovnom?rn? rozlo?í.</translation>
  23116. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  23117. +        <translation>Poplatek se ode?te od posílané ?ástky. P?íjemce tak dostane mén? litecoincash?, ne? zadá? do pole ?ástka. Pokud vybere? více p?íjemc?, tak se poplatek rovnom?rn? rozlo?í.</translation>
  23118.      </message>
  23119.      <message>
  23120.          <source>S&amp;ubtract fee from amount</source>
  23121. @@ -2288,8 +2288,8 @@
  23122.          <translation>Zadej ozna?ení této adresy; obojí se ti pak ulo?í do adresá?e</translation>
  23123.      </message>
  23124.      <message>
  23125. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  23126. -        <translation>Zpráva, která byla p?ipojena k litecoin: URI a která se ti pro p?ehled ulo?í k transakci. Poznámka: Tahle zpráva se neposílá s platbou po litecoinové síti.</translation>
  23127. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  23128. +        <translation>Zpráva, která byla p?ipojena k litecoincash: URI a která se ti pro p?ehled ulo?í k transakci. Poznámka: Tahle zpráva se neposílá s platbou po litecoincashové síti.</translation>
  23129.      </message>
  23130.      <message>
  23131.          <source>Pay To:</source>
  23132. @@ -2333,12 +2333,12 @@
  23133.          <translation>&amp;Podepi? zprávu</translation>
  23134.      </message>
  23135.      <message>
  23136. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  23137. -        <translation>Podepsáním zprávy/smlouvy svými adresami m??e? prokázat, ?e jsi na n? schopen p?ijmout litecoiny. Bu? opatrný a nepodepisuj nic vágního nebo náhodného; nap?íklad p?i phishingových útocích m??e? být lákán, abys n?co takového podepsal. Podepisuj pouze naprosto úplná a detailní prohlá?ení, se kterými souhlasí?.</translation>
  23138. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  23139. +        <translation>Podepsáním zprávy/smlouvy svými adresami m??e? prokázat, ?e jsi na n? schopen p?ijmout litecoincashy. Bu? opatrný a nepodepisuj nic vágního nebo náhodného; nap?íklad p?i phishingových útocích m??e? být lákán, abys n?co takového podepsal. Podepisuj pouze naprosto úplná a detailní prohlá?ení, se kterými souhlasí?.</translation>
  23140.      </message>
  23141.      <message>
  23142. -        <source>The Litecoin address to sign the message with</source>
  23143. -        <translation>Litecoinová adresa, kterou se zpráva podepí?e</translation>
  23144. +        <source>The LitecoinCash address to sign the message with</source>
  23145. +        <translation>LitecoinCashová adresa, kterou se zpráva podepí?e</translation>
  23146.      </message>
  23147.      <message>
  23148.          <source>Choose previously used address</source>
  23149. @@ -2369,8 +2369,8 @@
  23150.          <translation>Zkopíruj tento podpis do schránky</translation>
  23151.      </message>
  23152.      <message>
  23153. -        <source>Sign the message to prove you own this Litecoin address</source>
  23154. -        <translation>Podepi? zprávu, ?ím? proká?e?, ?e jsi vlastníkem této litecoinové adresy</translation>
  23155. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  23156. +        <translation>Podepi? zprávu, ?ím? proká?e?, ?e jsi vlastníkem této litecoincashové adresy</translation>
  23157.      </message>
  23158.      <message>
  23159.          <source>Sign &amp;Message</source>
  23160. @@ -2393,12 +2393,12 @@
  23161.          <translation>K ov??ení podpisu zprávy zadej adresu p?íjemce, zprávu (ov?? si, ?e správn? kopíruje? zalomení ?ádk?, mezery, tabulátory apod.) a podpis. Dávej pozor na to, abys nezkopíroval do podpisu víc, ne? co je v samotné podepsané zpráv?, abys nebyl napálen man-in-the-middle útokem. Poznamenejme v?ak, ?e takto lze pouze prokázat, ?e podepisující je schopný na dané adrese p?ijmout platbu, ale není mo?néprokázat, ?e odeslal jakoukoli transakci!</translation>
  23162.      </message>
  23163.      <message>
  23164. -        <source>The Litecoin address the message was signed with</source>
  23165. -        <translation>Litecoinová adresa, kterou je zpráva podepsána</translation>
  23166. +        <source>The LitecoinCash address the message was signed with</source>
  23167. +        <translation>LitecoinCashová adresa, kterou je zpráva podepsána</translation>
  23168.      </message>
  23169.      <message>
  23170. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  23171. -        <translation>Ov?? zprávu, aby ses ujistil, ?e byla podepsána danou litecoinovou adresou</translation>
  23172. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  23173. +        <translation>Ov?? zprávu, aby ses ujistil, ?e byla podepsána danou litecoincashovou adresou</translation>
  23174.      </message>
  23175.      <message>
  23176.          <source>Verify &amp;Message</source>
  23177. @@ -3058,8 +3058,8 @@
  23178.          <translation>Nemohu spustit HTTP server. Detaily viz v debug.log.</translation>
  23179.      </message>
  23180.      <message>
  23181. -        <source>Litecoin Core</source>
  23182. -        <translation>Litecoin Core</translation>
  23183. +        <source>LitecoinCash Core</source>
  23184. +        <translation>LitecoinCash Core</translation>
  23185.      </message>
  23186.      <message>
  23187.          <source>The %s developers</source>
  23188. diff --git a/src/qt/locale/bitcoin_cy.ts b/src/qt/locale/bitcoin_cy.ts
  23189. index 5cb84d1..d6a44e9 100644
  23190. --- a/src/qt/locale/bitcoin_cy.ts
  23191. +++ b/src/qt/locale/bitcoin_cy.ts
  23192. @@ -154,8 +154,8 @@
  23193.          <translation>Newid y cyfrinymadrodd a ddefnyddiwyd ar gyfer amgryptio'r waled</translation>
  23194.      </message>
  23195.      <message>
  23196. -        <source>Litecoin</source>
  23197. -        <translation>Litecoin</translation>
  23198. +        <source>LitecoinCash</source>
  23199. +        <translation>LitecoinCash</translation>
  23200.      </message>
  23201.      <message>
  23202.          <source>Wallet</source>
  23203. @@ -640,8 +640,8 @@
  23204.          <translation>Opsiynau:</translation>
  23205.      </message>
  23206.      <message>
  23207. -        <source>Litecoin Core</source>
  23208. -        <translation>Craidd Litecoin</translation>
  23209. +        <source>LitecoinCash Core</source>
  23210. +        <translation>Craidd LitecoinCash</translation>
  23211.      </message>
  23212.      <message>
  23213.          <source>Information</source>
  23214. diff --git a/src/qt/locale/bitcoin_da.ts b/src/qt/locale/bitcoin_da.ts
  23215. index cb1c064..e2f49fa 100644
  23216. --- a/src/qt/locale/bitcoin_da.ts
  23217. +++ b/src/qt/locale/bitcoin_da.ts
  23218. @@ -43,11 +43,11 @@
  23219.      </message>
  23220.      <message>
  23221.          <source>Choose the address to send coins to</source>
  23222. -        <translation>Vælg adresse at sende litecoins til</translation>
  23223. +        <translation>Vælg adresse at sende coins til</translation>
  23224.      </message>
  23225.      <message>
  23226.          <source>Choose the address to receive coins with</source>
  23227. -        <translation>Vælg adresse at modtage litecoins med</translation>
  23228. +        <translation>Vælg adresse at modtage coins med</translation>
  23229.      </message>
  23230.      <message>
  23231.          <source>C&amp;hoose</source>
  23232. @@ -62,12 +62,12 @@
  23233.          <translation>Modtagelsesadresser</translation>
  23234.      </message>
  23235.      <message>
  23236. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  23237. -        <translation>Disse er dine Litecoin-adresser til afsendelse af betalinger. Tjek altid beløb og modtagelsesadresse, inden du sender litecoins.</translation>
  23238. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  23239. +        <translation>Disse er dine LitecoinCash-adresser til afsendelse af betalinger. Tjek altid beløb og modtagelsesadresse, inden du sender coins.</translation>
  23240.      </message>
  23241.      <message>
  23242. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  23243. -        <translation>Dette er dine Litecoin-adresser til modtagelse af betalinger. Det anbefales at bruge en ny modtagelsesadresse for hver transaktion.</translation>
  23244. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  23245. +        <translation>Dette er dine LitecoinCash-adresser til modtagelse af betalinger. Det anbefales at bruge en ny modtagelsesadresse for hver transaktion.</translation>
  23246.      </message>
  23247.      <message>
  23248.          <source>&amp;Copy Address</source>
  23249. @@ -168,8 +168,8 @@
  23250.          <translation>Bekræft tegnebogskryptering</translation>
  23251.      </message>
  23252.      <message>
  23253. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  23254. -        <translation>Advarsel: Hvis du krypterer din tegnebog og mister din adgangskode, vil du &lt;b&gt;MISTE ALLE DINE LITECOINS&lt;/b&gt;!</translation>
  23255. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  23256. +        <translation>Advarsel: Hvis du krypterer din tegnebog og mister din adgangskode, vil du &lt;b&gt;MISTE ALLE DINE LCC&lt;/b&gt;!</translation>
  23257.      </message>
  23258.      <message>
  23259.          <source>Are you sure you wish to encrypt your wallet?</source>
  23260. @@ -180,8 +180,8 @@
  23261.          <translation>Tegnebog krypteret</translation>
  23262.      </message>
  23263.      <message>
  23264. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  23265. -        <translation>%1 vil nu lukke for at færdiggøre krypteringsprocessen. Husk at kryptering af din tegnebog kan ikke beskytte dine litecoin fuldt ud mod at blive stjålet af eventuel malware, der måtte have inficeret din computer.</translation>
  23266. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  23267. +        <translation>%1 vil nu lukke for at færdiggøre krypteringsprocessen. Husk at kryptering af din tegnebog kan ikke beskytte dine litecoincash fuldt ud mod at blive stjålet af eventuel malware, der måtte have inficeret din computer.</translation>
  23268.      </message>
  23269.      <message>
  23270.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  23271. @@ -338,8 +338,8 @@
  23272.          <translation>Genindekserer blokke på disken?</translation>
  23273.      </message>
  23274.      <message>
  23275. -        <source>Send coins to a Litecoin address</source>
  23276. -        <translation>Send litecoins til en Litecoin-adresse</translation>
  23277. +        <source>Send coins to a LitecoinCash address</source>
  23278. +        <translation>Send coins til en LitecoinCash-adresse</translation>
  23279.      </message>
  23280.      <message>
  23281.          <source>Backup wallet to another location</source>
  23282. @@ -362,8 +362,8 @@
  23283.          <translation>&amp;Verificér besked?</translation>
  23284.      </message>
  23285.      <message>
  23286. -        <source>Litecoin</source>
  23287. -        <translation>Litecoin</translation>
  23288. +        <source>LitecoinCash</source>
  23289. +        <translation>LitecoinCash</translation>
  23290.      </message>
  23291.      <message>
  23292.          <source>Wallet</source>
  23293. @@ -390,12 +390,12 @@
  23294.          <translation>Kryptér de private nøgler, der hører til din tegnebog</translation>
  23295.      </message>
  23296.      <message>
  23297. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  23298. -        <translation>Signér beskeder med dine Litecoin-adresser for at bevise, at de tilhører dig</translation>
  23299. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  23300. +        <translation>Signér beskeder med dine LitecoinCash-adresser for at bevise, at de tilhører dig</translation>
  23301.      </message>
  23302.      <message>
  23303. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  23304. -        <translation>Verificér beskeder for at sikre, at de er signeret med de angivne Litecoin-adresser</translation>
  23305. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  23306. +        <translation>Verificér beskeder for at sikre, at de er signeret med de angivne LitecoinCash-adresser</translation>
  23307.      </message>
  23308.      <message>
  23309.          <source>&amp;File</source>
  23310. @@ -414,8 +414,8 @@
  23311.          <translation>Faneværktøjslinje</translation>
  23312.      </message>
  23313.      <message>
  23314. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  23315. -        <translation>Anmod om betalinger (genererer QR-koder og ?litecoin:?-URI'er)</translation>
  23316. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  23317. +        <translation>Anmod om betalinger (genererer QR-koder og ?litecoincash:?-URI'er)</translation>
  23318.      </message>
  23319.      <message>
  23320.          <source>Show the list of used sending addresses and labels</source>
  23321. @@ -426,16 +426,16 @@
  23322.          <translation>Vis listen over brugte modtagelsesadresser og -mærkater</translation>
  23323.      </message>
  23324.      <message>
  23325. -        <source>Open a litecoin: URI or payment request</source>
  23326. -        <translation>Åbn en ?litecoin:?-URI eller betalingsanmodning</translation>
  23327. +        <source>Open a litecoincash: URI or payment request</source>
  23328. +        <translation>Åbn en ?litecoincash:?-URI eller betalingsanmodning</translation>
  23329.      </message>
  23330.      <message>
  23331.          <source>&amp;Command-line options</source>
  23332.          <translation>Tilvalg for &amp;kommandolinje</translation>
  23333.      </message>
  23334.      <message numerus="yes">
  23335. -        <source>%n active connection(s) to Litecoin network</source>
  23336. -        <translation><numerusform>%n aktiv forbindelse til Litecoin-netværket</numerusform><numerusform>%n aktive forbindelser til Litecoin-netværket</numerusform></translation>
  23337. +        <source>%n active connection(s) to LitecoinCash network</source>
  23338. +        <translation><numerusform>%n aktiv forbindelse til LitecoinCash-netværket</numerusform><numerusform>%n aktive forbindelser til LitecoinCash-netværket</numerusform></translation>
  23339.      </message>
  23340.      <message>
  23341.          <source>Indexing blocks on disk...</source>
  23342. @@ -478,8 +478,8 @@
  23343.          <translation>Opdateret</translation>
  23344.      </message>
  23345.      <message>
  23346. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  23347. -        <translation>Vis %1 hjælpebesked for at få en liste over mulige tilvalg for Litecoin kommandolinje</translation>
  23348. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  23349. +        <translation>Vis %1 hjælpebesked for at få en liste over mulige tilvalg for LitecoinCash kommandolinje</translation>
  23350.      </message>
  23351.      <message>
  23352.          <source>%1 client</source>
  23353. @@ -548,8 +548,8 @@
  23354.          <translation>Tegnebog er &lt;b&gt;krypteret&lt;/b&gt; og i øjeblikket &lt;b&gt;låst&lt;/b&gt;</translation>
  23355.      </message>
  23356.      <message>
  23357. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  23358. -        <translation>Der opstod en fatal fejl. Litecoin kan ikke længere fortsætte sikkert og vil afslutte.</translation>
  23359. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  23360. +        <translation>Der opstod en fatal fejl. LitecoinCash kan ikke længere fortsætte sikkert og vil afslutte.</translation>
  23361.      </message>
  23362.  </context>
  23363.  <context>
  23364. @@ -742,8 +742,8 @@
  23365.          <translation>Redigér afsendelsesadresse</translation>
  23366.      </message>
  23367.      <message>
  23368. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  23369. -        <translation>Den indtastede adresse ?%1? er ikke en gyldig Litecoin-adresse.</translation>
  23370. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  23371. +        <translation>Den indtastede adresse ?%1? er ikke en gyldig LitecoinCash-adresse.</translation>
  23372.      </message>
  23373.      <message>
  23374.          <source>The entered address "%1" is already in the address book.</source>
  23375. @@ -851,8 +851,8 @@
  23376.          <translation>Siden dette er første gang, programmet startes, kan du vælge, hvor %1 skal gemme sin data.</translation>
  23377.      </message>
  23378.      <message>
  23379. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  23380. -        <translation>%1 vil downloade og gemme et kopi af Litecoin-blokkæden. Mindst %2 GB data vil blive gemt i denne mappe, og den vil vokse over tid. Tegnebogen vil også blive gemt i denne mappe.</translation>
  23381. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  23382. +        <translation>%1 vil downloade og gemme et kopi af LitecoinCash-blokkæden. Mindst %2 GB data vil blive gemt i denne mappe, og den vil vokse over tid. Tegnebogen vil også blive gemt i denne mappe.</translation>
  23383.      </message>
  23384.      <message>
  23385.          <source>Use the default data directory</source>
  23386. @@ -886,12 +886,12 @@
  23387.          <translation>Formular</translation>
  23388.      </message>
  23389.      <message>
  23390. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  23391. -        <translation>Nylige transaktioner er måske ikke synlige endnu, og derfor kan din tegnebogs saldo være ukorrekt. Denne information vil være korrekt, når din tegnebog er færdig med at synkronisere med litecoin-netværket, som detaljerne herunder viser.</translation>
  23392. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  23393. +        <translation>Nylige transaktioner er måske ikke synlige endnu, og derfor kan din tegnebogs saldo være ukorrekt. Denne information vil være korrekt, når din tegnebog er færdig med at synkronisere med litecoincash-netværket, som detaljerne herunder viser.</translation>
  23394.      </message>
  23395.      <message>
  23396. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  23397. -        <translation>Forsøg på at bruge litecoin, som er indeholdt i endnu-ikke-viste transaktioner, accepteres ikke af netværket.</translation>
  23398. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  23399. +        <translation>Forsøg på at bruge litecoincash, som er indeholdt i endnu-ikke-viste transaktioner, accepteres ikke af netværket.</translation>
  23400.      </message>
  23401.      <message>
  23402.          <source>Number of blocks left</source>
  23403. @@ -1048,16 +1048,16 @@
  23404.          <translation>&amp;Brug ubekræftede byttepenge</translation>
  23405.      </message>
  23406.      <message>
  23407. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  23408. -        <translation>Åbn automatisk Litecoin-klientens port på routeren. Dette virker kun, når din router understøtter UPnP, og UPnP er aktiveret.</translation>
  23409. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  23410. +        <translation>Åbn automatisk LitecoinCash-klientens port på routeren. Dette virker kun, når din router understøtter UPnP, og UPnP er aktiveret.</translation>
  23411.      </message>
  23412.      <message>
  23413.          <source>Map port using &amp;UPnP</source>
  23414.          <translation>Konfigurér port vha. &amp;UPnP</translation>
  23415.      </message>
  23416.      <message>
  23417. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  23418. -        <translation>Forbind til Litecoin-netværket gennem en SOCKS5-proxy.</translation>
  23419. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  23420. +        <translation>Forbind til LitecoinCash-netværket gennem en SOCKS5-proxy.</translation>
  23421.      </message>
  23422.      <message>
  23423.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  23424. @@ -1096,8 +1096,8 @@
  23425.          <translation>Tor</translation>
  23426.      </message>
  23427.      <message>
  23428. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  23429. -        <translation>Forbind til Litecoin-netværket gennem en separat SOCKS5-proxy for skjulte Tor-tjenester.</translation>
  23430. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  23431. +        <translation>Forbind til LitecoinCash-netværket gennem en separat SOCKS5-proxy for skjulte Tor-tjenester.</translation>
  23432.      </message>
  23433.      <message>
  23434.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  23435. @@ -1145,7 +1145,7 @@
  23436.      </message>
  23437.      <message>
  23438.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  23439. -        <translation>Vælg standard for underopdeling af enhed, som skal vises i brugergrænsefladen og ved afsendelse af litecoins.</translation>
  23440. +        <translation>Vælg standard for underopdeling af enhed, som skal vises i brugergrænsefladen og ved afsendelse af coins.</translation>
  23441.      </message>
  23442.      <message>
  23443.          <source>Whether to show coin control features or not.</source>
  23444. @@ -1195,8 +1195,8 @@
  23445.          <translation>Formular</translation>
  23446.      </message>
  23447.      <message>
  23448. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  23449. -        <translation>Den viste information kan være forældet. Din tegnebog synkroniserer automatisk med Litecoin-netværket, når en forbindelse etableres, men denne proces er ikke gennemført endnu.</translation>
  23450. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  23451. +        <translation>Den viste information kan være forældet. Din tegnebog synkroniserer automatisk med LitecoinCash-netværket, når en forbindelse etableres, men denne proces er ikke gennemført endnu.</translation>
  23452.      </message>
  23453.      <message>
  23454.          <source>Watch-only:</source>
  23455. @@ -1270,8 +1270,8 @@
  23456.          <translation>Fejl i betalingsanmodning</translation>
  23457.      </message>
  23458.      <message>
  23459. -        <source>Cannot start litecoin: click-to-pay handler</source>
  23460. -        <translation>Kan ikke starte litecoin: click-to-pay-håndtering</translation>
  23461. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  23462. +        <translation>Kan ikke starte litecoincash: click-to-pay-håndtering</translation>
  23463.      </message>
  23464.      <message>
  23465.          <source>URI handling</source>
  23466. @@ -1286,8 +1286,8 @@
  23467.          <translation>Ugyldig betalingsadresse %1</translation>
  23468.      </message>
  23469.      <message>
  23470. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  23471. -        <translation>URI kan ikke tolkes! Dette kan skyldes en ugyldig Litecoin-adresse eller forkert udformede URL-parametre.</translation>
  23472. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  23473. +        <translation>URI kan ikke tolkes! Dette kan skyldes en ugyldig LitecoinCash-adresse eller forkert udformede URL-parametre.</translation>
  23474.      </message>
  23475.      <message>
  23476.          <source>Payment request file handling</source>
  23477. @@ -1380,8 +1380,8 @@
  23478.          <translation>Beløb</translation>
  23479.      </message>
  23480.      <message>
  23481. -        <source>Enter a Litecoin address (e.g. %1)</source>
  23482. -        <translation>Indtast en Litecoin-adresse (fx %1)</translation>
  23483. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  23484. +        <translation>Indtast en LitecoinCash-adresse (fx %1)</translation>
  23485.      </message>
  23486.      <message>
  23487.          <source>%1 d</source>
  23488. @@ -1804,8 +1804,8 @@
  23489.          <translation>&amp;Genbrug en eksisterende modtagelsesadresse (anbefales ikke)</translation>
  23490.      </message>
  23491.      <message>
  23492. -        <source>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 Litecoin network.</source>
  23493. -        <translation>En valgfri besked, der føjes til betalingsanmodningen, og som vil vises, når anmodningen åbnes. Bemærk: Beskeden vil ikke sendes sammen med betalingen over Litecoin-netværket.</translation>
  23494. +        <source>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 LitecoinCash network.</source>
  23495. +        <translation>En valgfri besked, der føjes til betalingsanmodningen, og som vil vises, når anmodningen åbnes. Bemærk: Beskeden vil ikke sendes sammen med betalingen over LitecoinCash-netværket.</translation>
  23496.      </message>
  23497.      <message>
  23498.          <source>An optional label to associate with the new receiving address.</source>
  23499. @@ -1958,7 +1958,7 @@
  23500.      <name>SendCoinsDialog</name>
  23501.      <message>
  23502.          <source>Send Coins</source>
  23503. -        <translation>Send litecoins</translation>
  23504. +        <translation>Send coins</translation>
  23505.      </message>
  23506.      <message>
  23507.          <source>Coin Control Features</source>
  23508. @@ -2037,8 +2037,8 @@
  23509.          <translation>total mindst</translation>
  23510.      </message>
  23511.      <message>
  23512. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  23513. -        <translation>Det er helt fint kun at betale det minimale gebyr, så længe den totale transaktionsvolumen er mindre end den plads, der er tilgængelig i blokkene. Men vær opmærksom på, at dette kan ende ud i transaktioner, der aldrig bliver bekræftet, når der bliver større forespørgsel efter litecoin-transaktioner, end hvad netværket kan bearbejde.</translation>
  23514. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  23515. +        <translation>Det er helt fint kun at betale det minimale gebyr, så længe den totale transaktionsvolumen er mindre end den plads, der er tilgængelig i blokkene. Men vær opmærksom på, at dette kan ende ud i transaktioner, der aldrig bliver bekræftet, når der bliver større forespørgsel efter litecoincash-transaktioner, end hvad netværket kan bearbejde.</translation>
  23516.      </message>
  23517.      <message>
  23518.          <source>(read the tooltip)</source>
  23519. @@ -2150,7 +2150,7 @@
  23520.      </message>
  23521.      <message>
  23522.          <source>Confirm send coins</source>
  23523. -        <translation>Bekræft afsendelse af litecoins</translation>
  23524. +        <translation>Bekræft afsendelse af coins</translation>
  23525.      </message>
  23526.      <message>
  23527.          <source>The recipient address is not valid. Please recheck.</source>
  23528. @@ -2201,8 +2201,8 @@
  23529.          <translation><numerusform>Bekræftelse estimeret til at begynde om %n blok.</numerusform><numerusform>Bekræftelse estimeret til at begynde om %n blokke.</numerusform></translation>
  23530.      </message>
  23531.      <message>
  23532. -        <source>Warning: Invalid Litecoin address</source>
  23533. -        <translation>Advarsel: Ugyldig Litecoin-adresse</translation>
  23534. +        <source>Warning: Invalid LitecoinCash address</source>
  23535. +        <translation>Advarsel: Ugyldig LitecoinCash-adresse</translation>
  23536.      </message>
  23537.      <message>
  23538.          <source>Warning: Unknown change address</source>
  23539. @@ -2244,8 +2244,8 @@
  23540.          <translation>Dette er en normal betaling.</translation>
  23541.      </message>
  23542.      <message>
  23543. -        <source>The Litecoin address to send the payment to</source>
  23544. -        <translation>Litecoin-adresse, som betalingen skal sendes til</translation>
  23545. +        <source>The LitecoinCash address to send the payment to</source>
  23546. +        <translation>LitecoinCash-adresse, som betalingen skal sendes til</translation>
  23547.      </message>
  23548.      <message>
  23549.          <source>Alt+A</source>
  23550. @@ -2264,8 +2264,8 @@
  23551.          <translation>Fjern denne indgang</translation>
  23552.      </message>
  23553.      <message>
  23554. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  23555. -        <translation>Gebyret vil blive trukket fra det sendte beløb. Modtageren vil modtage færre litecoin, end du indtaster i beløbfeltet. Hvis flere modtagere vælges, vil gebyret deles ligeligt.</translation>
  23556. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  23557. +        <translation>Gebyret vil blive trukket fra det sendte beløb. Modtageren vil modtage færre litecoincash, end du indtaster i beløbfeltet. Hvis flere modtagere vælges, vil gebyret deles ligeligt.</translation>
  23558.      </message>
  23559.      <message>
  23560.          <source>S&amp;ubtract fee from amount</source>
  23561. @@ -2288,8 +2288,8 @@
  23562.          <translation>Indtast et mærkat for denne adresse for at føje den til listen over brugte adresser</translation>
  23563.      </message>
  23564.      <message>
  23565. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  23566. -        <translation>En besked, som blev føjet til ?bitcon:?-URI'en, som vil gemmes med transaktionen til din reference. Bemærk: Denne besked vil ikke blive sendt over Litecoin-netværket.</translation>
  23567. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  23568. +        <translation>En besked, som blev føjet til ?bitcon:?-URI'en, som vil gemmes med transaktionen til din reference. Bemærk: Denne besked vil ikke blive sendt over LitecoinCash-netværket.</translation>
  23569.      </message>
  23570.      <message>
  23571.          <source>Pay To:</source>
  23572. @@ -2333,12 +2333,12 @@
  23573.          <translation>&amp;Singér besked</translation>
  23574.      </message>
  23575.      <message>
  23576. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  23577. -        <translation>Du kan signere beskeder/aftaler med dine adresser for at bevise, at du kan modtage litecoin, der bliver sendt til adresserne. Vær forsigtig med ikke at signere noget vagt eller tilfældigt, da eventuelle phishing-angreb kan snyde dig til at overlade din identitet til dem. Signér kun fuldt ud detaljerede udsagn, som du er enig i.</translation>
  23578. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  23579. +        <translation>Du kan signere beskeder/aftaler med dine adresser for at bevise, at du kan modtage litecoincash, der bliver sendt til adresserne. Vær forsigtig med ikke at signere noget vagt eller tilfældigt, da eventuelle phishing-angreb kan snyde dig til at overlade din identitet til dem. Signér kun fuldt ud detaljerede udsagn, som du er enig i.</translation>
  23580.      </message>
  23581.      <message>
  23582. -        <source>The Litecoin address to sign the message with</source>
  23583. -        <translation>Litecoin-adresse, som beskeden skal signeres med</translation>
  23584. +        <source>The LitecoinCash address to sign the message with</source>
  23585. +        <translation>LitecoinCash-adresse, som beskeden skal signeres med</translation>
  23586.      </message>
  23587.      <message>
  23588.          <source>Choose previously used address</source>
  23589. @@ -2369,8 +2369,8 @@
  23590.          <translation>Kopiér den nuværende signatur til systemets udklipsholder</translation>
  23591.      </message>
  23592.      <message>
  23593. -        <source>Sign the message to prove you own this Litecoin address</source>
  23594. -        <translation>Signér denne besked for at bevise, at Litecoin-adressen tilhører dig</translation>
  23595. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  23596. +        <translation>Signér denne besked for at bevise, at LitecoinCash-adressen tilhører dig</translation>
  23597.      </message>
  23598.      <message>
  23599.          <source>Sign &amp;Message</source>
  23600. @@ -2393,12 +2393,12 @@
  23601.          <translation>Indtast modtagerens adresse, besked (vær sikker på at kopiere linjeskift, mellemrum, tabuleringer, etc. præcist) og signatur herunder for at verificere beskeden. Vær forsigtig med ikke at læse noget ud fra signaturen, som ikke står i selve beskeden, for at undgå at blive snydt af et eventuelt man-in-the-middle-angreb. Bemærk, at dette kun beviser, at den signerende person kan modtage med adressen; det kan ikke bevise hvem der har sendt en given transaktion!</translation>
  23602.      </message>
  23603.      <message>
  23604. -        <source>The Litecoin address the message was signed with</source>
  23605. -        <translation>Litecoin-adressen, som beskeden blev signeret med</translation>
  23606. +        <source>The LitecoinCash address the message was signed with</source>
  23607. +        <translation>LitecoinCash-adressen, som beskeden blev signeret med</translation>
  23608.      </message>
  23609.      <message>
  23610. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  23611. -        <translation>Verificér beskeden for at sikre, at den er signeret med den angivne Litecoin-adresse</translation>
  23612. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  23613. +        <translation>Verificér beskeden for at sikre, at den er signeret med den angivne LitecoinCash-adresse</translation>
  23614.      </message>
  23615.      <message>
  23616.          <source>Verify &amp;Message</source>
  23617. @@ -2623,7 +2623,7 @@
  23618.      </message>
  23619.      <message>
  23620.          <source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
  23621. -        <translation>Minede litecoins skal modne %1 blokke, før de kan bruges. Da du genererede denne blok, blev den transmitteret til netværket for at blive føjet til blokkæden. Hvis det ikke lykkes at få den i kæden, vil dens tilstand ændres til ?ikke accepteret?, og den vil ikke kunne bruges. Dette kan ske nu og da, hvis en anden knude udvinder en blok inden for nogle få sekunder fra din.</translation>
  23622. +        <translation>Minede coins skal modne %1 blokke, før de kan bruges. Da du genererede denne blok, blev den transmitteret til netværket for at blive føjet til blokkæden. Hvis det ikke lykkes at få den i kæden, vil dens tilstand ændres til ?ikke accepteret?, og den vil ikke kunne bruges. Dette kan ske nu og da, hvis en anden knude udvinder en blok inden for nogle få sekunder fra din.</translation>
  23623.      </message>
  23624.      <message>
  23625.          <source>Debug information</source>
  23626. @@ -2949,7 +2949,7 @@
  23627.      <name>WalletModel</name>
  23628.      <message>
  23629.          <source>Send Coins</source>
  23630. -        <translation>Send litecoins</translation>
  23631. +        <translation>Send coins</translation>
  23632.      </message>
  23633.  </context>
  23634.  <context>
  23635. @@ -3058,8 +3058,8 @@
  23636.          <translation>Kunne ikke starte HTTP-server. Se fejlretningslog for detaljer.</translation>
  23637.      </message>
  23638.      <message>
  23639. -        <source>Litecoin Core</source>
  23640. -        <translation>Litecoin Core</translation>
  23641. +        <source>LitecoinCash Core</source>
  23642. +        <translation>LitecoinCash Core</translation>
  23643.      </message>
  23644.      <message>
  23645.          <source>The %s developers</source>
  23646. diff --git a/src/qt/locale/bitcoin_de_DE.ts b/src/qt/locale/bitcoin_de_DE.ts
  23647. index 0efb525..3a720f8 100644
  23648. --- a/src/qt/locale/bitcoin_de_DE.ts
  23649. +++ b/src/qt/locale/bitcoin_de_DE.ts
  23650. @@ -51,7 +51,7 @@
  23651.      </message>
  23652.      <message>
  23653.          <source>C&amp;hoose</source>
  23654. -        <translation>Dies sind deine Litecoin Adressen zum Senden von Zahlungsmitteln.
  23655. +        <translation>Dies sind deine LitecoinCash Adressen zum Senden von Zahlungsmitteln.
  23656.  Überprüfe immer die Menge, sowie die Empfänger-Adresse vor dem Senden von Coins.</translation>
  23657.      </message>
  23658.      <message>
  23659. diff --git a/src/qt/locale/bitcoin_el_GR.ts b/src/qt/locale/bitcoin_el_GR.ts
  23660. index db59698..c49a66f 100644
  23661. --- a/src/qt/locale/bitcoin_el_GR.ts
  23662. +++ b/src/qt/locale/bitcoin_el_GR.ts
  23663. @@ -62,12 +62,12 @@
  23664.          <translation>??????????? ?????</translation>
  23665.      </message>
  23666.      <message>
  23667. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  23668. -        <translation>????? ????? ?? Litecoin ??????????? ??? ??? ?? ???????? ????????. ?? ???????? ????? ?? ????, ????? ??? ?? ????????? ????????? ???? ???????? ?????????.</translation>
  23669. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  23670. +        <translation>????? ????? ?? LitecoinCash ??????????? ??? ??? ?? ???????? ????????. ?? ???????? ????? ?? ????, ????? ??? ?? ????????? ????????? ???? ???????? ?????????.</translation>
  23671.      </message>
  23672.      <message>
  23673. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  23674. -        <translation>????? ????? ?? Litecoin ??????????? ??? ??? ?? ????????? ????????. ?????????? ?? ?????????????? ??? ??? ????????? ????????? ??? ???? ?????????.</translation>
  23675. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  23676. +        <translation>????? ????? ?? LitecoinCash ??????????? ??? ??? ?? ????????? ????????. ?????????? ?? ?????????????? ??? ??? ????????? ????????? ??? ???? ?????????.</translation>
  23677.      </message>
  23678.      <message>
  23679.          <source>&amp;Copy Address</source>
  23680. @@ -238,8 +238,8 @@
  23681.          <translation>??????? ?????????? ????? ???? ?????? ?????...</translation>
  23682.      </message>
  23683.      <message>
  23684. -        <source>Send coins to a Litecoin address</source>
  23685. -        <translation>?????? ????????? ?? ??? ????????? litecoin</translation>
  23686. +        <source>Send coins to a LitecoinCash address</source>
  23687. +        <translation>?????? ????????? ?? ??? ????????? litecoincash</translation>
  23688.      </message>
  23689.      <message>
  23690.          <source>Backup wallet to another location</source>
  23691. @@ -262,8 +262,8 @@
  23692.          <translation>&amp;??????????? ?????????</translation>
  23693.      </message>
  23694.      <message>
  23695. -        <source>Litecoin</source>
  23696. -        <translation>Litecoin</translation>
  23697. +        <source>LitecoinCash</source>
  23698. +        <translation>LitecoinCash</translation>
  23699.      </message>
  23700.      <message>
  23701.          <source>Wallet</source>
  23702. @@ -290,12 +290,12 @@
  23703.          <translation>?????????????? ?? ???????? ??????? ??? ??????? ??? ????????? ??? </translation>
  23704.      </message>
  23705.      <message>
  23706. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  23707. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  23708.          <translation>????????? ??? ?????? ??? ?? ?????????? ??? ????? ? ??????? ????? ??? ??????????</translation>
  23709.      </message>
  23710.      <message>
  23711. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  23712. -        <translation>????????? ??? ?????? ??? ?' ?????????? ??? ?????? ??? ???????????? ????????? Litecoin</translation>
  23713. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  23714. +        <translation>????????? ??? ?????? ??? ?' ?????????? ??? ?????? ??? ???????????? ????????? LitecoinCash</translation>
  23715.      </message>
  23716.      <message>
  23717.          <source>&amp;File</source>
  23718. @@ -314,8 +314,8 @@
  23719.          <translation>???????????? ????????</translation>
  23720.      </message>
  23721.      <message>
  23722. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  23723. -        <translation>?????? ???????? (?????????? QR codes ??? ??????????? litecoin: )</translation>
  23724. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  23725. +        <translation>?????? ???????? (?????????? QR codes ??? ??????????? litecoincash: )</translation>
  23726.      </message>
  23727.      <message>
  23728.          <source>Show the list of used sending addresses and labels</source>
  23729. @@ -326,8 +326,8 @@
  23730.          <translation>??????? ??? ?????? ??? ???????????????? ??????????? ??? ???????? ??????</translation>
  23731.      </message>
  23732.      <message>
  23733. -        <source>Open a litecoin: URI or payment request</source>
  23734. -        <translation>??????? litecoin: URI ??????? ????????</translation>
  23735. +        <source>Open a litecoincash: URI or payment request</source>
  23736. +        <translation>??????? litecoincash: URI ??????? ????????</translation>
  23737.      </message>
  23738.      <message>
  23739.          <source>&amp;Command-line options</source>
  23740. @@ -736,16 +736,16 @@
  23741.          <translation>&amp;?????? ?? ???????????? ??????</translation>
  23742.      </message>
  23743.      <message>
  23744. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  23745. -        <translation>???????? ??????? ??? ????? Litecoin ???? ???????????. ?????????? ???? ?? ? ???????????? ??? ??????????? ?? ?????????? UPnP.</translation>
  23746. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  23747. +        <translation>???????? ??????? ??? ????? LitecoinCash ???? ???????????. ?????????? ???? ?? ? ???????????? ??? ??????????? ?? ?????????? UPnP.</translation>
  23748.      </message>
  23749.      <message>
  23750.          <source>Map port using &amp;UPnP</source>
  23751.          <translation>??????? ????? ?? ?????? &amp;UPnP</translation>
  23752.      </message>
  23753.      <message>
  23754. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  23755. -        <translation>??????? ??? Litecoin ?????? ???? ????????????? SOCKS5 (?.?. ??? ??????? ???? Tor)</translation>
  23756. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  23757. +        <translation>??????? ??? LitecoinCash ?????? ???? ????????????? SOCKS5 (?.?. ??? ??????? ???? Tor)</translation>
  23758.      </message>
  23759.      <message>
  23760.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  23761. @@ -840,8 +840,8 @@
  23762.          <translation>?????</translation>
  23763.      </message>
  23764.      <message>
  23765. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  23766. -        <translation>?? ??????????? ??? ???????????? ?????? ?? ????? ????????????. ?? ????????? ??? ????????????? ???????? ?? ?? ?????? Litecoin ???? ??? ??? ???????, ???? ???? ? ?????????? ??? ???? ????? ???????????. </translation>
  23767. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  23768. +        <translation>?? ??????????? ??? ???????????? ?????? ?? ????? ????????????. ?? ????????? ??? ????????????? ???????? ?? ?? ?????? LitecoinCash ???? ??? ??? ???????, ???? ???? ? ?????????? ??? ???? ????? ???????????. </translation>
  23769.      </message>
  23770.      <message>
  23771.          <source>Watch-only:</source>
  23772. @@ -921,8 +921,8 @@
  23773.          <translation>????</translation>
  23774.      </message>
  23775.      <message>
  23776. -        <source>Enter a Litecoin address (e.g. %1)</source>
  23777. -        <translation>???????? ??? ????????? Litecoin (?.?. %1)</translation>
  23778. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  23779. +        <translation>???????? ??? ????????? LitecoinCash (?.?. %1)</translation>
  23780.      </message>
  23781.      <message>
  23782.          <source>%1 d</source>
  23783. @@ -1389,8 +1389,8 @@
  23784.          <translation>???? ????? ??? ???? ???????.</translation>
  23785.      </message>
  23786.      <message>
  23787. -        <source>The Litecoin address to send the payment to</source>
  23788. -        <translation>? ????????? Litecoin ??? ?? ?????? ? ???????</translation>
  23789. +        <source>The LitecoinCash address to send the payment to</source>
  23790. +        <translation>? ????????? LitecoinCash ??? ?? ?????? ? ???????</translation>
  23791.      </message>
  23792.      <message>
  23793.          <source>Alt+A</source>
  23794. @@ -1446,8 +1446,8 @@
  23795.          <translation>&amp;???????? ?????????</translation>
  23796.      </message>
  23797.      <message>
  23798. -        <source>The Litecoin address to sign the message with</source>
  23799. -        <translation>????????? Litecoin ??? ?? ?????? ?? ??????</translation>
  23800. +        <source>The LitecoinCash address to sign the message with</source>
  23801. +        <translation>????????? LitecoinCash ??? ?? ?????? ?? ??????</translation>
  23802.      </message>
  23803.      <message>
  23804.          <source>Choose previously used address</source>
  23805. @@ -1478,8 +1478,8 @@
  23806.          <translation>????????? ??? ??????????? ?????????? ??? ???????? ??? ??????????</translation>
  23807.      </message>
  23808.      <message>
  23809. -        <source>Sign the message to prove you own this Litecoin address</source>
  23810. -        <translation>????????? ??? ?????? ??? ?' ?????????? ??? ??? ?????? ??? ???????????? ????????? Litecoin</translation>
  23811. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  23812. +        <translation>????????? ??? ?????? ??? ?' ?????????? ??? ??? ?????? ??? ???????????? ????????? LitecoinCash</translation>
  23813.      </message>
  23814.      <message>
  23815.          <source>Sign &amp;Message</source>
  23816. @@ -1498,12 +1498,12 @@
  23817.          <translation>&amp;??????????? ?????????</translation>
  23818.      </message>
  23819.      <message>
  23820. -        <source>The Litecoin address the message was signed with</source>
  23821. -        <translation>????????? Litecoin ? ????? ?? ?????? ???? ?????????</translation>
  23822. +        <source>The LitecoinCash address the message was signed with</source>
  23823. +        <translation>????????? LitecoinCash ? ????? ?? ?????? ???? ?????????</translation>
  23824.      </message>
  23825.      <message>
  23826. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  23827. -        <translation>????????? ??? ?????? ??? ?' ?????????? ??? ??????????? ??? ??? ???????????? ????????? Litecoin</translation>
  23828. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  23829. +        <translation>????????? ??? ?????? ??? ?' ?????????? ??? ??????????? ??? ??? ???????????? ????????? LitecoinCash</translation>
  23830.      </message>
  23831.      <message>
  23832.          <source>Verify &amp;Message</source>
  23833. @@ -1715,8 +1715,8 @@
  23834.          <translation>???????? ??? ?????????? ?? ??????? ???????</translation>
  23835.      </message>
  23836.      <message>
  23837. -        <source>Litecoin Core</source>
  23838. -        <translation>Litecoin Core</translation>
  23839. +        <source>LitecoinCash Core</source>
  23840. +        <translation>LitecoinCash Core</translation>
  23841.      </message>
  23842.      <message>
  23843.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  23844. diff --git a/src/qt/locale/bitcoin_en.ts b/src/qt/locale/bitcoin_en.ts
  23845. index 3f6ee05..dc1626c 100644
  23846. --- a/src/qt/locale/bitcoin_en.ts
  23847. +++ b/src/qt/locale/bitcoin_en.ts
  23848. @@ -80,12 +80,12 @@
  23849.      </message>
  23850.      <message>
  23851.          <location line="+7"/>
  23852. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  23853. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  23854.          <translation type="unfinished"></translation>
  23855.      </message>
  23856.      <message>
  23857.          <location line="+4"/>
  23858. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  23859. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  23860.          <translation type="unfinished"></translation>
  23861.      </message>
  23862.      <message>
  23863. @@ -211,7 +211,7 @@
  23864.      </message>
  23865.      <message>
  23866.          <location line="+1"/>
  23867. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  23868. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  23869.          <translation type="unfinished"></translation>
  23870.      </message>
  23871.      <message>
  23872. @@ -227,7 +227,7 @@
  23873.      </message>
  23874.      <message>
  23875.          <location line="-56"/>
  23876. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  23877. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  23878.          <translation type="unfinished"></translation>
  23879.      </message>
  23880.      <message>
  23881. @@ -430,8 +430,8 @@
  23882.      </message>
  23883.      <message>
  23884.          <location line="-510"/>
  23885. -        <source>Send coins to a Litecoin address</source>
  23886. -        <translation>Send coins to a Litecoin address</translation>
  23887. +        <source>Send coins to a LitecoinCash address</source>
  23888. +        <translation>Send coins to a LitecoinCash address</translation>
  23889.      </message>
  23890.      <message>
  23891.          <location line="+67"/>
  23892. @@ -460,8 +460,8 @@
  23893.      </message>
  23894.      <message>
  23895.          <location line="+516"/>
  23896. -        <source>Litecoin</source>
  23897. -        <translation>Litecoin</translation>
  23898. +        <source>LitecoinCash</source>
  23899. +        <translation>LitecoinCash</translation>
  23900.      </message>
  23901.      <message>
  23902.          <location line="-741"/>
  23903. @@ -495,13 +495,13 @@
  23904.      </message>
  23905.      <message>
  23906.          <location line="+7"/>
  23907. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  23908. -        <translation>Sign messages with your Litecoin addresses to prove you own them</translation>
  23909. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  23910. +        <translation>Sign messages with your LitecoinCash addresses to prove you own them</translation>
  23911.      </message>
  23912.      <message>
  23913.          <location line="+2"/>
  23914. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  23915. -        <translation>Verify messages to ensure they were signed with specified Litecoin addresses</translation>
  23916. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  23917. +        <translation>Verify messages to ensure they were signed with specified LitecoinCash addresses</translation>
  23918.      </message>
  23919.      <message>
  23920.          <location line="+58"/>
  23921. @@ -525,7 +525,7 @@
  23922.      </message>
  23923.      <message>
  23924.          <location line="-158"/>
  23925. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  23926. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  23927.          <translation type="unfinished"></translation>
  23928.      </message>
  23929.      <message>
  23930. @@ -540,7 +540,7 @@
  23931.      </message>
  23932.      <message>
  23933.          <location line="+3"/>
  23934. -        <source>Open a litecoin: URI or payment request</source>
  23935. +        <source>Open a litecoincash: URI or payment request</source>
  23936.          <translation type="unfinished"></translation>
  23937.      </message>
  23938.      <message>
  23939. @@ -550,10 +550,10 @@
  23940.      </message>
  23941.      <message numerus="yes">
  23942.          <location line="+356"/>
  23943. -        <source>%n active connection(s) to Litecoin network</source>
  23944. +        <source>%n active connection(s) to LitecoinCash network</source>
  23945.          <translation>
  23946. -            <numerusform>%n active connection to Litecoin network</numerusform>
  23947. -            <numerusform>%n active connections to Litecoin network</numerusform>
  23948. +            <numerusform>%n active connection to LitecoinCash network</numerusform>
  23949. +            <numerusform>%n active connections to LitecoinCash network</numerusform>
  23950.          </translation>
  23951.      </message>
  23952.      <message>
  23953. @@ -611,7 +611,7 @@
  23954.      </message>
  23955.      <message>
  23956.          <location line="-440"/>
  23957. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  23958. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  23959.          <translation type="unfinished"></translation>
  23960.      </message>
  23961.      <message>
  23962. @@ -691,7 +691,7 @@
  23963.      </message>
  23964.      <message>
  23965.          <location filename="../bitcoin.cpp" line="+534"/>
  23966. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  23967. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  23968.          <translation type="unfinished"></translation>
  23969.      </message>
  23970.  </context>
  23971. @@ -934,7 +934,7 @@
  23972.      </message>
  23973.      <message>
  23974.          <location line="+71"/>
  23975. -        <source>The entered address &quot;%1&quot; is not a valid Litecoin address.</source>
  23976. +        <source>The entered address &quot;%1&quot; is not a valid LitecoinCash address.</source>
  23977.          <translation type="unfinished"></translation>
  23978.      </message>
  23979.      <message>
  23980. @@ -1094,8 +1094,8 @@
  23981.      </message>
  23982.      <message>
  23983.          <location filename="../intro.cpp" line="+20"/>
  23984. -        <source>Litecoin</source>
  23985. -        <translation type="unfinished">Litecoin</translation>
  23986. +        <source>LitecoinCash</source>
  23987. +        <translation type="unfinished">LitecoinCash</translation>
  23988.      </message>
  23989.      <message>
  23990.          <location line="+6"/>
  23991. @@ -1109,7 +1109,7 @@
  23992.      </message>
  23993.      <message>
  23994.          <location line="+8"/>
  23995. -        <source>%1 will download and store a copy of the Litecoin block chain.</source>
  23996. +        <source>%1 will download and store a copy of the LitecoinCash block chain.</source>
  23997.          <translation type="unfinished"></translation>
  23998.      </message>
  23999.      <message>
  24000. @@ -1153,12 +1153,12 @@
  24001.      </message>
  24002.      <message>
  24003.          <location line="+119"/>
  24004. -        <source>Recent transactions may not yet be visible, and therefore your wallet&apos;s balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  24005. +        <source>Recent transactions may not yet be visible, and therefore your wallet&apos;s balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  24006.          <translation type="unfinished"></translation>
  24007.      </message>
  24008.      <message>
  24009.          <location line="+19"/>
  24010. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  24011. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  24012.          <translation type="unfinished"></translation>
  24013.      </message>
  24014.      <message>
  24015. @@ -1376,8 +1376,8 @@
  24016.      </message>
  24017.      <message>
  24018.          <location line="+30"/>
  24019. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  24020. -        <translation>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</translation>
  24021. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  24022. +        <translation>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</translation>
  24023.      </message>
  24024.      <message>
  24025.          <location line="+3"/>
  24026. @@ -1386,7 +1386,7 @@
  24027.      </message>
  24028.      <message>
  24029.          <location line="+17"/>
  24030. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  24031. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  24032.          <translation type="unfinished"></translation>
  24033.      </message>
  24034.      <message>
  24035. @@ -1434,7 +1434,7 @@
  24036.      </message>
  24037.      <message>
  24038.          <location line="+25"/>
  24039. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  24040. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  24041.          <translation type="unfinished"></translation>
  24042.      </message>
  24043.      <message>
  24044. @@ -1579,8 +1579,8 @@
  24045.      <message>
  24046.          <location line="+62"/>
  24047.          <location line="+386"/>
  24048. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  24049. -        <translation>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</translation>
  24050. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  24051. +        <translation>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</translation>
  24052.      </message>
  24053.      <message>
  24054.          <location line="-139"/>
  24055. @@ -1677,7 +1677,7 @@
  24056.      </message>
  24057.      <message>
  24058.          <location line="-402"/>
  24059. -        <source>Cannot start litecoin: click-to-pay handler</source>
  24060. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  24061.          <translation type="unfinished"></translation>
  24062.      </message>
  24063.      <message>
  24064. @@ -1699,7 +1699,7 @@
  24065.      </message>
  24066.      <message>
  24067.          <location line="+8"/>
  24068. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  24069. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  24070.          <translation type="unfinished"></translation>
  24071.      </message>
  24072.      <message>
  24073. @@ -1821,7 +1821,7 @@
  24074.      </message>
  24075.      <message>
  24076.          <location filename="../guiutil.cpp" line="+130"/>
  24077. -        <source>Enter a Litecoin address (e.g. %1)</source>
  24078. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  24079.          <translation type="unfinished"></translation>
  24080.      </message>
  24081.      <message>
  24082. @@ -2407,7 +2407,7 @@
  24083.      <message>
  24084.          <location line="+14"/>
  24085.          <location line="+23"/>
  24086. -        <source>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 Litecoin network.</source>
  24087. +        <source>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 LitecoinCash network.</source>
  24088.          <translation type="unfinished"></translation>
  24089.      </message>
  24090.      <message>
  24091. @@ -2705,7 +2705,7 @@
  24092.      <message>
  24093.          <location line="+84"/>
  24094.          <location line="+13"/>
  24095. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  24096. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  24097.          <translation type="unfinished"></translation>
  24098.      </message>
  24099.      <message>
  24100. @@ -2921,7 +2921,7 @@
  24101.      </message>
  24102.      <message>
  24103.          <location line="+101"/>
  24104. -        <source>Warning: Invalid Litecoin address</source>
  24105. +        <source>Warning: Invalid LitecoinCash address</source>
  24106.          <translation type="unfinished"></translation>
  24107.      </message>
  24108.      <message>
  24109. @@ -2976,7 +2976,7 @@
  24110.      </message>
  24111.      <message>
  24112.          <location line="+39"/>
  24113. -        <source>The Litecoin address to send the payment to</source>
  24114. +        <source>The LitecoinCash address to send the payment to</source>
  24115.          <translation type="unfinished"></translation>
  24116.      </message>
  24117.      <message>
  24118. @@ -3003,7 +3003,7 @@
  24119.      </message>
  24120.      <message>
  24121.          <location line="-1021"/>
  24122. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  24123. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  24124.          <translation type="unfinished"></translation>
  24125.      </message>
  24126.      <message>
  24127. @@ -3033,7 +3033,7 @@
  24128.      </message>
  24129.      <message>
  24130.          <location line="+47"/>
  24131. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  24132. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  24133.          <translation type="unfinished"></translation>
  24134.      </message>
  24135.      <message>
  24136. @@ -3090,12 +3090,12 @@
  24137.      </message>
  24138.      <message>
  24139.          <location line="+6"/>
  24140. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  24141. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  24142.          <translation type="unfinished"></translation>
  24143.      </message>
  24144.      <message>
  24145.          <location line="+18"/>
  24146. -        <source>The Litecoin address to sign the message with</source>
  24147. +        <source>The LitecoinCash address to sign the message with</source>
  24148.          <translation type="unfinished"></translation>
  24149.      </message>
  24150.      <message>
  24151. @@ -3137,8 +3137,8 @@
  24152.      </message>
  24153.      <message>
  24154.          <location line="+21"/>
  24155. -        <source>Sign the message to prove you own this Litecoin address</source>
  24156. -        <translation>Sign the message to prove you own this Litecoin address</translation>
  24157. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  24158. +        <translation>Sign the message to prove you own this LitecoinCash address</translation>
  24159.      </message>
  24160.      <message>
  24161.          <location line="+3"/>
  24162. @@ -3168,13 +3168,13 @@
  24163.      </message>
  24164.      <message>
  24165.          <location line="+21"/>
  24166. -        <source>The Litecoin address the message was signed with</source>
  24167. +        <source>The LitecoinCash address the message was signed with</source>
  24168.          <translation type="unfinished"></translation>
  24169.      </message>
  24170.      <message>
  24171.          <location line="+37"/>
  24172. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  24173. -        <translation>Verify the message to ensure it was signed with the specified Litecoin address</translation>
  24174. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  24175. +        <translation>Verify the message to ensure it was signed with the specified LitecoinCash address</translation>
  24176.      </message>
  24177.      <message>
  24178.          <location line="+3"/>
  24179. @@ -4066,8 +4066,8 @@
  24180.      </message>
  24181.      <message>
  24182.          <location line="-384"/>
  24183. -        <source>Litecoin Core</source>
  24184. -        <translation type="unfinished">Litecoin Core</translation>
  24185. +        <source>LitecoinCash Core</source>
  24186. +        <translation type="unfinished">LitecoinCash Core</translation>
  24187.      </message>
  24188.      <message>
  24189.          <location line="+1"/>
  24190. diff --git a/src/qt/locale/bitcoin_en_AU.ts b/src/qt/locale/bitcoin_en_AU.ts
  24191. index a84b499..7976d71 100644
  24192. --- a/src/qt/locale/bitcoin_en_AU.ts
  24193. +++ b/src/qt/locale/bitcoin_en_AU.ts
  24194. @@ -40,8 +40,8 @@
  24195.  <context>
  24196.      <name>ModalOverlay</name>
  24197.      <message>
  24198. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  24199. -        <translation>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronising with the litecoin network, as detailed below.</translation>
  24200. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  24201. +        <translation>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronising with the litecoincash network, as detailed below.</translation>
  24202.      </message>
  24203.      </context>
  24204.  <context>
  24205. @@ -69,8 +69,8 @@
  24206.  <context>
  24207.      <name>OverviewPage</name>
  24208.      <message>
  24209. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  24210. -        <translation>The displayed information may be out of date. Your wallet automatically synchronises with the Litecoin network after a connection is established, but this process has not completed yet.</translation>
  24211. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  24212. +        <translation>The displayed information may be out of date. Your wallet automatically synchronises with the LitecoinCash network after a connection is established, but this process has not completed yet.</translation>
  24213.      </message>
  24214.      </context>
  24215.  <context>
  24216. diff --git a/src/qt/locale/bitcoin_en_GB.ts b/src/qt/locale/bitcoin_en_GB.ts
  24217. index 4c2dab3..6092f6f 100644
  24218. --- a/src/qt/locale/bitcoin_en_GB.ts
  24219. +++ b/src/qt/locale/bitcoin_en_GB.ts
  24220. @@ -226,8 +226,8 @@
  24221.          <translation>Reindexing blocks on disk...</translation>
  24222.      </message>
  24223.      <message>
  24224. -        <source>Send coins to a Litecoin address</source>
  24225. -        <translation>Send coins to a Litecoin address</translation>
  24226. +        <source>Send coins to a LitecoinCash address</source>
  24227. +        <translation>Send coins to a LitecoinCash address</translation>
  24228.      </message>
  24229.      <message>
  24230.          <source>Backup wallet to another location</source>
  24231. @@ -250,8 +250,8 @@
  24232.          <translation>&amp;Verify message...</translation>
  24233.      </message>
  24234.      <message>
  24235. -        <source>Litecoin</source>
  24236. -        <translation>Litecoin</translation>
  24237. +        <source>LitecoinCash</source>
  24238. +        <translation>LitecoinCash</translation>
  24239.      </message>
  24240.      <message>
  24241.          <source>Wallet</source>
  24242. @@ -278,12 +278,12 @@
  24243.          <translation>Encrypt the private keys that belong to your wallet</translation>
  24244.      </message>
  24245.      <message>
  24246. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  24247. -        <translation>Sign messages with your Litecoin addresses to prove you own them</translation>
  24248. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  24249. +        <translation>Sign messages with your LitecoinCash addresses to prove you own them</translation>
  24250.      </message>
  24251.      <message>
  24252. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  24253. -        <translation>Verify messages to ensure they were signed with specified Litecoin addresses</translation>
  24254. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  24255. +        <translation>Verify messages to ensure they were signed with specified LitecoinCash addresses</translation>
  24256.      </message>
  24257.      <message>
  24258.          <source>&amp;File</source>
  24259. @@ -302,8 +302,8 @@
  24260.          <translation>Tabs toolbar</translation>
  24261.      </message>
  24262.      <message>
  24263. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  24264. -        <translation>Request payments (generates QR codes and litecoin: URIs)</translation>
  24265. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  24266. +        <translation>Request payments (generates QR codes and litecoincash: URIs)</translation>
  24267.      </message>
  24268.      <message>
  24269.          <source>Show the list of used sending addresses and labels</source>
  24270. @@ -314,16 +314,16 @@
  24271.          <translation>Show the list of used receiving addresses and labels</translation>
  24272.      </message>
  24273.      <message>
  24274. -        <source>Open a litecoin: URI or payment request</source>
  24275. -        <translation>Open a litecoin: URI or payment request</translation>
  24276. +        <source>Open a litecoincash: URI or payment request</source>
  24277. +        <translation>Open a litecoincash: URI or payment request</translation>
  24278.      </message>
  24279.      <message>
  24280.          <source>&amp;Command-line options</source>
  24281.          <translation>&amp;Command-line options</translation>
  24282.      </message>
  24283.      <message numerus="yes">
  24284. -        <source>%n active connection(s) to Litecoin network</source>
  24285. -        <translation><numerusform>%n active connection to Litecoin network</numerusform><numerusform>%n active connections to Litecoin network</numerusform></translation>
  24286. +        <source>%n active connection(s) to LitecoinCash network</source>
  24287. +        <translation><numerusform>%n active connection to LitecoinCash network</numerusform><numerusform>%n active connections to LitecoinCash network</numerusform></translation>
  24288.      </message>
  24289.      <message>
  24290.          <source>Indexing blocks on disk...</source>
  24291. @@ -366,8 +366,8 @@
  24292.          <translation>Up to date</translation>
  24293.      </message>
  24294.      <message>
  24295. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  24296. -        <translation>Show the %1 help message to get a list with possible Litecoin command-line options</translation>
  24297. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  24298. +        <translation>Show the %1 help message to get a list with possible LitecoinCash command-line options</translation>
  24299.      </message>
  24300.      <message>
  24301.          <source>%1 client</source>
  24302. @@ -615,8 +615,8 @@
  24303.          <translation>As this is the first time the program is launched, you can choose where %1 will store its data.</translation>
  24304.      </message>
  24305.      <message>
  24306. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  24307. -        <translation>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</translation>
  24308. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  24309. +        <translation>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</translation>
  24310.      </message>
  24311.      <message>
  24312.          <source>Use the default data directory</source>
  24313. @@ -772,16 +772,16 @@
  24314.          <translation>&amp;Spend unconfirmed change</translation>
  24315.      </message>
  24316.      <message>
  24317. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  24318. -        <translation>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</translation>
  24319. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  24320. +        <translation>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</translation>
  24321.      </message>
  24322.      <message>
  24323.          <source>Map port using &amp;UPnP</source>
  24324.          <translation>Map port using &amp;UPnP</translation>
  24325.      </message>
  24326.      <message>
  24327. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  24328. -        <translation>Connect to the Litecoin network through a SOCKS5 proxy.</translation>
  24329. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  24330. +        <translation>Connect to the LitecoinCash network through a SOCKS5 proxy.</translation>
  24331.      </message>
  24332.      <message>
  24333.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  24334. @@ -820,8 +820,8 @@
  24335.          <translation>Tor</translation>
  24336.      </message>
  24337.      <message>
  24338. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  24339. -        <translation>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</translation>
  24340. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  24341. +        <translation>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</translation>
  24342.      </message>
  24343.      <message>
  24344.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  24345. @@ -919,8 +919,8 @@
  24346.          <translation>Form</translation>
  24347.      </message>
  24348.      <message>
  24349. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  24350. -        <translation>The displayed information may be out of date. Your Wallet automatically synchronises with the Litecoin Network after a connection is established, but this process has not been completed yet.</translation>
  24351. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  24352. +        <translation>The displayed information may be out of date. Your Wallet automatically synchronises with the LitecoinCash Network after a connection is established, but this process has not been completed yet.</translation>
  24353.      </message>
  24354.      <message>
  24355.          <source>Watch-only:</source>
  24356. @@ -1008,8 +1008,8 @@
  24357.          <translation>Amount</translation>
  24358.      </message>
  24359.      <message>
  24360. -        <source>Enter a Litecoin address (e.g. %1)</source>
  24361. -        <translation>Enter a Litecoin address (e.g. %1)</translation>
  24362. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  24363. +        <translation>Enter a LitecoinCash address (e.g. %1)</translation>
  24364.      </message>
  24365.      <message>
  24366.          <source>%1 d</source>
  24367. @@ -1352,8 +1352,8 @@
  24368.          <translation>R&amp;euse an existing receiving address (not recommended)</translation>
  24369.      </message>
  24370.      <message>
  24371. -        <source>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 Litecoin network.</source>
  24372. -        <translation>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 Litecoin network.</translation>
  24373. +        <source>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 LitecoinCash network.</source>
  24374. +        <translation>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 LitecoinCash network.</translation>
  24375.      </message>
  24376.      <message>
  24377.          <source>An optional label to associate with the new receiving address.</source>
  24378. @@ -1521,8 +1521,8 @@
  24379.          <translation>total at least</translation>
  24380.      </message>
  24381.      <message>
  24382. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  24383. -        <translation>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</translation>
  24384. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  24385. +        <translation>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</translation>
  24386.      </message>
  24387.      <message>
  24388.          <source>(read the tooltip)</source>
  24389. @@ -1608,8 +1608,8 @@
  24390.          <translation>This is a normal payment.</translation>
  24391.      </message>
  24392.      <message>
  24393. -        <source>The Litecoin address to send the payment to</source>
  24394. -        <translation>The Litecoin address to send the payment to</translation>
  24395. +        <source>The LitecoinCash address to send the payment to</source>
  24396. +        <translation>The LitecoinCash address to send the payment to</translation>
  24397.      </message>
  24398.      <message>
  24399.          <source>Alt+A</source>
  24400. @@ -1628,8 +1628,8 @@
  24401.          <translation>Remove this entry</translation>
  24402.      </message>
  24403.      <message>
  24404. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  24405. -        <translation>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</translation>
  24406. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  24407. +        <translation>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</translation>
  24408.      </message>
  24409.      <message>
  24410.          <source>S&amp;ubtract fee from amount</source>
  24411. @@ -1652,8 +1652,8 @@
  24412.          <translation>Enter a label for this address to add it to the list of used addresses</translation>
  24413.      </message>
  24414.      <message>
  24415. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  24416. -        <translation>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</translation>
  24417. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  24418. +        <translation>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</translation>
  24419.      </message>
  24420.      <message>
  24421.          <source>Pay To:</source>
  24422. @@ -1689,12 +1689,12 @@
  24423.          <translation>&amp;Sign Message</translation>
  24424.      </message>
  24425.      <message>
  24426. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  24427. -        <translation>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</translation>
  24428. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  24429. +        <translation>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</translation>
  24430.      </message>
  24431.      <message>
  24432. -        <source>The Litecoin address to sign the message with</source>
  24433. -        <translation>The Litecoin address to sign the message with</translation>
  24434. +        <source>The LitecoinCash address to sign the message with</source>
  24435. +        <translation>The LitecoinCash address to sign the message with</translation>
  24436.      </message>
  24437.      <message>
  24438.          <source>Choose previously used address</source>
  24439. @@ -1725,8 +1725,8 @@
  24440.          <translation>Copy the current signature to the system clipboard</translation>
  24441.      </message>
  24442.      <message>
  24443. -        <source>Sign the message to prove you own this Litecoin address</source>
  24444. -        <translation>Sign the message to prove you own this Litecoin address</translation>
  24445. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  24446. +        <translation>Sign the message to prove you own this LitecoinCash address</translation>
  24447.      </message>
  24448.      <message>
  24449.          <source>Sign &amp;Message</source>
  24450. @@ -1749,12 +1749,12 @@
  24451.          <translation>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</translation>
  24452.      </message>
  24453.      <message>
  24454. -        <source>The Litecoin address the message was signed with</source>
  24455. -        <translation>The Litecoin address the message was signed with</translation>
  24456. +        <source>The LitecoinCash address the message was signed with</source>
  24457. +        <translation>The LitecoinCash address the message was signed with</translation>
  24458.      </message>
  24459.      <message>
  24460. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  24461. -        <translation>Verify the message to ensure it was signed with the specified Litecoin address</translation>
  24462. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  24463. +        <translation>Verify the message to ensure it was signed with the specified LitecoinCash address</translation>
  24464.      </message>
  24465.      <message>
  24466.          <source>Verify &amp;Message</source>
  24467. @@ -1894,8 +1894,8 @@
  24468.          <translation>Unable to start HTTP server. See debug log for details.</translation>
  24469.      </message>
  24470.      <message>
  24471. -        <source>Litecoin Core</source>
  24472. -        <translation>Litecoin Core</translation>
  24473. +        <source>LitecoinCash Core</source>
  24474. +        <translation>LitecoinCash Core</translation>
  24475.      </message>
  24476.      <message>
  24477.          <source>The %s developers</source>
  24478. diff --git a/src/qt/locale/bitcoin_eo.ts b/src/qt/locale/bitcoin_eo.ts
  24479. index 220a1e7..986a5a1 100644
  24480. --- a/src/qt/locale/bitcoin_eo.ts
  24481. +++ b/src/qt/locale/bitcoin_eo.ts
  24482. @@ -62,12 +62,12 @@
  24483.          <translation>Ricevaj adresoj</translation>
  24484.      </message>
  24485.      <message>
  24486. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  24487. -        <translation>Jen viaj Litecoin-adresoj por sendi pagojn. Zorge kontrolu la sumon kaj la alsendan adreson anta? ol sendi.</translation>
  24488. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  24489. +        <translation>Jen viaj LitecoinCash-adresoj por sendi pagojn. Zorge kontrolu la sumon kaj la alsendan adreson anta? ol sendi.</translation>
  24490.      </message>
  24491.      <message>
  24492. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  24493. -        <translation>Jen viaj litecoinj adresoj por ricevi pagojn. Estas konsilinde uzi apartan ricevan adreson por ?iu transakcio.</translation>
  24494. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  24495. +        <translation>Jen viaj litecoincashj adresoj por ricevi pagojn. Estas konsilinde uzi apartan ricevan adreson por ?iu transakcio.</translation>
  24496.      </message>
  24497.      <message>
  24498.          <source>&amp;Copy Address</source>
  24499. @@ -214,8 +214,8 @@
  24500.          <translation>Reindeksado de blokoj sur disko...</translation>
  24501.      </message>
  24502.      <message>
  24503. -        <source>Send coins to a Litecoin address</source>
  24504. -        <translation>Sendi monon al Litecoin-adreso</translation>
  24505. +        <source>Send coins to a LitecoinCash address</source>
  24506. +        <translation>Sendi monon al LitecoinCash-adreso</translation>
  24507.      </message>
  24508.      <message>
  24509.          <source>Backup wallet to another location</source>
  24510. @@ -238,8 +238,8 @@
  24511.          <translation>&amp;Kontroli mesa?on...</translation>
  24512.      </message>
  24513.      <message>
  24514. -        <source>Litecoin</source>
  24515. -        <translation>Litecoin</translation>
  24516. +        <source>LitecoinCash</source>
  24517. +        <translation>LitecoinCash</translation>
  24518.      </message>
  24519.      <message>
  24520.          <source>Wallet</source>
  24521. @@ -266,12 +266,12 @@
  24522.          <translation>C?ifri la privatajn s?losilojn de via monujo</translation>
  24523.      </message>
  24524.      <message>
  24525. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  24526. -        <translation>Subskribi mesag?ojn per via Litecoin-adresoj por pravigi, ke vi estas la posedanto</translation>
  24527. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  24528. +        <translation>Subskribi mesag?ojn per via LitecoinCash-adresoj por pravigi, ke vi estas la posedanto</translation>
  24529.      </message>
  24530.      <message>
  24531. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  24532. -        <translation>Kontroli mesag?ojn por kontroli ?u ili estas subskribitaj per specifaj Litecoin-adresoj</translation>
  24533. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  24534. +        <translation>Kontroli mesag?ojn por kontroli ?u ili estas subskribitaj per specifaj LitecoinCash-adresoj</translation>
  24535.      </message>
  24536.      <message>
  24537.          <source>&amp;File</source>
  24538. @@ -290,8 +290,8 @@
  24539.          <translation>Langeto-breto</translation>
  24540.      </message>
  24541.      <message>
  24542. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  24543. -        <translation>Peti pagon (kreas QR-kodojn kaj URI-ojn kun prefikso litecoin:)</translation>
  24544. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  24545. +        <translation>Peti pagon (kreas QR-kodojn kaj URI-ojn kun prefikso litecoincash:)</translation>
  24546.      </message>
  24547.      <message>
  24548.          <source>Show the list of used sending addresses and labels</source>
  24549. @@ -302,8 +302,8 @@
  24550.          <translation>Vidigi la liston de uzitaj ricevaj adresoj kaj etikedoj</translation>
  24551.      </message>
  24552.      <message>
  24553. -        <source>Open a litecoin: URI or payment request</source>
  24554. -        <translation>Malfermi litecoin:-URI-on a? pagpeton</translation>
  24555. +        <source>Open a litecoincash: URI or payment request</source>
  24556. +        <translation>Malfermi litecoincash:-URI-on a? pagpeton</translation>
  24557.      </message>
  24558.      <message>
  24559.          <source>&amp;Command-line options</source>
  24560. @@ -628,8 +628,8 @@
  24561.          <translation>Fakulo</translation>
  24562.      </message>
  24563.      <message>
  24564. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  24565. -        <translation>Au?tomate malfermi la kursilan pordon por Litecoino. Tio funkcias nur se via kursilo havas la UPnP-funkcion, kaj se tiu c?i estas s?altita.</translation>
  24566. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  24567. +        <translation>Au?tomate malfermi la kursilan pordon por LitecoinCasho. Tio funkcias nur se via kursilo havas la UPnP-funkcion, kaj se tiu c?i estas s?altita.</translation>
  24568.      </message>
  24569.      <message>
  24570.          <source>Map port using &amp;UPnP</source>
  24571. @@ -685,7 +685,7 @@
  24572.      </message>
  24573.      <message>
  24574.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  24575. -        <translation>Elekti la defau?ltan manieron por montri litecoinjn sumojn en la interfaco, kaj kiam vi sendos bitmonon.</translation>
  24576. +        <translation>Elekti la defau?ltan manieron por montri litecoincashjn sumojn en la interfaco, kaj kiam vi sendos bitmonon.</translation>
  24577.      </message>
  24578.      <message>
  24579.          <source>Whether to show coin control features or not.</source>
  24580. @@ -723,8 +723,8 @@
  24581.          <translation>Formularo</translation>
  24582.      </message>
  24583.      <message>
  24584. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  24585. -        <translation>Eblas, ke la informoj videblaj c?i tie estas eksdataj. Via monujo au?tomate sinkonig?as kun la litecoin reto kiam ili konektig?as, sed tiu procezo ankorau? ne finfarig?is.</translation>
  24586. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  24587. +        <translation>Eblas, ke la informoj videblaj c?i tie estas eksdataj. Via monujo au?tomate sinkonig?as kun la litecoincash reto kiam ili konektig?as, sed tiu procezo ankorau? ne finfarig?is.</translation>
  24588.      </message>
  24589.      <message>
  24590.          <source>Your current spendable balance</source>
  24591. @@ -1030,7 +1030,7 @@
  24592.      <name>SendCoinsDialog</name>
  24593.      <message>
  24594.          <source>Send Coins</source>
  24595. -        <translation>Sendi Litecoinn</translation>
  24596. +        <translation>Sendi LitecoinCashn</translation>
  24597.      </message>
  24598.      <message>
  24599.          <source>Coin Control Features</source>
  24600. @@ -1213,8 +1213,8 @@
  24601.          <translation>Kopii la aktualan subskribon al la tondejo</translation>
  24602.      </message>
  24603.      <message>
  24604. -        <source>Sign the message to prove you own this Litecoin address</source>
  24605. -        <translation>Subskribi la mesag?on por pravigi, ke vi estas la posedanto de tiu Litecoin-adreso</translation>
  24606. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  24607. +        <translation>Subskribi la mesag?on por pravigi, ke vi estas la posedanto de tiu LitecoinCash-adreso</translation>
  24608.      </message>
  24609.      <message>
  24610.          <source>Sign &amp;Message</source>
  24611. @@ -1233,8 +1233,8 @@
  24612.          <translation>&amp;Kontroli Mesag?on</translation>
  24613.      </message>
  24614.      <message>
  24615. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  24616. -        <translation>Kontroli la mesag?on por pravigi, ke g?i ja estas subskribita per la specifa Litecoin-adreso</translation>
  24617. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  24618. +        <translation>Kontroli la mesag?on por pravigi, ke g?i ja estas subskribita per la specifa LitecoinCash-adreso</translation>
  24619.      </message>
  24620.      <message>
  24621.          <source>Verify &amp;Message</source>
  24622. @@ -1338,8 +1338,8 @@
  24623.          <translation>Ruli fone kiel demono kaj akcepti komandojn</translation>
  24624.      </message>
  24625.      <message>
  24626. -        <source>Litecoin Core</source>
  24627. -        <translation>Kerno de Litecoino</translation>
  24628. +        <source>LitecoinCash Core</source>
  24629. +        <translation>Kerno de LitecoinCasho</translation>
  24630.      </message>
  24631.      <message>
  24632.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  24633. diff --git a/src/qt/locale/bitcoin_es.ts b/src/qt/locale/bitcoin_es.ts
  24634. index d6182c7..32a9813 100644
  24635. --- a/src/qt/locale/bitcoin_es.ts
  24636. +++ b/src/qt/locale/bitcoin_es.ts
  24637. @@ -62,12 +62,12 @@
  24638.          <translation>Direcciones de recepción</translation>
  24639.      </message>
  24640.      <message>
  24641. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  24642. -        <translation>Estas son sus direcciones Litecoin para enviar pagos. Verifique siempre la cantidad y la dirección de recepción antes de enviar litecoins.</translation>
  24643. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  24644. +        <translation>Estas son sus direcciones LitecoinCash para enviar pagos. Verifique siempre la cantidad y la dirección de recepción antes de enviar coins.</translation>
  24645.      </message>
  24646.      <message>
  24647. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  24648. -        <translation>Estas son sus direcciones Litecoin para recibir pagos. Se recomienda utilizar una nueva dirección de recepción para cada transacción</translation>
  24649. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  24650. +        <translation>Estas son sus direcciones LitecoinCash para recibir pagos. Se recomienda utilizar una nueva dirección de recepción para cada transacción</translation>
  24651.      </message>
  24652.      <message>
  24653.          <source>&amp;Copy Address</source>
  24654. @@ -168,8 +168,8 @@
  24655.          <translation>Confirmar cifrado del monedero</translation>
  24656.      </message>
  24657.      <message>
  24658. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  24659. -        <translation>Advertencia: Si cifra su monedero y pierde su contraseña&lt;b&gt;¡PERDERÁ TODOS SUS LITECOINS!&lt;/b&gt;</translation>
  24660. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  24661. +        <translation>Advertencia: Si cifra su monedero y pierde su contraseña&lt;b&gt;¡PERDERÁ TODOS SUS LCC!&lt;/b&gt;</translation>
  24662.      </message>
  24663.      <message>
  24664.          <source>Are you sure you wish to encrypt your wallet?</source>
  24665. @@ -180,7 +180,7 @@
  24666.          <translation>Monedero cifrado</translation>
  24667.      </message>
  24668.      <message>
  24669. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  24670. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  24671.          <translation>%1 se cerrará ahora para terminar el proceso de cifrado. Recuerde que cifrar su monedero no puede proteger completamente su monedero de ser robado por malware que infecte su ordenador.</translation>
  24672.      </message>
  24673.      <message>
  24674. @@ -338,8 +338,8 @@
  24675.          <translation>Reindexando bloques en disco...</translation>
  24676.      </message>
  24677.      <message>
  24678. -        <source>Send coins to a Litecoin address</source>
  24679. -        <translation>Enviar litecoins a una dirección Litecoin</translation>
  24680. +        <source>Send coins to a LitecoinCash address</source>
  24681. +        <translation>Enviar coins a una dirección LitecoinCash</translation>
  24682.      </message>
  24683.      <message>
  24684.          <source>Backup wallet to another location</source>
  24685. @@ -362,8 +362,8 @@
  24686.          <translation>&amp;Verificar mensaje...</translation>
  24687.      </message>
  24688.      <message>
  24689. -        <source>Litecoin</source>
  24690. -        <translation>Litecoin</translation>
  24691. +        <source>LitecoinCash</source>
  24692. +        <translation>LitecoinCash</translation>
  24693.      </message>
  24694.      <message>
  24695.          <source>Wallet</source>
  24696. @@ -390,12 +390,12 @@
  24697.          <translation>Cifrar las claves privadas de su monedero</translation>
  24698.      </message>
  24699.      <message>
  24700. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  24701. -        <translation>Firmar mensajes con sus direcciones Litecoin para demostrar la propiedad</translation>
  24702. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  24703. +        <translation>Firmar mensajes con sus direcciones LitecoinCash para demostrar la propiedad</translation>
  24704.      </message>
  24705.      <message>
  24706. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  24707. -        <translation>Verificar mensajes comprobando que están firmados con direcciones Litecoin concretas</translation>
  24708. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  24709. +        <translation>Verificar mensajes comprobando que están firmados con direcciones LitecoinCash concretas</translation>
  24710.      </message>
  24711.      <message>
  24712.          <source>&amp;File</source>
  24713. @@ -414,8 +414,8 @@
  24714.          <translation>Barra de pestañas</translation>
  24715.      </message>
  24716.      <message>
  24717. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  24718. -        <translation>Solicitar pagos (generando códigos QR e identificadores URI "litecoin:")</translation>
  24719. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  24720. +        <translation>Solicitar pagos (generando códigos QR e identificadores URI "litecoincash:")</translation>
  24721.      </message>
  24722.      <message>
  24723.          <source>Show the list of used sending addresses and labels</source>
  24724. @@ -426,16 +426,16 @@
  24725.          <translation>Muestra la lista de direcciones de recepción y etiquetas</translation>
  24726.      </message>
  24727.      <message>
  24728. -        <source>Open a litecoin: URI or payment request</source>
  24729. -        <translation>Abrir un identificador URI "litecoin:" o una petición de pago</translation>
  24730. +        <source>Open a litecoincash: URI or payment request</source>
  24731. +        <translation>Abrir un identificador URI "litecoincash:" o una petición de pago</translation>
  24732.      </message>
  24733.      <message>
  24734.          <source>&amp;Command-line options</source>
  24735.          <translation>&amp;Opciones de consola de comandos</translation>
  24736.      </message>
  24737.      <message numerus="yes">
  24738. -        <source>%n active connection(s) to Litecoin network</source>
  24739. -        <translation><numerusform>%n conexión activa hacia la red Litecoin</numerusform><numerusform>%n conexiones activas hacia la red Litecoin</numerusform></translation>
  24740. +        <source>%n active connection(s) to LitecoinCash network</source>
  24741. +        <translation><numerusform>%n conexión activa hacia la red LitecoinCash</numerusform><numerusform>%n conexiones activas hacia la red LitecoinCash</numerusform></translation>
  24742.      </message>
  24743.      <message>
  24744.          <source>Indexing blocks on disk...</source>
  24745. @@ -478,8 +478,8 @@
  24746.          <translation>Actualizado</translation>
  24747.      </message>
  24748.      <message>
  24749. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  24750. -        <translation>Mostrar el mensaje de ayuda %1 para obtener una lista de los posibles comandos de linea de comandos de Litecoin</translation>
  24751. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  24752. +        <translation>Mostrar el mensaje de ayuda %1 para obtener una lista de los posibles comandos de linea de comandos de LitecoinCash</translation>
  24753.      </message>
  24754.      <message>
  24755.          <source>%1 client</source>
  24756. @@ -548,8 +548,8 @@
  24757.          <translation>El monedero está &lt;b&gt;cifrado&lt;/b&gt; y actualmente &lt;b&gt;bloqueado&lt;/b&gt;</translation>
  24758.      </message>
  24759.      <message>
  24760. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  24761. -        <translation>Ha ocurrido un error fatal. Litecoin no puede seguir seguro y se cerrará.</translation>
  24762. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  24763. +        <translation>Ha ocurrido un error fatal. LitecoinCash no puede seguir seguro y se cerrará.</translation>
  24764.      </message>
  24765.  </context>
  24766.  <context>
  24767. @@ -742,8 +742,8 @@
  24768.          <translation>Editar dirección de envío</translation>
  24769.      </message>
  24770.      <message>
  24771. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  24772. -        <translation>La dirección introducida "%1" no es una dirección Litecoin válida.</translation>
  24773. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  24774. +        <translation>La dirección introducida "%1" no es una dirección LitecoinCash válida.</translation>
  24775.      </message>
  24776.      <message>
  24777.          <source>The entered address "%1" is already in the address book.</source>
  24778. @@ -851,8 +851,8 @@
  24779.          <translation>Al ser la primera vez que se ejecuta el programa, puede elegir donde %1 almacenará sus datos.</translation>
  24780.      </message>
  24781.      <message>
  24782. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  24783. -        <translation>%1 va a descargar y almacenar una copia de la cadena de bloques de Litecoin. Al menos %2GB de datos seran almacenados en este directorio, que ira creciendo con el tiempo. El monedero se guardara tambien en ese directorio. </translation>
  24784. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  24785. +        <translation>%1 va a descargar y almacenar una copia de la cadena de bloques de LitecoinCash. Al menos %2GB de datos seran almacenados en este directorio, que ira creciendo con el tiempo. El monedero se guardara tambien en ese directorio. </translation>
  24786.      </message>
  24787.      <message>
  24788.          <source>Use the default data directory</source>
  24789. @@ -886,12 +886,12 @@
  24790.          <translation>Formulario</translation>
  24791.      </message>
  24792.      <message>
  24793. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  24794. -        <translation>Las transacciones recientes aún no pueden ser visibles, y por lo tanto el saldo de su monedero podría ser incorrecto. Esta información será correcta cuando su monedero haya terminado de sincronizarse con la red de litecoin, como se detalla abajo.</translation>
  24795. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  24796. +        <translation>Las transacciones recientes aún no pueden ser visibles, y por lo tanto el saldo de su monedero podría ser incorrecto. Esta información será correcta cuando su monedero haya terminado de sincronizarse con la red de litecoincash, como se detalla abajo.</translation>
  24797.      </message>
  24798.      <message>
  24799. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  24800. -        <translation>La red no aceptará el intentar gastar litecoins que están afectados por transacciones aún no mostradas.</translation>
  24801. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  24802. +        <translation>La red no aceptará el intentar gastar coins que están afectados por transacciones aún no mostradas.</translation>
  24803.      </message>
  24804.      <message>
  24805.          <source>Number of blocks left</source>
  24806. @@ -1048,16 +1048,16 @@
  24807.          <translation>&amp;Gastar cambio no confirmado</translation>
  24808.      </message>
  24809.      <message>
  24810. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  24811. -        <translation>Abrir automáticamente el puerto del cliente Litecoin en el router. Esta opción solo funciona si el router admite UPnP y está activado.</translation>
  24812. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  24813. +        <translation>Abrir automáticamente el puerto del cliente LitecoinCash en el router. Esta opción solo funciona si el router admite UPnP y está activado.</translation>
  24814.      </message>
  24815.      <message>
  24816.          <source>Map port using &amp;UPnP</source>
  24817.          <translation>Mapear el puerto mediante &amp;UPnP</translation>
  24818.      </message>
  24819.      <message>
  24820. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  24821. -        <translation>Conectarse a la red Litecoin a través de un proxy SOCKS5.</translation>
  24822. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  24823. +        <translation>Conectarse a la red LitecoinCash a través de un proxy SOCKS5.</translation>
  24824.      </message>
  24825.      <message>
  24826.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  24827. @@ -1096,8 +1096,8 @@
  24828.          <translation>Tor</translation>
  24829.      </message>
  24830.      <message>
  24831. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  24832. -        <translation>Conectar a la red Litecoin mediante un proxy SOCKS5 por separado para los servicios ocultos de Tor.</translation>
  24833. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  24834. +        <translation>Conectar a la red LitecoinCash mediante un proxy SOCKS5 por separado para los servicios ocultos de Tor.</translation>
  24835.      </message>
  24836.      <message>
  24837.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  24838. @@ -1145,7 +1145,7 @@
  24839.      </message>
  24840.      <message>
  24841.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  24842. -        <translation>Elegir la subdivisión predeterminada para mostrar cantidades en la interfaz y cuando se envían litecoins.</translation>
  24843. +        <translation>Elegir la subdivisión predeterminada para mostrar cantidades en la interfaz y cuando se envían coins.</translation>
  24844.      </message>
  24845.      <message>
  24846.          <source>Whether to show coin control features or not.</source>
  24847. @@ -1195,8 +1195,8 @@
  24848.          <translation>Formulario</translation>
  24849.      </message>
  24850.      <message>
  24851. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  24852. -        <translation>La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red Litecoin después de que se haya establecido una conexión, pero este proceso aún no se ha completado.</translation>
  24853. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  24854. +        <translation>La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red LitecoinCash después de que se haya establecido una conexión, pero este proceso aún no se ha completado.</translation>
  24855.      </message>
  24856.      <message>
  24857.          <source>Watch-only:</source>
  24858. @@ -1270,8 +1270,8 @@
  24859.          <translation>Fallo en la solicitud de pago</translation>
  24860.      </message>
  24861.      <message>
  24862. -        <source>Cannot start litecoin: click-to-pay handler</source>
  24863. -        <translation>No se puede iniciar litecoin: encargado click-para-pagar</translation>
  24864. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  24865. +        <translation>No se puede iniciar litecoincash: encargado click-para-pagar</translation>
  24866.      </message>
  24867.      <message>
  24868.          <source>URI handling</source>
  24869. @@ -1286,8 +1286,8 @@
  24870.          <translation>Dirección de pago inválida %1</translation>
  24871.      </message>
  24872.      <message>
  24873. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  24874. -        <translation>URI no puede ser analizado! Esto puede ser causado por una dirección Litecoin inválida o parametros URI mal formados.</translation>
  24875. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  24876. +        <translation>URI no puede ser analizado! Esto puede ser causado por una dirección LitecoinCash inválida o parametros URI mal formados.</translation>
  24877.      </message>
  24878.      <message>
  24879.          <source>Payment request file handling</source>
  24880. @@ -1380,8 +1380,8 @@
  24881.          <translation>Cantidad</translation>
  24882.      </message>
  24883.      <message>
  24884. -        <source>Enter a Litecoin address (e.g. %1)</source>
  24885. -        <translation>Introducir una dirección Litecoin (p. ej. %1)</translation>
  24886. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  24887. +        <translation>Introducir una dirección LitecoinCash (p. ej. %1)</translation>
  24888.      </message>
  24889.      <message>
  24890.          <source>%1 d</source>
  24891. @@ -1804,8 +1804,8 @@
  24892.          <translation>R&amp;eutilizar una dirección existente para recibir (no recomendado)</translation>
  24893.      </message>
  24894.      <message>
  24895. -        <source>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 Litecoin network.</source>
  24896. -        <translation>Un mensaje opcional para adjuntar a la solicitud de pago, que se muestra cuando se abre la solicitud. Nota: El mensaje no se enviará con el pago por la red Litecoin.</translation>
  24897. +        <source>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 LitecoinCash network.</source>
  24898. +        <translation>Un mensaje opcional para adjuntar a la solicitud de pago, que se muestra cuando se abre la solicitud. Nota: El mensaje no se enviará con el pago por la red LitecoinCash.</translation>
  24899.      </message>
  24900.      <message>
  24901.          <source>An optional label to associate with the new receiving address.</source>
  24902. @@ -1958,7 +1958,7 @@
  24903.      <name>SendCoinsDialog</name>
  24904.      <message>
  24905.          <source>Send Coins</source>
  24906. -        <translation>Enviar litecoins</translation>
  24907. +        <translation>Enviar coins</translation>
  24908.      </message>
  24909.      <message>
  24910.          <source>Coin Control Features</source>
  24911. @@ -2037,8 +2037,8 @@
  24912.          <translation>total por lo menos</translation>
  24913.      </message>
  24914.      <message>
  24915. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  24916. -        <translation>Pagar solamente la comisión mínima es correcto, siempre y cuando haya menos volumen de transacciones que el espacio en los bloques. Pero tenga en cuenta que esto puede terminar en una transacción nunca confirmada, una vez que haya más demanda para transacciones Litecoin que la red pueda procesar.</translation>
  24917. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  24918. +        <translation>Pagar solamente la comisión mínima es correcto, siempre y cuando haya menos volumen de transacciones que el espacio en los bloques. Pero tenga en cuenta que esto puede terminar en una transacción nunca confirmada, una vez que haya más demanda para transacciones LitecoinCash que la red pueda procesar.</translation>
  24919.      </message>
  24920.      <message>
  24921.          <source>(read the tooltip)</source>
  24922. @@ -2201,8 +2201,8 @@
  24923.          <translation><numerusform>Estimado para empezar la confirmación dentro de %n bloque.</numerusform><numerusform>Estimado para empezar la confirmación dentro de %n bloques.</numerusform></translation>
  24924.      </message>
  24925.      <message>
  24926. -        <source>Warning: Invalid Litecoin address</source>
  24927. -        <translation>Alerta: dirección Litecoin inválida</translation>
  24928. +        <source>Warning: Invalid LitecoinCash address</source>
  24929. +        <translation>Alerta: dirección LitecoinCash inválida</translation>
  24930.      </message>
  24931.      <message>
  24932.          <source>Warning: Unknown change address</source>
  24933. @@ -2244,8 +2244,8 @@
  24934.          <translation>Esto es un pago ordinario.</translation>
  24935.      </message>
  24936.      <message>
  24937. -        <source>The Litecoin address to send the payment to</source>
  24938. -        <translation>Dirección Litecoin a la que enviar el pago</translation>
  24939. +        <source>The LitecoinCash address to send the payment to</source>
  24940. +        <translation>Dirección LitecoinCash a la que enviar el pago</translation>
  24941.      </message>
  24942.      <message>
  24943.          <source>Alt+A</source>
  24944. @@ -2264,8 +2264,8 @@
  24945.          <translation>Eliminar esta transacción</translation>
  24946.      </message>
  24947.      <message>
  24948. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  24949. -        <translation>La comisión será deducida de la cantidad que sea mandada. El destinatario recibirá menos litecoins de la cantidad introducida en el campo Cantidad. Si hay varios destinatarios, la comisión será distribuida a partes iguales.</translation>
  24950. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  24951. +        <translation>La comisión será deducida de la cantidad que sea mandada. El destinatario recibirá menos coins de la cantidad introducida en el campo Cantidad. Si hay varios destinatarios, la comisión será distribuida a partes iguales.</translation>
  24952.      </message>
  24953.      <message>
  24954.          <source>S&amp;ubtract fee from amount</source>
  24955. @@ -2288,8 +2288,8 @@
  24956.          <translation>Introduce una etiqueta para esta dirección para añadirla a la lista de direcciones utilizadas</translation>
  24957.      </message>
  24958.      <message>
  24959. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  24960. -        <translation>Un mensaje que se adjuntó a la litecoin: URL que será almacenada con la transacción para su referencia. Nota: Este mensaje no se envía a través de la red Litecoin.</translation>
  24961. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  24962. +        <translation>Un mensaje que se adjuntó a la litecoincash: URL que será almacenada con la transacción para su referencia. Nota: Este mensaje no se envía a través de la red LitecoinCash.</translation>
  24963.      </message>
  24964.      <message>
  24965.          <source>Pay To:</source>
  24966. @@ -2333,12 +2333,12 @@
  24967.          <translation>&amp;Firmar mensaje</translation>
  24968.      </message>
  24969.      <message>
  24970. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  24971. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  24972.          <translation>Puede firmar los mensajes con sus direcciones para demostrar que las posee. Tenga cuidado de no firmar cualquier cosa de manera vaga o aleatoria, pues los ataques de phishing pueden tratar de engañarle firmando su identidad a través de ellos. Sólo firme declaraciones totalmente detalladas con las que usted esté de acuerdo.</translation>
  24973.      </message>
  24974.      <message>
  24975. -        <source>The Litecoin address to sign the message with</source>
  24976. -        <translation>Dirección Litecoin con la que firmar el mensaje</translation>
  24977. +        <source>The LitecoinCash address to sign the message with</source>
  24978. +        <translation>Dirección LitecoinCash con la que firmar el mensaje</translation>
  24979.      </message>
  24980.      <message>
  24981.          <source>Choose previously used address</source>
  24982. @@ -2369,8 +2369,8 @@
  24983.          <translation>Copiar la firma actual al portapapeles del sistema</translation>
  24984.      </message>
  24985.      <message>
  24986. -        <source>Sign the message to prove you own this Litecoin address</source>
  24987. -        <translation>Firmar el mensaje para demostrar que se posee esta dirección Litecoin</translation>
  24988. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  24989. +        <translation>Firmar el mensaje para demostrar que se posee esta dirección LitecoinCash</translation>
  24990.      </message>
  24991.      <message>
  24992.          <source>Sign &amp;Message</source>
  24993. @@ -2393,12 +2393,12 @@
  24994.          <translation>Introduzca la dirección para la firma, el mensaje (asegurándose de copiar tal cual los saltos de línea, espacios, tabulaciones, etc.) y la firma a continuación para verificar el mensaje. Tenga cuidado de no asumir más información de lo que dice el propio mensaje firmado para evitar fraudes basados en ataques de tipo man-in-the-middle. </translation>
  24995.      </message>
  24996.      <message>
  24997. -        <source>The Litecoin address the message was signed with</source>
  24998. -        <translation>La dirección Litecoin con la que se firmó el mensaje</translation>
  24999. +        <source>The LitecoinCash address the message was signed with</source>
  25000. +        <translation>La dirección LitecoinCash con la que se firmó el mensaje</translation>
  25001.      </message>
  25002.      <message>
  25003. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  25004. -        <translation>Verificar el mensaje para comprobar que fue firmado con la dirección Litecoin indicada</translation>
  25005. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  25006. +        <translation>Verificar el mensaje para comprobar que fue firmado con la dirección LitecoinCash indicada</translation>
  25007.      </message>
  25008.      <message>
  25009.          <source>Verify &amp;Message</source>
  25010. @@ -2623,7 +2623,7 @@
  25011.      </message>
  25012.      <message>
  25013.          <source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
  25014. -        <translation>Los litecoins generados deben madurar %1 bloques antes de que puedan gastarse. Cuando generó este bloque, se transmitió a la red para que se añadiera a la cadena de bloques. Si no consigue entrar en la cadena, su estado cambiará a "no aceptado" y ya no se podrá gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque a pocos segundos del suyo.</translation>
  25015. +        <translation>Los coins generados deben madurar %1 bloques antes de que puedan gastarse. Cuando generó este bloque, se transmitió a la red para que se añadiera a la cadena de bloques. Si no consigue entrar en la cadena, su estado cambiará a "no aceptado" y ya no se podrá gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque a pocos segundos del suyo.</translation>
  25016.      </message>
  25017.      <message>
  25018.          <source>Debug information</source>
  25019. @@ -3061,8 +3061,8 @@
  25020.          <translation>No se ha podido comenzar el servidor HTTP. Ver debug log para detalles.</translation>
  25021.      </message>
  25022.      <message>
  25023. -        <source>Litecoin Core</source>
  25024. -        <translation>Litecoin Core</translation>
  25025. +        <source>LitecoinCash Core</source>
  25026. +        <translation>LitecoinCash Core</translation>
  25027.      </message>
  25028.      <message>
  25029.          <source>The %s developers</source>
  25030. diff --git a/src/qt/locale/bitcoin_es_419.ts b/src/qt/locale/bitcoin_es_419.ts
  25031. index 44348d5..2578cb4 100644
  25032. --- a/src/qt/locale/bitcoin_es_419.ts
  25033. +++ b/src/qt/locale/bitcoin_es_419.ts
  25034. @@ -42,8 +42,8 @@
  25035.          <translation>Recibiendo direcciones</translation>
  25036.      </message>
  25037.      <message>
  25038. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  25039. -        <translation>Estas son sus direcciones de Litecoin para enviar sus pagos. Siempre revise el monto y la dirección recibida antes de enviar monedas.</translation>
  25040. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  25041. +        <translation>Estas son sus direcciones de LitecoinCash para enviar sus pagos. Siempre revise el monto y la dirección recibida antes de enviar monedas.</translation>
  25042.      </message>
  25043.      </context>
  25044.  <context>
  25045. diff --git a/src/qt/locale/bitcoin_es_CL.ts b/src/qt/locale/bitcoin_es_CL.ts
  25046. index 75803f0..2934456 100644
  25047. --- a/src/qt/locale/bitcoin_es_CL.ts
  25048. +++ b/src/qt/locale/bitcoin_es_CL.ts
  25049. @@ -142,8 +142,8 @@
  25050.          <translation>Cargando el index de bloques...</translation>
  25051.      </message>
  25052.      <message>
  25053. -        <source>Send coins to a Litecoin address</source>
  25054. -        <translation>Enviar monedas a una dirección litecoin</translation>
  25055. +        <source>Send coins to a LitecoinCash address</source>
  25056. +        <translation>Enviar monedas a una dirección litecoincash</translation>
  25057.      </message>
  25058.      <message>
  25059.          <source>Backup wallet to another location</source>
  25060. @@ -166,8 +166,8 @@
  25061.          <translation>Verificar mensaje....</translation>
  25062.      </message>
  25063.      <message>
  25064. -        <source>Litecoin</source>
  25065. -        <translation>Litecoin</translation>
  25066. +        <source>LitecoinCash</source>
  25067. +        <translation>LitecoinCash</translation>
  25068.      </message>
  25069.      <message>
  25070.          <source>Wallet</source>
  25071. @@ -186,7 +186,7 @@
  25072.          <translation>&amp;Mostrar/Ocultar</translation>
  25073.      </message>
  25074.      <message>
  25075. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  25076. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  25077.          <translation>Firmar un mensaje para provar que usted es dueño de esta dirección</translation>
  25078.      </message>
  25079.      <message>
  25080. @@ -206,8 +206,8 @@
  25081.          <translation>Barra de pestañas</translation>
  25082.      </message>
  25083.      <message>
  25084. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  25085. -        <translation>Pide pagos (genera codigos QR and litecoin: URls)</translation>
  25086. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  25087. +        <translation>Pide pagos (genera codigos QR and litecoincash: URls)</translation>
  25088.      </message>
  25089.      <message>
  25090.          <source>Error</source>
  25091. @@ -363,8 +363,8 @@
  25092.          <translation>experto</translation>
  25093.      </message>
  25094.      <message>
  25095. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  25096. -        <translation>Abre automáticamente el puerto del cliente Litecoin en el router. Esto funciona solo cuando tu router es compatible con UPnP y está habilitado.</translation>
  25097. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  25098. +        <translation>Abre automáticamente el puerto del cliente LitecoinCash en el router. Esto funciona solo cuando tu router es compatible con UPnP y está habilitado.</translation>
  25099.      </message>
  25100.      <message>
  25101.          <source>Map port using &amp;UPnP</source>
  25102. @@ -687,7 +687,7 @@
  25103.          <translation>Firma</translation>
  25104.      </message>
  25105.      <message>
  25106. -        <source>Sign the message to prove you own this Litecoin address</source>
  25107. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  25108.          <translation>Firmar un mensjage para probar que usted es dueño de esta dirección</translation>
  25109.      </message>
  25110.      <message>
  25111. @@ -772,8 +772,8 @@
  25112.  </translation>
  25113.      </message>
  25114.      <message>
  25115. -        <source>Litecoin Core</source>
  25116. -        <translation>litecoin core</translation>
  25117. +        <source>LitecoinCash Core</source>
  25118. +        <translation>litecoincash core</translation>
  25119.      </message>
  25120.      <message>
  25121.          <source>Error loading block database</source>
  25122. diff --git a/src/qt/locale/bitcoin_es_CO.ts b/src/qt/locale/bitcoin_es_CO.ts
  25123. index 1d10df4..5bc2b06 100644
  25124. --- a/src/qt/locale/bitcoin_es_CO.ts
  25125. +++ b/src/qt/locale/bitcoin_es_CO.ts
  25126. @@ -126,8 +126,8 @@
  25127.          <translation>Abrir &amp;URL...</translation>
  25128.      </message>
  25129.      <message>
  25130. -        <source>Send coins to a Litecoin address</source>
  25131. -        <translation>Enviando monedas a una dirección de Litecoin</translation>
  25132. +        <source>Send coins to a LitecoinCash address</source>
  25133. +        <translation>Enviando monedas a una dirección de LitecoinCash</translation>
  25134.      </message>
  25135.      <message>
  25136.          <source>Change the passphrase used for wallet encryption</source>
  25137. @@ -146,8 +146,8 @@
  25138.          <translation>&amp;Verificar Mensaje...</translation>
  25139.      </message>
  25140.      <message>
  25141. -        <source>Litecoin</source>
  25142. -        <translation>Litecoin</translation>
  25143. +        <source>LitecoinCash</source>
  25144. +        <translation>LitecoinCash</translation>
  25145.      </message>
  25146.      <message>
  25147.          <source>Wallet</source>
  25148. @@ -296,8 +296,8 @@
  25149.  <context>
  25150.      <name>bitcoin-core</name>
  25151.      <message>
  25152. -        <source>Litecoin Core</source>
  25153. -        <translation>Litecoin Core</translation>
  25154. +        <source>LitecoinCash Core</source>
  25155. +        <translation>LitecoinCash Core</translation>
  25156.      </message>
  25157.      <message>
  25158.          <source>Insufficient funds</source>
  25159. diff --git a/src/qt/locale/bitcoin_es_DO.ts b/src/qt/locale/bitcoin_es_DO.ts
  25160. index a3a3353..ea53f62 100644
  25161. --- a/src/qt/locale/bitcoin_es_DO.ts
  25162. +++ b/src/qt/locale/bitcoin_es_DO.ts
  25163. @@ -142,8 +142,8 @@
  25164.          <translation>Reindexando bloques en disco...</translation>
  25165.      </message>
  25166.      <message>
  25167. -        <source>Send coins to a Litecoin address</source>
  25168. -        <translation>Enviar monedas a una dirección Litecoin</translation>
  25169. +        <source>Send coins to a LitecoinCash address</source>
  25170. +        <translation>Enviar monedas a una dirección LitecoinCash</translation>
  25171.      </message>
  25172.      <message>
  25173.          <source>Backup wallet to another location</source>
  25174. @@ -166,8 +166,8 @@
  25175.          <translation>&amp;Verificar mensaje...</translation>
  25176.      </message>
  25177.      <message>
  25178. -        <source>Litecoin</source>
  25179. -        <translation>Litecoin</translation>
  25180. +        <source>LitecoinCash</source>
  25181. +        <translation>LitecoinCash</translation>
  25182.      </message>
  25183.      <message>
  25184.          <source>Wallet</source>
  25185. @@ -194,12 +194,12 @@
  25186.          <translation>Cifrar las claves privadas de su monedero</translation>
  25187.      </message>
  25188.      <message>
  25189. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  25190. -        <translation>Firmar mensajes con sus direcciones Litecoin para demostrar la propiedad</translation>
  25191. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  25192. +        <translation>Firmar mensajes con sus direcciones LitecoinCash para demostrar la propiedad</translation>
  25193.      </message>
  25194.      <message>
  25195. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  25196. -        <translation>Verificar mensajes comprobando que están firmados con direcciones Litecoin concretas</translation>
  25197. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  25198. +        <translation>Verificar mensajes comprobando que están firmados con direcciones LitecoinCash concretas</translation>
  25199.      </message>
  25200.      <message>
  25201.          <source>&amp;File</source>
  25202. @@ -218,8 +218,8 @@
  25203.          <translation>Barra de pestañas</translation>
  25204.      </message>
  25205.      <message>
  25206. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  25207. -        <translation>Solicitar pagos (genera codigo QR y URL's de Litecoin)</translation>
  25208. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  25209. +        <translation>Solicitar pagos (genera codigo QR y URL's de LitecoinCash)</translation>
  25210.      </message>
  25211.      <message>
  25212.          <source>Show the list of used sending addresses and labels</source>
  25213. @@ -230,8 +230,8 @@
  25214.          <translation>Muestra la lista de direcciones de recepción y etiquetas</translation>
  25215.      </message>
  25216.      <message>
  25217. -        <source>Open a litecoin: URI or payment request</source>
  25218. -        <translation>Abrir un litecoin: URI o petición de pago</translation>
  25219. +        <source>Open a litecoincash: URI or payment request</source>
  25220. +        <translation>Abrir un litecoincash: URI o petición de pago</translation>
  25221.      </message>
  25222.      <message>
  25223.          <source>&amp;Command-line options</source>
  25224. @@ -494,8 +494,8 @@
  25225.          <translation>Experto</translation>
  25226.      </message>
  25227.      <message>
  25228. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  25229. -        <translation>Abrir automáticamente el puerto del cliente Litecoin en el router. Esta opción solo funciona si el router admite UPnP y está activado.</translation>
  25230. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  25231. +        <translation>Abrir automáticamente el puerto del cliente LitecoinCash en el router. Esta opción solo funciona si el router admite UPnP y está activado.</translation>
  25232.      </message>
  25233.      <message>
  25234.          <source>Map port using &amp;UPnP</source>
  25235. @@ -589,8 +589,8 @@
  25236.          <translation>Desde</translation>
  25237.      </message>
  25238.      <message>
  25239. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  25240. -        <translation>La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red Litecoin después de que se haya establecido una conexión, pero este proceso aún no se ha completado.</translation>
  25241. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  25242. +        <translation>La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red LitecoinCash después de que se haya establecido una conexión, pero este proceso aún no se ha completado.</translation>
  25243.      </message>
  25244.      <message>
  25245.          <source>Your current spendable balance</source>
  25246. @@ -1019,8 +1019,8 @@
  25247.          <translation>Copiar la firma actual al portapapeles del sistema</translation>
  25248.      </message>
  25249.      <message>
  25250. -        <source>Sign the message to prove you own this Litecoin address</source>
  25251. -        <translation>Firmar el mensaje para demostrar que se posee esta dirección Litecoin</translation>
  25252. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  25253. +        <translation>Firmar el mensaje para demostrar que se posee esta dirección LitecoinCash</translation>
  25254.      </message>
  25255.      <message>
  25256.          <source>Sign &amp;Message</source>
  25257. @@ -1039,8 +1039,8 @@
  25258.          <translation>&amp;Verificar mensaje</translation>
  25259.      </message>
  25260.      <message>
  25261. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  25262. -        <translation>Verificar el mensaje para comprobar que fue firmado con la dirección Litecoin indicada</translation>
  25263. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  25264. +        <translation>Verificar el mensaje para comprobar que fue firmado con la dirección LitecoinCash indicada</translation>
  25265.      </message>
  25266.      <message>
  25267.          <source>Verify &amp;Message</source>
  25268. @@ -1123,8 +1123,8 @@
  25269.  </translation>
  25270.      </message>
  25271.      <message>
  25272. -        <source>Litecoin Core</source>
  25273. -        <translation>Núcleo de Litecoin</translation>
  25274. +        <source>LitecoinCash Core</source>
  25275. +        <translation>Núcleo de LitecoinCash</translation>
  25276.      </message>
  25277.      <message>
  25278.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  25279. diff --git a/src/qt/locale/bitcoin_es_ES.ts b/src/qt/locale/bitcoin_es_ES.ts
  25280. index 82c0dc8..cc57970 100644
  25281. --- a/src/qt/locale/bitcoin_es_ES.ts
  25282. +++ b/src/qt/locale/bitcoin_es_ES.ts
  25283. @@ -62,12 +62,12 @@
  25284.          <translation>Direcciones para recibir pagos</translation>
  25285.      </message>
  25286.      <message>
  25287. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  25288. -        <translation>Estas son sus direcciones Litecoin para enviar pagos. Verifique siempre la cantidad y la dirección de destino antes de enviar monedas.</translation>
  25289. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  25290. +        <translation>Estas son sus direcciones LitecoinCash para enviar pagos. Verifique siempre la cantidad y la dirección de destino antes de enviar monedas.</translation>
  25291.      </message>
  25292.      <message>
  25293. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  25294. -        <translation>Estas son sus direcciones Litecoin para recibir pagos. Se recomienda utilizar una nueva dirección de recepción para cada transacción</translation>
  25295. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  25296. +        <translation>Estas son sus direcciones LitecoinCash para recibir pagos. Se recomienda utilizar una nueva dirección de recepción para cada transacción</translation>
  25297.      </message>
  25298.      <message>
  25299.          <source>&amp;Copy Address</source>
  25300. @@ -168,8 +168,8 @@
  25301.          <translation>Confirmar encriptación del monedero</translation>
  25302.      </message>
  25303.      <message>
  25304. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  25305. -        <translation>Advertencia: Si encripta su monedero y pierde su frase clave &lt;b&gt;PERDERÁ TODOS SUS LITECOINS&lt;/b&gt;!</translation>
  25306. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  25307. +        <translation>Advertencia: Si encripta su monedero y pierde su frase clave &lt;b&gt;PERDERÁ TODOS SUS LCC&lt;/b&gt;!</translation>
  25308.      </message>
  25309.      <message>
  25310.          <source>Are you sure you wish to encrypt your wallet?</source>
  25311. @@ -180,7 +180,7 @@
  25312.          <translation>Monedero encriptado</translation>
  25313.      </message>
  25314.      <message>
  25315. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  25316. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  25317.          <translation>%1 se cerrará ahora para terminar el proceso de encriptación. Recuerde que encriptar su monedero no puede proteger completamente su monedero de ser robado por malware que infecte su ordenador.</translation>
  25318.      </message>
  25319.      <message>
  25320. @@ -338,8 +338,8 @@
  25321.          <translation>Reindexando bloques en disco...</translation>
  25322.      </message>
  25323.      <message>
  25324. -        <source>Send coins to a Litecoin address</source>
  25325. -        <translation>Enviar litecoins a una dirección Litecoin</translation>
  25326. +        <source>Send coins to a LitecoinCash address</source>
  25327. +        <translation>Enviar coins a una dirección LitecoinCash</translation>
  25328.      </message>
  25329.      <message>
  25330.          <source>Backup wallet to another location</source>
  25331. @@ -362,8 +362,8 @@
  25332.          <translation>&amp;Verificar mensaje...</translation>
  25333.      </message>
  25334.      <message>
  25335. -        <source>Litecoin</source>
  25336. -        <translation>Litecoin</translation>
  25337. +        <source>LitecoinCash</source>
  25338. +        <translation>LitecoinCash</translation>
  25339.      </message>
  25340.      <message>
  25341.          <source>Wallet</source>
  25342. @@ -390,12 +390,12 @@
  25343.          <translation>Cifrar las claves privadas de su monedero</translation>
  25344.      </message>
  25345.      <message>
  25346. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  25347. -        <translation>Firmar mensajes con sus direcciones Litecoin para demostrar la propiedad</translation>
  25348. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  25349. +        <translation>Firmar mensajes con sus direcciones LitecoinCash para demostrar la propiedad</translation>
  25350.      </message>
  25351.      <message>
  25352. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  25353. -        <translation>Verificar mensajes comprobando que están firmados con direcciones Litecoin concretas</translation>
  25354. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  25355. +        <translation>Verificar mensajes comprobando que están firmados con direcciones LitecoinCash concretas</translation>
  25356.      </message>
  25357.      <message>
  25358.          <source>&amp;File</source>
  25359. @@ -414,8 +414,8 @@
  25360.          <translation>Barra de pestañas</translation>
  25361.      </message>
  25362.      <message>
  25363. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  25364. -        <translation>Solicitar pagos (generando códigos QR e identificadores URI "litecoin:")</translation>
  25365. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  25366. +        <translation>Solicitar pagos (generando códigos QR e identificadores URI "litecoincash:")</translation>
  25367.      </message>
  25368.      <message>
  25369.          <source>Show the list of used sending addresses and labels</source>
  25370. @@ -426,16 +426,16 @@
  25371.          <translation>Muestra la lista de direcciones de recepción y etiquetas</translation>
  25372.      </message>
  25373.      <message>
  25374. -        <source>Open a litecoin: URI or payment request</source>
  25375. -        <translation>Abrir un identificador URI "litecoin:" o una petición de pago</translation>
  25376. +        <source>Open a litecoincash: URI or payment request</source>
  25377. +        <translation>Abrir un identificador URI "litecoincash:" o una petición de pago</translation>
  25378.      </message>
  25379.      <message>
  25380.          <source>&amp;Command-line options</source>
  25381.          <translation>&amp;Opciones de consola de comandos</translation>
  25382.      </message>
  25383.      <message numerus="yes">
  25384. -        <source>%n active connection(s) to Litecoin network</source>
  25385. -        <translation><numerusform>%n conexión activa hacia la red Litecoin</numerusform><numerusform>%n conexiones activas hacia la red Litecoin</numerusform></translation>
  25386. +        <source>%n active connection(s) to LitecoinCash network</source>
  25387. +        <translation><numerusform>%n conexión activa hacia la red LitecoinCash</numerusform><numerusform>%n conexiones activas hacia la red LitecoinCash</numerusform></translation>
  25388.      </message>
  25389.      <message>
  25390.          <source>Indexing blocks on disk...</source>
  25391. @@ -478,8 +478,8 @@
  25392.          <translation>Actualizado</translation>
  25393.      </message>
  25394.      <message>
  25395. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  25396. -        <translation>Mostrar el mensaje de ayuda %1 para obtener una lista de los posibles comandos de linea de comandos de Litecoin</translation>
  25397. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  25398. +        <translation>Mostrar el mensaje de ayuda %1 para obtener una lista de los posibles comandos de linea de comandos de LitecoinCash</translation>
  25399.      </message>
  25400.      <message>
  25401.          <source>%1 client</source>
  25402. @@ -548,8 +548,8 @@
  25403.          <translation>El monedero está &lt;b&gt;cifrado&lt;/b&gt; y actualmente &lt;b&gt;bloqueado&lt;/b&gt;</translation>
  25404.      </message>
  25405.      <message>
  25406. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  25407. -        <translation>Ha ocurrido un error fatal. Litecoin no puede continuar de manera segura y se cerrará.</translation>
  25408. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  25409. +        <translation>Ha ocurrido un error fatal. LitecoinCash no puede continuar de manera segura y se cerrará.</translation>
  25410.      </message>
  25411.  </context>
  25412.  <context>
  25413. @@ -742,8 +742,8 @@
  25414.          <translation>Editar dirección de envío</translation>
  25415.      </message>
  25416.      <message>
  25417. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  25418. -        <translation>La dirección introducida "%1" no es una dirección Litecoin válida.</translation>
  25419. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  25420. +        <translation>La dirección introducida "%1" no es una dirección LitecoinCash válida.</translation>
  25421.      </message>
  25422.      <message>
  25423.          <source>The entered address "%1" is already in the address book.</source>
  25424. @@ -851,8 +851,8 @@
  25425.          <translation>Al ser la primera vez que se ejecuta el programa, puede elegir donde %1 almacenara sus datos</translation>
  25426.      </message>
  25427.      <message>
  25428. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  25429. -        <translation>%1 va a descargar y almacenar una copia de la cadena de bloques de Litecoin. Al menos %2GB de datos seran almacenados en este directorio, que ira creciendo con el tiempo. El monedero se guardara tambien en ese directorio. </translation>
  25430. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  25431. +        <translation>%1 va a descargar y almacenar una copia de la cadena de bloques de LitecoinCash. Al menos %2GB de datos seran almacenados en este directorio, que ira creciendo con el tiempo. El monedero se guardara tambien en ese directorio. </translation>
  25432.      </message>
  25433.      <message>
  25434.          <source>Use the default data directory</source>
  25435. @@ -886,8 +886,8 @@
  25436.          <translation>Formulario</translation>
  25437.      </message>
  25438.      <message>
  25439. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  25440. -        <translation>Las transacciones recientes podrían no ser visibles todavía, por lo que el balance de la cartera podría ser incorrecto. Esta información será correcta una vez su cartera se haya terminado de sincronizar con la red litecoin, como se detalla más abajo.</translation>
  25441. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  25442. +        <translation>Las transacciones recientes podrían no ser visibles todavía, por lo que el balance de la cartera podría ser incorrecto. Esta información será correcta una vez su cartera se haya terminado de sincronizar con la red litecoincash, como se detalla más abajo.</translation>
  25443.      </message>
  25444.      <message>
  25445.          <source>Number of blocks left</source>
  25446. @@ -1044,16 +1044,16 @@
  25447.          <translation>&amp;Gastar cambio no confirmado</translation>
  25448.      </message>
  25449.      <message>
  25450. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  25451. -        <translation>Abrir automáticamente el puerto del cliente Litecoin en el router. Esta opción solo funciona si el router admite UPnP y está activado.</translation>
  25452. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  25453. +        <translation>Abrir automáticamente el puerto del cliente LitecoinCash en el router. Esta opción solo funciona si el router admite UPnP y está activado.</translation>
  25454.      </message>
  25455.      <message>
  25456.          <source>Map port using &amp;UPnP</source>
  25457.          <translation>Mapear el puerto mediante &amp;UPnP</translation>
  25458.      </message>
  25459.      <message>
  25460. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  25461. -        <translation>Conectarse a la red Litecoin a través de un proxy SOCKS5.</translation>
  25462. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  25463. +        <translation>Conectarse a la red LitecoinCash a través de un proxy SOCKS5.</translation>
  25464.      </message>
  25465.      <message>
  25466.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  25467. @@ -1092,8 +1092,8 @@
  25468.          <translation>Tor</translation>
  25469.      </message>
  25470.      <message>
  25471. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  25472. -        <translation>Conectar a la red Litecoin mediante un proxy SOCKS5 por separado para los servicios ocultos de Tor.</translation>
  25473. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  25474. +        <translation>Conectar a la red LitecoinCash mediante un proxy SOCKS5 por separado para los servicios ocultos de Tor.</translation>
  25475.      </message>
  25476.      <message>
  25477.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  25478. @@ -1141,7 +1141,7 @@
  25479.      </message>
  25480.      <message>
  25481.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  25482. -        <translation>Elegir la subdivisión predeterminada para mostrar cantidades en la interfaz y cuando se envían litecoins.</translation>
  25483. +        <translation>Elegir la subdivisión predeterminada para mostrar cantidades en la interfaz y cuando se envían coins.</translation>
  25484.      </message>
  25485.      <message>
  25486.          <source>Whether to show coin control features or not.</source>
  25487. @@ -1191,8 +1191,8 @@
  25488.          <translation>Formulario</translation>
  25489.      </message>
  25490.      <message>
  25491. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  25492. -        <translation>La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red Litecoin después de que se haya establecido una conexión, pero este proceso aún no se ha completado.</translation>
  25493. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  25494. +        <translation>La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red LitecoinCash después de que se haya establecido una conexión, pero este proceso aún no se ha completado.</translation>
  25495.      </message>
  25496.      <message>
  25497.          <source>Watch-only:</source>
  25498. @@ -1266,8 +1266,8 @@
  25499.          <translation>Fallo en la solicitud de pago</translation>
  25500.      </message>
  25501.      <message>
  25502. -        <source>Cannot start litecoin: click-to-pay handler</source>
  25503. -        <translation>No se puede iniciar litecoin: encargado click-para-pagar</translation>
  25504. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  25505. +        <translation>No se puede iniciar litecoincash: encargado click-para-pagar</translation>
  25506.      </message>
  25507.      <message>
  25508.          <source>URI handling</source>
  25509. @@ -1282,8 +1282,8 @@
  25510.          <translation>Dirección de pago inválida %1</translation>
  25511.      </message>
  25512.      <message>
  25513. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  25514. -        <translation>URI no puede ser analizado! Esto puede ser causado por una dirección Litecoin inválida o parametros URI mal formados.</translation>
  25515. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  25516. +        <translation>URI no puede ser analizado! Esto puede ser causado por una dirección LitecoinCash inválida o parametros URI mal formados.</translation>
  25517.      </message>
  25518.      <message>
  25519.          <source>Payment request file handling</source>
  25520. @@ -1376,8 +1376,8 @@
  25521.          <translation>Cantidad</translation>
  25522.      </message>
  25523.      <message>
  25524. -        <source>Enter a Litecoin address (e.g. %1)</source>
  25525. -        <translation>Introducir una dirección Litecoin (p. ej. %1)</translation>
  25526. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  25527. +        <translation>Introducir una dirección LitecoinCash (p. ej. %1)</translation>
  25528.      </message>
  25529.      <message>
  25530.          <source>%1 d</source>
  25531. @@ -1792,8 +1792,8 @@
  25532.          <translation>R&amp;eutilizar una dirección existente para recibir (no recomendado)</translation>
  25533.      </message>
  25534.      <message>
  25535. -        <source>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 Litecoin network.</source>
  25536. -        <translation>Un mensaje opcional para adjuntar a la solicitud de pago, que se muestra cuando se abre la solicitud. Nota: El mensaje no se enviará con el pago por la red Litecoin.</translation>
  25537. +        <source>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 LitecoinCash network.</source>
  25538. +        <translation>Un mensaje opcional para adjuntar a la solicitud de pago, que se muestra cuando se abre la solicitud. Nota: El mensaje no se enviará con el pago por la red LitecoinCash.</translation>
  25539.      </message>
  25540.      <message>
  25541.          <source>An optional label to associate with the new receiving address.</source>
  25542. @@ -1946,7 +1946,7 @@
  25543.      <name>SendCoinsDialog</name>
  25544.      <message>
  25545.          <source>Send Coins</source>
  25546. -        <translation>Enviar litecoins</translation>
  25547. +        <translation>Enviar coins</translation>
  25548.      </message>
  25549.      <message>
  25550.          <source>Coin Control Features</source>
  25551. @@ -2025,8 +2025,8 @@
  25552.          <translation>total por lo menos</translation>
  25553.      </message>
  25554.      <message>
  25555. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  25556. -        <translation>Pagando solamente la cuota mínima es correcto, siempre y cuando haya menos volumen de transacciones que el espacio en los bloques. Pero tenga en cuenta que esto puede terminar en una transacción nunca confirmada, una vez que haya más demanda para transacciones Litecoin que la red pueda procesar.</translation>
  25557. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  25558. +        <translation>Pagando solamente la cuota mínima es correcto, siempre y cuando haya menos volumen de transacciones que el espacio en los bloques. Pero tenga en cuenta que esto puede terminar en una transacción nunca confirmada, una vez que haya más demanda para transacciones LitecoinCash que la red pueda procesar.</translation>
  25559.      </message>
  25560.      <message>
  25561.          <source>(read the tooltip)</source>
  25562. @@ -2185,8 +2185,8 @@
  25563.          <translation>Pagar únicamente la cuota solicitada de %1</translation>
  25564.      </message>
  25565.      <message>
  25566. -        <source>Warning: Invalid Litecoin address</source>
  25567. -        <translation>Alerta: dirección Litecoin inválida</translation>
  25568. +        <source>Warning: Invalid LitecoinCash address</source>
  25569. +        <translation>Alerta: dirección LitecoinCash inválida</translation>
  25570.      </message>
  25571.      <message>
  25572.          <source>Warning: Unknown change address</source>
  25573. @@ -2228,8 +2228,8 @@
  25574.          <translation>Esto es un pago ordinario.</translation>
  25575.      </message>
  25576.      <message>
  25577. -        <source>The Litecoin address to send the payment to</source>
  25578. -        <translation>Dirección Litecoin a la que enviar el pago</translation>
  25579. +        <source>The LitecoinCash address to send the payment to</source>
  25580. +        <translation>Dirección LitecoinCash a la que enviar el pago</translation>
  25581.      </message>
  25582.      <message>
  25583.          <source>Alt+A</source>
  25584. @@ -2248,8 +2248,8 @@
  25585.          <translation>Eliminar esta transacción</translation>
  25586.      </message>
  25587.      <message>
  25588. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  25589. -        <translation>La cuota será deducida de la cantidad que sea mandada. El destinatario recibirá menos litecoins de los que entres en el  </translation>
  25590. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  25591. +        <translation>La cuota será deducida de la cantidad que sea mandada. El destinatario recibirá menos coins de los que entres en el  </translation>
  25592.      </message>
  25593.      <message>
  25594.          <source>S&amp;ubtract fee from amount</source>
  25595. @@ -2272,8 +2272,8 @@
  25596.          <translation>Introduce una etiqueta para esta dirección para añadirla a la lista de direcciones utilizadas</translation>
  25597.      </message>
  25598.      <message>
  25599. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  25600. -        <translation>Un mensaje que se adjuntó a la litecoin: URL que será almacenada con la transacción para su referencia. Nota: Este mensaje no se envía a través de la red Litecoin.</translation>
  25601. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  25602. +        <translation>Un mensaje que se adjuntó a la litecoincash: URL que será almacenada con la transacción para su referencia. Nota: Este mensaje no se envía a través de la red LitecoinCash.</translation>
  25603.      </message>
  25604.      <message>
  25605.          <source>Pay To:</source>
  25606. @@ -2317,12 +2317,12 @@
  25607.          <translation>&amp;Firmar mensaje</translation>
  25608.      </message>
  25609.      <message>
  25610. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  25611. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  25612.          <translation>Puede firmar los mensajes con sus direcciones para demostrar que las posee. Tenga cuidado de no firmar cualquier cosa de manera vaga o aleatoria, pues los ataques de phishing pueden tratar de engañarle firmando su identidad a través de ellos. Sólo firme declaraciones totalmente detalladas con las que usted esté de acuerdo.</translation>
  25613.      </message>
  25614.      <message>
  25615. -        <source>The Litecoin address to sign the message with</source>
  25616. -        <translation>Dirección Litecoin con la que firmar el mensaje</translation>
  25617. +        <source>The LitecoinCash address to sign the message with</source>
  25618. +        <translation>Dirección LitecoinCash con la que firmar el mensaje</translation>
  25619.      </message>
  25620.      <message>
  25621.          <source>Choose previously used address</source>
  25622. @@ -2353,8 +2353,8 @@
  25623.          <translation>Copiar la firma actual al portapapeles del sistema</translation>
  25624.      </message>
  25625.      <message>
  25626. -        <source>Sign the message to prove you own this Litecoin address</source>
  25627. -        <translation>Firmar el mensaje para demostrar que se posee esta dirección Litecoin</translation>
  25628. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  25629. +        <translation>Firmar el mensaje para demostrar que se posee esta dirección LitecoinCash</translation>
  25630.      </message>
  25631.      <message>
  25632.          <source>Sign &amp;Message</source>
  25633. @@ -2377,12 +2377,12 @@
  25634.          <translation>Introduzca la dirección para la firma, el mensaje (asegurándose de copiar tal cual los saltos de línea, espacios, tabulaciones, etc.) y la firma a continuación para verificar el mensaje. Tenga cuidado de no asumir más información de lo que dice el propio mensaje firmado para evitar fraudes basados en ataques de tipo man-in-the-middle. </translation>
  25635.      </message>
  25636.      <message>
  25637. -        <source>The Litecoin address the message was signed with</source>
  25638. -        <translation>La dirección Litecoin con la que se firmó el mensaje</translation>
  25639. +        <source>The LitecoinCash address the message was signed with</source>
  25640. +        <translation>La dirección LitecoinCash con la que se firmó el mensaje</translation>
  25641.      </message>
  25642.      <message>
  25643. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  25644. -        <translation>Verificar el mensaje para comprobar que fue firmado con la dirección Litecoin indicada</translation>
  25645. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  25646. +        <translation>Verificar el mensaje para comprobar que fue firmado con la dirección LitecoinCash indicada</translation>
  25647.      </message>
  25648.      <message>
  25649.          <source>Verify &amp;Message</source>
  25650. @@ -2595,7 +2595,7 @@
  25651.      </message>
  25652.      <message>
  25653.          <source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
  25654. -        <translation>Los litecoins generados deben madurar %1 bloques antes de que puedan gastarse. Cuando generó este bloque, se transmitió a la red para que se añadiera a la cadena de bloques. Si no consigue entrar en la cadena, su estado cambiará a "no aceptado" y ya no se podrá gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque a pocos segundos del suyo.</translation>
  25655. +        <translation>Los coins generados deben madurar %1 bloques antes de que puedan gastarse. Cuando generó este bloque, se transmitió a la red para que se añadiera a la cadena de bloques. Si no consigue entrar en la cadena, su estado cambiará a "no aceptado" y ya no se podrá gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque a pocos segundos del suyo.</translation>
  25656.      </message>
  25657.      <message>
  25658.          <source>Debug information</source>
  25659. @@ -3017,8 +3017,8 @@
  25660.          <translation>No se ha podido comenzar el servidor HTTP. Ver debug log para detalles.</translation>
  25661.      </message>
  25662.      <message>
  25663. -        <source>Litecoin Core</source>
  25664. -        <translation>Litecoin Core</translation>
  25665. +        <source>LitecoinCash Core</source>
  25666. +        <translation>LitecoinCash Core</translation>
  25667.      </message>
  25668.      <message>
  25669.          <source>The %s developers</source>
  25670. diff --git a/src/qt/locale/bitcoin_es_MX.ts b/src/qt/locale/bitcoin_es_MX.ts
  25671. index f718645..857a1fb 100644
  25672. --- a/src/qt/locale/bitcoin_es_MX.ts
  25673. +++ b/src/qt/locale/bitcoin_es_MX.ts
  25674. @@ -150,8 +150,8 @@
  25675.          <translation>Reindexando bloques en el disco...</translation>
  25676.      </message>
  25677.      <message>
  25678. -        <source>Send coins to a Litecoin address</source>
  25679. -        <translation>Enviar monedas a una dirección Litecoin</translation>
  25680. +        <source>Send coins to a LitecoinCash address</source>
  25681. +        <translation>Enviar monedas a una dirección LitecoinCash</translation>
  25682.      </message>
  25683.      <message>
  25684.          <source>Backup wallet to another location</source>
  25685. @@ -174,8 +174,8 @@
  25686.          <translation>&amp;Verificar mensaje...</translation>
  25687.      </message>
  25688.      <message>
  25689. -        <source>Litecoin</source>
  25690. -        <translation>Litecoin</translation>
  25691. +        <source>LitecoinCash</source>
  25692. +        <translation>LitecoinCash</translation>
  25693.      </message>
  25694.      <message>
  25695.          <source>Wallet</source>
  25696. @@ -418,8 +418,8 @@
  25697.          <translation>Mensaje:</translation>
  25698.      </message>
  25699.      <message>
  25700. -        <source>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 Litecoin network.</source>
  25701. -        <translation>Mensaje opcional para agregar a la solicitud de pago, el cual será mostrado cuando la solicitud este abierta. Nota: El mensaje no se manda con el pago a travéz de la red de Litecoin.</translation>
  25702. +        <source>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 LitecoinCash network.</source>
  25703. +        <translation>Mensaje opcional para agregar a la solicitud de pago, el cual será mostrado cuando la solicitud este abierta. Nota: El mensaje no se manda con el pago a travéz de la red de LitecoinCash.</translation>
  25704.      </message>
  25705.      <message>
  25706.          <source>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</source>
  25707. @@ -608,8 +608,8 @@
  25708.          <translation>Opciones:</translation>
  25709.      </message>
  25710.      <message>
  25711. -        <source>Litecoin Core</source>
  25712. -        <translation>nucleo Litecoin</translation>
  25713. +        <source>LitecoinCash Core</source>
  25714. +        <translation>nucleo LitecoinCash</translation>
  25715.      </message>
  25716.      <message>
  25717.          <source>&lt;category&gt; can be:</source>
  25718. diff --git a/src/qt/locale/bitcoin_es_UY.ts b/src/qt/locale/bitcoin_es_UY.ts
  25719. index 7c9e0e0..05c6827 100644
  25720. --- a/src/qt/locale/bitcoin_es_UY.ts
  25721. +++ b/src/qt/locale/bitcoin_es_UY.ts
  25722. @@ -110,16 +110,16 @@
  25723.          <translation>Recibiendo direcciones</translation>
  25724.      </message>
  25725.      <message>
  25726. -        <source>Send coins to a Litecoin address</source>
  25727. -        <translation>Enviar monedas a una dirección Litecoin</translation>
  25728. +        <source>Send coins to a LitecoinCash address</source>
  25729. +        <translation>Enviar monedas a una dirección LitecoinCash</translation>
  25730.      </message>
  25731.      <message>
  25732.          <source>Change the passphrase used for wallet encryption</source>
  25733.          <translation>Cambie la clave utilizada para el cifrado del monedero</translation>
  25734.      </message>
  25735.      <message>
  25736. -        <source>Litecoin</source>
  25737. -        <translation>Litecoin</translation>
  25738. +        <source>LitecoinCash</source>
  25739. +        <translation>LitecoinCash</translation>
  25740.      </message>
  25741.      <message>
  25742.          <source>Wallet</source>
  25743. diff --git a/src/qt/locale/bitcoin_es_VE.ts b/src/qt/locale/bitcoin_es_VE.ts
  25744. index 80f2e41..3fe133a 100644
  25745. --- a/src/qt/locale/bitcoin_es_VE.ts
  25746. +++ b/src/qt/locale/bitcoin_es_VE.ts
  25747. @@ -114,8 +114,8 @@
  25748.          <translation>Reindexando bloques en el disco...</translation>
  25749.      </message>
  25750.      <message>
  25751. -        <source>Send coins to a Litecoin address</source>
  25752. -        <translation>Enviar monedas a una dirección Litecoin</translation>
  25753. +        <source>Send coins to a LitecoinCash address</source>
  25754. +        <translation>Enviar monedas a una dirección LitecoinCash</translation>
  25755.      </message>
  25756.      <message>
  25757.          <source>Backup wallet to another location</source>
  25758. @@ -130,8 +130,8 @@
  25759.          <translation>Abre la consola de depuración y diágnostico</translation>
  25760.      </message>
  25761.      <message>
  25762. -        <source>Litecoin</source>
  25763. -        <translation>Litecoin</translation>
  25764. +        <source>LitecoinCash</source>
  25765. +        <translation>LitecoinCash</translation>
  25766.      </message>
  25767.      <message>
  25768.          <source>Wallet</source>
  25769. @@ -158,12 +158,12 @@
  25770.          <translation>Encriptar las llaves privadas que pertenecen a tu billetera</translation>
  25771.      </message>
  25772.      <message>
  25773. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  25774. -        <translation>Firma mensajes con tus direcciones Litecoin para probar que eres dueño de ellas</translation>
  25775. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  25776. +        <translation>Firma mensajes con tus direcciones LitecoinCash para probar que eres dueño de ellas</translation>
  25777.      </message>
  25778.      <message>
  25779. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  25780. -        <translation>Verificar mensajes para asegurar que estaban firmados con direcciones Litecoin especificas</translation>
  25781. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  25782. +        <translation>Verificar mensajes para asegurar que estaban firmados con direcciones LitecoinCash especificas</translation>
  25783.      </message>
  25784.      <message>
  25785.          <source>&amp;File</source>
  25786. @@ -608,8 +608,8 @@
  25787.          <translation>Correr en segundo plano como daemon y aceptar comandos</translation>
  25788.      </message>
  25789.      <message>
  25790. -        <source>Litecoin Core</source>
  25791. -        <translation>Litecoin Core</translation>
  25792. +        <source>LitecoinCash Core</source>
  25793. +        <translation>LitecoinCash Core</translation>
  25794.      </message>
  25795.      <message>
  25796.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  25797. diff --git a/src/qt/locale/bitcoin_et.ts b/src/qt/locale/bitcoin_et.ts
  25798. index e994878..3525f83 100644
  25799. --- a/src/qt/locale/bitcoin_et.ts
  25800. +++ b/src/qt/locale/bitcoin_et.ts
  25801. @@ -62,12 +62,12 @@
  25802.          <translation>Vastuvõtvad aadressid</translation>
  25803.      </message>
  25804.      <message>
  25805. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  25806. -        <translation>Need on sinu Litecoin aadressid maksete saatmiseks. Ennem müntide saatmist kontrolli alati summat ja makse saaja aadressi.</translation>
  25807. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  25808. +        <translation>Need on sinu LitecoinCash aadressid maksete saatmiseks. Ennem müntide saatmist kontrolli alati summat ja makse saaja aadressi.</translation>
  25809.      </message>
  25810.      <message>
  25811. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  25812. -        <translation>Need on sinu Litecoin aadressid sisenevate maksete vastu võtmiseks. Soovitav on iga tehingu tarbeks kasutada uut aadressi.</translation>
  25813. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  25814. +        <translation>Need on sinu LitecoinCash aadressid sisenevate maksete vastu võtmiseks. Soovitav on iga tehingu tarbeks kasutada uut aadressi.</translation>
  25815.      </message>
  25816.      <message>
  25817.          <source>&amp;Copy Address</source>
  25818. @@ -168,8 +168,8 @@
  25819.          <translation>Kinnita rahakoti krüpteerimine.</translation>
  25820.      </message>
  25821.      <message>
  25822. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  25823. -        <translation>Hoiatus:Kui sa krüpteerid oma rahakoti ja kaotad salafraasi, siis sa&lt;b&gt;KAOTAD OMA LITECOINID&lt;/b&gt;!</translation>
  25824. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  25825. +        <translation>Hoiatus:Kui sa krüpteerid oma rahakoti ja kaotad salafraasi, siis sa&lt;b&gt;KAOTAD OMA LITECOINCASHID&lt;/b&gt;!</translation>
  25826.      </message>
  25827.      <message>
  25828.          <source>Are you sure you wish to encrypt your wallet?</source>
  25829. @@ -290,8 +290,8 @@
  25830.          <translation>Kettal olevate blokkide re-indekseerimine...</translation>
  25831.      </message>
  25832.      <message>
  25833. -        <source>Send coins to a Litecoin address</source>
  25834. -        <translation>Saada münte Litecoini aadressile</translation>
  25835. +        <source>Send coins to a LitecoinCash address</source>
  25836. +        <translation>Saada münte LitecoinCashi aadressile</translation>
  25837.      </message>
  25838.      <message>
  25839.          <source>Backup wallet to another location</source>
  25840. @@ -314,8 +314,8 @@
  25841.          <translation>&amp;Kontrolli sõnumit...</translation>
  25842.      </message>
  25843.      <message>
  25844. -        <source>Litecoin</source>
  25845. -        <translation>Litecoin</translation>
  25846. +        <source>LitecoinCash</source>
  25847. +        <translation>LitecoinCash</translation>
  25848.      </message>
  25849.      <message>
  25850.          <source>Wallet</source>
  25851. @@ -342,12 +342,12 @@
  25852.          <translation>Krüpteeri oma rahakoti privaatvõtmed</translation>
  25853.      </message>
  25854.      <message>
  25855. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  25856. -        <translation>Omandi tõestamiseks allkirjasta sõnumid oma Litecoini aadressiga</translation>
  25857. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  25858. +        <translation>Omandi tõestamiseks allkirjasta sõnumid oma LitecoinCashi aadressiga</translation>
  25859.      </message>
  25860.      <message>
  25861. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  25862. -        <translation>Kinnita sõnumid kindlustamaks et need allkirjastati määratud Litecoini aadressiga</translation>
  25863. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  25864. +        <translation>Kinnita sõnumid kindlustamaks et need allkirjastati määratud LitecoinCashi aadressiga</translation>
  25865.      </message>
  25866.      <message>
  25867.          <source>&amp;File</source>
  25868. @@ -366,20 +366,20 @@
  25869.          <translation>Vahelehe tööriistariba</translation>
  25870.      </message>
  25871.      <message>
  25872. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  25873. -        <translation>Loo maksepäring (genereerib QR koodid ja litecoini: URId)</translation>
  25874. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  25875. +        <translation>Loo maksepäring (genereerib QR koodid ja litecoincashi: URId)</translation>
  25876.      </message>
  25877.      <message>
  25878. -        <source>Open a litecoin: URI or payment request</source>
  25879. -        <translation>Ava litecoini: URI või maksepäring</translation>
  25880. +        <source>Open a litecoincash: URI or payment request</source>
  25881. +        <translation>Ava litecoincashi: URI või maksepäring</translation>
  25882.      </message>
  25883.      <message>
  25884.          <source>&amp;Command-line options</source>
  25885.          <translation>Käsurea valikud</translation>
  25886.      </message>
  25887.      <message numerus="yes">
  25888. -        <source>%n active connection(s) to Litecoin network</source>
  25889. -        <translation><numerusform>%n aktiivne ühendus Litecoini võrku</numerusform><numerusform>%n aktiivset ühendust Litecoini võrku</numerusform></translation>
  25890. +        <source>%n active connection(s) to LitecoinCash network</source>
  25891. +        <translation><numerusform>%n aktiivne ühendus LitecoinCashi võrku</numerusform><numerusform>%n aktiivset ühendust LitecoinCashi võrku</numerusform></translation>
  25892.      </message>
  25893.      <message>
  25894.          <source>Indexing blocks on disk...</source>
  25895. @@ -626,8 +626,8 @@
  25896.          <translation>Muuda saatvat aadressi</translation>
  25897.      </message>
  25898.      <message>
  25899. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  25900. -        <translation>Sisestatud aadress "%1" ei ole korrektne Litecoin aadress.</translation>
  25901. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  25902. +        <translation>Sisestatud aadress "%1" ei ole korrektne LitecoinCash aadress.</translation>
  25903.      </message>
  25904.      <message>
  25905.          <source>The entered address "%1" is already in the address book.</source>
  25906. @@ -756,8 +756,8 @@
  25907.          <translation>Ekspert</translation>
  25908.      </message>
  25909.      <message>
  25910. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  25911. -        <translation>Litecoini kliendi pordi automaatne avamine ruuteris. Toimib, kui sinu ruuter aktsepteerib UPnP ühendust.</translation>
  25912. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  25913. +        <translation>LitecoinCashi kliendi pordi automaatne avamine ruuteris. Toimib, kui sinu ruuter aktsepteerib UPnP ühendust.</translation>
  25914.      </message>
  25915.      <message>
  25916.          <source>Map port using &amp;UPnP</source>
  25917. @@ -855,7 +855,7 @@
  25918.          <translation>Vorm</translation>
  25919.      </message>
  25920.      <message>
  25921. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  25922. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  25923.          <translation>Kuvatav info ei pruugi olla ajakohane. Ühenduse loomisel süngitakse sinu rahakott automaatselt Liteconi võrgustikuga, kuid see toiming on hetkel lõpetamata.</translation>
  25924.      </message>
  25925.      <message>
  25926. @@ -1337,8 +1337,8 @@
  25927.          <translation>Maksepäring aegunud.</translation>
  25928.      </message>
  25929.      <message>
  25930. -        <source>Warning: Invalid Litecoin address</source>
  25931. -        <translation>Hoiatus: Ebakorrektne Litecoin aadress</translation>
  25932. +        <source>Warning: Invalid LitecoinCash address</source>
  25933. +        <translation>Hoiatus: Ebakorrektne LitecoinCash aadress</translation>
  25934.      </message>
  25935.      <message>
  25936.          <source>(no label)</source>
  25937. @@ -1417,8 +1417,8 @@
  25938.          <translation>&amp;Allkirjastamise teade</translation>
  25939.      </message>
  25940.      <message>
  25941. -        <source>The Litecoin address to sign the message with</source>
  25942. -        <translation>Litecoin aadress millega sõnum allkirjastada</translation>
  25943. +        <source>The LitecoinCash address to sign the message with</source>
  25944. +        <translation>LitecoinCash aadress millega sõnum allkirjastada</translation>
  25945.      </message>
  25946.      <message>
  25947.          <source>Choose previously used address</source>
  25948. @@ -1449,8 +1449,8 @@
  25949.          <translation>Kopeeri praegune signatuur vahemällu</translation>
  25950.      </message>
  25951.      <message>
  25952. -        <source>Sign the message to prove you own this Litecoin address</source>
  25953. -        <translation>Allkirjasta sõnum Litecoini aadressi sulle kuulumise tõestamiseks</translation>
  25954. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  25955. +        <translation>Allkirjasta sõnum LitecoinCashi aadressi sulle kuulumise tõestamiseks</translation>
  25956.      </message>
  25957.      <message>
  25958.          <source>Sign &amp;Message</source>
  25959. @@ -1469,12 +1469,12 @@
  25960.          <translation>&amp;Kinnita Sõnum</translation>
  25961.      </message>
  25962.      <message>
  25963. -        <source>The Litecoin address the message was signed with</source>
  25964. -        <translation>Litecoin aadress millega sõnum on allkirjastatud</translation>
  25965. +        <source>The LitecoinCash address the message was signed with</source>
  25966. +        <translation>LitecoinCash aadress millega sõnum on allkirjastatud</translation>
  25967.      </message>
  25968.      <message>
  25969. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  25970. -        <translation>Kinnita sõnum tõestamaks selle allkirjastatust määratud Litecoini aadressiga.</translation>
  25971. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  25972. +        <translation>Kinnita sõnum tõestamaks selle allkirjastatust määratud LitecoinCashi aadressiga.</translation>
  25973.      </message>
  25974.      <message>
  25975.          <source>Verify &amp;Message</source>
  25976. @@ -1758,8 +1758,8 @@
  25977.          <translation>Tööta taustal ning aktsepteeri käsklusi</translation>
  25978.      </message>
  25979.      <message>
  25980. -        <source>Litecoin Core</source>
  25981. -        <translation>Litecoini tuumik</translation>
  25982. +        <source>LitecoinCash Core</source>
  25983. +        <translation>LitecoinCashi tuumik</translation>
  25984.      </message>
  25985.      <message>
  25986.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  25987. diff --git a/src/qt/locale/bitcoin_et_EE.ts b/src/qt/locale/bitcoin_et_EE.ts
  25988. index fca1ffb..e6e3ce2 100644
  25989. --- a/src/qt/locale/bitcoin_et_EE.ts
  25990. +++ b/src/qt/locale/bitcoin_et_EE.ts
  25991. @@ -130,8 +130,8 @@
  25992.          <translation>Kõvakettal olevate plokkide reindekseerimine...</translation>
  25993.      </message>
  25994.      <message>
  25995. -        <source>Litecoin</source>
  25996. -        <translation>Litecoin</translation>
  25997. +        <source>LitecoinCash</source>
  25998. +        <translation>LitecoinCash</translation>
  25999.      </message>
  26000.      <message>
  26001.          <source>Wallet</source>
  26002. @@ -760,8 +760,8 @@
  26003.          <translation>Valikud:</translation>
  26004.      </message>
  26005.      <message>
  26006. -        <source>Litecoin Core</source>
  26007. -        <translation>Litecoin Core</translation>
  26008. +        <source>LitecoinCash Core</source>
  26009. +        <translation>LitecoinCash Core</translation>
  26010.      </message>
  26011.      <message>
  26012.          <source>Information</source>
  26013. diff --git a/src/qt/locale/bitcoin_eu_ES.ts b/src/qt/locale/bitcoin_eu_ES.ts
  26014. index 5be1b05..85bbc8b 100644
  26015. --- a/src/qt/locale/bitcoin_eu_ES.ts
  26016. +++ b/src/qt/locale/bitcoin_eu_ES.ts
  26017. @@ -62,12 +62,12 @@
  26018.          <translation>Helbideak jasotzen</translation>
  26019.      </message>
  26020.      <message>
  26021. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  26022. -        <translation>Hauek dira zure Litecoin helbideak dirua bidaltzeko. Beti egiaztatu diru-kantitatea eta jasotzeko helbidea bidali baino lehen.</translation>
  26023. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  26024. +        <translation>Hauek dira zure LitecoinCash helbideak dirua bidaltzeko. Beti egiaztatu diru-kantitatea eta jasotzeko helbidea bidali baino lehen.</translation>
  26025.      </message>
  26026.      <message>
  26027. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  26028. -        <translation>Hauek dira zure Litecoin helbideak dirua jasotzeko. Gomendagarria da erabiltzea jasotzeko helbide berri bat operazio bakoitzeko.</translation>
  26029. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  26030. +        <translation>Hauek dira zure LitecoinCash helbideak dirua jasotzeko. Gomendagarria da erabiltzea jasotzeko helbide berri bat operazio bakoitzeko.</translation>
  26031.      </message>
  26032.      <message>
  26033.          <source>&amp;Copy Address</source>
  26034. @@ -160,8 +160,8 @@
  26035.          <translation>Berretsi zorroaren enkriptazioa</translation>
  26036.      </message>
  26037.      <message>
  26038. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  26039. -        <translation>Abisua: Zuk enkriptatzen baduzu zure diruzorroa eta zure pasahitza galtzen baduzu, &lt;b&gt;LITECOIN GUZTIAK GALDUKO DITUZU&lt;/b&gt;!</translation>
  26040. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  26041. +        <translation>Abisua: Zuk enkriptatzen baduzu zure diruzorroa eta zure pasahitza galtzen baduzu, &lt;b&gt;LITECOINCASH GUZTIAK GALDUKO DITUZU&lt;/b&gt;!</translation>
  26042.      </message>
  26043.      <message>
  26044.          <source>Are you sure you wish to encrypt your wallet?</source>
  26045. @@ -239,7 +239,7 @@
  26046.      </message>
  26047.      <message>
  26048.          <source>Show information about Qt</source>
  26049. -        <translation>Erakutsi Litecoin-i buruzko informazioa</translation>
  26050. +        <translation>Erakutsi LitecoinCash-i buruzko informazioa</translation>
  26051.      </message>
  26052.      <message>
  26053.          <source>&amp;Options...</source>
  26054. diff --git a/src/qt/locale/bitcoin_fa.ts b/src/qt/locale/bitcoin_fa.ts
  26055. index 88d88ac..b9478b5 100644
  26056. --- a/src/qt/locale/bitcoin_fa.ts
  26057. +++ b/src/qt/locale/bitcoin_fa.ts
  26058. @@ -62,7 +62,7 @@
  26059.          <translation>???? ??? ??????</translation>
  26060.      </message>
  26061.      <message>
  26062. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  26063. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  26064.          <translation>????? ???? ??? ??? ???? ??????? ?????? ????. ????? ??? ?? ??????? ??? ?? ????? ? ???? ?????? ????? ?? ?? ????.</translation>
  26065.      </message>
  26066.      <message>
  26067. @@ -298,8 +298,8 @@
  26068.          <translation>???????? ??????? ??? ????...</translation>
  26069.      </message>
  26070.      <message>
  26071. -        <source>Send coins to a Litecoin address</source>
  26072. -        <translation>????? ??? ?? ????? Litecoin</translation>
  26073. +        <source>Send coins to a LitecoinCash address</source>
  26074. +        <translation>????? ??? ?? ????? LitecoinCash</translation>
  26075.      </message>
  26076.      <message>
  26077.          <source>Backup wallet to another location</source>
  26078. @@ -322,8 +322,8 @@
  26079.          <translation>??&amp;????? ????...</translation>
  26080.      </message>
  26081.      <message>
  26082. -        <source>Litecoin</source>
  26083. -        <translation>Litecoin</translation>
  26084. +        <source>LitecoinCash</source>
  26085. +        <translation>LitecoinCash</translation>
  26086.      </message>
  26087.      <message>
  26088.          <source>Wallet</source>
  26089. @@ -350,12 +350,12 @@
  26090.          <translation>???????? ??????? ????? ????? ?? ??? ??? ???</translation>
  26091.      </message>
  26092.      <message>
  26093. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  26094. -        <translation>???? ????? ????? ??????? ?? ??? ???? ?????? ????? ?? ?? ????? Litecoin ??? ???? ????</translation>
  26095. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  26096. +        <translation>???? ????? ????? ??????? ?? ??? ???? ?????? ????? ?? ?? ????? LitecoinCash ??? ???? ????</translation>
  26097.      </message>
  26098.      <message>
  26099. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  26100. -        <translation>???? ???? ??????? ?? ????? ???? ?? ????? Litecoin ???? ??? ???? ??? ?? ???? ???? ?? ??????? ????</translation>
  26101. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  26102. +        <translation>???? ???? ??????? ?? ????? ???? ?? ????? LitecoinCash ???? ??? ???? ??? ?? ???? ???? ?? ??????? ????</translation>
  26103.      </message>
  26104.      <message>
  26105.          <source>&amp;File</source>
  26106. @@ -374,8 +374,8 @@
  26107.          <translation>????????? ???????</translation>
  26108.      </message>
  26109.      <message>
  26110. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  26111. -        <translation>??????? ?????? ( ????? ?? ????? ? ???? litecoin)</translation>
  26112. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  26113. +        <translation>??????? ?????? ( ????? ?? ????? ? ???? litecoincash)</translation>
  26114.      </message>
  26115.      <message>
  26116.          <source>Show the list of used sending addresses and labels</source>
  26117. @@ -386,16 +386,16 @@
  26118.          <translation>????? ???? ???? ??? ?????? ? ???? ??</translation>
  26119.      </message>
  26120.      <message>
  26121. -        <source>Open a litecoin: URI or payment request</source>
  26122. -        <translation>??????? ?? litecoin: ???? ?? ??????? ??????</translation>
  26123. +        <source>Open a litecoincash: URI or payment request</source>
  26124. +        <translation>??????? ?? litecoincash: ???? ?? ??????? ??????</translation>
  26125.      </message>
  26126.      <message>
  26127.          <source>&amp;Command-line options</source>
  26128.          <translation>????????? ????????</translation>
  26129.      </message>
  26130.      <message numerus="yes">
  26131. -        <source>%n active connection(s) to Litecoin network</source>
  26132. -        <translation><numerusform>%n ?????? ???? ?? ????? Litecoin</numerusform></translation>
  26133. +        <source>%n active connection(s) to LitecoinCash network</source>
  26134. +        <translation><numerusform>%n ?????? ???? ?? ????? LitecoinCash</numerusform></translation>
  26135.      </message>
  26136.      <message>
  26137.          <source>Processing blocks on disk...</source>
  26138. @@ -642,8 +642,8 @@
  26139.          <translation>?????? ???? ???????</translation>
  26140.      </message>
  26141.      <message>
  26142. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  26143. -        <translation>????? ???? ??? "%1" ?? ????? ????? Litecoin ????.</translation>
  26144. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  26145. +        <translation>????? ???? ??? "%1" ?? ????? ????? LitecoinCash ????.</translation>
  26146.      </message>
  26147.      <message>
  26148.          <source>The entered address "%1" is already in the address book.</source>
  26149. @@ -852,8 +852,8 @@
  26150.          <translation>???????</translation>
  26151.      </message>
  26152.      <message>
  26153. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  26154. -        <translation>??? ???? ?????? ????? ????? Litecoin ??? ??????. ???? ????? ??? ?????? ?? ???? ?? ?????? UPnP ???????? ??? ? ??? ?????? ???? ????.</translation>
  26155. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  26156. +        <translation>??? ???? ?????? ????? ????? LitecoinCash ??? ??????. ???? ????? ??? ?????? ?? ???? ?? ?????? UPnP ???????? ??? ? ??? ?????? ???? ????.</translation>
  26157.      </message>
  26158.      <message>
  26159.          <source>Map port using &amp;UPnP</source>
  26160. @@ -951,8 +951,8 @@
  26161.          <translation>???</translation>
  26162.      </message>
  26163.      <message>
  26164. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  26165. -        <translation>??????? ?????????? ??? ???? ??? ????? ?????. ??? ?? ??? ?? ?? ????? ?? ???? ?????? ??? ??? ??? ??? ??????? ?????? ?? ????? Litecoin ?????????? ??????. ??? ??? ???? ???? ???? ???? ???.</translation>
  26166. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  26167. +        <translation>??????? ?????????? ??? ???? ??? ????? ?????. ??? ?? ??? ?? ?? ????? ?? ???? ?????? ??? ??? ??? ??? ??????? ?????? ?? ????? LitecoinCash ?????????? ??????. ??? ??? ???? ???? ???? ???? ???.</translation>
  26168.      </message>
  26169.      <message>
  26170.          <source>Available:</source>
  26171. @@ -1016,8 +1016,8 @@
  26172.          <translation>????</translation>
  26173.      </message>
  26174.      <message>
  26175. -        <source>Enter a Litecoin address (e.g. %1)</source>
  26176. -        <translation>?? ???? Litecoin ???? ???? (????? %1)</translation>
  26177. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  26178. +        <translation>?? ???? LitecoinCash ???? ???? (????? %1)</translation>
  26179.      </message>
  26180.      <message>
  26181.          <source>%1 d</source>
  26182. @@ -1476,8 +1476,8 @@
  26183.          <translation>??? ?? ?????? ???? ???</translation>
  26184.      </message>
  26185.      <message>
  26186. -        <source>The Litecoin address to send the payment to</source>
  26187. -        <translation>????? Litecoin ???? ????? ?????? ?? ??</translation>
  26188. +        <source>The LitecoinCash address to send the payment to</source>
  26189. +        <translation>????? LitecoinCash ???? ????? ?????? ?? ??</translation>
  26190.      </message>
  26191.      <message>
  26192.          <source>Alt+A</source>
  26193. @@ -1529,8 +1529,8 @@
  26194.          <translation>?&amp;???? ????</translation>
  26195.      </message>
  26196.      <message>
  26197. -        <source>The Litecoin address to sign the message with</source>
  26198. -        <translation>????? Litecoin ???? ????? ????? ?? ??</translation>
  26199. +        <source>The LitecoinCash address to sign the message with</source>
  26200. +        <translation>????? LitecoinCash ???? ????? ????? ?? ??</translation>
  26201.      </message>
  26202.      <message>
  26203.          <source>Choose previously used address</source>
  26204. @@ -1561,7 +1561,7 @@
  26205.          <translation>????? ???? ?? ?? ?????? ????? ??? ??</translation>
  26206.      </message>
  26207.      <message>
  26208. -        <source>Sign the message to prove you own this Litecoin address</source>
  26209. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  26210.          <translation>???? ????? ???? ??? ????? ?? ???? ???? ?? ???? ????</translation>
  26211.      </message>
  26212.      <message>
  26213. @@ -1581,12 +1581,12 @@
  26214.          <translation>&amp;??????? ????</translation>
  26215.      </message>
  26216.      <message>
  26217. -        <source>The Litecoin address the message was signed with</source>
  26218. -        <translation>????? Litecoin ?? ????? ?? ?? ????? ???</translation>
  26219. +        <source>The LitecoinCash address the message was signed with</source>
  26220. +        <translation>????? LitecoinCash ?? ????? ?? ?? ????? ???</translation>
  26221.      </message>
  26222.      <message>
  26223. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  26224. -        <translation>???? ???? ??????? ?? ????? ???? ?? ????? Litecoin ???? ??? ???? ??? ?? ???? ???? ?? ??????? ????</translation>
  26225. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  26226. +        <translation>???? ???? ??????? ?? ????? ???? ?? ????? LitecoinCash ???? ??? ???? ??? ?? ???? ???? ?? ??????? ????</translation>
  26227.      </message>
  26228.      <message>
  26229.          <source>Verify &amp;Message</source>
  26230. @@ -1702,8 +1702,8 @@
  26231.          <translation>???? ?? ??? ????? ??????? ?? ????? ? ????? ???????</translation>
  26232.      </message>
  26233.      <message>
  26234. -        <source>Litecoin Core</source>
  26235. -        <translation> ???? Litecoin </translation>
  26236. +        <source>LitecoinCash Core</source>
  26237. +        <translation> ???? LitecoinCash </translation>
  26238.      </message>
  26239.      <message>
  26240.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  26241. diff --git a/src/qt/locale/bitcoin_fa_IR.ts b/src/qt/locale/bitcoin_fa_IR.ts
  26242. index 1168dfb..1dcd4c0 100644
  26243. --- a/src/qt/locale/bitcoin_fa_IR.ts
  26244. +++ b/src/qt/locale/bitcoin_fa_IR.ts
  26245. @@ -62,11 +62,11 @@
  26246.          <translation>???????? ??????</translation>
  26247.      </message>
  26248.      <message>
  26249. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  26250. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  26251.          <translation>????? ???????? ??????? ??? ???? ????? ???? ?????. ????? ??? ?? ?????? ????? ? ???? ?????? ?? ????? ????.</translation>
  26252.      </message>
  26253.      <message>
  26254. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  26255. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  26256.          <translation>????? ???????? ??????? ??? ???? ?????? ???? ?????. ????? ?????? ???? ?? ?????? ?? ?? ???? ???? ??????? ????.</translation>
  26257.      </message>
  26258.      <message>
  26259. @@ -206,8 +206,8 @@
  26260.          <translation>?????? ???? ??</translation>
  26261.      </message>
  26262.      <message>
  26263. -        <source>Send coins to a Litecoin address</source>
  26264. -        <translation>????? ???? ?? ???? litecoin</translation>
  26265. +        <source>Send coins to a LitecoinCash address</source>
  26266. +        <translation>????? ???? ?? ???? litecoincash</translation>
  26267.      </message>
  26268.      <message>
  26269.          <source>Backup wallet to another location</source>
  26270. @@ -226,8 +226,8 @@
  26271.          <translation>????? ????</translation>
  26272.      </message>
  26273.      <message>
  26274. -        <source>Litecoin</source>
  26275. -        <translation>litecoin</translation>
  26276. +        <source>LitecoinCash</source>
  26277. +        <translation>litecoincash</translation>
  26278.      </message>
  26279.      <message>
  26280.          <source>Wallet</source>
  26281. @@ -505,8 +505,8 @@
  26282.          <translation>???</translation>
  26283.      </message>
  26284.      <message>
  26285. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  26286. -        <translation>??????? ????? ???? ??? ???? ??? ?????? ?????. wallet ??? ?? ???? ?????? ??? ?? ??????? ????? ?? ???? litecoin ?? ??? ?? ??? ??? ??? ?????? ???? ????? ???? ???.</translation>
  26287. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  26288. +        <translation>??????? ????? ???? ??? ???? ??? ?????? ?????. wallet ??? ?? ???? ?????? ??? ?? ??????? ????? ?? ???? litecoincash ?? ??? ?? ??? ??? ??? ?????? ???? ????? ???? ???.</translation>
  26289.      </message>
  26290.      <message>
  26291.          <source>Available:</source>
  26292. diff --git a/src/qt/locale/bitcoin_fi.ts b/src/qt/locale/bitcoin_fi.ts
  26293. index 40d997e..939bc18 100644
  26294. --- a/src/qt/locale/bitcoin_fi.ts
  26295. +++ b/src/qt/locale/bitcoin_fi.ts
  26296. @@ -62,12 +62,12 @@
  26297.          <translation>Vastaanotto-osoitteet</translation>
  26298.      </message>
  26299.      <message>
  26300. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  26301. -        <translation>Nämä ovat Litecoin-osoitteesi maksujen lähettämistä varten. Tarkista aina määrä ja vastaanotto-osoite ennen kolikoiden lähettämistä.</translation>
  26302. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  26303. +        <translation>Nämä ovat LitecoinCash-osoitteesi maksujen lähettämistä varten. Tarkista aina määrä ja vastaanotto-osoite ennen kolikoiden lähettämistä.</translation>
  26304.      </message>
  26305.      <message>
  26306. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  26307. -        <translation>Tässä ovat Litecoin vastaanotto-osoitteesi. On suositeltavaa käyttää uutta vastaanotto-osoitetta jokaista lähetystä varten.</translation>
  26308. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  26309. +        <translation>Tässä ovat LitecoinCash vastaanotto-osoitteesi. On suositeltavaa käyttää uutta vastaanotto-osoitetta jokaista lähetystä varten.</translation>
  26310.      </message>
  26311.      <message>
  26312.          <source>&amp;Copy Address</source>
  26313. @@ -168,8 +168,8 @@
  26314.          <translation>Vahvista lompakon salaaminen</translation>
  26315.      </message>
  26316.      <message>
  26317. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  26318. -        <translation>Varoitus: Jos salaat lompakkosi ja menetät tunnuslauseesi, &lt;b&gt;MENETÄT KAIKKI LITECOINISI&lt;/b&gt;!</translation>
  26319. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  26320. +        <translation>Varoitus: Jos salaat lompakkosi ja menetät tunnuslauseesi, &lt;b&gt;MENETÄT KAIKKI LITECOINCASHISI&lt;/b&gt;!</translation>
  26321.      </message>
  26322.      <message>
  26323.          <source>Are you sure you wish to encrypt your wallet?</source>
  26324. @@ -180,7 +180,7 @@
  26325.          <translation>Lompakko salattiin</translation>
  26326.      </message>
  26327.      <message>
  26328. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  26329. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  26330.          <translation>%1 sulkeutuu lopettaakseen salausprosessin. Muista, että salattukaan lompakko ei täysin suojaa sitä haittaohjelmien aiheuttamilta varkauksilta.</translation>
  26331.      </message>
  26332.      <message>
  26333. @@ -338,8 +338,8 @@
  26334.          <translation>Ladataan lohkoindeksiä...</translation>
  26335.      </message>
  26336.      <message>
  26337. -        <source>Send coins to a Litecoin address</source>
  26338. -        <translation>Lähetä kolikoita Litecoin-osoitteeseen</translation>
  26339. +        <source>Send coins to a LitecoinCash address</source>
  26340. +        <translation>Lähetä kolikoita LitecoinCash-osoitteeseen</translation>
  26341.      </message>
  26342.      <message>
  26343.          <source>Backup wallet to another location</source>
  26344. @@ -362,8 +362,8 @@
  26345.          <translation>Varmista &amp;viesti...</translation>
  26346.      </message>
  26347.      <message>
  26348. -        <source>Litecoin</source>
  26349. -        <translation>Litecoin</translation>
  26350. +        <source>LitecoinCash</source>
  26351. +        <translation>LitecoinCash</translation>
  26352.      </message>
  26353.      <message>
  26354.          <source>Wallet</source>
  26355. @@ -383,19 +383,19 @@
  26356.      </message>
  26357.      <message>
  26358.          <source>Show or hide the main Window</source>
  26359. -        <translation>Näytä tai piilota Litecoin-ikkuna</translation>
  26360. +        <translation>Näytä tai piilota LitecoinCash-ikkuna</translation>
  26361.      </message>
  26362.      <message>
  26363.          <source>Encrypt the private keys that belong to your wallet</source>
  26364.          <translation>Suojaa yksityiset avaimet, jotka kuuluvat lompakkoosi</translation>
  26365.      </message>
  26366.      <message>
  26367. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  26368. -        <translation>Allekirjoita viestisi omalla Litecoin -osoitteellasi todistaaksesi, että omistat ne</translation>
  26369. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  26370. +        <translation>Allekirjoita viestisi omalla LitecoinCash -osoitteellasi todistaaksesi, että omistat ne</translation>
  26371.      </message>
  26372.      <message>
  26373. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  26374. -        <translation>Varmista, että viestisi on allekirjoitettu määritetyllä Litecoin -osoitteella</translation>
  26375. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  26376. +        <translation>Varmista, että viestisi on allekirjoitettu määritetyllä LitecoinCash -osoitteella</translation>
  26377.      </message>
  26378.      <message>
  26379.          <source>&amp;File</source>
  26380. @@ -414,8 +414,8 @@
  26381.          <translation>Välilehtipalkki</translation>
  26382.      </message>
  26383.      <message>
  26384. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  26385. -        <translation>Pyydä maksuja (Luo QR koodit ja litecoin: URIt)</translation>
  26386. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  26387. +        <translation>Pyydä maksuja (Luo QR koodit ja litecoincash: URIt)</translation>
  26388.      </message>
  26389.      <message>
  26390.          <source>Show the list of used sending addresses and labels</source>
  26391. @@ -426,16 +426,16 @@
  26392.          <translation>Näytä vastaanottamiseen käytettyjen osoitteiden ja nimien lista</translation>
  26393.      </message>
  26394.      <message>
  26395. -        <source>Open a litecoin: URI or payment request</source>
  26396. -        <translation>Avaa litecoin: URI tai maksupyyntö</translation>
  26397. +        <source>Open a litecoincash: URI or payment request</source>
  26398. +        <translation>Avaa litecoincash: URI tai maksupyyntö</translation>
  26399.      </message>
  26400.      <message>
  26401.          <source>&amp;Command-line options</source>
  26402.          <translation>&amp;Komentorivin valinnat</translation>
  26403.      </message>
  26404.      <message numerus="yes">
  26405. -        <source>%n active connection(s) to Litecoin network</source>
  26406. -        <translation><numerusform>%n aktiivinen yhteys Litecoin-verkkoon</numerusform><numerusform>%n aktiivista yhteyttä Litecoin-verkkoon</numerusform></translation>
  26407. +        <source>%n active connection(s) to LitecoinCash network</source>
  26408. +        <translation><numerusform>%n aktiivinen yhteys LitecoinCash-verkkoon</numerusform><numerusform>%n aktiivista yhteyttä LitecoinCash-verkkoon</numerusform></translation>
  26409.      </message>
  26410.      <message>
  26411.          <source>Indexing blocks on disk...</source>
  26412. @@ -478,8 +478,8 @@
  26413.          <translation>Rahansiirtohistoria on ajan tasalla</translation>
  26414.      </message>
  26415.      <message>
  26416. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  26417. -        <translation>Näytä %1 ohjeet saadaksesi listan mahdollisista Litecoinin komentorivivalinnoista</translation>
  26418. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  26419. +        <translation>Näytä %1 ohjeet saadaksesi listan mahdollisista LitecoinCashin komentorivivalinnoista</translation>
  26420.      </message>
  26421.      <message>
  26422.          <source>%1 client</source>
  26423. @@ -548,8 +548,8 @@
  26424.          <translation>Lompakko on &lt;b&gt;salattu&lt;/b&gt; ja tällä hetkellä &lt;b&gt;lukittuna&lt;/b&gt;</translation>
  26425.      </message>
  26426.      <message>
  26427. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  26428. -        <translation>Peruuttamaton virhe on tapahtunut. Litecoin ei voi enää jatkaa turvallisesti ja sammutetaan.</translation>
  26429. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  26430. +        <translation>Peruuttamaton virhe on tapahtunut. LitecoinCash ei voi enää jatkaa turvallisesti ja sammutetaan.</translation>
  26431.      </message>
  26432.  </context>
  26433.  <context>
  26434. @@ -734,8 +734,8 @@
  26435.          <translation>Muokkaa lähettävää osoitetta</translation>
  26436.      </message>
  26437.      <message>
  26438. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  26439. -        <translation>Antamasi osoite "%1" ei ole kelvollinen Litecoin-osoite.</translation>
  26440. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  26441. +        <translation>Antamasi osoite "%1" ei ole kelvollinen LitecoinCash-osoite.</translation>
  26442.      </message>
  26443.      <message>
  26444.          <source>The entered address "%1" is already in the address book.</source>
  26445. @@ -843,8 +843,8 @@
  26446.          <translation>Tämä on ensimmäinen kerta, kun %1 on käynnistetty, joten voit valita data-hakemiston paikan.</translation>
  26447.      </message>
  26448.      <message>
  26449. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  26450. -        <translation>%1 lataa ja tallentaa kopion Litecoinin lohkoketjusta. Vähintään %2Gt dataa tullaan tallentamaan tähän hakemistoon, ja tarve kasvaa ajan myötä. Lompakko tullaan myös tallentamaan tähän hakemistoon.</translation>
  26451. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  26452. +        <translation>%1 lataa ja tallentaa kopion LitecoinCashin lohkoketjusta. Vähintään %2Gt dataa tullaan tallentamaan tähän hakemistoon, ja tarve kasvaa ajan myötä. Lompakko tullaan myös tallentamaan tähän hakemistoon.</translation>
  26453.      </message>
  26454.      <message>
  26455.          <source>Use the default data directory</source>
  26456. @@ -1020,16 +1020,16 @@
  26457.          <translation>&amp;Käytä varmistamattomia vaihtorahoja</translation>
  26458.      </message>
  26459.      <message>
  26460. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  26461. -        <translation>Avaa Litecoin-asiakasohjelman portti reitittimellä automaattisesti. Tämä toimii vain, jos reitittimesi tukee UPnP:tä ja se on käytössä.</translation>
  26462. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  26463. +        <translation>Avaa LitecoinCash-asiakasohjelman portti reitittimellä automaattisesti. Tämä toimii vain, jos reitittimesi tukee UPnP:tä ja se on käytössä.</translation>
  26464.      </message>
  26465.      <message>
  26466.          <source>Map port using &amp;UPnP</source>
  26467.          <translation>Portin uudelleenohjaus &amp;UPnP:llä</translation>
  26468.      </message>
  26469.      <message>
  26470. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  26471. -        <translation>Yhdistä Litecoin-verkkoon SOCKS5-välityspalvelimen kautta.</translation>
  26472. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  26473. +        <translation>Yhdistä LitecoinCash-verkkoon SOCKS5-välityspalvelimen kautta.</translation>
  26474.      </message>
  26475.      <message>
  26476.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  26477. @@ -1068,8 +1068,8 @@
  26478.          <translation>Tor</translation>
  26479.      </message>
  26480.      <message>
  26481. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  26482. -        <translation>Yhdistä Litecoin-verkkoon erillisen SOCKS5-välityspalvelimen kautta piilotettuja Tor-palveluja varten.</translation>
  26483. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  26484. +        <translation>Yhdistä LitecoinCash-verkkoon erillisen SOCKS5-välityspalvelimen kautta piilotettuja Tor-palveluja varten.</translation>
  26485.      </message>
  26486.      <message>
  26487.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  26488. @@ -1105,11 +1105,11 @@
  26489.      </message>
  26490.      <message>
  26491.          <source>&amp;Unit to show amounts in:</source>
  26492. -        <translation>Yksikkö jona litecoin-määrät näytetään</translation>
  26493. +        <translation>Yksikkö jona litecoincash-määrät näytetään</translation>
  26494.      </message>
  26495.      <message>
  26496.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  26497. -        <translation>Valitse mitä yksikköä käytetään ensisijaisesti litecoin-määrien näyttämiseen.</translation>
  26498. +        <translation>Valitse mitä yksikköä käytetään ensisijaisesti litecoincash-määrien näyttämiseen.</translation>
  26499.      </message>
  26500.      <message>
  26501.          <source>Whether to show coin control features or not.</source>
  26502. @@ -1159,8 +1159,8 @@
  26503.          <translation>Lomake</translation>
  26504.      </message>
  26505.      <message>
  26506. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  26507. -        <translation>Näytetyt tiedot eivät välttämättä ole ajantasalla. Lompakkosi synkronoituu Litecoin-verkon kanssa automaattisesti yhteyden muodostamisen jälkeen, mutta synkronointi on vielä meneillään.</translation>
  26508. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  26509. +        <translation>Näytetyt tiedot eivät välttämättä ole ajantasalla. Lompakkosi synkronoituu LitecoinCash-verkon kanssa automaattisesti yhteyden muodostamisen jälkeen, mutta synkronointi on vielä meneillään.</translation>
  26510.      </message>
  26511.      <message>
  26512.          <source>Watch-only:</source>
  26513. @@ -1200,7 +1200,7 @@
  26514.      </message>
  26515.      <message>
  26516.          <source>Your current total balance</source>
  26517. -        <translation>Tililläsi tällä hetkellä olevien Litecoinien määrä</translation>
  26518. +        <translation>Tililläsi tällä hetkellä olevien LitecoinCashien määrä</translation>
  26519.      </message>
  26520.      <message>
  26521.          <source>Your current balance in watch-only addresses</source>
  26522. @@ -1252,8 +1252,8 @@
  26523.          <translation>Määrä</translation>
  26524.      </message>
  26525.      <message>
  26526. -        <source>Enter a Litecoin address (e.g. %1)</source>
  26527. -        <translation>Syötä Litecoin-osoite (esim. %1)</translation>
  26528. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  26529. +        <translation>Syötä LitecoinCash-osoite (esim. %1)</translation>
  26530.      </message>
  26531.      <message>
  26532.          <source>%1 d</source>
  26533. @@ -1620,8 +1620,8 @@
  26534.          <translation>&amp;Uudelleenkäytä vastaanotto-osoitetta (ei suositella)</translation>
  26535.      </message>
  26536.      <message>
  26537. -        <source>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 Litecoin network.</source>
  26538. -        <translation>Valinnainen viesti liitetään maksupyyntöön ja näytetään avattaessa. Viestiä ei lähetetä Litecoin-verkkoon.</translation>
  26539. +        <source>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 LitecoinCash network.</source>
  26540. +        <translation>Valinnainen viesti liitetään maksupyyntöön ja näytetään avattaessa. Viestiä ei lähetetä LitecoinCash-verkkoon.</translation>
  26541.      </message>
  26542.      <message>
  26543.          <source>An optional label to associate with the new receiving address.</source>
  26544. @@ -1746,7 +1746,7 @@
  26545.      <name>SendCoinsDialog</name>
  26546.      <message>
  26547.          <source>Send Coins</source>
  26548. -        <translation>Lähetä Litecoineja</translation>
  26549. +        <translation>Lähetä LitecoinCasheja</translation>
  26550.      </message>
  26551.      <message>
  26552.          <source>Coin Control Features</source>
  26553. @@ -1940,8 +1940,8 @@
  26554.          <translation>Tämä on normaali maksu.</translation>
  26555.      </message>
  26556.      <message>
  26557. -        <source>The Litecoin address to send the payment to</source>
  26558. -        <translation>Litecoin-osoite johon maksu lähetetään</translation>
  26559. +        <source>The LitecoinCash address to send the payment to</source>
  26560. +        <translation>LitecoinCash-osoite johon maksu lähetetään</translation>
  26561.      </message>
  26562.      <message>
  26563.          <source>Alt+A</source>
  26564. @@ -1960,8 +1960,8 @@
  26565.          <translation>Poista tämä alkio</translation>
  26566.      </message>
  26567.      <message>
  26568. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  26569. -        <translation>Kulu vähennetään lähetettävästä määrästä. Saaja vastaanottaa vähemmän litecoineja kuin merkitset Määrä-kenttään. Jos saajia on monia, kulu jaetaan tasan.</translation>
  26570. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  26571. +        <translation>Kulu vähennetään lähetettävästä määrästä. Saaja vastaanottaa vähemmän litecoincasheja kuin merkitset Määrä-kenttään. Jos saajia on monia, kulu jaetaan tasan.</translation>
  26572.      </message>
  26573.      <message>
  26574.          <source>S&amp;ubtract fee from amount</source>
  26575. @@ -1984,8 +1984,8 @@
  26576.          <translation>Aseta nimi tälle osoitteelle lisätäksesi sen käytettyjen osoitteiden listalle.</translation>
  26577.      </message>
  26578.      <message>
  26579. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  26580. -        <translation>Viesti joka liitettiin litecoin: URI:iin tallennetaan rahansiirtoon viitteeksi. Tätä viestiä ei lähetetä Litecoin-verkkoon.</translation>
  26581. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  26582. +        <translation>Viesti joka liitettiin litecoincash: URI:iin tallennetaan rahansiirtoon viitteeksi. Tätä viestiä ei lähetetä LitecoinCash-verkkoon.</translation>
  26583.      </message>
  26584.      <message>
  26585.          <source>Pay To:</source>
  26586. @@ -2025,8 +2025,8 @@
  26587.          <translation>&amp;Allekirjoita viesti</translation>
  26588.      </message>
  26589.      <message>
  26590. -        <source>The Litecoin address to sign the message with</source>
  26591. -        <translation>Litecoin-osoite jolla viesti allekirjoitetaan</translation>
  26592. +        <source>The LitecoinCash address to sign the message with</source>
  26593. +        <translation>LitecoinCash-osoite jolla viesti allekirjoitetaan</translation>
  26594.      </message>
  26595.      <message>
  26596.          <source>Choose previously used address</source>
  26597. @@ -2057,8 +2057,8 @@
  26598.          <translation>Kopioi tämänhetkinen allekirjoitus leikepöydälle</translation>
  26599.      </message>
  26600.      <message>
  26601. -        <source>Sign the message to prove you own this Litecoin address</source>
  26602. -        <translation>Allekirjoita viesti todistaaksesi, että omistat tämän Litecoin-osoitteen</translation>
  26603. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  26604. +        <translation>Allekirjoita viesti todistaaksesi, että omistat tämän LitecoinCash-osoitteen</translation>
  26605.      </message>
  26606.      <message>
  26607.          <source>Sign &amp;Message</source>
  26608. @@ -2077,12 +2077,12 @@
  26609.          <translation>&amp;Varmista viesti</translation>
  26610.      </message>
  26611.      <message>
  26612. -        <source>The Litecoin address the message was signed with</source>
  26613. -        <translation>Litecoin-osoite jolla viesti on allekirjoitettu</translation>
  26614. +        <source>The LitecoinCash address the message was signed with</source>
  26615. +        <translation>LitecoinCash-osoite jolla viesti on allekirjoitettu</translation>
  26616.      </message>
  26617.      <message>
  26618. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  26619. -        <translation>Tarkista viestin allekirjoitus varmistaaksesi, että se allekirjoitettiin tietyllä Litecoin-osoitteella</translation>
  26620. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  26621. +        <translation>Tarkista viestin allekirjoitus varmistaaksesi, että se allekirjoitettiin tietyllä LitecoinCash-osoitteella</translation>
  26622.      </message>
  26623.      <message>
  26624.          <source>Verify &amp;Message</source>
  26625. @@ -2430,8 +2430,8 @@
  26626.          <translation>HTTP-palvelinta ei voitu käynnistää. Katso debug-lokista lisätietoja.</translation>
  26627.      </message>
  26628.      <message>
  26629. -        <source>Litecoin Core</source>
  26630. -        <translation>Litecoin-ydin</translation>
  26631. +        <source>LitecoinCash Core</source>
  26632. +        <translation>LitecoinCash-ydin</translation>
  26633.      </message>
  26634.      <message>
  26635.          <source>The %s developers</source>
  26636. diff --git a/src/qt/locale/bitcoin_fr.ts b/src/qt/locale/bitcoin_fr.ts
  26637. index fb7fd32..1ca34ae 100644
  26638. --- a/src/qt/locale/bitcoin_fr.ts
  26639. +++ b/src/qt/locale/bitcoin_fr.ts
  26640. @@ -62,12 +62,12 @@
  26641.          <translation>Adresses de réception</translation>
  26642.      </message>
  26643.      <message>
  26644. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  26645. -        <translation>Voici vos adresses Litecoin pour envoyer des paiements. Vérifiez toujours le montant et l'adresse du destinataire avant d'envoyer des pièces.</translation>
  26646. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  26647. +        <translation>Voici vos adresses LitecoinCash pour envoyer des paiements. Vérifiez toujours le montant et l'adresse du destinataire avant d'envoyer des pièces.</translation>
  26648.      </message>
  26649.      <message>
  26650. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  26651. -        <translation>Voici vos adresses Litecoin pour recevoir des paiements. Il est recommandé d'utiliser une nouvelle adresse de réception pour chaque transaction.</translation>
  26652. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  26653. +        <translation>Voici vos adresses LitecoinCash pour recevoir des paiements. Il est recommandé d'utiliser une nouvelle adresse de réception pour chaque transaction.</translation>
  26654.      </message>
  26655.      <message>
  26656.          <source>&amp;Copy Address</source>
  26657. @@ -168,8 +168,8 @@
  26658.          <translation>Confirmer le chiffrement du porte-monnaie</translation>
  26659.      </message>
  26660.      <message>
  26661. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  26662. -        <translation>Avertissement : si vous chiffrez votre porte-monnaie et perdez votre phrase de passe, vous &lt;b&gt;PERDREZ TOUS VOS LITECOINS&lt;/b&gt; !</translation>
  26663. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  26664. +        <translation>Avertissement : si vous chiffrez votre porte-monnaie et perdez votre phrase de passe, vous &lt;b&gt;PERDREZ TOUS VOS LCC&lt;/b&gt; !</translation>
  26665.      </message>
  26666.      <message>
  26667.          <source>Are you sure you wish to encrypt your wallet?</source>
  26668. @@ -180,8 +180,8 @@
  26669.          <translation>Le porte-monnaie est chiffré</translation>
  26670.      </message>
  26671.      <message>
  26672. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  26673. -        <translation>%1 va maintenant se fermer pour terminer le processus de chiffrement. Souvenez-vous que le chiffrement de votre porte-monnaie ne peut pas protéger entièrement vos litecoins contre le vol par des logiciels malveillants qui infecteraient votre ordinateur.</translation>
  26674. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  26675. +        <translation>%1 va maintenant se fermer pour terminer le processus de chiffrement. Souvenez-vous que le chiffrement de votre porte-monnaie ne peut pas protéger entièrement vos coins contre le vol par des logiciels malveillants qui infecteraient votre ordinateur.</translation>
  26676.      </message>
  26677.      <message>
  26678.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  26679. @@ -338,8 +338,8 @@
  26680.          <translation>Réindexation des blocs sur le disque...</translation>
  26681.      </message>
  26682.      <message>
  26683. -        <source>Send coins to a Litecoin address</source>
  26684. -        <translation>Envoyer des pièces à une adresse Litecoin</translation>
  26685. +        <source>Send coins to a LitecoinCash address</source>
  26686. +        <translation>Envoyer des pièces à une adresse LitecoinCash</translation>
  26687.      </message>
  26688.      <message>
  26689.          <source>Backup wallet to another location</source>
  26690. @@ -362,8 +362,8 @@
  26691.          <translation>&amp;Vérifier un message...</translation>
  26692.      </message>
  26693.      <message>
  26694. -        <source>Litecoin</source>
  26695. -        <translation>Litecoin</translation>
  26696. +        <source>LitecoinCash</source>
  26697. +        <translation>LitecoinCash</translation>
  26698.      </message>
  26699.      <message>
  26700.          <source>Wallet</source>
  26701. @@ -390,12 +390,12 @@
  26702.          <translation>Chiffrer les clés privées qui appartiennent à votre porte-monnaie</translation>
  26703.      </message>
  26704.      <message>
  26705. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  26706. -        <translation>Signer les messages avec vos adresses Litecoin pour prouver que vous les détenez</translation>
  26707. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  26708. +        <translation>Signer les messages avec vos adresses LitecoinCash pour prouver que vous les détenez</translation>
  26709.      </message>
  26710.      <message>
  26711. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  26712. -        <translation>Vérifier les messages pour s'assurer qu'ils ont été signés avec les adresses Litecoin spécifiées</translation>
  26713. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  26714. +        <translation>Vérifier les messages pour s'assurer qu'ils ont été signés avec les adresses LitecoinCash spécifiées</translation>
  26715.      </message>
  26716.      <message>
  26717.          <source>&amp;File</source>
  26718. @@ -414,8 +414,8 @@
  26719.          <translation>Barre d'outils des onglets</translation>
  26720.      </message>
  26721.      <message>
  26722. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  26723. -        <translation>Demander des paiements (génère des codes QR et des URI litecoin:)</translation>
  26724. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  26725. +        <translation>Demander des paiements (génère des codes QR et des URI litecoincash:)</translation>
  26726.      </message>
  26727.      <message>
  26728.          <source>Show the list of used sending addresses and labels</source>
  26729. @@ -426,16 +426,16 @@
  26730.          <translation>Afficher la liste d'adresses de réception et d'étiquettes utilisées</translation>
  26731.      </message>
  26732.      <message>
  26733. -        <source>Open a litecoin: URI or payment request</source>
  26734. -        <translation>Ouvrir une URI litecoin: ou une demande de paiement</translation>
  26735. +        <source>Open a litecoincash: URI or payment request</source>
  26736. +        <translation>Ouvrir une URI litecoincash: ou une demande de paiement</translation>
  26737.      </message>
  26738.      <message>
  26739.          <source>&amp;Command-line options</source>
  26740.          <translation>Options de ligne de &amp;commande</translation>
  26741.      </message>
  26742.      <message numerus="yes">
  26743. -        <source>%n active connection(s) to Litecoin network</source>
  26744. -        <translation><numerusform>%n connexion active avec le réseau Litecoin</numerusform><numerusform>%n connexions actives avec le réseau Litecoin</numerusform></translation>
  26745. +        <source>%n active connection(s) to LitecoinCash network</source>
  26746. +        <translation><numerusform>%n connexion active avec le réseau LitecoinCash</numerusform><numerusform>%n connexions actives avec le réseau LitecoinCash</numerusform></translation>
  26747.      </message>
  26748.      <message>
  26749.          <source>Indexing blocks on disk...</source>
  26750. @@ -478,8 +478,8 @@
  26751.          <translation>À jour</translation>
  26752.      </message>
  26753.      <message>
  26754. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  26755. -        <translation>Afficher le message d'aide de %1 pour obtenir la liste des options de ligne de commande Litecoin possibles.</translation>
  26756. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  26757. +        <translation>Afficher le message d'aide de %1 pour obtenir la liste des options de ligne de commande LitecoinCash possibles.</translation>
  26758.      </message>
  26759.      <message>
  26760.          <source>%1 client</source>
  26761. @@ -548,8 +548,8 @@
  26762.          <translation>Le porte-monnaie est &lt;b&gt;chiffré&lt;/b&gt; et actuellement &lt;b&gt;verrouillé&lt;/b&gt;</translation>
  26763.      </message>
  26764.      <message>
  26765. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  26766. -        <translation>Une erreur fatale est survenue. Litecoin ne peut plus continuer en toute sécurité et va s'arrêter.</translation>
  26767. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  26768. +        <translation>Une erreur fatale est survenue. LitecoinCash ne peut plus continuer en toute sécurité et va s'arrêter.</translation>
  26769.      </message>
  26770.  </context>
  26771.  <context>
  26772. @@ -742,8 +742,8 @@
  26773.          <translation>Modifier l?adresse d'envoi</translation>
  26774.      </message>
  26775.      <message>
  26776. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  26777. -        <translation>L'adresse saisie « %1 » n'est pas une adresse Litecoin valide.</translation>
  26778. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  26779. +        <translation>L'adresse saisie « %1 » n'est pas une adresse LitecoinCash valide.</translation>
  26780.      </message>
  26781.      <message>
  26782.          <source>The entered address "%1" is already in the address book.</source>
  26783. @@ -851,8 +851,8 @@
  26784.          <translation>Puisque c'est la première fois que le logiciel est lancé, vous pouvez choisir où %1 stockera ses données.</translation>
  26785.      </message>
  26786.      <message>
  26787. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  26788. -        <translation>%1 téléchargera et stockera une copie de la chaîne de blocs de Litecoin. Au moins %2 Go de données seront stockés dans ce répertoire et sa taille augmentera avec le temps. Le porte-monnaie sera également stocké dans ce répertoire.</translation>
  26789. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  26790. +        <translation>%1 téléchargera et stockera une copie de la chaîne de blocs de LitecoinCash. Au moins %2 Go de données seront stockés dans ce répertoire et sa taille augmentera avec le temps. Le porte-monnaie sera également stocké dans ce répertoire.</translation>
  26791.      </message>
  26792.      <message>
  26793.          <source>Use the default data directory</source>
  26794. @@ -886,12 +886,12 @@
  26795.          <translation>Formulaire</translation>
  26796.      </message>
  26797.      <message>
  26798. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  26799. -        <translation>Les transactions récentes ne sont peut-être pas encore visibles et par conséquent le solde de votre porte-monnaie est peut-être erroné. Cette information sera juste quand votre porte-monnaie aura fini de se synchroniser avec le réseau Litecoin, comme décrit ci-dessous.</translation>
  26800. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  26801. +        <translation>Les transactions récentes ne sont peut-être pas encore visibles et par conséquent le solde de votre porte-monnaie est peut-être erroné. Cette information sera juste quand votre porte-monnaie aura fini de se synchroniser avec le réseau LitecoinCash, comme décrit ci-dessous.</translation>
  26802.      </message>
  26803.      <message>
  26804. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  26805. -        <translation>Toute tentative de dépense de litecoins affectés par des transactions qui ne sont pas encore affichées ne sera pas acceptée par le réseau.</translation>
  26806. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  26807. +        <translation>Toute tentative de dépense de coins affectés par des transactions qui ne sont pas encore affichées ne sera pas acceptée par le réseau.</translation>
  26808.      </message>
  26809.      <message>
  26810.          <source>Number of blocks left</source>
  26811. @@ -1048,16 +1048,16 @@
  26812.          <translation>&amp;Dépenser la monnaie non confirmée</translation>
  26813.      </message>
  26814.      <message>
  26815. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  26816. -        <translation>Ouvrir automatiquement le port du client Litecoin sur le routeur. Cela ne fonctionne que si votre routeur prend en charge l'UPnP et si la fonction est activée.</translation>
  26817. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  26818. +        <translation>Ouvrir automatiquement le port du client LitecoinCash sur le routeur. Cela ne fonctionne que si votre routeur prend en charge l'UPnP et si la fonction est activée.</translation>
  26819.      </message>
  26820.      <message>
  26821.          <source>Map port using &amp;UPnP</source>
  26822.          <translation>Mapper le port avec l'&amp;UPnP</translation>
  26823.      </message>
  26824.      <message>
  26825. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  26826. -        <translation>Se connecter au réseau Litecoin par un mandataire SOCKS5.</translation>
  26827. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  26828. +        <translation>Se connecter au réseau LitecoinCash par un mandataire SOCKS5.</translation>
  26829.      </message>
  26830.      <message>
  26831.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  26832. @@ -1096,8 +1096,8 @@
  26833.          <translation>Tor</translation>
  26834.      </message>
  26835.      <message>
  26836. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  26837. -        <translation>Se connecter au réseau Litecoin au travers d'un mandataire SOCKS5 séparé pour les services cachés de Tor.</translation>
  26838. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  26839. +        <translation>Se connecter au réseau LitecoinCash au travers d'un mandataire SOCKS5 séparé pour les services cachés de Tor.</translation>
  26840.      </message>
  26841.      <message>
  26842.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  26843. @@ -1195,8 +1195,8 @@
  26844.          <translation>Formulaire</translation>
  26845.      </message>
  26846.      <message>
  26847. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  26848. -        <translation>Les informations affichées peuvent être obsolètes. Votre porte-monnaie est automatiquement synchronisé avec le réseau Litecoin lorsque la connexion s'établit, or ce processus n'est pas encore terminé.</translation>
  26849. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  26850. +        <translation>Les informations affichées peuvent être obsolètes. Votre porte-monnaie est automatiquement synchronisé avec le réseau LitecoinCash lorsque la connexion s'établit, or ce processus n'est pas encore terminé.</translation>
  26851.      </message>
  26852.      <message>
  26853.          <source>Watch-only:</source>
  26854. @@ -1270,8 +1270,8 @@
  26855.          <translation>Erreur de demande de paiement</translation>
  26856.      </message>
  26857.      <message>
  26858. -        <source>Cannot start litecoin: click-to-pay handler</source>
  26859. -        <translation>Impossible de démarrer le gestionnaire de cliquer-pour-payer litecoin:</translation>
  26860. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  26861. +        <translation>Impossible de démarrer le gestionnaire de cliquer-pour-payer litecoincash:</translation>
  26862.      </message>
  26863.      <message>
  26864.          <source>URI handling</source>
  26865. @@ -1286,8 +1286,8 @@
  26866.          <translation>Adresse de paiement invalide %1</translation>
  26867.      </message>
  26868.      <message>
  26869. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  26870. -        <translation>L'URI ne peut pas être analysée ! Cela peut être causé par une adresse Litecoin invalide ou par des paramètres d'URI mal formés.</translation>
  26871. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  26872. +        <translation>L'URI ne peut pas être analysée ! Cela peut être causé par une adresse LitecoinCash invalide ou par des paramètres d'URI mal formés.</translation>
  26873.      </message>
  26874.      <message>
  26875.          <source>Payment request file handling</source>
  26876. @@ -1380,8 +1380,8 @@
  26877.          <translation>Montant</translation>
  26878.      </message>
  26879.      <message>
  26880. -        <source>Enter a Litecoin address (e.g. %1)</source>
  26881. -        <translation>Saisir une adresse Litecoin (p. ex. %1)</translation>
  26882. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  26883. +        <translation>Saisir une adresse LitecoinCash (p. ex. %1)</translation>
  26884.      </message>
  26885.      <message>
  26886.          <source>%1 d</source>
  26887. @@ -1804,8 +1804,8 @@
  26888.          <translation>Ré&amp;utiliser une adresse de réception existante (non recommandé)</translation>
  26889.      </message>
  26890.      <message>
  26891. -        <source>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 Litecoin network.</source>
  26892. -        <translation>Un message facultatif à joindre à la demande de paiement et qui sera affiché à l'ouverture de celle-ci. Note : le message ne sera pas envoyé avec le paiement par le réseau Litecoin.</translation>
  26893. +        <source>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 LitecoinCash network.</source>
  26894. +        <translation>Un message facultatif à joindre à la demande de paiement et qui sera affiché à l'ouverture de celle-ci. Note : le message ne sera pas envoyé avec le paiement par le réseau LitecoinCash.</translation>
  26895.      </message>
  26896.      <message>
  26897.          <source>An optional label to associate with the new receiving address.</source>
  26898. @@ -2037,7 +2037,7 @@
  26899.          <translation>total au moins</translation>
  26900.      </message>
  26901.      <message>
  26902. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  26903. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  26904.          <translation>Il est correct de payer les frais minimum tant que le volume transactionnel est inférieur à l'espace dans les blocs. Mais soyez conscient que cela pourrait résulter en une transaction n'étant jamais confirmée une fois qu'il y aura plus de transactions que le réseau ne pourra en traiter.</translation>
  26905.      </message>
  26906.      <message>
  26907. @@ -2201,8 +2201,8 @@
  26908.          <translation><numerusform>Il est estimé que la confirmation commencera dans %n bloc.</numerusform><numerusform>Il est estimé que la confirmation commencera dans %n blocs.</numerusform></translation>
  26909.      </message>
  26910.      <message>
  26911. -        <source>Warning: Invalid Litecoin address</source>
  26912. -        <translation>Avertissement : adresse Litecoin invalide</translation>
  26913. +        <source>Warning: Invalid LitecoinCash address</source>
  26914. +        <translation>Avertissement : adresse LitecoinCash invalide</translation>
  26915.      </message>
  26916.      <message>
  26917.          <source>Warning: Unknown change address</source>
  26918. @@ -2244,8 +2244,8 @@
  26919.          <translation>Ceci est un paiement normal.</translation>
  26920.      </message>
  26921.      <message>
  26922. -        <source>The Litecoin address to send the payment to</source>
  26923. -        <translation>L'adresse Litecoin à laquelle envoyer le paiement</translation>
  26924. +        <source>The LitecoinCash address to send the payment to</source>
  26925. +        <translation>L'adresse LitecoinCash à laquelle envoyer le paiement</translation>
  26926.      </message>
  26927.      <message>
  26928.          <source>Alt+A</source>
  26929. @@ -2264,8 +2264,8 @@
  26930.          <translation>Retirer cette entrée</translation>
  26931.      </message>
  26932.      <message>
  26933. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  26934. -        <translation>Les frais seront déduits du montant envoyé. Le destinataire recevra moins de litecoins que le montant saisi dans le champ de montant. Si plusieurs destinataires sont sélectionnés, les frais seront partagés également..</translation>
  26935. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  26936. +        <translation>Les frais seront déduits du montant envoyé. Le destinataire recevra moins de coins que le montant saisi dans le champ de montant. Si plusieurs destinataires sont sélectionnés, les frais seront partagés également..</translation>
  26937.      </message>
  26938.      <message>
  26939.          <source>S&amp;ubtract fee from amount</source>
  26940. @@ -2288,8 +2288,8 @@
  26941.          <translation>Saisir une étiquette pour cette adresse afin de l'ajouter à la liste d'adresses utilisées</translation>
  26942.      </message>
  26943.      <message>
  26944. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  26945. -        <translation>Un message qui était joint à l'URI litecoin: et qui sera stocké avec la transaction pour référence. Note : ce message ne sera pas envoyé par le réseau Litecoin.</translation>
  26946. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  26947. +        <translation>Un message qui était joint à l'URI litecoincash: et qui sera stocké avec la transaction pour référence. Note : ce message ne sera pas envoyé par le réseau LitecoinCash.</translation>
  26948.      </message>
  26949.      <message>
  26950.          <source>Pay To:</source>
  26951. @@ -2333,12 +2333,12 @@
  26952.          <translation>&amp;Signer un message</translation>
  26953.      </message>
  26954.      <message>
  26955. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  26956. -        <translation>Vous pouvez signer des messages ou des accords avec vos adresses pour prouver que vous pouvez recevoir des litecoins à ces dernières. Faites attention de ne rien signer de vague ou au hasard, car des attaques d'hameçonnage pourraient essayer de vous faire signer avec votre identité afin de l'usurper. Ne signez que des déclarations entièrement détaillées et avec lesquelles vous êtes d'accord.</translation>
  26957. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  26958. +        <translation>Vous pouvez signer des messages ou des accords avec vos adresses pour prouver que vous pouvez recevoir des coins à ces dernières. Faites attention de ne rien signer de vague ou au hasard, car des attaques d'hameçonnage pourraient essayer de vous faire signer avec votre identité afin de l'usurper. Ne signez que des déclarations entièrement détaillées et avec lesquelles vous êtes d'accord.</translation>
  26959.      </message>
  26960.      <message>
  26961. -        <source>The Litecoin address to sign the message with</source>
  26962. -        <translation>L'adresse Litecoin avec laquelle signer le message</translation>
  26963. +        <source>The LitecoinCash address to sign the message with</source>
  26964. +        <translation>L'adresse LitecoinCash avec laquelle signer le message</translation>
  26965.      </message>
  26966.      <message>
  26967.          <source>Choose previously used address</source>
  26968. @@ -2369,8 +2369,8 @@
  26969.          <translation>Copier la signature actuelle dans le presse-papiers</translation>
  26970.      </message>
  26971.      <message>
  26972. -        <source>Sign the message to prove you own this Litecoin address</source>
  26973. -        <translation>Signer le message afin de prouver que vous détenez cette adresse Litecoin</translation>
  26974. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  26975. +        <translation>Signer le message afin de prouver que vous détenez cette adresse LitecoinCash</translation>
  26976.      </message>
  26977.      <message>
  26978.          <source>Sign &amp;Message</source>
  26979. @@ -2393,12 +2393,12 @@
  26980.          <translation>Saisir ci-dessous l'adresse du destinataire, le message (s'assurer de copier fidèlement les retours à la ligne, les espaces, les tabulations, etc.) et la signature pour vérifier le message. Faire attention à ne pas déduire davantage de la signature que ce qui est contenu dans le message signé même, pour éviter d'être trompé par une attaque d'homme du milieu. Prendre en compte que cela ne fait que prouver que le signataire reçoit l'adresse et ne peut pas prouver la provenance d'une transaction !</translation>
  26981.      </message>
  26982.      <message>
  26983. -        <source>The Litecoin address the message was signed with</source>
  26984. -        <translation>L'adresse Litecoin avec laquelle le message a été signé</translation>
  26985. +        <source>The LitecoinCash address the message was signed with</source>
  26986. +        <translation>L'adresse LitecoinCash avec laquelle le message a été signé</translation>
  26987.      </message>
  26988.      <message>
  26989. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  26990. -        <translation>Vérifier le message pour s'assurer qu'il a été signé avec l'adresse Litecoin spécifiée</translation>
  26991. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  26992. +        <translation>Vérifier le message pour s'assurer qu'il a été signé avec l'adresse LitecoinCash spécifiée</translation>
  26993.      </message>
  26994.      <message>
  26995.          <source>Verify &amp;Message</source>
  26996. @@ -3058,8 +3058,8 @@
  26997.          <translation>Impossible de démarrer le serveur HTTP. Voir le journal de débogage pour plus de détails.</translation>
  26998.      </message>
  26999.      <message>
  27000. -        <source>Litecoin Core</source>
  27001. -        <translation>Litecoin Core</translation>
  27002. +        <source>LitecoinCash Core</source>
  27003. +        <translation>LitecoinCash Core</translation>
  27004.      </message>
  27005.      <message>
  27006.          <source>The %s developers</source>
  27007. diff --git a/src/qt/locale/bitcoin_fr_FR.ts b/src/qt/locale/bitcoin_fr_FR.ts
  27008. index eda597c..0273f5a 100644
  27009. --- a/src/qt/locale/bitcoin_fr_FR.ts
  27010. +++ b/src/qt/locale/bitcoin_fr_FR.ts
  27011. @@ -43,11 +43,11 @@
  27012.      </message>
  27013.      <message>
  27014.          <source>Choose the address to send coins to</source>
  27015. -        <translation>Choisissez une adresse où envoyer les litecoins</translation>
  27016. +        <translation>Choisissez une adresse où envoyer les coins</translation>
  27017.      </message>
  27018.      <message>
  27019.          <source>Choose the address to receive coins with</source>
  27020. -        <translation>Choisissez une adresse où recevoir les litecoins</translation>
  27021. +        <translation>Choisissez une adresse où recevoir les coins</translation>
  27022.      </message>
  27023.      <message>
  27024.          <source>C&amp;hoose</source>
  27025. @@ -128,8 +128,8 @@
  27026.          <translation>Décrypter le porte-monnaie</translation>
  27027.      </message>
  27028.      <message>
  27029. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  27030. -        <translation>Attention : Si vous chiffrez votre portefeuille et que vous perdez votre mot de passe vous &lt;b&gt; PERDREZ TOUS VOS LITECOINS&lt;/b&gt; !</translation>
  27031. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  27032. +        <translation>Attention : Si vous chiffrez votre portefeuille et que vous perdez votre mot de passe vous &lt;b&gt; PERDREZ TOUS VOS LCC&lt;/b&gt; !</translation>
  27033.      </message>
  27034.      <message>
  27035.          <source>Wallet encrypted</source>
  27036. @@ -238,8 +238,8 @@
  27037.          <translation>Réindexer les blocs sur le disque...</translation>
  27038.      </message>
  27039.      <message>
  27040. -        <source>Send coins to a Litecoin address</source>
  27041. -        <translation>Envoyer des pièces à une adresse Litecoin</translation>
  27042. +        <source>Send coins to a LitecoinCash address</source>
  27043. +        <translation>Envoyer des pièces à une adresse LitecoinCash</translation>
  27044.      </message>
  27045.      <message>
  27046.          <source>Backup wallet to another location</source>
  27047. @@ -262,8 +262,8 @@
  27048.          <translation>&amp;Vérification du message</translation>
  27049.      </message>
  27050.      <message>
  27051. -        <source>Litecoin</source>
  27052. -        <translation>Litecoin</translation>
  27053. +        <source>LitecoinCash</source>
  27054. +        <translation>LitecoinCash</translation>
  27055.      </message>
  27056.      <message>
  27057.          <source>Wallet</source>
  27058. @@ -290,8 +290,8 @@
  27059.          <translation>Crypter les clé privées qui appartiennent votre portefeuille</translation>
  27060.      </message>
  27061.      <message>
  27062. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  27063. -        <translation>Signer vos messages avec vos adresses Litecoin pour prouver que vous les détenez</translation>
  27064. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  27065. +        <translation>Signer vos messages avec vos adresses LitecoinCash pour prouver que vous les détenez</translation>
  27066.      </message>
  27067.      <message>
  27068.          <source>&amp;File</source>
  27069. @@ -310,24 +310,24 @@
  27070.          <translation>Barre d'outils des onglets</translation>
  27071.      </message>
  27072.      <message>
  27073. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  27074. -        <translation>Demander des paiements (générer QR codes et litecoin: URIs)</translation>
  27075. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  27076. +        <translation>Demander des paiements (générer QR codes et litecoincash: URIs)</translation>
  27077.      </message>
  27078.      <message>
  27079.          <source>Show the list of used sending addresses and labels</source>
  27080.          <translation>Montrer la liste des adresses d'envois utilisées et les étiquettes</translation>
  27081.      </message>
  27082.      <message>
  27083. -        <source>Open a litecoin: URI or payment request</source>
  27084. -        <translation>Ouvrir un litecoin: URI ou demande de paiement</translation>
  27085. +        <source>Open a litecoincash: URI or payment request</source>
  27086. +        <translation>Ouvrir un litecoincash: URI ou demande de paiement</translation>
  27087.      </message>
  27088.      <message>
  27089.          <source>&amp;Command-line options</source>
  27090.          <translation>&amp;Options de ligne de commande</translation>
  27091.      </message>
  27092.      <message numerus="yes">
  27093. -        <source>%n active connection(s) to Litecoin network</source>
  27094. -        <translation><numerusform>%n connexion active au réseau Litecoin</numerusform><numerusform>%n connexions actives au réseau Litecoin</numerusform></translation>
  27095. +        <source>%n active connection(s) to LitecoinCash network</source>
  27096. +        <translation><numerusform>%n connexion active au réseau LitecoinCash</numerusform><numerusform>%n connexions actives au réseau LitecoinCash</numerusform></translation>
  27097.      </message>
  27098.      <message>
  27099.          <source>Indexing blocks on disk...</source>
  27100. @@ -712,8 +712,8 @@
  27101.          <translation>Expert</translation>
  27102.      </message>
  27103.      <message>
  27104. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  27105. -        <translation>Ouvrir le port du client Litecoin automatiquement sur le routeur. Cela ne fonctionne que si votre routeur supporte l'UPnP et si la fonctionnalité est activée.</translation>
  27106. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  27107. +        <translation>Ouvrir le port du client LitecoinCash automatiquement sur le routeur. Cela ne fonctionne que si votre routeur supporte l'UPnP et si la fonctionnalité est activée.</translation>
  27108.      </message>
  27109.      <message>
  27110.          <source>Map port using &amp;UPnP</source>
  27111. @@ -872,8 +872,8 @@
  27112.          <translation>Montant</translation>
  27113.      </message>
  27114.      <message>
  27115. -        <source>Enter a Litecoin address (e.g. %1)</source>
  27116. -        <translation>Entrer une adresse Litecoin (e.g. %1)</translation>
  27117. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  27118. +        <translation>Entrer une adresse LitecoinCash (e.g. %1)</translation>
  27119.      </message>
  27120.      <message>
  27121.          <source>%1 d</source>
  27122. @@ -1734,8 +1734,8 @@
  27123.          <translation>Impossible de démarrer le serveur HTTP. Voir le journal de débogage pour plus de détails.</translation>
  27124.      </message>
  27125.      <message>
  27126. -        <source>Litecoin Core</source>
  27127. -        <translation>Litecoin Core</translation>
  27128. +        <source>LitecoinCash Core</source>
  27129. +        <translation>LitecoinCash Core</translation>
  27130.      </message>
  27131.      <message>
  27132.          <source>&lt;category&gt; can be:</source>
  27133. diff --git a/src/qt/locale/bitcoin_gl.ts b/src/qt/locale/bitcoin_gl.ts
  27134. index 8939179..2ab9faf 100644
  27135. --- a/src/qt/locale/bitcoin_gl.ts
  27136. +++ b/src/qt/locale/bitcoin_gl.ts
  27137. @@ -130,8 +130,8 @@
  27138.          <translation>Reindexando bloques no disco...</translation>
  27139.      </message>
  27140.      <message>
  27141. -        <source>Send coins to a Litecoin address</source>
  27142. -        <translation>Enviar moedas a unha dirección Litecoin</translation>
  27143. +        <source>Send coins to a LitecoinCash address</source>
  27144. +        <translation>Enviar moedas a unha dirección LitecoinCash</translation>
  27145.      </message>
  27146.      <message>
  27147.          <source>Backup wallet to another location</source>
  27148. @@ -154,8 +154,8 @@
  27149.          <translation>&amp;Verificar mensaxe...</translation>
  27150.      </message>
  27151.      <message>
  27152. -        <source>Litecoin</source>
  27153. -        <translation>Litecoin</translation>
  27154. +        <source>LitecoinCash</source>
  27155. +        <translation>LitecoinCash</translation>
  27156.      </message>
  27157.      <message>
  27158.          <source>Wallet</source>
  27159. @@ -182,12 +182,12 @@
  27160.          <translation>Encriptar as claves privadas que pertencen ao teu moedeiro</translation>
  27161.      </message>
  27162.      <message>
  27163. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  27164. -        <translation>Asina mensaxes coas túas direccións Litecoin para probar que te pertencen</translation>
  27165. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  27166. +        <translation>Asina mensaxes coas túas direccións LitecoinCash para probar que te pertencen</translation>
  27167.      </message>
  27168.      <message>
  27169. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  27170. -        <translation>Verificar mensaxes para asegurar que foron asinados con direccións Litecoin dadas.</translation>
  27171. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  27172. +        <translation>Verificar mensaxes para asegurar que foron asinados con direccións LitecoinCash dadas.</translation>
  27173.      </message>
  27174.      <message>
  27175.          <source>&amp;File</source>
  27176. @@ -206,8 +206,8 @@
  27177.          <translation>Barra de ferramentas</translation>
  27178.      </message>
  27179.      <message>
  27180. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  27181. -        <translation>Solicitar pagos (xenera códigos QR e litecoin: URIs)</translation>
  27182. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  27183. +        <translation>Solicitar pagos (xenera códigos QR e litecoincash: URIs)</translation>
  27184.      </message>
  27185.      <message>
  27186.          <source>Show the list of used sending addresses and labels</source>
  27187. @@ -218,8 +218,8 @@
  27188.          <translation>Amosar a listaxe de etiquetas e direccións para recibir empregadas</translation>
  27189.      </message>
  27190.      <message>
  27191. -        <source>Open a litecoin: URI or payment request</source>
  27192. -        <translation>Abrir un litecoin: URI ou solicitude de pago</translation>
  27193. +        <source>Open a litecoincash: URI or payment request</source>
  27194. +        <translation>Abrir un litecoincash: URI ou solicitude de pago</translation>
  27195.      </message>
  27196.      <message>
  27197.          <source>&amp;Command-line options</source>
  27198. @@ -466,8 +466,8 @@
  27199.          <translation>Moedeiro</translation>
  27200.      </message>
  27201.      <message>
  27202. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  27203. -        <translation>Abrir automáticamente o porto do cliente Litecoin no router. Esto so funciona se o teu router soporta UPnP e está habilitado.</translation>
  27204. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  27205. +        <translation>Abrir automáticamente o porto do cliente LitecoinCash no router. Esto so funciona se o teu router soporta UPnP e está habilitado.</translation>
  27206.      </message>
  27207.      <message>
  27208.          <source>Map port using &amp;UPnP</source>
  27209. @@ -545,8 +545,8 @@
  27210.          <translation>Formulario</translation>
  27211.      </message>
  27212.      <message>
  27213. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  27214. -        <translation>A información amosada por estar desactualizada. O teu moedeiro sincronízase automáticamente coa rede Litecoin despois de que se estableza unha conexión, pero este proceso non está todavía rematado.</translation>
  27215. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  27216. +        <translation>A información amosada por estar desactualizada. O teu moedeiro sincronízase automáticamente coa rede LitecoinCash despois de que se estableza unha conexión, pero este proceso non está todavía rematado.</translation>
  27217.      </message>
  27218.      <message>
  27219.          <source>Your current spendable balance</source>
  27220. @@ -927,8 +927,8 @@
  27221.          <translation>Copiar a sinatura actual ao portapapeis do sistema</translation>
  27222.      </message>
  27223.      <message>
  27224. -        <source>Sign the message to prove you own this Litecoin address</source>
  27225. -        <translation>Asina a mensaxe para probar que posees esta dirección Litecoin</translation>
  27226. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  27227. +        <translation>Asina a mensaxe para probar que posees esta dirección LitecoinCash</translation>
  27228.      </message>
  27229.      <message>
  27230.          <source>Sign &amp;Message</source>
  27231. @@ -947,8 +947,8 @@
  27232.          <translation>&amp;Verificar Mensaxe</translation>
  27233.      </message>
  27234.      <message>
  27235. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  27236. -        <translation>Verificar a mensaxe para asegurar que foi asinada coa dirección Litecoin especificada</translation>
  27237. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  27238. +        <translation>Verificar a mensaxe para asegurar que foi asinada coa dirección LitecoinCash especificada</translation>
  27239.      </message>
  27240.      <message>
  27241.          <source>Verify &amp;Message</source>
  27242. @@ -1028,8 +1028,8 @@
  27243.          <translation>Executar no fondo como un demo e aceptar comandos</translation>
  27244.      </message>
  27245.      <message>
  27246. -        <source>Litecoin Core</source>
  27247. -        <translation>Core de Litecoin</translation>
  27248. +        <source>LitecoinCash Core</source>
  27249. +        <translation>Core de LitecoinCash</translation>
  27250.      </message>
  27251.      <message>
  27252.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  27253. diff --git a/src/qt/locale/bitcoin_he.ts b/src/qt/locale/bitcoin_he.ts
  27254. index 39968cf..06f10f4 100644
  27255. --- a/src/qt/locale/bitcoin_he.ts
  27256. +++ b/src/qt/locale/bitcoin_he.ts
  27257. @@ -62,11 +62,11 @@
  27258.          <translation>?????? ?????</translation>
  27259.      </message>
  27260.      <message>
  27261. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  27262. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  27263.          <translation>??? ?? ?????? ???????? ??? ?????? ???????. ???? ????? ?? ???? ??????? ??????? ???? ????? ??????.</translation>
  27264.      </message>
  27265.      <message>
  27266. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  27267. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  27268.          <translation>??? ?? ?????? ???????? ??? ????? ???????. ????? ?????? ?????? ???? ??? ?????.</translation>
  27269.      </message>
  27270.      <message>
  27271. @@ -168,7 +168,7 @@
  27272.          <translation>????? ????? ?????</translation>
  27273.      </message>
  27274.      <message>
  27275. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  27276. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  27277.          <translation>?????: ????? ???? ????? ???? ????? ????? ????? ????? ??? &lt;b&gt;??? ?????????? ??? ?????&lt;/b&gt;!</translation>
  27278.      </message>
  27279.      <message>
  27280. @@ -180,7 +180,7 @@
  27281.          <translation>????? ?????</translation>
  27282.      </message>
  27283.      <message>
  27284. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  27285. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  27286.          <translation>%1 ????? ??? ??? ????? ?? ????? ??????. ?? ???? ?? ?? ????? ????? ??? ?? ???? ???? ?? ?????????? ??? ???? ????? ?? ????? ?????? ?? ?????.</translation>
  27287.      </message>
  27288.      <message>
  27289. @@ -338,7 +338,7 @@
  27290.          <translation>??????? ?????? ????? ??????</translation>
  27291.      </message>
  27292.      <message>
  27293. -        <source>Send coins to a Litecoin address</source>
  27294. +        <source>Send coins to a LitecoinCash address</source>
  27295.          <translation>????? ?????? ?????? ????????</translation>
  27296.      </message>
  27297.      <message>
  27298. @@ -362,7 +362,7 @@
  27299.          <translation>&amp;????? ??????</translation>
  27300.      </message>
  27301.      <message>
  27302. -        <source>Litecoin</source>
  27303. +        <source>LitecoinCash</source>
  27304.          <translation>????????</translation>
  27305.      </message>
  27306.      <message>
  27307. @@ -390,11 +390,11 @@
  27308.          <translation>????? ??????? ??????? ??????? ????? ???</translation>
  27309.      </message>
  27310.      <message>
  27311. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  27312. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  27313.          <translation>???? ?? ?????? ?? ?????? ???????? ??? ??? ?????? ??? ???????</translation>
  27314.      </message>
  27315.      <message>
  27316. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  27317. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  27318.          <translation>??? ?????? ??? ?????? ??? ????? ?? ????? ???????? ???????</translation>
  27319.      </message>
  27320.      <message>
  27321. @@ -414,8 +414,8 @@
  27322.          <translation>???? ???? ???????</translation>
  27323.      </message>
  27324.      <message>
  27325. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  27326. -        <translation>???? ??????? (????? ?? ????? ???? QR ??????? ?????? ???? ?? :litecoin)</translation>
  27327. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  27328. +        <translation>???? ??????? (????? ?? ????? ???? QR ??????? ?????? ???? ?? :litecoincash)</translation>
  27329.      </message>
  27330.      <message>
  27331.          <source>Show the list of used sending addresses and labels</source>
  27332. @@ -426,7 +426,7 @@
  27333.          <translation>???? ????? ??????? ???????? ??????? ??????</translation>
  27334.      </message>
  27335.      <message>
  27336. -        <source>Open a litecoin: URI or payment request</source>
  27337. +        <source>Open a litecoincash: URI or payment request</source>
  27338.          <translation>????? ????????: ????? ???? ?? ???? ?????</translation>
  27339.      </message>
  27340.      <message>
  27341. @@ -434,7 +434,7 @@
  27342.          <translation>???????? &amp;???? ??????</translation>
  27343.      </message>
  27344.      <message numerus="yes">
  27345. -        <source>%n active connection(s) to Litecoin network</source>
  27346. +        <source>%n active connection(s) to LitecoinCash network</source>
  27347.          <translation><numerusform>????? ??? ???? ???? ????????</numerusform><numerusform>%n ??????? ?????? ???? ????????</numerusform></translation>
  27348.      </message>
  27349.      <message>
  27350. @@ -470,7 +470,7 @@
  27351.          <translation>?????</translation>
  27352.      </message>
  27353.      <message>
  27354. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  27355. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  27356.          <translation>?? ????? ?? ????? ????? ?? %1 ??? ????? ????? ?? ???????? ???? ????? ????????</translation>
  27357.      </message>
  27358.      <message>
  27359. @@ -532,7 +532,7 @@
  27360.          <translation>????? &lt;b&gt;?????&lt;/b&gt; ?&lt;b&gt;????&lt;/b&gt; ????</translation>
  27361.      </message>
  27362.      <message>
  27363. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  27364. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  27365.          <translation>????? ????? ?????. ??? ?????? ?????? ??? ????????? ????? ?????? ??????? ?????.</translation>
  27366.      </message>
  27367.  </context>
  27368. @@ -714,7 +714,7 @@
  27369.          <translation>????? ????? ??????</translation>
  27370.      </message>
  27371.      <message>
  27372. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  27373. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  27374.          <translation>?????? ??????? ?%1? ??? ???? ????? ???????? ?????.</translation>
  27375.      </message>
  27376.      <message>
  27377. @@ -996,7 +996,7 @@
  27378.          <translation>???? &amp;???? ????? ???????</translation>
  27379.      </message>
  27380.      <message>
  27381. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  27382. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  27383.          <translation>????? ????? ?? ???????? ???? ????? ???????. ???? ?? ?? UPnP ????? ????? ????.</translation>
  27384.      </message>
  27385.      <message>
  27386. @@ -1004,7 +1004,7 @@
  27387.          <translation>????? ???? ??????? UPnP</translation>
  27388.      </message>
  27389.      <message>
  27390. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  27391. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  27392.          <translation>????? ???? ???????? ??? ?????? SOCKS5.</translation>
  27393.      </message>
  27394.      <message>
  27395. @@ -1123,7 +1123,7 @@
  27396.          <translation>????</translation>
  27397.      </message>
  27398.      <message>
  27399. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  27400. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  27401.          <translation>????? ????? ???? ????? ?????. ????? ??? ??????? ????? ??????? ?? ??? ???????? ???? ????? ??????, ?? ?????? ??? ??????.</translation>
  27402.      </message>
  27403.      <message>
  27404. @@ -1198,8 +1198,8 @@
  27405.          <translation>????? ???? ?????</translation>
  27406.      </message>
  27407.      <message>
  27408. -        <source>Cannot start litecoin: click-to-pay handler</source>
  27409. -        <translation>?? ???? ?????? ?? ????? litecoin: click-to-pay</translation>
  27410. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  27411. +        <translation>?? ???? ?????? ?? ????? litecoincash: click-to-pay</translation>
  27412.      </message>
  27413.      <message>
  27414.          <source>URI handling</source>
  27415. @@ -1272,7 +1272,7 @@
  27416.          <translation>????</translation>
  27417.      </message>
  27418.      <message>
  27419. -        <source>Enter a Litecoin address (e.g. %1)</source>
  27420. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  27421.          <translation>?? ????? ????? ???????? (????: %1)</translation>
  27422.      </message>
  27423.      <message>
  27424. @@ -1672,7 +1672,7 @@
  27425.          <translation>?&amp;???? &amp;???? ?????? ???? ????? (?? ?????)</translation>
  27426.      </message>
  27427.      <message>
  27428. -        <source>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 Litecoin network.</source>
  27429. +        <source>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 LitecoinCash network.</source>
  27430.          <translation>????? ???? ?????? ????? ?????? ????? ??? ????? ?????. ?????? ???: ?????? ?? ????? ?? ?????? ???? ????????.</translation>
  27431.      </message>
  27432.      <message>
  27433. @@ -2029,7 +2029,7 @@
  27434.          <translation>????? ?? ????? ?????? ???? ?? ?? %1</translation>
  27435.      </message>
  27436.      <message>
  27437. -        <source>Warning: Invalid Litecoin address</source>
  27438. +        <source>Warning: Invalid LitecoinCash address</source>
  27439.          <translation>?????: ????? ??????? ?????</translation>
  27440.      </message>
  27441.      <message>
  27442. @@ -2072,7 +2072,7 @@
  27443.          <translation>??? ????? ????.</translation>
  27444.      </message>
  27445.      <message>
  27446. -        <source>The Litecoin address to send the payment to</source>
  27447. +        <source>The LitecoinCash address to send the payment to</source>
  27448.          <translation>????? ???????? ?? ?????</translation>
  27449.      </message>
  27450.      <message>
  27451. @@ -2092,7 +2092,7 @@
  27452.          <translation>???? ????? ??</translation>
  27453.      </message>
  27454.      <message>
  27455. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  27456. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  27457.          <translation>????? ????? ?????? ?????. ????? ???? ???? ????????? ??? ????? ???? ?????. ?? ????? ???? ??????, ????? ????? ????? ????.</translation>
  27458.      </message>
  27459.      <message>
  27460. @@ -2112,7 +2112,7 @@
  27461.          <translation>?? ????? ????? ???? ????? ?? ??? ?????? ???? ?????? ??????? ??????</translation>
  27462.      </message>
  27463.      <message>
  27464. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  27465. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  27466.          <translation>????? ?????? ????????: ????? ??????? ?????? ????? ???? ????. ?????? ???: ????? ?? ?? ????? ???? ????????.</translation>
  27467.      </message>
  27468.      <message>
  27469. @@ -2153,7 +2153,7 @@
  27470.          <translation>????? ?? ??&amp;???</translation>
  27471.      </message>
  27472.      <message>
  27473. -        <source>The Litecoin address to sign the message with</source>
  27474. +        <source>The LitecoinCash address to sign the message with</source>
  27475.          <translation>????? ???????? ??? ????? ??? ?? ??????</translation>
  27476.      </message>
  27477.      <message>
  27478. @@ -2185,7 +2185,7 @@
  27479.          <translation>????? ?????? ??????? ???? ???????</translation>
  27480.      </message>
  27481.      <message>
  27482. -        <source>Sign the message to prove you own this Litecoin address</source>
  27483. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  27484.          <translation>???? ????? ?? ?????? ??? ?????? ?????? ???????? ??? ???????.</translation>
  27485.      </message>
  27486.      <message>
  27487. @@ -2205,11 +2205,11 @@
  27488.          <translation>&amp;????? ?????</translation>
  27489.      </message>
  27490.      <message>
  27491. -        <source>The Litecoin address the message was signed with</source>
  27492. +        <source>The LitecoinCash address the message was signed with</source>
  27493.          <translation>????? ???????? ???? ????? ??????</translation>
  27494.      </message>
  27495.      <message>
  27496. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  27497. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  27498.          <translation>???? ???? ?? ?????? ??? ?????? ???? ????? ?? ????? ???????? ??????</translation>
  27499.      </message>
  27500.      <message>
  27501. @@ -2714,7 +2714,7 @@
  27502.          <translation>???? ????? ???? ????? ??????</translation>
  27503.      </message>
  27504.      <message>
  27505. -        <source>Litecoin Core</source>
  27506. +        <source>LitecoinCash Core</source>
  27507.          <translation>???? ????????</translation>
  27508.      </message>
  27509.      <message>
  27510. diff --git a/src/qt/locale/bitcoin_he_IL.ts b/src/qt/locale/bitcoin_he_IL.ts
  27511. index 0b88446..c7c32b4 100644
  27512. --- a/src/qt/locale/bitcoin_he_IL.ts
  27513. +++ b/src/qt/locale/bitcoin_he_IL.ts
  27514. @@ -62,11 +62,11 @@
  27515.          <translation>???? ??????</translation>
  27516.      </message>
  27517.      <message>
  27518. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  27519. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  27520.          <translation>??? ?? ?????? ???????? ??? ?????? ???????. ???? ???? ?? ????? ????? ????? ???? ????? ??????</translation>
  27521.      </message>
  27522.      <message>
  27523. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  27524. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  27525.          <translation>??? ?? ?????? ???????? ??? ????? ???????. ????? ?????? ?????? ???? ??? ????? ??????</translation>
  27526.      </message>
  27527.      </context>
  27528. @@ -82,7 +82,7 @@
  27529.  <context>
  27530.      <name>BitcoinGUI</name>
  27531.      <message>
  27532. -        <source>Litecoin</source>
  27533. +        <source>LitecoinCash</source>
  27534.          <translation>????????</translation>
  27535.      </message>
  27536.      <message>
  27537. diff --git a/src/qt/locale/bitcoin_hi_IN.ts b/src/qt/locale/bitcoin_hi_IN.ts
  27538. index 96ffb82..ae4188c 100644
  27539. --- a/src/qt/locale/bitcoin_hi_IN.ts
  27540. +++ b/src/qt/locale/bitcoin_hi_IN.ts
  27541. @@ -91,7 +91,7 @@
  27542.          <translation>????? ????/????? ?? ????? ????????? ?? ??? ???????? ???? ?? ??? ?????!</translation>
  27543.      </message>
  27544.      <message>
  27545. -        <source>Litecoin</source>
  27546. +        <source>LitecoinCash</source>
  27547.          <translation>???????</translation>
  27548.      </message>
  27549.      <message>
  27550. diff --git a/src/qt/locale/bitcoin_hr.ts b/src/qt/locale/bitcoin_hr.ts
  27551. index 71b70e2..40c7467 100644
  27552. --- a/src/qt/locale/bitcoin_hr.ts
  27553. +++ b/src/qt/locale/bitcoin_hr.ts
  27554. @@ -54,8 +54,8 @@
  27555.          <translation>&amp;Odaberi</translation>
  27556.      </message>
  27557.      <message>
  27558. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  27559. -        <translation>Ovo su va?e Litecoin adrese za slanje novca. Uvijek provjerite iznos i adresu primatelja prije slanja novca.</translation>
  27560. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  27561. +        <translation>Ovo su va?e LitecoinCash adrese za slanje novca. Uvijek provjerite iznos i adresu primatelja prije slanja novca.</translation>
  27562.      </message>
  27563.      <message>
  27564.          <source>&amp;Copy Address</source>
  27565. @@ -174,8 +174,8 @@
  27566.          <translation>Re-indeksiranje blokova na disku...</translation>
  27567.      </message>
  27568.      <message>
  27569. -        <source>Send coins to a Litecoin address</source>
  27570. -        <translation>Slanje novca na litecoin adresu</translation>
  27571. +        <source>Send coins to a LitecoinCash address</source>
  27572. +        <translation>Slanje novca na litecoincash adresu</translation>
  27573.      </message>
  27574.      <message>
  27575.          <source>Backup wallet to another location</source>
  27576. @@ -198,8 +198,8 @@
  27577.          <translation>&amp;Potvrdite poruku...</translation>
  27578.      </message>
  27579.      <message>
  27580. -        <source>Litecoin</source>
  27581. -        <translation>Litecoin</translation>
  27582. +        <source>LitecoinCash</source>
  27583. +        <translation>LitecoinCash</translation>
  27584.      </message>
  27585.      <message>
  27586.          <source>Wallet</source>
  27587. @@ -226,12 +226,12 @@
  27588.          <translation>?ifriranje privatnih klju?eva koji u nov?aniku</translation>
  27589.      </message>
  27590.      <message>
  27591. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  27592. -        <translation>Poruku potpi?emo s litecoin adresom, kako bi dokazali vlasni?tvo nad tom adresom</translation>
  27593. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  27594. +        <translation>Poruku potpi?emo s litecoincash adresom, kako bi dokazali vlasni?tvo nad tom adresom</translation>
  27595.      </message>
  27596.      <message>
  27597. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  27598. -        <translation>Provjeravanje poruke, kao dokaz, da je potpisana navedenom litecoin adresom</translation>
  27599. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  27600. +        <translation>Provjeravanje poruke, kao dokaz, da je potpisana navedenom litecoincash adresom</translation>
  27601.      </message>
  27602.      <message>
  27603.          <source>&amp;File</source>
  27604. @@ -250,8 +250,8 @@
  27605.          <translation>Traka kartica</translation>
  27606.      </message>
  27607.      <message>
  27608. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  27609. -        <translation>Zatra?i uplatu (stvara QR kod i litecoin: URI adresu)</translation>
  27610. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  27611. +        <translation>Zatra?i uplatu (stvara QR kod i litecoincash: URI adresu)</translation>
  27612.      </message>
  27613.      <message>
  27614.          <source>Show the list of used sending addresses and labels</source>
  27615. @@ -262,16 +262,16 @@
  27616.          <translation>Prika?i popis kori?tenih adresa i oznaka za primanje novca</translation>
  27617.      </message>
  27618.      <message>
  27619. -        <source>Open a litecoin: URI or payment request</source>
  27620. -        <translation>Otvori litecoin: URI adresu ili zahtjev za uplatu</translation>
  27621. +        <source>Open a litecoincash: URI or payment request</source>
  27622. +        <translation>Otvori litecoincash: URI adresu ili zahtjev za uplatu</translation>
  27623.      </message>
  27624.      <message>
  27625.          <source>&amp;Command-line options</source>
  27626.          <translation>Opcije &amp;naredbene linije</translation>
  27627.      </message>
  27628.      <message numerus="yes">
  27629. -        <source>%n active connection(s) to Litecoin network</source>
  27630. -        <translation><numerusform>%n aktivna veza na Litecoin mre?u</numerusform><numerusform>%n aktivnih veza na Litecoin mre?u</numerusform><numerusform>%n aktivnih veza na Litecoin mre?u</numerusform></translation>
  27631. +        <source>%n active connection(s) to LitecoinCash network</source>
  27632. +        <translation><numerusform>%n aktivna veza na LitecoinCash mre?u</numerusform><numerusform>%n aktivnih veza na LitecoinCash mre?u</numerusform><numerusform>%n aktivnih veza na LitecoinCash mre?u</numerusform></translation>
  27633.      </message>
  27634.      <message numerus="yes">
  27635.          <source>Processed %n block(s) of transaction history.</source>
  27636. @@ -423,11 +423,11 @@
  27637.      </message>
  27638.      <message>
  27639.          <source>The label associated with this address list entry</source>
  27640. -        <translation>Oznaka litecoin adrese</translation>
  27641. +        <translation>Oznaka litecoincash adrese</translation>
  27642.      </message>
  27643.      <message>
  27644.          <source>The address associated with this address list entry. This can only be modified for sending addresses.</source>
  27645. -        <translation>Litecoin adresa. Izmjene adrese su mogu?e samo za adrese za slanje.</translation>
  27646. +        <translation>LitecoinCash adresa. Izmjene adrese su mogu?e samo za adrese za slanje.</translation>
  27647.      </message>
  27648.      <message>
  27649.          <source>&amp;Address</source>
  27650. @@ -568,8 +568,8 @@
  27651.          <translation>&amp;Tro?enje nepotvr?enih vra?enih iznosa</translation>
  27652.      </message>
  27653.      <message>
  27654. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  27655. -        <translation>Automatski otvori port Litecoin klijenta na ruteru. To radi samo ako ruter podr?ava UPnP i ako je omogu?en.</translation>
  27656. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  27657. +        <translation>Automatski otvori port LitecoinCash klijenta na ruteru. To radi samo ako ruter podr?ava UPnP i ako je omogu?en.</translation>
  27658.      </message>
  27659.      <message>
  27660.          <source>Map port using &amp;UPnP</source>
  27661. @@ -617,7 +617,7 @@
  27662.      </message>
  27663.      <message>
  27664.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  27665. -        <translation>Izaberite ?eljeni najmanji dio litecoina koji ?e biti prikazan u su?elju i koji ?e se koristiti za pla?anje.</translation>
  27666. +        <translation>Izaberite ?eljeni najmanji dio litecoincasha koji ?e biti prikazan u su?elju i koji ?e se koristiti za pla?anje.</translation>
  27667.      </message>
  27668.      <message>
  27669.          <source>&amp;OK</source>
  27670. @@ -643,8 +643,8 @@
  27671.          <translation>Oblik</translation>
  27672.      </message>
  27673.      <message>
  27674. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  27675. -        <translation>Prikazani podatci mogu biti zastarjeli. Va? nov?anik se automatski sinkronizira s Litecoin mre?om kada je veza uspostavljena, ali taj proces jo? nije zavr?en.</translation>
  27676. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  27677. +        <translation>Prikazani podatci mogu biti zastarjeli. Va? nov?anik se automatski sinkronizira s LitecoinCash mre?om kada je veza uspostavljena, ali taj proces jo? nije zavr?en.</translation>
  27678.      </message>
  27679.      <message>
  27680.          <source>Total:</source>
  27681. @@ -1034,8 +1034,8 @@
  27682.          <translation>Izvr?avaj u pozadini kao uslu?nik i prihva?aj komande</translation>
  27683.      </message>
  27684.      <message>
  27685. -        <source>Litecoin Core</source>
  27686. -        <translation>Litecoin Core</translation>
  27687. +        <source>LitecoinCash Core</source>
  27688. +        <translation>LitecoinCash Core</translation>
  27689.      </message>
  27690.      <message>
  27691.          <source>Block creation options:</source>
  27692. diff --git a/src/qt/locale/bitcoin_hu.ts b/src/qt/locale/bitcoin_hu.ts
  27693. index 75d4c4d..0d1fa42 100644
  27694. --- a/src/qt/locale/bitcoin_hu.ts
  27695. +++ b/src/qt/locale/bitcoin_hu.ts
  27696. @@ -62,12 +62,12 @@
  27697.          <translation>Fogadási cím</translation>
  27698.      </message>
  27699.      <message>
  27700. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  27701. -        <translation>Ezek a Litecoin címeid kifizetések küldéséhez. Mindíg ellen?rizd az összeget és a fogadó címet miel?tt coinokat küldenél.</translation>
  27702. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  27703. +        <translation>Ezek a LitecoinCash címeid kifizetések küldéséhez. Mindíg ellen?rizd az összeget és a fogadó címet miel?tt coinokat küldenél.</translation>
  27704.      </message>
  27705.      <message>
  27706. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  27707. -        <translation>Ezek a Litecoin címeid kifizetések fogadásához. Ajánlott új címet használni minden új fogadáshoz.</translation>
  27708. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  27709. +        <translation>Ezek a LitecoinCash címeid kifizetések fogadásához. Ajánlott új címet használni minden új fogadáshoz.</translation>
  27710.      </message>
  27711.      <message>
  27712.          <source>&amp;Copy Address</source>
  27713. @@ -165,8 +165,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27714.          <translation>Tárca titkosításának meger?sítése</translation>
  27715.      </message>
  27716.      <message>
  27717. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  27718. -        <translation>Figyelem: Ha titkosítja a tárcáját és elveszíti a jelszavát, akkor &lt;b&gt;AZ ÖSSZES LITECOINJA ELVESZIK&lt;/b&gt;!</translation>
  27719. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  27720. +        <translation>Figyelem: Ha titkosítja a tárcáját és elveszíti a jelszavát, akkor &lt;b&gt;AZ ÖSSZES LITECOINCASHJA ELVESZIK&lt;/b&gt;!</translation>
  27721.      </message>
  27722.      <message>
  27723.          <source>Are you sure you wish to encrypt your wallet?</source>
  27724. @@ -177,8 +177,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27725.          <translation>Tárca titkosítva</translation>
  27726.      </message>
  27727.      <message>
  27728. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  27729. -        <translation>A %1 most bezár, hogy befejezze a titkosítást. Ne feledje, hogy a tárca titkosítása nem nyújt teljes védelmet azzal szemben, hogy kártékony programok megfert?zzék a számítógépét és ellopják a litecoinjait.</translation>
  27730. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  27731. +        <translation>A %1 most bezár, hogy befejezze a titkosítást. Ne feledje, hogy a tárca titkosítása nem nyújt teljes védelmet azzal szemben, hogy kártékony programok megfert?zzék a számítógépét és ellopják a litecoincashjait.</translation>
  27732.      </message>
  27733.      <message>
  27734.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  27735. @@ -331,8 +331,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27736.          <translation>Lemezen lév? blokkok újraindexelése...</translation>
  27737.      </message>
  27738.      <message>
  27739. -        <source>Send coins to a Litecoin address</source>
  27740. -        <translation>Litecoin küldése megadott címre</translation>
  27741. +        <source>Send coins to a LitecoinCash address</source>
  27742. +        <translation>LitecoinCash küldése megadott címre</translation>
  27743.      </message>
  27744.      <message>
  27745.          <source>Backup wallet to another location</source>
  27746. @@ -355,8 +355,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27747.          <translation>Üzenet &amp;valódiságának ellen?rzése</translation>
  27748.      </message>
  27749.      <message>
  27750. -        <source>Litecoin</source>
  27751. -        <translation>Litecoin</translation>
  27752. +        <source>LitecoinCash</source>
  27753. +        <translation>LitecoinCash</translation>
  27754.      </message>
  27755.      <message>
  27756.          <source>Wallet</source>
  27757. @@ -383,12 +383,12 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27758.          <translation>A tárcádhoz tartozó privát kulcsok titkosítása</translation>
  27759.      </message>
  27760.      <message>
  27761. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  27762. -        <translation>Üzenetek aláírása a Litecoin-címmeiddel, amivel bizonyítod, hogy a cím a sajátod</translation>
  27763. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  27764. +        <translation>Üzenetek aláírása a LitecoinCash-címmeiddel, amivel bizonyítod, hogy a cím a sajátod</translation>
  27765.      </message>
  27766.      <message>
  27767. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  27768. -        <translation>Üzenetek ellen?rzése, hogy valóban a megjelölt Litecoin-címekkel vannak-e aláírva</translation>
  27769. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  27770. +        <translation>Üzenetek ellen?rzése, hogy valóban a megjelölt LitecoinCash-címekkel vannak-e aláírva</translation>
  27771.      </message>
  27772.      <message>
  27773.          <source>&amp;File</source>
  27774. @@ -407,8 +407,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27775.          <translation>Fül eszköztár</translation>
  27776.      </message>
  27777.      <message>
  27778. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  27779. -        <translation>Fizetési kérelem (QR-kódot és "litecoin:" URI azonosítót hoz létre)</translation>
  27780. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  27781. +        <translation>Fizetési kérelem (QR-kódot és "litecoincash:" URI azonosítót hoz létre)</translation>
  27782.      </message>
  27783.      <message>
  27784.          <source>Show the list of used sending addresses and labels</source>
  27785. @@ -419,16 +419,16 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27786.          <translation>A használt fogadó címek és címkék megtekintése</translation>
  27787.      </message>
  27788.      <message>
  27789. -        <source>Open a litecoin: URI or payment request</source>
  27790. -        <translation>"litecoin:" URI azonosító vagy fizetési kérelem megnyitása</translation>
  27791. +        <source>Open a litecoincash: URI or payment request</source>
  27792. +        <translation>"litecoincash:" URI azonosító vagy fizetési kérelem megnyitása</translation>
  27793.      </message>
  27794.      <message>
  27795.          <source>&amp;Command-line options</source>
  27796.          <translation>Paran&amp;cssor kapcsolók</translation>
  27797.      </message>
  27798.      <message numerus="yes">
  27799. -        <source>%n active connection(s) to Litecoin network</source>
  27800. -        <translation><numerusform>%n aktív kapcsolat a Litecoin hálózathoz</numerusform><numerusform>%n aktív kapcsolat a Litecoin hálózathoz</numerusform></translation>
  27801. +        <source>%n active connection(s) to LitecoinCash network</source>
  27802. +        <translation><numerusform>%n aktív kapcsolat a LitecoinCash hálózathoz</numerusform><numerusform>%n aktív kapcsolat a LitecoinCash hálózathoz</numerusform></translation>
  27803.      </message>
  27804.      <message>
  27805.          <source>Indexing blocks on disk...</source>
  27806. @@ -471,8 +471,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27807.          <translation>Naprakész</translation>
  27808.      </message>
  27809.      <message>
  27810. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  27811. -        <translation>A %1 súgó megjelenítése a Litecoin lehetséges parancssori kapcsolóinak listájával</translation>
  27812. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  27813. +        <translation>A %1 súgó megjelenítése a LitecoinCash lehetséges parancssori kapcsolóinak listájával</translation>
  27814.      </message>
  27815.      <message>
  27816.          <source>%1 client</source>
  27817. @@ -541,8 +541,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27818.          <translation>Tárca &lt;b&gt;kódolva&lt;/b&gt; és jelenleg &lt;b&gt;zárva&lt;/b&gt;.</translation>
  27819.      </message>
  27820.      <message>
  27821. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  27822. -        <translation>Végzetes hiba történt. A Litecoin m?ködése nem biztonságos és hamarosan leáll.</translation>
  27823. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  27824. +        <translation>Végzetes hiba történt. A LitecoinCash m?ködése nem biztonságos és hamarosan leáll.</translation>
  27825.      </message>
  27826.  </context>
  27827.  <context>
  27828. @@ -731,8 +731,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27829.          <translation>Küld? cím szerkesztése</translation>
  27830.      </message>
  27831.      <message>
  27832. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  27833. -        <translation>A megadott "%1" cím nem egy érvényes Litecoin-cím.</translation>
  27834. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  27835. +        <translation>A megadott "%1" cím nem egy érvényes LitecoinCash-cím.</translation>
  27836.      </message>
  27837.      <message>
  27838.          <source>The entered address "%1" is already in the address book.</source>
  27839. @@ -863,12 +863,12 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27840.          <translation>?rlap</translation>
  27841.      </message>
  27842.      <message>
  27843. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  27844. -        <translation>A legutóbbi tranzakciók még lehet, hogy nem látszanak, ezért el?fordulhat, hogy a pénztárca egyenlege nem a valós állapotot mutatja. Ha a pénztárca befejezte a szinkronizációt a litecoin hálózattal, utána már az aktuális egyenleget fogja mutatni, amint alant részletesen látszik.</translation>
  27845. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  27846. +        <translation>A legutóbbi tranzakciók még lehet, hogy nem látszanak, ezért el?fordulhat, hogy a pénztárca egyenlege nem a valós állapotot mutatja. Ha a pénztárca befejezte a szinkronizációt a litecoincash hálózattal, utána már az aktuális egyenleget fogja mutatni, amint alant részletesen látszik.</translation>
  27847.      </message>
  27848.      <message>
  27849. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  27850. -        <translation>A hálózat nem fogadja el azoknak a litecoinoknak az elköltését, amelyek érintettek a még nem látszódó tranzakciókban.</translation>
  27851. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  27852. +        <translation>A hálózat nem fogadja el azoknak a litecoincashoknak az elköltését, amelyek érintettek a még nem látszódó tranzakciókban.</translation>
  27853.      </message>
  27854.      <message>
  27855.          <source>Number of blocks left</source>
  27856. @@ -1025,16 +1025,16 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27857.          <translation>&amp;Költése a a jóváhagyatlan változásnak</translation>
  27858.      </message>
  27859.      <message>
  27860. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  27861. -        <translation>A Litecoin-kliens portjának automatikus megnyitása a routeren. Ez csak akkor m?ködik, ha a routered támogatja az UPnP-t és az engedélyezve is van rajta.</translation>
  27862. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  27863. +        <translation>A LitecoinCash-kliens portjának automatikus megnyitása a routeren. Ez csak akkor m?ködik, ha a routered támogatja az UPnP-t és az engedélyezve is van rajta.</translation>
  27864.      </message>
  27865.      <message>
  27866.          <source>Map port using &amp;UPnP</source>
  27867.          <translation>&amp;UPnP port-feltérképezés</translation>
  27868.      </message>
  27869.      <message>
  27870. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  27871. -        <translation>Csatlakozás a Litecoin hálózatához SOCKS5 proxyn keresztül</translation>
  27872. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  27873. +        <translation>Csatlakozás a LitecoinCash hálózatához SOCKS5 proxyn keresztül</translation>
  27874.      </message>
  27875.      <message>
  27876.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  27877. @@ -1069,8 +1069,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27878.          <translation>Tor</translation>
  27879.      </message>
  27880.      <message>
  27881. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  27882. -        <translation>Csatlakozás a Litecoin hálózathoz külön SOCKS5 proxy használatával a Tor rejtett szolgáltatásainak eléréséhez.</translation>
  27883. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  27884. +        <translation>Csatlakozás a LitecoinCash hálózathoz külön SOCKS5 proxy használatával a Tor rejtett szolgáltatásainak eléréséhez.</translation>
  27885.      </message>
  27886.      <message>
  27887.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  27888. @@ -1168,8 +1168,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27889.          <translation>?rlap</translation>
  27890.      </message>
  27891.      <message>
  27892. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  27893. -        <translation>A kijelzett információ lehet, hogy elavult. A pénztárcája automatikusan szinkronizálja magát a Litecoin hálózattal miután a kapcsolat létrejön, de ez e folyamat még nem fejez?dött be.</translation>
  27894. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  27895. +        <translation>A kijelzett információ lehet, hogy elavult. A pénztárcája automatikusan szinkronizálja magát a LitecoinCash hálózattal miután a kapcsolat létrejön, de ez e folyamat még nem fejez?dött be.</translation>
  27896.      </message>
  27897.      <message>
  27898.          <source>Watch-only:</source>
  27899. @@ -1243,8 +1243,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27900.          <translation>Hiba történt a fizetési kérelem során</translation>
  27901.      </message>
  27902.      <message>
  27903. -        <source>Cannot start litecoin: click-to-pay handler</source>
  27904. -        <translation>A litecoin nem tud elindulni: click-to-pay kezel?</translation>
  27905. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  27906. +        <translation>A litecoincash nem tud elindulni: click-to-pay kezel?</translation>
  27907.      </message>
  27908.      <message>
  27909.          <source>URI handling</source>
  27910. @@ -1255,8 +1255,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27911.          <translation>Érvénytelen fizetési cím %1</translation>
  27912.      </message>
  27913.      <message>
  27914. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  27915. -        <translation>Nem sikerült az URI elemzése! Ezt okozhatja érvénytelen Litecoin cím, vagy rossz URI paraméterezés.</translation>
  27916. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  27917. +        <translation>Nem sikerült az URI elemzése! Ezt okozhatja érvénytelen LitecoinCash cím, vagy rossz URI paraméterezés.</translation>
  27918.      </message>
  27919.      <message>
  27920.          <source>Payment request file handling</source>
  27921. @@ -1345,8 +1345,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27922.          <translation>Összeg</translation>
  27923.      </message>
  27924.      <message>
  27925. -        <source>Enter a Litecoin address (e.g. %1)</source>
  27926. -        <translation>Ad meg egy Litecoin címet (pl: %1)</translation>
  27927. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  27928. +        <translation>Ad meg egy LitecoinCash címet (pl: %1)</translation>
  27929.      </message>
  27930.      <message>
  27931.          <source>%1 d</source>
  27932. @@ -1733,8 +1733,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27933.          <translation>&amp;Újrafelhasznál egy létez? fogadó címet (nem ajánlott)</translation>
  27934.      </message>
  27935.      <message>
  27936. -        <source>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 Litecoin network.</source>
  27937. -        <translation>Egy opcionális üzenet csatolása a fizetési kérelemhez, amely megjelenik a kérelem megnyitásakor. Megjegyzés: Az üzenet nem lesz elküldve a fizetséggel a Litecoin hálózaton keresztül.</translation>
  27938. +        <source>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 LitecoinCash network.</source>
  27939. +        <translation>Egy opcionális üzenet csatolása a fizetési kérelemhez, amely megjelenik a kérelem megnyitásakor. Megjegyzés: Az üzenet nem lesz elküldve a fizetséggel a LitecoinCash hálózaton keresztül.</translation>
  27940.      </message>
  27941.      <message>
  27942.          <source>An optional label to associate with the new receiving address.</source>
  27943. @@ -2090,8 +2090,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27944.          <translation>Csak a szükséges %1 díj fizetése</translation>
  27945.      </message>
  27946.      <message>
  27947. -        <source>Warning: Invalid Litecoin address</source>
  27948. -        <translation>Figyelmeztetés: Érvénytelen Litecoin cím</translation>
  27949. +        <source>Warning: Invalid LitecoinCash address</source>
  27950. +        <translation>Figyelmeztetés: Érvénytelen LitecoinCash cím</translation>
  27951.      </message>
  27952.      <message>
  27953.          <source>Warning: Unknown change address</source>
  27954. @@ -2129,8 +2129,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27955.          <translation>Válassz egy korábban már használt címet</translation>
  27956.      </message>
  27957.      <message>
  27958. -        <source>The Litecoin address to send the payment to</source>
  27959. -        <translation>Erre a Litecoin címre küldje az összeget</translation>
  27960. +        <source>The LitecoinCash address to send the payment to</source>
  27961. +        <translation>Erre a LitecoinCash címre küldje az összeget</translation>
  27962.      </message>
  27963.      <message>
  27964.          <source>Alt+A</source>
  27965. @@ -2202,8 +2202,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27966.          <translation>Üzenet aláírása...</translation>
  27967.      </message>
  27968.      <message>
  27969. -        <source>The Litecoin address to sign the message with</source>
  27970. -        <translation>Litecoin cím, amivel alá kívánja írni az üzenetet</translation>
  27971. +        <source>The LitecoinCash address to sign the message with</source>
  27972. +        <translation>LitecoinCash cím, amivel alá kívánja írni az üzenetet</translation>
  27973.      </message>
  27974.      <message>
  27975.          <source>Choose previously used address</source>
  27976. @@ -2234,7 +2234,7 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27977.          <translation>A jelenleg kiválasztott aláírás másolása a rendszer-vágólapra</translation>
  27978.      </message>
  27979.      <message>
  27980. -        <source>Sign the message to prove you own this Litecoin address</source>
  27981. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  27982.          <translation>Üzenet </translation>
  27983.      </message>
  27984.      <message>
  27985. @@ -2250,12 +2250,12 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  27986.          <translation>Üzenet ellen?rzése</translation>
  27987.      </message>
  27988.      <message>
  27989. -        <source>The Litecoin address the message was signed with</source>
  27990. -        <translation>Litecoin cím, amivel aláírta az üzenetet</translation>
  27991. +        <source>The LitecoinCash address the message was signed with</source>
  27992. +        <translation>LitecoinCash cím, amivel aláírta az üzenetet</translation>
  27993.      </message>
  27994.      <message>
  27995. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  27996. -        <translation>Ellen?rizze az üzenetet, hogy valóban a megjelölt Litecoin címmel van-e aláírva</translation>
  27997. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  27998. +        <translation>Ellen?rizze az üzenetet, hogy valóban a megjelölt LitecoinCash címmel van-e aláírva</translation>
  27999.      </message>
  28000.      <message>
  28001.          <source>Verify &amp;Message</source>
  28002. @@ -2787,8 +2787,8 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  28003.  </translation>
  28004.      </message>
  28005.      <message>
  28006. -        <source>Litecoin Core</source>
  28007. -        <translation>Litecoin Core</translation>
  28008. +        <source>LitecoinCash Core</source>
  28009. +        <translation>LitecoinCash Core</translation>
  28010.      </message>
  28011.      <message>
  28012.          <source>The %s developers</source>
  28013. @@ -3002,7 +3002,7 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszer? ka
  28014.      </message>
  28015.      <message>
  28016.          <source>Insufficient funds</source>
  28017. -        <translation>Nincs elég litecoinod.</translation>
  28018. +        <translation>Nincs elég litecoincashod.</translation>
  28019.      </message>
  28020.      <message>
  28021.          <source>Loading block index...</source>
  28022. diff --git a/src/qt/locale/bitcoin_id_ID.ts b/src/qt/locale/bitcoin_id_ID.ts
  28023. index 6357f6a..68e3674 100644
  28024. --- a/src/qt/locale/bitcoin_id_ID.ts
  28025. +++ b/src/qt/locale/bitcoin_id_ID.ts
  28026. @@ -62,12 +62,12 @@
  28027.          <translation>Alamat-alamat penerima</translation>
  28028.      </message>
  28029.      <message>
  28030. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  28031. -        <translation>Ini adalah alamat- alamat Litecoin Anda untuk mengirimkan pembayaran. Selalu periksa jumlah dan alamat penerima sebelum mengirimkan koin.</translation>
  28032. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  28033. +        <translation>Ini adalah alamat- alamat LitecoinCash Anda untuk mengirimkan pembayaran. Selalu periksa jumlah dan alamat penerima sebelum mengirimkan koin.</translation>
  28034.      </message>
  28035.      <message>
  28036. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  28037. -        <translation>Ini adalah alamat- alamat Litecoin Anda untuk menerima pembayaran. Dianjurkan untuk menggunakan alamat penerima yang baru setiap melakukan transaksi.</translation>
  28038. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  28039. +        <translation>Ini adalah alamat- alamat LitecoinCash Anda untuk menerima pembayaran. Dianjurkan untuk menggunakan alamat penerima yang baru setiap melakukan transaksi.</translation>
  28040.      </message>
  28041.      <message>
  28042.          <source>&amp;Copy Address</source>
  28043. @@ -164,8 +164,8 @@
  28044.          <translation>Konfirmasi pengenkripsian dompet</translation>
  28045.      </message>
  28046.      <message>
  28047. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  28048. -        <translation>Peringatan: Jika Anda enkripsi dompet Anda dan lupa kata sandi anda, Anda akan &lt;b&gt;KEHILANGAN SEMUA LITECOIN ANDA&lt;/b&gt;!</translation>
  28049. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  28050. +        <translation>Peringatan: Jika Anda enkripsi dompet Anda dan lupa kata sandi anda, Anda akan &lt;b&gt;KEHILANGAN SEMUA LITECOINCASH ANDA&lt;/b&gt;!</translation>
  28051.      </message>
  28052.      <message>
  28053.          <source>Are you sure you wish to encrypt your wallet?</source>
  28054. @@ -176,7 +176,7 @@
  28055.          <translation>Dompet terenkripsi</translation>
  28056.      </message>
  28057.      <message>
  28058. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  28059. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  28060.          <translation>%1 sekarang akan ditutup untuk menyelesaikan proses enkripsi. Ingatlah bahwa mengenkripsi dompet Anda tidak dapat sepenuhnya melindungi komputer Anda dari pencurian malware yang menginfeksi komputer Anda.</translation>
  28061.      </message>
  28062.      <message>
  28063. @@ -334,8 +334,8 @@
  28064.          <translation>Mengindex ulang blok di dalam disk...</translation>
  28065.      </message>
  28066.      <message>
  28067. -        <source>Send coins to a Litecoin address</source>
  28068. -        <translation>Kirim koin ke alamat Litecoin</translation>
  28069. +        <source>Send coins to a LitecoinCash address</source>
  28070. +        <translation>Kirim koin ke alamat LitecoinCash</translation>
  28071.      </message>
  28072.      <message>
  28073.          <source>Backup wallet to another location</source>
  28074. @@ -358,8 +358,8 @@
  28075.          <translation>&amp;Verifikasi pesan...</translation>
  28076.      </message>
  28077.      <message>
  28078. -        <source>Litecoin</source>
  28079. -        <translation>Litecoin</translation>
  28080. +        <source>LitecoinCash</source>
  28081. +        <translation>LitecoinCash</translation>
  28082.      </message>
  28083.      <message>
  28084.          <source>Wallet</source>
  28085. @@ -386,12 +386,12 @@
  28086.          <translation>Enkripsi private key yang dimiliki dompet Anda</translation>
  28087.      </message>
  28088.      <message>
  28089. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  28090. -        <translation>Tanda tangani sebuah pesan menggunakan alamat Litecoin Anda untuk membuktikan bahwa Anda adalah pemilik alamat tersebut</translation>
  28091. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  28092. +        <translation>Tanda tangani sebuah pesan menggunakan alamat LitecoinCash Anda untuk membuktikan bahwa Anda adalah pemilik alamat tersebut</translation>
  28093.      </message>
  28094.      <message>
  28095. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  28096. -        <translation>Verifikasi pesan untuk memastikan bahwa pesan tersebut ditanda tangani oleh suatu alamat Litecoin tertentu</translation>
  28097. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  28098. +        <translation>Verifikasi pesan untuk memastikan bahwa pesan tersebut ditanda tangani oleh suatu alamat LitecoinCash tertentu</translation>
  28099.      </message>
  28100.      <message>
  28101.          <source>&amp;File</source>
  28102. @@ -410,8 +410,8 @@
  28103.          <translation>Baris tab</translation>
  28104.      </message>
  28105.      <message>
  28106. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  28107. -        <translation>Permintaan pembayaran (membuat kode QR dan litecoin: URIs)</translation>
  28108. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  28109. +        <translation>Permintaan pembayaran (membuat kode QR dan litecoincash: URIs)</translation>
  28110.      </message>
  28111.      <message>
  28112.          <source>Show the list of used sending addresses and labels</source>
  28113. @@ -422,16 +422,16 @@
  28114.          <translation>Tampilkan daftar alamat dan label yang diterima</translation>
  28115.      </message>
  28116.      <message>
  28117. -        <source>Open a litecoin: URI or payment request</source>
  28118. -        <translation>Buka URI litecoin: atau permintaan pembayaran</translation>
  28119. +        <source>Open a litecoincash: URI or payment request</source>
  28120. +        <translation>Buka URI litecoincash: atau permintaan pembayaran</translation>
  28121.      </message>
  28122.      <message>
  28123.          <source>&amp;Command-line options</source>
  28124.          <translation>&amp;pilihan Command-line</translation>
  28125.      </message>
  28126.      <message numerus="yes">
  28127. -        <source>%n active connection(s) to Litecoin network</source>
  28128. -        <translation><numerusform>%n koneksi aktif ke jaringan Litecoin</numerusform></translation>
  28129. +        <source>%n active connection(s) to LitecoinCash network</source>
  28130. +        <translation><numerusform>%n koneksi aktif ke jaringan LitecoinCash</numerusform></translation>
  28131.      </message>
  28132.      <message>
  28133.          <source>Indexing blocks on disk...</source>
  28134. @@ -474,8 +474,8 @@
  28135.          <translation>Terbaru</translation>
  28136.      </message>
  28137.      <message>
  28138. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  28139. -        <translation>Tampilkan %1 pesan bantuan untuk mendapatkan daftar opsi baris perintah Litecoin yang memungkinkan</translation>
  28140. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  28141. +        <translation>Tampilkan %1 pesan bantuan untuk mendapatkan daftar opsi baris perintah LitecoinCash yang memungkinkan</translation>
  28142.      </message>
  28143.      <message>
  28144.          <source>%1 client</source>
  28145. @@ -544,8 +544,8 @@
  28146.          <translation>Dompet saat ini &lt;b&gt;terenkripsi&lt;/b&gt; dan &lt;b&gt;terkunci&lt;/b&gt;</translation>
  28147.      </message>
  28148.      <message>
  28149. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  28150. -        <translation>Terjadi Kesalahan Fatal. Litecoin Tidak Dapat Melanjutkan Dengan Aman Dan Akan Keluar</translation>
  28151. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  28152. +        <translation>Terjadi Kesalahan Fatal. LitecoinCash Tidak Dapat Melanjutkan Dengan Aman Dan Akan Keluar</translation>
  28153.      </message>
  28154.  </context>
  28155.  <context>
  28156. @@ -722,8 +722,8 @@
  28157.          <translation>Ubah alamat pengirim</translation>
  28158.      </message>
  28159.      <message>
  28160. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  28161. -        <translation>Alamat yang dimasukkan "%1" bukanlah alamat Litecoin yang valid.</translation>
  28162. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  28163. +        <translation>Alamat yang dimasukkan "%1" bukanlah alamat LitecoinCash yang valid.</translation>
  28164.      </message>
  28165.      <message>
  28166.          <source>The entered address "%1" is already in the address book.</source>
  28167. @@ -972,16 +972,16 @@
  28168.          <translation>&amp;Perubahan saldo untuk transaksi yang belum dikonfirmasi</translation>
  28169.      </message>
  28170.      <message>
  28171. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  28172. -        <translation>Otomatis membuka port client Litecoin di router. Hanya berjalan apabila router anda mendukung UPnP dan di-enable.</translation>
  28173. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  28174. +        <translation>Otomatis membuka port client LitecoinCash di router. Hanya berjalan apabila router anda mendukung UPnP dan di-enable.</translation>
  28175.      </message>
  28176.      <message>
  28177.          <source>Map port using &amp;UPnP</source>
  28178.          <translation>Petakan port dengan &amp;UPnP</translation>
  28179.      </message>
  28180.      <message>
  28181. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  28182. -        <translation>Hubungkan ke jaringan Litecoin melalui SOCKS5 proxy.</translation>
  28183. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  28184. +        <translation>Hubungkan ke jaringan LitecoinCash melalui SOCKS5 proxy.</translation>
  28185.      </message>
  28186.      <message>
  28187.          <source>Proxy &amp;IP:</source>
  28188. @@ -1087,8 +1087,8 @@
  28189.          <translation>Formulir</translation>
  28190.      </message>
  28191.      <message>
  28192. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  28193. -        <translation>Informasi terlampir mungkin sudah kedaluwarsa. Dompet Anda secara otomatis mensinkronisasi dengan jaringan Litecoin ketika sebuah hubungan terbentuk, namun proses ini belum selesai.</translation>
  28194. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  28195. +        <translation>Informasi terlampir mungkin sudah kedaluwarsa. Dompet Anda secara otomatis mensinkronisasi dengan jaringan LitecoinCash ketika sebuah hubungan terbentuk, namun proses ini belum selesai.</translation>
  28196.      </message>
  28197.      <message>
  28198.          <source>Available:</source>
  28199. @@ -1144,8 +1144,8 @@
  28200.          <translation>Nilai</translation>
  28201.      </message>
  28202.      <message>
  28203. -        <source>Enter a Litecoin address (e.g. %1)</source>
  28204. -        <translation>Masukkan alamat Litecoin (contoh %1)</translation>
  28205. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  28206. +        <translation>Masukkan alamat LitecoinCash (contoh %1)</translation>
  28207.      </message>
  28208.      <message>
  28209.          <source>%1 h</source>
  28210. @@ -1679,8 +1679,8 @@
  28211.          <translation>Salin tanda tangan terpilih ke sistem klipboard</translation>
  28212.      </message>
  28213.      <message>
  28214. -        <source>Sign the message to prove you own this Litecoin address</source>
  28215. -        <translation>Tandai pesan untuk menyetujui kamu pemiliki alamat Litecoin ini</translation>
  28216. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  28217. +        <translation>Tandai pesan untuk menyetujui kamu pemiliki alamat LitecoinCash ini</translation>
  28218.      </message>
  28219.      <message>
  28220.          <source>Sign &amp;Message</source>
  28221. @@ -1820,8 +1820,8 @@
  28222.          <translation>Berjalan dibelakang sebagai daemin dan menerima perintah</translation>
  28223.      </message>
  28224.      <message>
  28225. -        <source>Litecoin Core</source>
  28226. -        <translation>Litecoin Core</translation>
  28227. +        <source>LitecoinCash Core</source>
  28228. +        <translation>LitecoinCash Core</translation>
  28229.      </message>
  28230.      <message>
  28231.          <source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source>
  28232. diff --git a/src/qt/locale/bitcoin_it.ts b/src/qt/locale/bitcoin_it.ts
  28233. index 6d97225..2b13da1 100644
  28234. --- a/src/qt/locale/bitcoin_it.ts
  28235. +++ b/src/qt/locale/bitcoin_it.ts
  28236. @@ -43,11 +43,11 @@
  28237.      </message>
  28238.      <message>
  28239.          <source>Choose the address to send coins to</source>
  28240. -        <translation>Scegli l'indirizzo a cui inviare litecoin</translation>
  28241. +        <translation>Scegli l'indirizzo a cui inviare litecoincash</translation>
  28242.      </message>
  28243.      <message>
  28244.          <source>Choose the address to receive coins with</source>
  28245. -        <translation>Scegli l'indirizzo con cui ricevere litecoin</translation>
  28246. +        <translation>Scegli l'indirizzo con cui ricevere litecoincash</translation>
  28247.      </message>
  28248.      <message>
  28249.          <source>C&amp;hoose</source>
  28250. @@ -62,12 +62,12 @@
  28251.          <translation>Indirizzi di ricezione</translation>
  28252.      </message>
  28253.      <message>
  28254. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  28255. -        <translation>Questo è un elenco di indirizzi Litecoin a cui puoi inviare pagamenti. Controlla sempre l'importo e l'indirizzo del beneficiario prima di inviare litecoin.</translation>
  28256. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  28257. +        <translation>Questo è un elenco di indirizzi LitecoinCash a cui puoi inviare pagamenti. Controlla sempre l'importo e l'indirizzo del beneficiario prima di inviare litecoincash.</translation>
  28258.      </message>
  28259.      <message>
  28260. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  28261. -        <translation>Questi sono i tuoi indirizzi Litecoin che puoi usare per ricevere pagamenti. Si raccomanda di generare un nuovo indirizzo per ogni transazione.</translation>
  28262. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  28263. +        <translation>Questi sono i tuoi indirizzi LitecoinCash che puoi usare per ricevere pagamenti. Si raccomanda di generare un nuovo indirizzo per ogni transazione.</translation>
  28264.      </message>
  28265.      <message>
  28266.          <source>&amp;Copy Address</source>
  28267. @@ -168,8 +168,8 @@
  28268.          <translation>Conferma la cifratura del portamonete</translation>
  28269.      </message>
  28270.      <message>
  28271. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  28272. -        <translation>Attenzione: perdendo la passphrase di un portamonete cifrato &lt;b&gt;TUTTI I PROPRI LITECOIN ANDRANNO PERSI&lt;/b&gt;!</translation>
  28273. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  28274. +        <translation>Attenzione: perdendo la passphrase di un portamonete cifrato &lt;b&gt;TUTTI I PROPRI LITECOINCASH ANDRANNO PERSI&lt;/b&gt;!</translation>
  28275.      </message>
  28276.      <message>
  28277.          <source>Are you sure you wish to encrypt your wallet?</source>
  28278. @@ -334,8 +334,8 @@
  28279.          <translation>Re-indicizzazione blocchi su disco...</translation>
  28280.      </message>
  28281.      <message>
  28282. -        <source>Send coins to a Litecoin address</source>
  28283. -        <translation>Invia fondi ad un indirizzo Litecoin</translation>
  28284. +        <source>Send coins to a LitecoinCash address</source>
  28285. +        <translation>Invia fondi ad un indirizzo LitecoinCash</translation>
  28286.      </message>
  28287.      <message>
  28288.          <source>Backup wallet to another location</source>
  28289. @@ -358,8 +358,8 @@
  28290.          <translation>&amp;Verifica messaggio...</translation>
  28291.      </message>
  28292.      <message>
  28293. -        <source>Litecoin</source>
  28294. -        <translation>Litecoin</translation>
  28295. +        <source>LitecoinCash</source>
  28296. +        <translation>LitecoinCash</translation>
  28297.      </message>
  28298.      <message>
  28299.          <source>Wallet</source>
  28300. @@ -386,12 +386,12 @@
  28301.          <translation>Cifra le chiavi private che appartengono al tuo portamonete</translation>
  28302.      </message>
  28303.      <message>
  28304. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  28305. -        <translation>Firma messaggi con i tuoi indirizzi Litecoin per dimostrarne il possesso</translation>
  28306. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  28307. +        <translation>Firma messaggi con i tuoi indirizzi LitecoinCash per dimostrarne il possesso</translation>
  28308.      </message>
  28309.      <message>
  28310. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  28311. -        <translation>Verifica che i messaggi siano stati firmati con gli indirizzi Litecoin specificati</translation>
  28312. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  28313. +        <translation>Verifica che i messaggi siano stati firmati con gli indirizzi LitecoinCash specificati</translation>
  28314.      </message>
  28315.      <message>
  28316.          <source>&amp;File</source>
  28317. @@ -410,8 +410,8 @@
  28318.          <translation>Barra degli strumenti</translation>
  28319.      </message>
  28320.      <message>
  28321. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  28322. -        <translation>Richiedi pagamenti (genera codici QR e litecoin: URI)</translation>
  28323. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  28324. +        <translation>Richiedi pagamenti (genera codici QR e litecoincash: URI)</translation>
  28325.      </message>
  28326.      <message>
  28327.          <source>Show the list of used sending addresses and labels</source>
  28328. @@ -422,16 +422,16 @@
  28329.          <translation>Mostra la lista degli indirizzi di ricezione utilizzati</translation>
  28330.      </message>
  28331.      <message>
  28332. -        <source>Open a litecoin: URI or payment request</source>
  28333. -        <translation>Apri un litecoin: URI o una richiesta di pagamento</translation>
  28334. +        <source>Open a litecoincash: URI or payment request</source>
  28335. +        <translation>Apri un litecoincash: URI o una richiesta di pagamento</translation>
  28336.      </message>
  28337.      <message>
  28338.          <source>&amp;Command-line options</source>
  28339.          <translation>Opzioni della riga di &amp;comando</translation>
  28340.      </message>
  28341.      <message numerus="yes">
  28342. -        <source>%n active connection(s) to Litecoin network</source>
  28343. -        <translation><numerusform>%n connessione attiva alla rete Litecoin</numerusform><numerusform>%n connessioni alla rete Litecoin attive</numerusform></translation>
  28344. +        <source>%n active connection(s) to LitecoinCash network</source>
  28345. +        <translation><numerusform>%n connessione attiva alla rete LitecoinCash</numerusform><numerusform>%n connessioni alla rete LitecoinCash attive</numerusform></translation>
  28346.      </message>
  28347.      <message>
  28348.          <source>Indexing blocks on disk...</source>
  28349. @@ -474,8 +474,8 @@
  28350.          <translation>Aggiornato</translation>
  28351.      </message>
  28352.      <message>
  28353. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  28354. -        <translation>Mostra il messaggio di aiuto di %1 per ottenere una lista di opzioni di comando per Litecoin </translation>
  28355. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  28356. +        <translation>Mostra il messaggio di aiuto di %1 per ottenere una lista di opzioni di comando per LitecoinCash </translation>
  28357.      </message>
  28358.      <message>
  28359.          <source>%1 client</source>
  28360. @@ -544,8 +544,8 @@
  28361.          <translation>Il portamonete è &lt;b&gt;cifrato&lt;/b&gt; ed attualmente &lt;b&gt;bloccato&lt;/b&gt;</translation>
  28362.      </message>
  28363.      <message>
  28364. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  28365. -        <translation>Si è verificato un errore critico. Litecoin non può più funzionare in maniera sicura e verrà chiuso.</translation>
  28366. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  28367. +        <translation>Si è verificato un errore critico. LitecoinCash non può più funzionare in maniera sicura e verrà chiuso.</translation>
  28368.      </message>
  28369.  </context>
  28370.  <context>
  28371. @@ -738,8 +738,8 @@
  28372.          <translation>Modifica indirizzo d'invio</translation>
  28373.      </message>
  28374.      <message>
  28375. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  28376. -        <translation>L'indirizzo inserito "%1" non è un indirizzo litecoin valido.</translation>
  28377. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  28378. +        <translation>L'indirizzo inserito "%1" non è un indirizzo litecoincash valido.</translation>
  28379.      </message>
  28380.      <message>
  28381.          <source>The entered address "%1" is already in the address book.</source>
  28382. @@ -847,8 +847,8 @@
  28383.          <translation>Dato che questa è la prima volta che il programma viene lanciato, puoi scegliere dove %1 salverà i suoi dati.</translation>
  28384.      </message>
  28385.      <message>
  28386. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  28387. -        <translation>%1 scaricherà e salverà una copia della Blockchain di Litecoin. Saranno salvati almeno %2GB di dati in questo percorso e continueranno ad aumentare col tempo. Anche il portafoglio verrà salvato in questo percorso.</translation>
  28388. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  28389. +        <translation>%1 scaricherà e salverà una copia della Blockchain di LitecoinCash. Saranno salvati almeno %2GB di dati in questo percorso e continueranno ad aumentare col tempo. Anche il portafoglio verrà salvato in questo percorso.</translation>
  28390.      </message>
  28391.      <message>
  28392.          <source>Use the default data directory</source>
  28393. @@ -882,8 +882,8 @@
  28394.          <translation>Modulo</translation>
  28395.      </message>
  28396.      <message>
  28397. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  28398. -        <translation>Transazioni recenti potrebbero non essere visibili ancora, perciò il saldo del tuo portafoglio potrebbe non essere corretto. Questa informazione risulterà corretta quando il tuo portafoglio avrà terminato la sincronizzazione con la rete litecoin, come indicato in dettaglio più sotto.</translation>
  28399. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  28400. +        <translation>Transazioni recenti potrebbero non essere visibili ancora, perciò il saldo del tuo portafoglio potrebbe non essere corretto. Questa informazione risulterà corretta quando il tuo portafoglio avrà terminato la sincronizzazione con la rete litecoincash, come indicato in dettaglio più sotto.</translation>
  28401.      </message>
  28402.      <message>
  28403.          <source>Number of blocks left</source>
  28404. @@ -1041,16 +1041,16 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28405.          <translation>&amp;Spendi resti non confermati</translation>
  28406.      </message>
  28407.      <message>
  28408. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  28409. -        <translation>Apri automaticamente la porta del client Litecoin sul router. Il protocollo UPnP deve essere supportato da parte del router ed attivo.</translation>
  28410. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  28411. +        <translation>Apri automaticamente la porta del client LitecoinCash sul router. Il protocollo UPnP deve essere supportato da parte del router ed attivo.</translation>
  28412.      </message>
  28413.      <message>
  28414.          <source>Map port using &amp;UPnP</source>
  28415.          <translation>Mappa le porte tramite &amp;UPnP</translation>
  28416.      </message>
  28417.      <message>
  28418. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  28419. -        <translation>Connessione alla rete Litecoin attraverso un proxy SOCKS5.</translation>
  28420. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  28421. +        <translation>Connessione alla rete LitecoinCash attraverso un proxy SOCKS5.</translation>
  28422.      </message>
  28423.      <message>
  28424.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  28425. @@ -1089,8 +1089,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28426.          <translation>Tor</translation>
  28427.      </message>
  28428.      <message>
  28429. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  28430. -        <translation>Connette alla rete Litecoin attraverso un proxy SOCKS5 separato per Tor.</translation>
  28431. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  28432. +        <translation>Connette alla rete LitecoinCash attraverso un proxy SOCKS5 separato per Tor.</translation>
  28433.      </message>
  28434.      <message>
  28435.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  28436. @@ -1138,7 +1138,7 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28437.      </message>
  28438.      <message>
  28439.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  28440. -        <translation>Scegli l'unità di suddivisione predefinita da utilizzare per l'interfaccia e per l'invio di litecoin.</translation>
  28441. +        <translation>Scegli l'unità di suddivisione predefinita da utilizzare per l'interfaccia e per l'invio di litecoincash.</translation>
  28442.      </message>
  28443.      <message>
  28444.          <source>Whether to show coin control features or not.</source>
  28445. @@ -1188,8 +1188,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28446.          <translation>Modulo</translation>
  28447.      </message>
  28448.      <message>
  28449. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  28450. -        <translation>Le informazioni visualizzate potrebbero non essere aggiornate. Il portamonete si sincronizza automaticamente con la rete Litecoin una volta stabilita una connessione, ma questo processo non è ancora stato completato.</translation>
  28451. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  28452. +        <translation>Le informazioni visualizzate potrebbero non essere aggiornate. Il portamonete si sincronizza automaticamente con la rete LitecoinCash una volta stabilita una connessione, ma questo processo non è ancora stato completato.</translation>
  28453.      </message>
  28454.      <message>
  28455.          <source>Watch-only:</source>
  28456. @@ -1263,8 +1263,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28457.          <translation>Errore di richiesta di pagamento</translation>
  28458.      </message>
  28459.      <message>
  28460. -        <source>Cannot start litecoin: click-to-pay handler</source>
  28461. -        <translation>Impossibile avviare litecoin: gestore click-to-pay</translation>
  28462. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  28463. +        <translation>Impossibile avviare litecoincash: gestore click-to-pay</translation>
  28464.      </message>
  28465.      <message>
  28466.          <source>URI handling</source>
  28467. @@ -1279,8 +1279,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28468.          <translation>Indirizzo di pagamento non valido %1</translation>
  28469.      </message>
  28470.      <message>
  28471. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  28472. -        <translation>Impossibile interpretare l'URI! I parametri dell'URI o l'indirizzo Litecoin potrebbero non essere corretti.</translation>
  28473. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  28474. +        <translation>Impossibile interpretare l'URI! I parametri dell'URI o l'indirizzo LitecoinCash potrebbero non essere corretti.</translation>
  28475.      </message>
  28476.      <message>
  28477.          <source>Payment request file handling</source>
  28478. @@ -1369,8 +1369,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28479.          <translation>Importo</translation>
  28480.      </message>
  28481.      <message>
  28482. -        <source>Enter a Litecoin address (e.g. %1)</source>
  28483. -        <translation>Inserisci un indirizzo Litecoin (ad es. %1)</translation>
  28484. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  28485. +        <translation>Inserisci un indirizzo LitecoinCash (ad es. %1)</translation>
  28486.      </message>
  28487.      <message>
  28488.          <source>%1 d</source>
  28489. @@ -1789,8 +1789,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28490.          <translation>R&amp;iusa un indirizzo di ricezione (non raccomandato)</translation>
  28491.      </message>
  28492.      <message>
  28493. -        <source>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 Litecoin network.</source>
  28494. -        <translation>Un messaggio opzionale da allegare e mostrare all'apertura della richiesta di pagamento. Nota: Il messaggio non sarà inviato con il pagamento sulla rete Litecoin.</translation>
  28495. +        <source>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 LitecoinCash network.</source>
  28496. +        <translation>Un messaggio opzionale da allegare e mostrare all'apertura della richiesta di pagamento. Nota: Il messaggio non sarà inviato con il pagamento sulla rete LitecoinCash.</translation>
  28497.      </message>
  28498.      <message>
  28499.          <source>An optional label to associate with the new receiving address.</source>
  28500. @@ -1943,7 +1943,7 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28501.      <name>SendCoinsDialog</name>
  28502.      <message>
  28503.          <source>Send Coins</source>
  28504. -        <translation>Invia Litecoin</translation>
  28505. +        <translation>Invia LitecoinCash</translation>
  28506.      </message>
  28507.      <message>
  28508.          <source>Coin Control Features</source>
  28509. @@ -2022,7 +2022,7 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28510.          <translation>somma almeno</translation>
  28511.      </message>
  28512.      <message>
  28513. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  28514. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  28515.          <translation>Non vi è alcuna controindicazione a pagare la commissione minima, a patto che il volume delle transazioni sia inferiore allo spazio disponibile nei blocchi. Occorre comunque essere consapevoli che ciò potrebbe impedire la conferma delle transazioni nel caso in cui la rete risultasse satura.</translation>
  28516.      </message>
  28517.      <message>
  28518. @@ -2182,8 +2182,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28519.          <translation><numerusform>Inizio delle conferme stimato entro %n blocchi.</numerusform><numerusform>Inizio delle conferme stimato entro %n blocchi.</numerusform></translation>
  28520.      </message>
  28521.      <message>
  28522. -        <source>Warning: Invalid Litecoin address</source>
  28523. -        <translation>Attenzione: Indirizzo Litecoin non valido</translation>
  28524. +        <source>Warning: Invalid LitecoinCash address</source>
  28525. +        <translation>Attenzione: Indirizzo LitecoinCash non valido</translation>
  28526.      </message>
  28527.      <message>
  28528.          <source>Warning: Unknown change address</source>
  28529. @@ -2217,8 +2217,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28530.          <translation>Questo è un normale pagamento.</translation>
  28531.      </message>
  28532.      <message>
  28533. -        <source>The Litecoin address to send the payment to</source>
  28534. -        <translation>L'indirizzo Litecoin a cui vuoi inviare il pagamento</translation>
  28535. +        <source>The LitecoinCash address to send the payment to</source>
  28536. +        <translation>L'indirizzo LitecoinCash a cui vuoi inviare il pagamento</translation>
  28537.      </message>
  28538.      <message>
  28539.          <source>Alt+A</source>
  28540. @@ -2237,8 +2237,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28541.          <translation>Rimuovi questa voce</translation>
  28542.      </message>
  28543.      <message>
  28544. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  28545. -        <translation>La commissione sarà sottratta dall'importo che si sta inviando. Il beneficiario riceverà un totale di litecoin inferiore al valore digitato. Nel caso in cui siano stati selezionati più beneficiari la commissione sarà suddivisa in parti uguali.</translation>
  28546. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  28547. +        <translation>La commissione sarà sottratta dall'importo che si sta inviando. Il beneficiario riceverà un totale di litecoincash inferiore al valore digitato. Nel caso in cui siano stati selezionati più beneficiari la commissione sarà suddivisa in parti uguali.</translation>
  28548.      </message>
  28549.      <message>
  28550.          <source>S&amp;ubtract fee from amount</source>
  28551. @@ -2261,8 +2261,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28552.          <translation>Inserisci un'etichetta per questo indirizzo per aggiungerlo alla lista degli indirizzi utilizzati</translation>
  28553.      </message>
  28554.      <message>
  28555. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  28556. -        <translation>Messaggio incluso nel litecoin URI e che sarà memorizzato con la transazione per vostro riferimento. Nota: Questo messaggio non sarà inviato attraverso la rete Litecoin.</translation>
  28557. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  28558. +        <translation>Messaggio incluso nel litecoincash URI e che sarà memorizzato con la transazione per vostro riferimento. Nota: Questo messaggio non sarà inviato attraverso la rete LitecoinCash.</translation>
  28559.      </message>
  28560.      <message>
  28561.          <source>Pay To:</source>
  28562. @@ -2302,12 +2302,12 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28563.          <translation>&amp;Firma Messaggio</translation>
  28564.      </message>
  28565.      <message>
  28566. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  28567. -        <translation>È possibile firmare messaggi/accordi con i propri indirizzi in modo da dimostrare di poter ricevere litecoin attraverso di essi. Si consiglia di prestare attenzione a non firmare dichiarazioni vaghe o casuali, attacchi di phishing potrebbero cercare di indurre ad apporre la firma su di esse. Si raccomanda di firmare esclusivamente dichiarazioni completamente dettagliate e delle quali si condivide in pieno il contenuto.</translation>
  28568. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  28569. +        <translation>È possibile firmare messaggi/accordi con i propri indirizzi in modo da dimostrare di poter ricevere litecoincash attraverso di essi. Si consiglia di prestare attenzione a non firmare dichiarazioni vaghe o casuali, attacchi di phishing potrebbero cercare di indurre ad apporre la firma su di esse. Si raccomanda di firmare esclusivamente dichiarazioni completamente dettagliate e delle quali si condivide in pieno il contenuto.</translation>
  28570.      </message>
  28571.      <message>
  28572. -        <source>The Litecoin address to sign the message with</source>
  28573. -        <translation>L'indirizzo Litecoin da utilizzare per firmare il messaggio</translation>
  28574. +        <source>The LitecoinCash address to sign the message with</source>
  28575. +        <translation>L'indirizzo LitecoinCash da utilizzare per firmare il messaggio</translation>
  28576.      </message>
  28577.      <message>
  28578.          <source>Choose previously used address</source>
  28579. @@ -2338,8 +2338,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28580.          <translation>Copia la firma corrente nella clipboard</translation>
  28581.      </message>
  28582.      <message>
  28583. -        <source>Sign the message to prove you own this Litecoin address</source>
  28584. -        <translation>Firma un messaggio per dimostrare di possedere questo indirizzo Litecoin</translation>
  28585. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  28586. +        <translation>Firma un messaggio per dimostrare di possedere questo indirizzo LitecoinCash</translation>
  28587.      </message>
  28588.      <message>
  28589.          <source>Sign &amp;Message</source>
  28590. @@ -2362,11 +2362,11 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28591.          <translation>Per verificare il messaggio inserire l'indirizzo del firmatario, il messaggio e la firma nei campi sottostanti, assicurandosi di copiare esattamente anche ritorni a capo, spazi, tabulazioni, etc.. Si raccomanda di non lasciarsi fuorviare dalla firma a leggere più di quanto non sia riportato nel testo del messaggio stesso, in modo da evitare di cadere vittima di attacchi di tipo man-in-the-middle. Si ricorda che la verifica della firma dimostra soltanto che il firmatario può ricevere pagamenti con l'indirizzo corrispondente, non prova l'invio di alcuna transazione.</translation>
  28592.      </message>
  28593.      <message>
  28594. -        <source>The Litecoin address the message was signed with</source>
  28595. -        <translation>L'indirizzo Litecoin con cui è stato contrassegnato il messaggio</translation>
  28596. +        <source>The LitecoinCash address the message was signed with</source>
  28597. +        <translation>L'indirizzo LitecoinCash con cui è stato contrassegnato il messaggio</translation>
  28598.      </message>
  28599.      <message>
  28600. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  28601. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  28602.          <translation>Verifica il messaggio per accertare che sia stato firmato con l'indirizzo specificato</translation>
  28603.      </message>
  28604.      <message>
  28605. @@ -2391,7 +2391,7 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28606.      </message>
  28607.      <message>
  28608.          <source>The entered address does not refer to a key.</source>
  28609. -        <translation>L'indirizzo litecoin inserito non è associato a nessuna chiave.</translation>
  28610. +        <translation>L'indirizzo litecoincash inserito non è associato a nessuna chiave.</translation>
  28611.      </message>
  28612.      <message>
  28613.          <source>Wallet unlock was cancelled.</source>
  28614. @@ -2850,7 +2850,7 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28615.      <name>WalletModel</name>
  28616.      <message>
  28617.          <source>Send Coins</source>
  28618. -        <translation>Invia Litecoin</translation>
  28619. +        <translation>Invia LitecoinCash</translation>
  28620.      </message>
  28621.  </context>
  28622.  <context>
  28623. @@ -2947,8 +2947,8 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
  28624.          <translation>Impossibile avviare il server HTTP. Dettagli nel log di debug.</translation>
  28625.      </message>
  28626.      <message>
  28627. -        <source>Litecoin Core</source>
  28628. -        <translation>Litecoin Core</translation>
  28629. +        <source>LitecoinCash Core</source>
  28630. +        <translation>LitecoinCash Core</translation>
  28631.      </message>
  28632.      <message>
  28633.          <source>The %s developers</source>
  28634. diff --git a/src/qt/locale/bitcoin_ja.ts b/src/qt/locale/bitcoin_ja.ts
  28635. index a28d75d..d99576f 100644
  28636. --- a/src/qt/locale/bitcoin_ja.ts
  28637. +++ b/src/qt/locale/bitcoin_ja.ts
  28638. @@ -62,11 +62,11 @@
  28639.          <translation>????????</translation>
  28640.      </message>
  28641.      <message>
  28642. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  28643. -        <translation>??????????????????? Litecoin ??????????????????????????????????????</translation>
  28644. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  28645. +        <translation>??????????????????? LitecoinCash ??????????????????????????????????????</translation>
  28646.      </message>
  28647.      <message>
  28648. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  28649. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  28650.          <translation>??????????????????????????????????????????????????????????????????</translation>
  28651.      </message>
  28652.      <message>
  28653. @@ -168,8 +168,8 @@
  28654.          <translation>??????????????</translation>
  28655.      </message>
  28656.      <message>
  28657. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  28658. -        <translation>??: ???????????????????????????????????&lt;b&gt;???? Litecoin ?????????&lt;/b&gt;!</translation>
  28659. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  28660. +        <translation>??: ???????????????????????????????????&lt;b&gt;???? LitecoinCash ?????????&lt;/b&gt;!</translation>
  28661.      </message>
  28662.      <message>
  28663.          <source>Are you sure you wish to encrypt your wallet?</source>
  28664. @@ -180,7 +180,7 @@
  28665.          <translation>??????????????</translation>
  28666.      </message>
  28667.      <message>
  28668. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  28669. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  28670.          <translation>????????????? %1 ??????????????????????????????????????????????????????????????????????????????</translation>
  28671.      </message>
  28672.      <message>
  28673. @@ -338,8 +338,8 @@
  28674.          <translation>??????????????????????...</translation>
  28675.      </message>
  28676.      <message>
  28677. -        <source>Send coins to a Litecoin address</source>
  28678. -        <translation>Litecoin ???????????</translation>
  28679. +        <source>Send coins to a LitecoinCash address</source>
  28680. +        <translation>LitecoinCash ???????????</translation>
  28681.      </message>
  28682.      <message>
  28683.          <source>Backup wallet to another location</source>
  28684. @@ -362,8 +362,8 @@
  28685.          <translation>????????... (&amp;V)</translation>
  28686.      </message>
  28687.      <message>
  28688. -        <source>Litecoin</source>
  28689. -        <translation>Litecoin</translation>
  28690. +        <source>LitecoinCash</source>
  28691. +        <translation>LitecoinCash</translation>
  28692.      </message>
  28693.      <message>
  28694.          <source>Wallet</source>
  28695. @@ -390,12 +390,12 @@
  28696.          <translation>????????????????????</translation>
  28697.      </message>
  28698.      <message>
  28699. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  28700. -        <translation>????????????????????????? Litecoin ???????????????????</translation>
  28701. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  28702. +        <translation>????????????????????????? LitecoinCash ???????????????????</translation>
  28703.      </message>
  28704.      <message>
  28705. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  28706. -        <translation>????? Litecoin ???????????????????????????????</translation>
  28707. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  28708. +        <translation>????? LitecoinCash ???????????????????????????????</translation>
  28709.      </message>
  28710.      <message>
  28711.          <source>&amp;File</source>
  28712. @@ -414,8 +414,8 @@
  28713.          <translation>???????</translation>
  28714.      </message>
  28715.      <message>
  28716. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  28717. -        <translation>???????? (QR????litecoin:?????URI?????)</translation>
  28718. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  28719. +        <translation>???????? (QR????litecoincash:?????URI?????)</translation>
  28720.      </message>
  28721.      <message>
  28722.          <source>Show the list of used sending addresses and labels</source>
  28723. @@ -426,16 +426,16 @@
  28724.          <translation>?????????????????????????</translation>
  28725.      </message>
  28726.      <message>
  28727. -        <source>Open a litecoin: URI or payment request</source>
  28728. -        <translation>litecoin: URI??????????????</translation>
  28729. +        <source>Open a litecoincash: URI or payment request</source>
  28730. +        <translation>litecoincash: URI??????????????</translation>
  28731.      </message>
  28732.      <message>
  28733.          <source>&amp;Command-line options</source>
  28734.          <translation>???????????? (&amp;C)</translation>
  28735.      </message>
  28736.      <message numerus="yes">
  28737. -        <source>%n active connection(s) to Litecoin network</source>
  28738. -        <translation><numerusform>%n ? Litecoin ????????????????</numerusform></translation>
  28739. +        <source>%n active connection(s) to LitecoinCash network</source>
  28740. +        <translation><numerusform>%n ? LitecoinCash ????????????????</numerusform></translation>
  28741.      </message>
  28742.      <message>
  28743.          <source>Indexing blocks on disk...</source>
  28744. @@ -478,8 +478,8 @@
  28745.          <translation>??????????</translation>
  28746.      </message>
  28747.      <message>
  28748. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  28749. -        <translation>??? Litecoin ???????? ??????????? %1 ????????????????</translation>
  28750. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  28751. +        <translation>??? LitecoinCash ???????? ??????????? %1 ????????????????</translation>
  28752.      </message>
  28753.      <message>
  28754.          <source>%1 client</source>
  28755. @@ -548,8 +548,8 @@
  28756.          <translation>??????&lt;b&gt;????????????????&lt;/b&gt;</translation>
  28757.      </message>
  28758.      <message>
  28759. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  28760. -        <translation>???????????????Litecoin ???????????????????????</translation>
  28761. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  28762. +        <translation>???????????????LitecoinCash ???????????????????????</translation>
  28763.      </message>
  28764.  </context>
  28765.  <context>
  28766. @@ -742,8 +742,8 @@
  28767.          <translation>?????????</translation>
  28768.      </message>
  28769.      <message>
  28770. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  28771. -        <translation>????????? "%1" ???? Litecoin ???????</translation>
  28772. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  28773. +        <translation>????????? "%1" ???? LitecoinCash ???????</translation>
  28774.      </message>
  28775.      <message>
  28776.          <source>The entered address "%1" is already in the address book.</source>
  28777. @@ -851,7 +851,7 @@
  28778.          <translation>????????????????%1 ????????????????????</translation>
  28779.      </message>
  28780.      <message>
  28781. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  28782. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  28783.          <translation>%1 ?????????????????????????????????????????? %2 ????????????????????????????????????????????????????????????????????</translation>
  28784.      </message>
  28785.      <message>
  28786. @@ -886,11 +886,11 @@
  28787.          <translation>????</translation>
  28788.      </message>
  28789.      <message>
  28790. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  28791. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  28792.          <translation>?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????</translation>
  28793.      </message>
  28794.      <message>
  28795. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  28796. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  28797.          <translation>?????????????????????????????????????????????????????????????</translation>
  28798.      </message>
  28799.      <message>
  28800. @@ -1048,16 +1048,16 @@
  28801.          <translation>???????????? (&amp;S)</translation>
  28802.      </message>
  28803.      <message>
  28804. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  28805. -        <translation>?????????? Litecoin ????????????????????????? UPnP ????????????????????????????</translation>
  28806. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  28807. +        <translation>?????????? LitecoinCash ????????????????????????? UPnP ????????????????????????????</translation>
  28808.      </message>
  28809.      <message>
  28810.          <source>Map port using &amp;UPnP</source>
  28811.          <translation>UPnP ????????????? (&amp;U)</translation>
  28812.      </message>
  28813.      <message>
  28814. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  28815. -        <translation>SOCKS5 ???????Litecoin???????????</translation>
  28816. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  28817. +        <translation>SOCKS5 ???????LitecoinCash???????????</translation>
  28818.      </message>
  28819.      <message>
  28820.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  28821. @@ -1096,8 +1096,8 @@
  28822.          <translation>Tor</translation>
  28823.      </message>
  28824.      <message>
  28825. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  28826. -        <translation>Tor?????????????????SOCKS5???????Litecoin???????????</translation>
  28827. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  28828. +        <translation>Tor?????????????????SOCKS5???????LitecoinCash???????????</translation>
  28829.      </message>
  28830.      <message>
  28831.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  28832. @@ -1195,8 +1195,8 @@
  28833.          <translation>????</translation>
  28834.      </message>
  28835.      <message>
  28836. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  28837. -        <translation>?????????????????????????????????????? Litecoin ????????????????????????????????????</translation>
  28838. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  28839. +        <translation>?????????????????????????????????????? LitecoinCash ????????????????????????????????????</translation>
  28840.      </message>
  28841.      <message>
  28842.          <source>Watch-only:</source>
  28843. @@ -1270,8 +1270,8 @@
  28844.          <translation>???????????????</translation>
  28845.      </message>
  28846.      <message>
  28847. -        <source>Cannot start litecoin: click-to-pay handler</source>
  28848. -        <translation>Litecoin ????????: click-to-pay handler</translation>
  28849. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  28850. +        <translation>LitecoinCash ????????: click-to-pay handler</translation>
  28851.      </message>
  28852.      <message>
  28853.          <source>URI handling</source>
  28854. @@ -1286,8 +1286,8 @@
  28855.          <translation>?????????%1??????</translation>
  28856.      </message>
  28857.      <message>
  28858. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  28859. -        <translation>URI ????????! ?????? Litecoin ?????????????? URI ?????????????????????????</translation>
  28860. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  28861. +        <translation>URI ????????! ?????? LitecoinCash ?????????????? URI ?????????????????????????</translation>
  28862.      </message>
  28863.      <message>
  28864.          <source>Payment request file handling</source>
  28865. @@ -1380,8 +1380,8 @@
  28866.          <translation>??</translation>
  28867.      </message>
  28868.      <message>
  28869. -        <source>Enter a Litecoin address (e.g. %1)</source>
  28870. -        <translation>Litecoin????????????? (? %1)</translation>
  28871. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  28872. +        <translation>LitecoinCash????????????? (? %1)</translation>
  28873.      </message>
  28874.      <message>
  28875.          <source>%1 d</source>
  28876. @@ -1804,8 +1804,8 @@
  28877.          <translation>???????????????? (???) (&amp;E)</translation>
  28878.      </message>
  28879.      <message>
  28880. -        <source>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 Litecoin network.</source>
  28881. -        <translation>????????????????????????????????????????????????????Litecoin??????????????????????????????</translation>
  28882. +        <source>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 LitecoinCash network.</source>
  28883. +        <translation>????????????????????????????????????????????????????LitecoinCash??????????????????????????????</translation>
  28884.      </message>
  28885.      <message>
  28886.          <source>An optional label to associate with the new receiving address.</source>
  28887. @@ -2037,8 +2037,8 @@
  28888.          <translation>?????</translation>
  28889.      </message>
  28890.      <message>
  28891. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  28892. -        <translation>??????????????????????????????????????????????????????????????????litecoin????????????????????????????????????????????????????????????????????????</translation>
  28893. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  28894. +        <translation>??????????????????????????????????????????????????????????????????litecoincash????????????????????????????????????????????????????????????????????????</translation>
  28895.      </message>
  28896.      <message>
  28897.          <source>(read the tooltip)</source>
  28898. @@ -2201,8 +2201,8 @@
  28899.          <translation><numerusform>%n ???????????????????????</numerusform></translation>
  28900.      </message>
  28901.      <message>
  28902. -        <source>Warning: Invalid Litecoin address</source>
  28903. -        <translation>??????Litecoin??????</translation>
  28904. +        <source>Warning: Invalid LitecoinCash address</source>
  28905. +        <translation>??????LitecoinCash??????</translation>
  28906.      </message>
  28907.      <message>
  28908.          <source>Warning: Unknown change address</source>
  28909. @@ -2244,8 +2244,8 @@
  28910.          <translation>???????????</translation>
  28911.      </message>
  28912.      <message>
  28913. -        <source>The Litecoin address to send the payment to</source>
  28914. -        <translation>??????Litecoin????</translation>
  28915. +        <source>The LitecoinCash address to send the payment to</source>
  28916. +        <translation>??????LitecoinCash????</translation>
  28917.      </message>
  28918.      <message>
  28919.          <source>Alt+A</source>
  28920. @@ -2264,7 +2264,7 @@
  28921.          <translation>?????????</translation>
  28922.      </message>
  28923.      <message>
  28924. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  28925. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  28926.          <translation>??????????????????????????????????????????????????????????????????????????????????</translation>
  28927.      </message>
  28928.      <message>
  28929. @@ -2288,8 +2288,8 @@
  28930.          <translation>?????????????????????????????????????????????</translation>
  28931.      </message>
  28932.      <message>
  28933. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  28934. -        <translation>litecoin: URI???????????????????????????????????????????????????????Litecoin?????????????????????????</translation>
  28935. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  28936. +        <translation>litecoincash: URI???????????????????????????????????????????????????????LitecoinCash?????????????????????????</translation>
  28937.      </message>
  28938.      <message>
  28939.          <source>Pay To:</source>
  28940. @@ -2333,12 +2333,12 @@
  28941.          <translation>???????? (&amp;S)</translation>
  28942.      </message>
  28943.      <message>
  28944. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  28945. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  28946.          <translation>?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????</translation>
  28947.      </message>
  28948.      <message>
  28949. -        <source>The Litecoin address to sign the message with</source>
  28950. -        <translation>??????????Litecoin????</translation>
  28951. +        <source>The LitecoinCash address to sign the message with</source>
  28952. +        <translation>??????????LitecoinCash????</translation>
  28953.      </message>
  28954.      <message>
  28955.          <source>Choose previously used address</source>
  28956. @@ -2369,8 +2369,8 @@
  28957.          <translation>????????????????????????</translation>
  28958.      </message>
  28959.      <message>
  28960. -        <source>Sign the message to prove you own this Litecoin address</source>
  28961. -        <translation>?? Litecoin ?????????????????????????????</translation>
  28962. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  28963. +        <translation>?? LitecoinCash ?????????????????????????????</translation>
  28964.      </message>
  28965.      <message>
  28966.          <source>Sign &amp;Message</source>
  28967. @@ -2393,12 +2393,12 @@
  28968.          <translation>???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????</translation>
  28969.      </message>
  28970.      <message>
  28971. -        <source>The Litecoin address the message was signed with</source>
  28972. -        <translation>?????????????Litecoin????</translation>
  28973. +        <source>The LitecoinCash address the message was signed with</source>
  28974. +        <translation>?????????????LitecoinCash????</translation>
  28975.      </message>
  28976.      <message>
  28977. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  28978. -        <translation>????? Litecoin ?????????????????????????</translation>
  28979. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  28980. +        <translation>????? LitecoinCash ?????????????????????????</translation>
  28981.      </message>
  28982.      <message>
  28983.          <source>Verify &amp;Message</source>
  28984. @@ -3058,8 +3058,8 @@
  28985.          <translation>HTTP?????????????????????????????????</translation>
  28986.      </message>
  28987.      <message>
  28988. -        <source>Litecoin Core</source>
  28989. -        <translation>Litecoin ???</translation>
  28990. +        <source>LitecoinCash Core</source>
  28991. +        <translation>LitecoinCash ???</translation>
  28992.      </message>
  28993.      <message>
  28994.          <source>The %s developers</source>
  28995. diff --git a/src/qt/locale/bitcoin_ja_JP.ts b/src/qt/locale/bitcoin_ja_JP.ts
  28996. index e6e27a3..2338e0e 100644
  28997. --- a/src/qt/locale/bitcoin_ja_JP.ts
  28998. +++ b/src/qt/locale/bitcoin_ja_JP.ts
  28999. @@ -62,11 +62,11 @@
  29000.          <translation>??????</translation>
  29001.      </message>
  29002.      <message>
  29003. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  29004. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  29005.          <translation>????????????????????????????????????????????????????????</translation>
  29006.      </message>
  29007.      <message>
  29008. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  29009. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  29010.          <translation>???????????????????????????????????????????????????????</translation>
  29011.      </message>
  29012.      <message>
  29013. @@ -168,7 +168,7 @@
  29014.          <translation>????????????</translation>
  29015.      </message>
  29016.      <message>
  29017. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  29018. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  29019.          <translation>??: ???????????????????? &lt;b&gt;????????????????????&lt;/b&gt;!</translation>
  29020.      </message>
  29021.      <message>
  29022. @@ -180,7 +180,7 @@
  29023.          <translation>????????</translation>
  29024.      </message>
  29025.      <message>
  29026. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  29027. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  29028.          <translation>??????????????????%1????????????????????????????????????????????????????????????????????????????????</translation>
  29029.      </message>
  29030.      <message>
  29031. @@ -338,7 +338,7 @@
  29032.          <translation>??????????????????...</translation>
  29033.      </message>
  29034.      <message>
  29035. -        <source>Send coins to a Litecoin address</source>
  29036. +        <source>Send coins to a LitecoinCash address</source>
  29037.          <translation>?????????????????</translation>
  29038.      </message>
  29039.      <message>
  29040. @@ -362,7 +362,7 @@
  29041.          <translation>&amp;????????...</translation>
  29042.      </message>
  29043.      <message>
  29044. -        <source>Litecoin</source>
  29045. +        <source>LitecoinCash</source>
  29046.          <translation>??????</translation>
  29047.      </message>
  29048.      <message>
  29049. @@ -390,11 +390,11 @@
  29050.          <translation>??????????????????</translation>
  29051.      </message>
  29052.      <message>
  29053. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  29054. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  29055.          <translation>????????????????????????????????????</translation>
  29056.      </message>
  29057.      <message>
  29058. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  29059. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  29060.          <translation>???????????????????????????????????</translation>
  29061.      </message>
  29062.      <message>
  29063. @@ -414,7 +414,7 @@
  29064.          <translation>???????</translation>
  29065.      </message>
  29066.      <message>
  29067. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  29068. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  29069.          <translation>????? (QR???????????URI???)</translation>
  29070.      </message>
  29071.      <message>
  29072. @@ -426,7 +426,7 @@
  29073.          <translation>?????????????????????</translation>
  29074.      </message>
  29075.      <message>
  29076. -        <source>Open a litecoin: URI or payment request</source>
  29077. +        <source>Open a litecoincash: URI or payment request</source>
  29078.          <translation>???????URI??????????</translation>
  29079.      </message>
  29080.      <message>
  29081. @@ -470,7 +470,7 @@
  29082.          <translation>???</translation>
  29083.      </message>
  29084.      <message>
  29085. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  29086. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  29087.          <translation>????????????????????????????????%1???????????</translation>
  29088.      </message>
  29089.      <message>
  29090. @@ -540,7 +540,7 @@
  29091.          <translation>??? &lt;b&gt;?????&lt;/b&gt; ????? &lt;b&gt;?????????&lt;/b&gt;</translation>
  29092.      </message>
  29093.      <message>
  29094. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  29095. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  29096.          <translation>??????????????????????????????????????</translation>
  29097.      </message>
  29098.  </context>
  29099. @@ -734,7 +734,7 @@
  29100.          <translation>?????????</translation>
  29101.      </message>
  29102.      <message>
  29103. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  29104. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  29105.          <translation>????????? "%1" ??????????????????????</translation>
  29106.      </message>
  29107.      <message>
  29108. @@ -866,11 +866,11 @@
  29109.          <translation>????</translation>
  29110.      </message>
  29111.      <message>
  29112. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  29113. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  29114.          <translation>??????????????????????????????????????????????????????????????????????????????????????????????????????????</translation>
  29115.      </message>
  29116.      <message>
  29117. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  29118. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  29119.          <translation>???????????????????????????????????????????</translation>
  29120.      </message>
  29121.      <message>
  29122. @@ -1028,7 +1028,7 @@
  29123.          <translation>&amp;??????????????</translation>
  29124.      </message>
  29125.      <message>
  29126. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  29127. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  29128.          <translation>????????????????????????????????????????UPnP?????????????????????</translation>
  29129.      </message>
  29130.      <message>
  29131. @@ -1036,7 +1036,7 @@
  29132.          <translation>&amp;UPnP??????????????</translation>
  29133.      </message>
  29134.      <message>
  29135. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  29136. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  29137.          <translation>SOCKS5????????????????????????</translation>
  29138.      </message>
  29139.      <message>
  29140. @@ -1072,7 +1072,7 @@
  29141.          <translation>Tor</translation>
  29142.      </message>
  29143.      <message>
  29144. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  29145. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  29146.          <translation>Tor?????????????????SOCKS5?????????????????????</translation>
  29147.      </message>
  29148.      <message>
  29149. @@ -1171,7 +1171,7 @@
  29150.          <translation>????</translation>
  29151.      </message>
  29152.      <message>
  29153. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  29154. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  29155.          <translation>?????????????????????????????????????????????????????????????????????????????????????</translation>
  29156.      </message>
  29157.      <message>
  29158. @@ -1246,7 +1246,7 @@
  29159.          <translation>????????</translation>
  29160.      </message>
  29161.      <message>
  29162. -        <source>Cannot start litecoin: click-to-pay handler</source>
  29163. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  29164.          <translation>??????????????: click-to-pay handler</translation>
  29165.      </message>
  29166.      <message>
  29167. @@ -1262,7 +1262,7 @@
  29168.          <translation>????????? %1</translation>
  29169.      </message>
  29170.      <message>
  29171. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  29172. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  29173.          <translation>URL????????????! ?????????????????????URI????????????????????????</translation>
  29174.      </message>
  29175.      <message>
  29176. @@ -1356,7 +1356,7 @@
  29177.          <translation>??</translation>
  29178.      </message>
  29179.      <message>
  29180. -        <source>Enter a Litecoin address (e.g. %1)</source>
  29181. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  29182.          <translation>????????????? (? %1)</translation>
  29183.      </message>
  29184.      <message>
  29185. @@ -1744,7 +1744,7 @@
  29186.          <translation>&amp;???????????????????(???)</translation>
  29187.      </message>
  29188.      <message>
  29189. -        <source>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 Litecoin network.</source>
  29190. +        <source>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 LitecoinCash network.</source>
  29191.          <translation>????????????????????????????????????????: ???????????????????????????????????</translation>
  29192.      </message>
  29193.      <message>
  29194. @@ -1973,7 +1973,7 @@
  29195.          <translation>??</translation>
  29196.      </message>
  29197.      <message>
  29198. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  29199. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  29200.          <translation>?????????????????????????????????????????????????????????????????????????????????????????????????????????????????</translation>
  29201.      </message>
  29202.      <message>
  29203. @@ -2121,7 +2121,7 @@
  29204.          <translation>%1??????????</translation>
  29205.      </message>
  29206.      <message>
  29207. -        <source>Warning: Invalid Litecoin address</source>
  29208. +        <source>Warning: Invalid LitecoinCash address</source>
  29209.          <translation>??: ?????????????</translation>
  29210.      </message>
  29211.      <message>
  29212. @@ -2164,7 +2164,7 @@
  29213.          <translation>???????????</translation>
  29214.      </message>
  29215.      <message>
  29216. -        <source>The Litecoin address to send the payment to</source>
  29217. +        <source>The LitecoinCash address to send the payment to</source>
  29218.          <translation>?????????????????</translation>
  29219.      </message>
  29220.      <message>
  29221. @@ -2184,7 +2184,7 @@
  29222.          <translation>?????</translation>
  29223.      </message>
  29224.      <message>
  29225. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  29226. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  29227.          <translation>???????????????????????????????????????????????????????????????????????</translation>
  29228.      </message>
  29229.      <message>
  29230. @@ -2208,7 +2208,7 @@
  29231.          <translation>?????????????????????????????????</translation>
  29232.      </message>
  29233.      <message>
  29234. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  29235. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  29236.          <translation>???????????????????URI?????????????????: ????????????????????????</translation>
  29237.      </message>
  29238.      <message>
  29239. @@ -2253,11 +2253,11 @@
  29240.          <translation>&amp;???????</translation>
  29241.      </message>
  29242.      <message>
  29243. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  29244. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  29245.          <translation>????????????????????????????????????????????????????????????????????????????????????????????????????????????????????</translation>
  29246.      </message>
  29247.      <message>
  29248. -        <source>The Litecoin address to sign the message with</source>
  29249. +        <source>The LitecoinCash address to sign the message with</source>
  29250.          <translation>??????????????????????</translation>
  29251.      </message>
  29252.      <message>
  29253. @@ -2289,7 +2289,7 @@
  29254.          <translation>??????????????????????</translation>
  29255.      </message>
  29256.      <message>
  29257. -        <source>Sign the message to prove you own this Litecoin address</source>
  29258. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  29259.          <translation>???????????????????????????</translation>
  29260.      </message>
  29261.      <message>
  29262. @@ -2313,11 +2313,11 @@
  29263.          <translation>??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????</translation>
  29264.      </message>
  29265.      <message>
  29266. -        <source>The Litecoin address the message was signed with</source>
  29267. +        <source>The LitecoinCash address the message was signed with</source>
  29268.          <translation>??????????????????????????</translation>
  29269.      </message>
  29270.      <message>
  29271. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  29272. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  29273.          <translation>?????????????????????????????????????????</translation>
  29274.      </message>
  29275.      <message>
  29276. diff --git a/src/qt/locale/bitcoin_ka.ts b/src/qt/locale/bitcoin_ka.ts
  29277. index 0213c36..ff092cb 100644
  29278. --- a/src/qt/locale/bitcoin_ka.ts
  29279. +++ b/src/qt/locale/bitcoin_ka.ts
  29280. @@ -190,8 +190,8 @@
  29281.          <translation>?????? ???????? ????????????...</translation>
  29282.      </message>
  29283.      <message>
  29284. -        <source>Send coins to a Litecoin address</source>
  29285. -        <translation>????????? ???????? Litecoin-??????????</translation>
  29286. +        <source>Send coins to a LitecoinCash address</source>
  29287. +        <translation>????????? ???????? LitecoinCash-??????????</translation>
  29288.      </message>
  29289.      <message>
  29290.          <source>Backup wallet to another location</source>
  29291. @@ -214,8 +214,8 @@
  29292.          <translation>&amp;???????????</translation>
  29293.      </message>
  29294.      <message>
  29295. -        <source>Litecoin</source>
  29296. -        <translation>Litecoin</translation>
  29297. +        <source>LitecoinCash</source>
  29298. +        <translation>LitecoinCash</translation>
  29299.      </message>
  29300.      <message>
  29301.          <source>Wallet</source>
  29302. @@ -242,12 +242,12 @@
  29303.          <translation>?????? ??????? ?????? ??????????? ????????</translation>
  29304.      </message>
  29305.      <message>
  29306. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  29307. -        <translation>????????? ????????? ?????? Litecoin-???????????? ???? ????????, ??? ?? ???????</translation>
  29308. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  29309. +        <translation>????????? ????????? ?????? LitecoinCash-???????????? ???? ????????, ??? ?? ???????</translation>
  29310.      </message>
  29311.      <message>
  29312. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  29313. -        <translation>?????????, ??? ???????? ???????????? ?????????? Litecoin-??????????</translation>
  29314. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  29315. +        <translation>?????????, ??? ???????? ???????????? ?????????? LitecoinCash-??????????</translation>
  29316.      </message>
  29317.      <message>
  29318.          <source>&amp;File</source>
  29319. @@ -266,8 +266,8 @@
  29320.          <translation>????????? ??????</translation>
  29321.      </message>
  29322.      <message>
  29323. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  29324. -        <translation>???????? ???????? (????????? QR-?????? ?? litecoin: ???????)</translation>
  29325. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  29326. +        <translation>???????? ???????? (????????? QR-?????? ?? litecoincash: ???????)</translation>
  29327.      </message>
  29328.      <message>
  29329.          <source>Show the list of used sending addresses and labels</source>
  29330. @@ -278,8 +278,8 @@
  29331.          <translation>???????????? ??????? ????????????? ?? ?????????? ???? ???????</translation>
  29332.      </message>
  29333.      <message>
  29334. -        <source>Open a litecoin: URI or payment request</source>
  29335. -        <translation>litecoin: URI-?? ?? ???????? ????????? ??????</translation>
  29336. +        <source>Open a litecoincash: URI or payment request</source>
  29337. +        <translation>litecoincash: URI-?? ?? ???????? ????????? ??????</translation>
  29338.      </message>
  29339.      <message>
  29340.          <source>&amp;Command-line options</source>
  29341. @@ -642,8 +642,8 @@
  29342.          <translation>?????????????? ?????? ??????????? ????????? ?????? ???? ?????????? ?????????? ??????, ????? ??????????? ?? ?????? ???? ??????? ?????. ?? ???????? ?????? ?????? ?????????.</translation>
  29343.      </message>
  29344.      <message>
  29345. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  29346. -        <translation>???????? Litecoin-???????? ?????? ?????????? ??????. ???????, ?? ?????? ??????? ??????? ???? UPnP.</translation>
  29347. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  29348. +        <translation>???????? LitecoinCash-???????? ?????? ?????????? ??????. ???????, ?? ?????? ??????? ??????? ???? UPnP.</translation>
  29349.      </message>
  29350.      <message>
  29351.          <source>Map port using &amp;UPnP</source>
  29352. @@ -749,8 +749,8 @@
  29353.          <translation>?????</translation>
  29354.      </message>
  29355.      <message>
  29356. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  29357. -        <translation>????????? ?????????? ???????? ??????????? ????. ?????? ?????? ??????????? ????????????? Litecoin-?? ??????? ???????? ?????????? ??????, ?? ??????? ??? ?? ???? ???????????.</translation>
  29358. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  29359. +        <translation>????????? ?????????? ???????? ??????????? ????. ?????? ?????? ??????????? ????????????? LitecoinCash-?? ??????? ???????? ?????????? ??????, ?? ??????? ??? ?? ???? ???????????.</translation>
  29360.      </message>
  29361.      <message>
  29362.          <source>Available:</source>
  29363. @@ -954,7 +954,7 @@
  29364.          <translation>??&amp;?? ???????????? ??????? ?????????? ?????????? (?? ???? ?????????????)</translation>
  29365.      </message>
  29366.      <message>
  29367. -        <source>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 Litecoin network.</source>
  29368. +        <source>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 LitecoinCash network.</source>
  29369.          <translation>????????????? ??????, ??????? ?????? ???????? ????????? ?? ????????? ?????? ????????? ?????????. ????????: ?????? ?? ??????? ???????? ????????? ??????.</translation>
  29370.      </message>
  29371.      <message>
  29372. @@ -1170,7 +1170,7 @@
  29373.          <translation>????????? ?? ?????????? ??????? ???????????? ???????????? ????? ????????????</translation>
  29374.      </message>
  29375.      <message>
  29376. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  29377. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  29378.          <translation>??????, ??????? ??? ?????? ????????:  URI, ??????? ????????? ?????????????? ????? ?????????. ????????: ?????? ?? ??????? ???????? ????????? ??????.</translation>
  29379.      </message>
  29380.      <message>
  29381. @@ -1231,7 +1231,7 @@
  29382.          <translation>????????? ?????????? ???????? ??????????</translation>
  29383.      </message>
  29384.      <message>
  29385. -        <source>Sign the message to prove you own this Litecoin address</source>
  29386. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  29387.          <translation>???????? ???? ???? ???????????????, ??? ?? ????????? ???????</translation>
  29388.      </message>
  29389.      <message>
  29390. @@ -1251,8 +1251,8 @@
  29391.          <translation>??????? &amp;???????????</translation>
  29392.      </message>
  29393.      <message>
  29394. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  29395. -        <translation>?????????, ??? ?????? ???????????? ?????????? Litecoin-??????????</translation>
  29396. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  29397. +        <translation>?????????, ??? ?????? ???????????? ?????????? LitecoinCash-??????????</translation>
  29398.      </message>
  29399.      <message>
  29400.          <source>Verify &amp;Message</source>
  29401. @@ -1336,8 +1336,8 @@
  29402.          <translation>???????????? ??????? ?? ?????????? ??????</translation>
  29403.      </message>
  29404.      <message>
  29405. -        <source>Litecoin Core</source>
  29406. -        <translation>Litecoin Core</translation>
  29407. +        <source>LitecoinCash Core</source>
  29408. +        <translation>LitecoinCash Core</translation>
  29409.      </message>
  29410.      <message>
  29411.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  29412. diff --git a/src/qt/locale/bitcoin_kk_KZ.ts b/src/qt/locale/bitcoin_kk_KZ.ts
  29413. index 71ad4fe..24faf62 100644
  29414. --- a/src/qt/locale/bitcoin_kk_KZ.ts
  29415. +++ b/src/qt/locale/bitcoin_kk_KZ.ts
  29416. @@ -70,7 +70,7 @@
  29417.          <translation>????? ????? ???????</translation>
  29418.      </message>
  29419.      <message>
  29420. -        <source>Litecoin</source>
  29421. +        <source>LitecoinCash</source>
  29422.          <translation>???????</translation>
  29423.      </message>
  29424.      <message>
  29425. diff --git a/src/qt/locale/bitcoin_ko_KR.ts b/src/qt/locale/bitcoin_ko_KR.ts
  29426. index 63befd2..8282ff6 100644
  29427. --- a/src/qt/locale/bitcoin_ko_KR.ts
  29428. +++ b/src/qt/locale/bitcoin_ko_KR.ts
  29429. @@ -62,11 +62,11 @@
  29430.          <translation>?? ???</translation>
  29431.      </message>
  29432.      <message>
  29433. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  29434. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  29435.          <translation>??????? ??? ?? ?????. ??? ??? ?? ??? ?? ??? ?? ?????.</translation>
  29436.      </message>
  29437.      <message>
  29438. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  29439. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  29440.          <translation>??????? ?? ? ?? ?? ?????. ? ???? ??? ?? ??? ?????. </translation>
  29441.      </message>
  29442.      <message>
  29443. @@ -168,7 +168,7 @@
  29444.          <translation>?? ??? ??</translation>
  29445.      </message>
  29446.      <message>
  29447. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  29448. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  29449.          <translation>??: ?? ??? ? ??? ????? ???? ??, &lt;b&gt;?? ???????? ???? ? ????&lt;/b&gt;!</translation>
  29450.      </message>
  29451.      <message>
  29452. @@ -180,7 +180,7 @@
  29453.          <translation>?? ??? ??</translation>
  29454.      </message>
  29455.      <message>
  29456. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  29457. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  29458.          <translation>??? ?? ??? ??? ?? %1? ?????. ?? ???? ????? ??? ???? ?? ?????? ??? ??? ??? ? ??? ?????.</translation>
  29459.      </message>
  29460.      <message>
  29461. @@ -338,7 +338,7 @@
  29462.          <translation>????? ?? ?? ???...</translation>
  29463.      </message>
  29464.      <message>
  29465. -        <source>Send coins to a Litecoin address</source>
  29466. +        <source>Send coins to a LitecoinCash address</source>
  29467.          <translation>?????? ??? ?? ??</translation>
  29468.      </message>
  29469.      <message>
  29470. @@ -362,7 +362,7 @@
  29471.          <translation>??? ??(&amp;V)...</translation>
  29472.      </message>
  29473.      <message>
  29474. -        <source>Litecoin</source>
  29475. +        <source>LitecoinCash</source>
  29476.          <translation>??????</translation>
  29477.      </message>
  29478.      <message>
  29479. @@ -390,11 +390,11 @@
  29480.          <translation>??? ??? ??? ?????</translation>
  29481.      </message>
  29482.      <message>
  29483. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  29484. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  29485.          <translation>?? ??? ?? ???? ???? ?? ?????? ??? ??? ? ????.</translation>
  29486.      </message>
  29487.      <message>
  29488. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  29489. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  29490.          <translation>?????? ??? ?? ?? ??? ?? ??? ???? ?? ?? ?? ??? ? ????.</translation>
  29491.      </message>
  29492.      <message>
  29493. @@ -414,7 +414,7 @@
  29494.          <translation>?? ???</translation>
  29495.      </message>
  29496.      <message>
  29497. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  29498. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  29499.          <translation>?? ???? (QR??? ??????? ?????: URIs)</translation>
  29500.      </message>
  29501.      <message>
  29502. @@ -426,15 +426,15 @@
  29503.          <translation>?? ?? ??? ?? ??? ?? ??? ??? ?????.</translation>
  29504.      </message>
  29505.      <message>
  29506. -        <source>Open a litecoin: URI or payment request</source>
  29507. -        <translation>litecoin: URI ?? ???? ??</translation>
  29508. +        <source>Open a litecoincash: URI or payment request</source>
  29509. +        <translation>litecoincash: URI ?? ???? ??</translation>
  29510.      </message>
  29511.      <message>
  29512.          <source>&amp;Command-line options</source>
  29513.          <translation>??? ??(&amp;C)</translation>
  29514.      </message>
  29515.      <message numerus="yes">
  29516. -        <source>%n active connection(s) to Litecoin network</source>
  29517. +        <source>%n active connection(s) to LitecoinCash network</source>
  29518.          <translation><numerusform>?????? ????? %n?? ??? ????? ????.</numerusform></translation>
  29519.      </message>
  29520.      <message>
  29521. @@ -478,7 +478,7 @@
  29522.          <translation>????</translation>
  29523.      </message>
  29524.      <message>
  29525. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  29526. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  29527.          <translation>??? ? ?? ?????? ??? ?? ??? ???? ?? %1 ??? ???? ?????.</translation>
  29528.      </message>
  29529.      <message>
  29530. @@ -548,7 +548,7 @@
  29531.          <translation>??? &lt;b&gt;???&lt;/b&gt; ??? ?? &lt;b&gt;???&lt;/b&gt; ????</translation>
  29532.      </message>
  29533.      <message>
  29534. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  29535. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  29536.          <translation>???? ??? ??????. ??????? ??? ???? ??? ? ?? ? ?????.</translation>
  29537.      </message>
  29538.  </context>
  29539. @@ -742,7 +742,7 @@
  29540.          <translation>??? ?? ??</translation>
  29541.      </message>
  29542.      <message>
  29543. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  29544. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  29545.          <translation>??? "%1" ??? ??? ?????? ??? ????.</translation>
  29546.      </message>
  29547.      <message>
  29548. @@ -851,7 +851,7 @@
  29549.          <translation>????? ???? ???? ????. %1? ??? ???? ???? ??? ? ????. </translation>
  29550.      </message>
  29551.      <message>
  29552. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  29553. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  29554.          <translation>%1? ????? ???? ???? ?????. ??? %2GB? ???? ? ??? ???? ??? ????? ?? ?????. ??? ?? ?? ? ??? ?????. </translation>
  29555.      </message>
  29556.      <message>
  29557. @@ -886,11 +886,11 @@
  29558.          <translation>??</translation>
  29559.      </message>
  29560.      <message>
  29561. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  29562. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  29563.          <translation>?? ??? ?? ??? ?? ????, ???? ??? ??? ??? ?? ?? ????. ? ??? ?????? ????? ??? ???? ???? ??? ??? ?? ??????.</translation>
  29564.      </message>
  29565.      <message>
  29566. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  29567. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  29568.          <translation>?? ???? ?? ??? ??? ?? ??????? ????? ?? ?? ?????? ???? ????.</translation>
  29569.      </message>
  29570.      <message>
  29571. @@ -1048,15 +1048,15 @@
  29572.          <translation>???? ?? ?? ?? (&amp;S)</translation>
  29573.      </message>
  29574.      <message>
  29575. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  29576. -        <translation>????? Litecoin ????? ??? ????? ???. ????? UPnP? ???? ??? ?? ???? ?????.</translation>
  29577. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  29578. +        <translation>????? LitecoinCash ????? ??? ????? ???. ????? UPnP? ???? ??? ?? ???? ?????.</translation>
  29579.      </message>
  29580.      <message>
  29581.          <source>Map port using &amp;UPnP</source>
  29582.          <translation>???? &amp;UPnP ?? ??</translation>
  29583.      </message>
  29584.      <message>
  29585. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  29586. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  29587.          <translation>SOCKS5 ???? ?? ?????? ???? ??</translation>
  29588.      </message>
  29589.      <message>
  29590. @@ -1096,7 +1096,7 @@
  29591.          <translation>Tor</translation>
  29592.      </message>
  29593.      <message>
  29594. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  29595. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  29596.          <translation>Tor ???? ???? ?????? ????? ???? ?? ??? SOCKS5 ???? ??.</translation>
  29597.      </message>
  29598.      <message>
  29599. @@ -1195,7 +1195,7 @@
  29600.          <translation>??</translation>
  29601.      </message>
  29602.      <message>
  29603. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  29604. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  29605.          <translation>??? ??? ??? ? ????. ?????? ????? ???? ? ??? ??? ???? ??? ???, ?? ??? ???? ?????.</translation>
  29606.      </message>
  29607.      <message>
  29608. @@ -1270,7 +1270,7 @@
  29609.          <translation>?? ?? ??</translation>
  29610.      </message>
  29611.      <message>
  29612. -        <source>Cannot start litecoin: click-to-pay handler</source>
  29613. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  29614.          <translation>??????? ??? ? ????: ?????? ?????</translation>
  29615.      </message>
  29616.      <message>
  29617. @@ -1286,7 +1286,7 @@
  29618.          <translation>??? ?? ????? %1</translation>
  29619.      </message>
  29620.      <message>
  29621. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  29622. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  29623.          <translation>URI? ??? ??? ??????. ??? ?????? ??? URI ???? ??? ??? ??? ? ????.</translation>
  29624.      </message>
  29625.      <message>
  29626. @@ -1380,7 +1380,7 @@
  29627.          <translation>???</translation>
  29628.      </message>
  29629.      <message>
  29630. -        <source>Enter a Litecoin address (e.g. %1)</source>
  29631. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  29632.          <translation>?????? ??? ???? (?. %1)</translation>
  29633.      </message>
  29634.      <message>
  29635. @@ -1804,7 +1804,7 @@
  29636.          <translation>??? ??? ??? ?????(&amp;E) (???? ????)</translation>
  29637.      </message>
  29638.      <message>
  29639. -        <source>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 Litecoin network.</source>
  29640. +        <source>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 LitecoinCash network.</source>
  29641.          <translation>?? ??? ???? ????? ??? ???. ? ???? ??? ?? ? ??? ? ???. ??: ? ???? ?????? ????? ???? ????.</translation>
  29642.      </message>
  29643.      <message>
  29644. @@ -2037,7 +2037,7 @@
  29645.          <translation>?? ???</translation>
  29646.      </message>
  29647.      <message>
  29648. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  29649. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  29650.          <translation>??? ???? ??? ??? ?? ???? ???? ??????? ?????. ??? ?????? ????? ????? ? ?? ?? ??? ??? ??? ? ? ?? ????.</translation>
  29651.      </message>
  29652.      <message>
  29653. @@ -2201,7 +2201,7 @@
  29654.          <translation><numerusform>%n ?? ?? ??? ??? ??? ?????.</numerusform></translation>
  29655.      </message>
  29656.      <message>
  29657. -        <source>Warning: Invalid Litecoin address</source>
  29658. +        <source>Warning: Invalid LitecoinCash address</source>
  29659.          <translation>??: ??? ???????????</translation>
  29660.      </message>
  29661.      <message>
  29662. @@ -2244,7 +2244,7 @@
  29663.          <translation>??? ???? ?????.</translation>
  29664.      </message>
  29665.      <message>
  29666. -        <source>The Litecoin address to send the payment to</source>
  29667. +        <source>The LitecoinCash address to send the payment to</source>
  29668.          <translation>? ?????? ??? ?????</translation>
  29669.      </message>
  29670.      <message>
  29671. @@ -2264,7 +2264,7 @@
  29672.          <translation>??? ????</translation>
  29673.      </message>
  29674.      <message>
  29675. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  29676. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  29677.          <translation>???? ???? ???? ?????. ???? ?? ???? ??? ???? ?? ??? ???? ???. ?? ??? ?? ?? ?? ???? ???? ??????.</translation>
  29678.      </message>
  29679.      <message>
  29680. @@ -2288,7 +2288,7 @@
  29681.          <translation>??? ?? ??? ? ??? ???? ?? ?? ??? ??? ???. </translation>
  29682.      </message>
  29683.      <message>
  29684. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  29685. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  29686.          <translation>??????? ??? ???: ????? ??? ?? ??? URI. ??: ? ???? ?????? ????? ???? ????.</translation>
  29687.      </message>
  29688.      <message>
  29689. @@ -2333,11 +2333,11 @@
  29690.          <translation>??? ??(&amp;S)</translation>
  29691.      </message>
  29692.      <message>
  29693. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  29694. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  29695.          <translation>??? ??? ???? ?? ??? ???? ??? ? ????. ?? ???? ???? ???? ??? ?? ?? ???? ? ? ????, ???? ?? ?? ??? ??? ??????. ???? ?? ???? ?? ? ???? ???? ??????.</translation>
  29696.      </message>
  29697.      <message>
  29698. -        <source>The Litecoin address to sign the message with</source>
  29699. +        <source>The LitecoinCash address to sign the message with</source>
  29700.          <translation>???? ??? ?????? ??</translation>
  29701.      </message>
  29702.      <message>
  29703. @@ -2369,7 +2369,7 @@
  29704.          <translation>?? ??? ??? ????? ??</translation>
  29705.      </message>
  29706.      <message>
  29707. -        <source>Sign the message to prove you own this Litecoin address</source>
  29708. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  29709.          <translation>???? ?????? ??? ????? ??? ??????</translation>
  29710.      </message>
  29711.      <message>
  29712. @@ -2393,11 +2393,11 @@
  29713.          <translation>???? ???? ?? ?? ?? ?? ?? ??? ???, ????? ?????. (??? ??? ????, ????, ? ?? ?? ???? ????? ??? ??? ???? ?????) ? ??? ??? ??? ? ????, ???? ???? ?? ???? ??? ???? ??? ???? ??? ???? ???. </translation>
  29714.      </message>
  29715.      <message>
  29716. -        <source>The Litecoin address the message was signed with</source>
  29717. +        <source>The LitecoinCash address the message was signed with</source>
  29718.          <translation>???? ??? ??? ?????? ??</translation>
  29719.      </message>
  29720.      <message>
  29721. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  29722. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  29723.          <translation>??? ????????? ????? ???? ?????</translation>
  29724.      </message>
  29725.      <message>
  29726. @@ -3058,7 +3058,7 @@
  29727.          <translation>HTTP ??? ??? ? ????. ??? ??? ??? ??? ?? ???.</translation>
  29728.      </message>
  29729.      <message>
  29730. -        <source>Litecoin Core</source>
  29731. +        <source>LitecoinCash Core</source>
  29732.          <translation>?????? ??</translation>
  29733.      </message>
  29734.      <message>
  29735. diff --git a/src/qt/locale/bitcoin_ky.ts b/src/qt/locale/bitcoin_ky.ts
  29736. index c7acefb..0d8cbbe 100644
  29737. --- a/src/qt/locale/bitcoin_ky.ts
  29738. +++ b/src/qt/locale/bitcoin_ky.ts
  29739. @@ -38,8 +38,8 @@
  29740.          <translation>?????????? &amp;????????...</translation>
  29741.      </message>
  29742.      <message>
  29743. -        <source>Litecoin</source>
  29744. -        <translation>Litecoin</translation>
  29745. +        <source>LitecoinCash</source>
  29746. +        <translation>LitecoinCash</translation>
  29747.      </message>
  29748.      <message>
  29749.          <source>Wallet</source>
  29750. diff --git a/src/qt/locale/bitcoin_la.ts b/src/qt/locale/bitcoin_la.ts
  29751. index 79a7e39..bf131cd 100644
  29752. --- a/src/qt/locale/bitcoin_la.ts
  29753. +++ b/src/qt/locale/bitcoin_la.ts
  29754. @@ -114,8 +114,8 @@
  29755.          <translation>Recreans indicem frustorum in disco...</translation>
  29756.      </message>
  29757.      <message>
  29758. -        <source>Send coins to a Litecoin address</source>
  29759. -        <translation>Mitte nummos ad inscriptionem Litecoin</translation>
  29760. +        <source>Send coins to a LitecoinCash address</source>
  29761. +        <translation>Mitte nummos ad inscriptionem LitecoinCash</translation>
  29762.      </message>
  29763.      <message>
  29764.          <source>Backup wallet to another location</source>
  29765. @@ -138,8 +138,8 @@
  29766.          <translation>&amp;Verifica nuntium...</translation>
  29767.      </message>
  29768.      <message>
  29769. -        <source>Litecoin</source>
  29770. -        <translation>Litecoin</translation>
  29771. +        <source>LitecoinCash</source>
  29772. +        <translation>LitecoinCash</translation>
  29773.      </message>
  29774.      <message>
  29775.          <source>Wallet</source>
  29776. @@ -166,12 +166,12 @@
  29777.          <translation>Cifra claves privatas quae cassidili tui sunt</translation>
  29778.      </message>
  29779.      <message>
  29780. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  29781. -        <translation>Signa nuntios cum tuis inscriptionibus Litecoin ut demonstres te eas possidere</translation>
  29782. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  29783. +        <translation>Signa nuntios cum tuis inscriptionibus LitecoinCash ut demonstres te eas possidere</translation>
  29784.      </message>
  29785.      <message>
  29786. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  29787. -        <translation>Verifica nuntios ut certus sis eos signatos esse cum specificatis inscriptionibus Litecoin</translation>
  29788. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  29789. +        <translation>Verifica nuntios ut certus sis eos signatos esse cum specificatis inscriptionibus LitecoinCash</translation>
  29790.      </message>
  29791.      <message>
  29792.          <source>&amp;File</source>
  29793. @@ -346,8 +346,8 @@
  29794.          <translation>Cassidile</translation>
  29795.      </message>
  29796.      <message>
  29797. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  29798. -        <translation>Aperi per se portam clientis Litecoin in itineratore.  Hoc tantum effectivum est si itineratrum tuum supportat UPnP et id activum est.</translation>
  29799. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  29800. +        <translation>Aperi per se portam clientis LitecoinCash in itineratore.  Hoc tantum effectivum est si itineratrum tuum supportat UPnP et id activum est.</translation>
  29801.      </message>
  29802.      <message>
  29803.          <source>Map port using &amp;UPnP</source>
  29804. @@ -425,8 +425,8 @@
  29805.          <translation>Schema</translation>
  29806.      </message>
  29807.      <message>
  29808. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  29809. -        <translation>Monstrata informatio fortasse non recentissima est.  Tuum cassidile per se synchronizat cum rete Litecoin postquam conexio constabilita est, sed hoc actio nondum perfecta est.</translation>
  29810. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  29811. +        <translation>Monstrata informatio fortasse non recentissima est.  Tuum cassidile per se synchronizat cum rete LitecoinCash postquam conexio constabilita est, sed hoc actio nondum perfecta est.</translation>
  29812.      </message>
  29813.      <message>
  29814.          <source>Immature:</source>
  29815. @@ -671,8 +671,8 @@
  29816.          <translation>Copia signationem in latibulum systematis</translation>
  29817.      </message>
  29818.      <message>
  29819. -        <source>Sign the message to prove you own this Litecoin address</source>
  29820. -        <translation>Signa nuntium ut demonstres hanc inscriptionem Litecoin a te possessa esse</translation>
  29821. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  29822. +        <translation>Signa nuntium ut demonstres hanc inscriptionem LitecoinCash a te possessa esse</translation>
  29823.      </message>
  29824.      <message>
  29825.          <source>Sign &amp;Message</source>
  29826. @@ -691,8 +691,8 @@
  29827.          <translation>&amp;Verifica Nuntium</translation>
  29828.      </message>
  29829.      <message>
  29830. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  29831. -        <translation>Verifica nuntium ut cures signatum esse cum specifica inscriptione Litecoin</translation>
  29832. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  29833. +        <translation>Verifica nuntium ut cures signatum esse cum specifica inscriptione LitecoinCash</translation>
  29834.      </message>
  29835.      <message>
  29836.          <source>Verify &amp;Message</source>
  29837. @@ -768,8 +768,8 @@
  29838.          <translation>Operare infere sicut daemon et mandata accipe</translation>
  29839.      </message>
  29840.      <message>
  29841. -        <source>Litecoin Core</source>
  29842. -        <translation>Litecoin Nucleus</translation>
  29843. +        <source>LitecoinCash Core</source>
  29844. +        <translation>LitecoinCash Nucleus</translation>
  29845.      </message>
  29846.      <message>
  29847.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  29848. diff --git a/src/qt/locale/bitcoin_lt.ts b/src/qt/locale/bitcoin_lt.ts
  29849. index 43384e5..3ffe785 100644
  29850. --- a/src/qt/locale/bitcoin_lt.ts
  29851. +++ b/src/qt/locale/bitcoin_lt.ts
  29852. @@ -162,8 +162,8 @@
  29853.          <translation>Blokai i? naujo indeksuojami...</translation>
  29854.      </message>
  29855.      <message>
  29856. -        <source>Send coins to a Litecoin address</source>
  29857. -        <translation>Si?sti monetas Litecoin adresui</translation>
  29858. +        <source>Send coins to a LitecoinCash address</source>
  29859. +        <translation>Si?sti monetas LitecoinCash adresui</translation>
  29860.      </message>
  29861.      <message>
  29862.          <source>Backup wallet to another location</source>
  29863. @@ -186,8 +186,8 @@
  29864.          <translation>&amp;Tikrinti ?inut?...</translation>
  29865.      </message>
  29866.      <message>
  29867. -        <source>Litecoin</source>
  29868. -        <translation>Litecoin</translation>
  29869. +        <source>LitecoinCash</source>
  29870. +        <translation>LitecoinCash</translation>
  29871.      </message>
  29872.      <message>
  29873.          <source>Wallet</source>
  29874. @@ -432,8 +432,8 @@
  29875.          <translation>Pinigin?</translation>
  29876.      </message>
  29877.      <message>
  29878. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  29879. -        <translation>Automati?kai atidaryti Litecoin kliento prievad? mar?rutizatoriuje. Tai veikia tik tada, kai j?s? mar?rutizatorius palaiko UPnP ir ji ?jungta.</translation>
  29880. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  29881. +        <translation>Automati?kai atidaryti LitecoinCash kliento prievad? mar?rutizatoriuje. Tai veikia tik tada, kai j?s? mar?rutizatorius palaiko UPnP ir ji ?jungta.</translation>
  29882.      </message>
  29883.      <message>
  29884.          <source>Map port using &amp;UPnP</source>
  29885. @@ -865,7 +865,7 @@
  29886.          <translation>?veskite prane?im?, kur? norite pasira?yti ?ia</translation>
  29887.      </message>
  29888.      <message>
  29889. -        <source>Sign the message to prove you own this Litecoin address</source>
  29890. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  29891.          <translation>Registruotis ?inute ?rodymuii, kad turite ?? adres?</translation>
  29892.      </message>
  29893.      <message>
  29894. @@ -881,8 +881,8 @@
  29895.          <translation>&amp;Patikrinti ?inut?</translation>
  29896.      </message>
  29897.      <message>
  29898. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  29899. -        <translation>Patikrinkite ?inut?, jog ?sitikintum?te, kad j? pasira?? nurodytas Litecoin adresas</translation>
  29900. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  29901. +        <translation>Patikrinkite ?inut?, jog ?sitikintum?te, kad j? pasira?? nurodytas LitecoinCash adresas</translation>
  29902.      </message>
  29903.      <message>
  29904.          <source>Verify &amp;Message</source>
  29905. @@ -958,8 +958,8 @@
  29906.          <translation>Dirbti fone kaip ?e??lyje ir priimti komandas</translation>
  29907.      </message>
  29908.      <message>
  29909. -        <source>Litecoin Core</source>
  29910. -        <translation>Litecoin branduolys</translation>
  29911. +        <source>LitecoinCash Core</source>
  29912. +        <translation>LitecoinCash branduolys</translation>
  29913.      </message>
  29914.      <message>
  29915.          <source>Error opening block database</source>
  29916. diff --git a/src/qt/locale/bitcoin_lv_LV.ts b/src/qt/locale/bitcoin_lv_LV.ts
  29917. index 3029d5c..8495d01 100644
  29918. --- a/src/qt/locale/bitcoin_lv_LV.ts
  29919. +++ b/src/qt/locale/bitcoin_lv_LV.ts
  29920. @@ -39,11 +39,11 @@
  29921.      </message>
  29922.      <message>
  29923.          <source>Choose the address to send coins to</source>
  29924. -        <translation>Izv?lies adresi uz kuru s?t?t litecoins</translation>
  29925. +        <translation>Izv?lies adresi uz kuru s?t?t coins</translation>
  29926.      </message>
  29927.      <message>
  29928.          <source>Choose the address to receive coins with</source>
  29929. -        <translation>Izv?lies adresi ar kuru sa?emt litecoins</translation>
  29930. +        <translation>Izv?lies adresi ar kuru sa?emt coins</translation>
  29931.      </message>
  29932.      <message>
  29933.          <source>&amp;Copy Address</source>
  29934. @@ -202,8 +202,8 @@
  29935.          <translation>Bloku reindeks??ana no diska...</translation>
  29936.      </message>
  29937.      <message>
  29938. -        <source>Send coins to a Litecoin address</source>
  29939. -        <translation>Nos?t?t bitkoinus uz Litecoin adresi</translation>
  29940. +        <source>Send coins to a LitecoinCash address</source>
  29941. +        <translation>Nos?t?t bitkoinus uz LitecoinCash adresi</translation>
  29942.      </message>
  29943.      <message>
  29944.          <source>Backup wallet to another location</source>
  29945. @@ -226,8 +226,8 @@
  29946.          <translation>&amp;P?rbaud?t zi?ojumu...</translation>
  29947.      </message>
  29948.      <message>
  29949. -        <source>Litecoin</source>
  29950. -        <translation>Litecoin</translation>
  29951. +        <source>LitecoinCash</source>
  29952. +        <translation>LitecoinCash</translation>
  29953.      </message>
  29954.      <message>
  29955.          <source>Wallet</source>
  29956. @@ -254,12 +254,12 @@
  29957.          <translation>?ifr?t priv?t?s atsl?gas kuras pieder tavam maci?am</translation>
  29958.      </message>
  29959.      <message>
  29960. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  29961. -        <translation>Parakst?t zi?ojumus ar sav?m Litecoin adres?m lai pier?d?tu ka t?s pieder tev</translation>
  29962. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  29963. +        <translation>Parakst?t zi?ojumus ar sav?m LitecoinCash adres?m lai pier?d?tu ka t?s pieder tev</translation>
  29964.      </message>
  29965.      <message>
  29966. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  29967. -        <translation>P?rbaud?t zi?ojumus lai p?rliecin?tos, ka tie tika parakst?ti ar nor?d?taj?m Litecoin adres?m</translation>
  29968. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  29969. +        <translation>P?rbaud?t zi?ojumus lai p?rliecin?tos, ka tie tika parakst?ti ar nor?d?taj?m LitecoinCash adres?m</translation>
  29970.      </message>
  29971.      <message>
  29972.          <source>&amp;File</source>
  29973. @@ -278,12 +278,12 @@
  29974.          <translation>Ci??u r?kjosla</translation>
  29975.      </message>
  29976.      <message>
  29977. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  29978. -        <translation>Piepras?t maks?jumus (izveido QR kodu un litecoin: URIs)</translation>
  29979. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  29980. +        <translation>Piepras?t maks?jumus (izveido QR kodu un litecoincash: URIs)</translation>
  29981.      </message>
  29982.      <message>
  29983. -        <source>Open a litecoin: URI or payment request</source>
  29984. -        <translation>Atv?rt litecoin URI vai maks?juma piepras?jumu</translation>
  29985. +        <source>Open a litecoincash: URI or payment request</source>
  29986. +        <translation>Atv?rt litecoincash URI vai maks?juma piepras?jumu</translation>
  29987.      </message>
  29988.      <message>
  29989.          <source>&amp;Command-line options</source>
  29990. @@ -563,15 +563,15 @@
  29991.      </message>
  29992.      <message>
  29993.          <source>Enable coin &amp;control features</source>
  29994. -        <translation>Iesl?gt litecoin &amp;kontroles funkcijas</translation>
  29995. +        <translation>Iesl?gt litecoincash &amp;kontroles funkcijas</translation>
  29996.      </message>
  29997.      <message>
  29998.          <source>&amp;Spend unconfirmed change</source>
  29999.          <translation>&amp;T?r?t neapstiprin?tu atlikumu</translation>
  30000.      </message>
  30001.      <message>
  30002. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  30003. -        <translation>Uz r?tera autom?tiski atv?rt Litecoin klienta portu. Tas str?d? tikai tad, ja r?teris atbalsta UPnP un tas ir iesl?gts.</translation>
  30004. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  30005. +        <translation>Uz r?tera autom?tiski atv?rt LitecoinCash klienta portu. Tas str?d? tikai tad, ja r?teris atbalsta UPnP un tas ir iesl?gts.</translation>
  30006.      </message>
  30007.      <message>
  30008.          <source>Map port using &amp;UPnP</source>
  30009. @@ -623,7 +623,7 @@
  30010.      </message>
  30011.      <message>
  30012.          <source>Whether to show coin control features or not.</source>
  30013. -        <translation>Vai r?d?t Litecoin kontroles funkcijas vai n?.</translation>
  30014. +        <translation>Vai r?d?t LitecoinCash kontroles funkcijas vai n?.</translation>
  30015.      </message>
  30016.      <message>
  30017.          <source>&amp;OK</source>
  30018. @@ -657,8 +657,8 @@
  30019.          <translation>Forma</translation>
  30020.      </message>
  30021.      <message>
  30022. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  30023. -        <translation>Att?lot? inform?cija var b?t novecojusi. J?su maci?? p?c savienojuma izveides autom?tiski sinhroniz?jas ar Litecoin t?klu, ta?u ?is process v?l nav beidzies.</translation>
  30024. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  30025. +        <translation>Att?lot? inform?cija var b?t novecojusi. J?su maci?? p?c savienojuma izveides autom?tiski sinhroniz?jas ar LitecoinCash t?klu, ta?u ?is process v?l nav beidzies.</translation>
  30026.      </message>
  30027.      <message>
  30028.          <source>Available:</source>
  30029. @@ -932,7 +932,7 @@
  30030.      </message>
  30031.      <message>
  30032.          <source>Coin Control Features</source>
  30033. -        <translation>Litecoin Kontroles Funkcijas</translation>
  30034. +        <translation>LitecoinCash Kontroles Funkcijas</translation>
  30035.      </message>
  30036.      <message>
  30037.          <source>Inputs...</source>
  30038. @@ -1111,8 +1111,8 @@
  30039.          <translation>Kop?t parakstu uz sist?mas starpliktuvi</translation>
  30040.      </message>
  30041.      <message>
  30042. -        <source>Sign the message to prove you own this Litecoin address</source>
  30043. -        <translation>Parakst?t zi?ojumu lai pier?d?tu, ka esi ??s Litecoin adreses ?pa?nieks.</translation>
  30044. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  30045. +        <translation>Parakst?t zi?ojumu lai pier?d?tu, ka esi ??s LitecoinCash adreses ?pa?nieks.</translation>
  30046.      </message>
  30047.      <message>
  30048.          <source>Sign &amp;Message</source>
  30049. @@ -1228,8 +1228,8 @@
  30050.          <translation>Darbin?t fon? k? servisu un pie?emt komandas</translation>
  30051.      </message>
  30052.      <message>
  30053. -        <source>Litecoin Core</source>
  30054. -        <translation>Litecoin Core</translation>
  30055. +        <source>LitecoinCash Core</source>
  30056. +        <translation>LitecoinCash Core</translation>
  30057.      </message>
  30058.      <message>
  30059.          <source>&lt;category&gt; can be:</source>
  30060. diff --git a/src/qt/locale/bitcoin_mk_MK.ts b/src/qt/locale/bitcoin_mk_MK.ts
  30061. index bc24233..7249817 100644
  30062. --- a/src/qt/locale/bitcoin_mk_MK.ts
  30063. +++ b/src/qt/locale/bitcoin_mk_MK.ts
  30064. @@ -138,7 +138,7 @@
  30065.          <translation>???????? ??????????? ?? ??????? ?? ??????...</translation>
  30066.      </message>
  30067.      <message>
  30068. -        <source>Send coins to a Litecoin address</source>
  30069. +        <source>Send coins to a LitecoinCash address</source>
  30070.          <translation>??????? ???????? ?? ??????? ??????</translation>
  30071.      </message>
  30072.      <message>
  30073. @@ -146,7 +146,7 @@
  30074.          <translation>&amp;??????? ??????...</translation>
  30075.      </message>
  30076.      <message>
  30077. -        <source>Litecoin</source>
  30078. +        <source>LitecoinCash</source>
  30079.          <translation>???????</translation>
  30080.      </message>
  30081.      <message>
  30082. @@ -578,7 +578,7 @@
  30083.          <translation>?????:</translation>
  30084.      </message>
  30085.      <message>
  30086. -        <source>Litecoin Core</source>
  30087. +        <source>LitecoinCash Core</source>
  30088.          <translation>??????? Core</translation>
  30089.      </message>
  30090.      <message>
  30091. diff --git a/src/qt/locale/bitcoin_mn.ts b/src/qt/locale/bitcoin_mn.ts
  30092. index 046fd5e..09c7441 100644
  30093. --- a/src/qt/locale/bitcoin_mn.ts
  30094. +++ b/src/qt/locale/bitcoin_mn.ts
  30095. @@ -126,8 +126,8 @@
  30096.          <translation>????????? ?? ???????? ???????? ????????</translation>
  30097.      </message>
  30098.      <message>
  30099. -        <source>Litecoin</source>
  30100. -        <translation>Litecoin</translation>
  30101. +        <source>LitecoinCash</source>
  30102. +        <translation>LitecoinCash</translation>
  30103.      </message>
  30104.      <message>
  30105.          <source>Wallet</source>
  30106. diff --git a/src/qt/locale/bitcoin_ms_MY.ts b/src/qt/locale/bitcoin_ms_MY.ts
  30107. index da2638f..a4c32fb 100644
  30108. --- a/src/qt/locale/bitcoin_ms_MY.ts
  30109. +++ b/src/qt/locale/bitcoin_ms_MY.ts
  30110. @@ -63,12 +63,12 @@ Alihkan fail data ke dalam tab semasa</translation>
  30111.          <translation>alamat-alamat penerimaan</translation>
  30112.      </message>
  30113.      <message>
  30114. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  30115. -        <translation>Ini adalah alamat Litecoin anda untuk pembayaran. Periksa jumlah dan alamat penerima sebelum membuat penghantaran koin sentiasa.</translation>
  30116. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  30117. +        <translation>Ini adalah alamat LitecoinCash anda untuk pembayaran. Periksa jumlah dan alamat penerima sebelum membuat penghantaran koin sentiasa.</translation>
  30118.      </message>
  30119.      <message>
  30120. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  30121. -        <translation>Ini adalah alamat Litecoin anda untuk menerima pembayaraan.  Anda disyorkan untuk menguna alamat menerima untuk setiap transaksi.</translation>
  30122. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  30123. +        <translation>Ini adalah alamat LitecoinCash anda untuk menerima pembayaraan.  Anda disyorkan untuk menguna alamat menerima untuk setiap transaksi.</translation>
  30124.      </message>
  30125.      <message>
  30126.          <source>&amp;Copy Address</source>
  30127. @@ -169,8 +169,8 @@ Alihkan fail data ke dalam tab semasa</translation>
  30128.          <translation>Mengesahkan enkripsi dompet</translation>
  30129.      </message>
  30130.      <message>
  30131. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  30132. -        <translation>Amaran: Jika anda enkripkan dompet anda dan hilangkan frasa laluan, anda akan &lt;b&gt;ANDA AKAN HILANGKAN SEMUA LITECOIN ANDA&lt;/b&gt;!</translation>
  30133. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  30134. +        <translation>Amaran: Jika anda enkripkan dompet anda dan hilangkan frasa laluan, anda akan &lt;b&gt;ANDA AKAN HILANGKAN SEMUA LITECOINCASH ANDA&lt;/b&gt;!</translation>
  30135.      </message>
  30136.      <message>
  30137.          <source>Are you sure you wish to encrypt your wallet?</source>
  30138. @@ -181,8 +181,8 @@ Alihkan fail data ke dalam tab semasa</translation>
  30139.          <translation>Dompet dienkripsi</translation>
  30140.      </message>
  30141.      <message>
  30142. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  30143. -        <translation>%1 akan tutup untuk menyelesaikan proses enkripsi. Ingat bahawa enkripsi tidak boleh melidungi sepenuhnya litecoins anda daripada dicuri oleh malware yang menjangkiti komputer anda.</translation>
  30144. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  30145. +        <translation>%1 akan tutup untuk menyelesaikan proses enkripsi. Ingat bahawa enkripsi tidak boleh melidungi sepenuhnya coins anda daripada dicuri oleh malware yang menjangkiti komputer anda.</translation>
  30146.      </message>
  30147.      <message>
  30148.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  30149. @@ -339,8 +339,8 @@ Alihkan fail data ke dalam tab semasa</translation>
  30150.          <translation>Reindexi blok pada cakera...</translation>
  30151.      </message>
  30152.      <message>
  30153. -        <source>Send coins to a Litecoin address</source>
  30154. -        <translation>Menghantar koin kepada alamat Litecoin</translation>
  30155. +        <source>Send coins to a LitecoinCash address</source>
  30156. +        <translation>Menghantar koin kepada alamat LitecoinCash</translation>
  30157.      </message>
  30158.      <message>
  30159.          <source>Backup wallet to another location</source>
  30160. @@ -363,8 +363,8 @@ Alihkan fail data ke dalam tab semasa</translation>
  30161.          <translation>sahkan mesej</translation>
  30162.      </message>
  30163.      <message>
  30164. -        <source>Litecoin</source>
  30165. -        <translation>Litecoin</translation>
  30166. +        <source>LitecoinCash</source>
  30167. +        <translation>LitecoinCash</translation>
  30168.      </message>
  30169.      <message>
  30170.          <source>Wallet</source>
  30171. @@ -391,12 +391,12 @@ Alihkan fail data ke dalam tab semasa</translation>
  30172.          <translation>sulitkan kata laluan milik peribadi anda </translation>
  30173.      </message>
  30174.      <message>
  30175. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  30176. -        <translation>Log mesej dengan alamat Litecoin anda untuk membuktikan anda memilikinya</translation>
  30177. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  30178. +        <translation>Log mesej dengan alamat LitecoinCash anda untuk membuktikan anda memilikinya</translation>
  30179.      </message>
  30180.      <message>
  30181. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  30182. -        <translation>Sahkan mesej untuk memastikan mereka telah ditandatangani dengan alamat Litecoin yang ditentukan</translation>
  30183. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  30184. +        <translation>Sahkan mesej untuk memastikan mereka telah ditandatangani dengan alamat LitecoinCash yang ditentukan</translation>
  30185.      </message>
  30186.      <message>
  30187.          <source>&amp;File</source>
  30188. diff --git a/src/qt/locale/bitcoin_nb.ts b/src/qt/locale/bitcoin_nb.ts
  30189. index cf0b6dd..b7534b1 100644
  30190. --- a/src/qt/locale/bitcoin_nb.ts
  30191. +++ b/src/qt/locale/bitcoin_nb.ts
  30192. @@ -62,12 +62,12 @@
  30193.          <translation>Mottaksadresser</translation>
  30194.      </message>
  30195.      <message>
  30196. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  30197. -        <translation>Dette er dine Litecoin-adresser for sending av betalinger. Sjekk alltid beløpet og mottakeradressen før sending av mynter.</translation>
  30198. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  30199. +        <translation>Dette er dine LitecoinCash-adresser for sending av betalinger. Sjekk alltid beløpet og mottakeradressen før sending av mynter.</translation>
  30200.      </message>
  30201.      <message>
  30202. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  30203. -        <translation>Dette er dine Litecoin-adresser for å sende betalinger med. Det er anbefalt å bruke en ny mottaksadresse for hver transaksjon.</translation>
  30204. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  30205. +        <translation>Dette er dine LitecoinCash-adresser for å sende betalinger med. Det er anbefalt å bruke en ny mottaksadresse for hver transaksjon.</translation>
  30206.      </message>
  30207.      <message>
  30208.          <source>&amp;Copy Address</source>
  30209. @@ -168,8 +168,8 @@
  30210.          <translation>Bekreft kryptering av lommebok</translation>
  30211.      </message>
  30212.      <message>
  30213. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  30214. -        <translation>Advarsel: Hvis du krypterer lommeboken og mister adgangsfrasen, så vil du &lt;b&gt;MISTE ALLE DINE LITECOINS&lt;/b&gt;!</translation>
  30215. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  30216. +        <translation>Advarsel: Hvis du krypterer lommeboken og mister adgangsfrasen, så vil du &lt;b&gt;MISTE ALLE DINE LCC&lt;/b&gt;!</translation>
  30217.      </message>
  30218.      <message>
  30219.          <source>Are you sure you wish to encrypt your wallet?</source>
  30220. @@ -180,8 +180,8 @@
  30221.          <translation>Lommebok kryptert</translation>
  30222.      </message>
  30223.      <message>
  30224. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  30225. -        <translation>%1 vil nå lukkes for å fullføre krypteringsprosessen. Husk at kryptering av lommeboken ikke fullt ut kan beskytte dine litecoins fra å bli stjålet om skadevare infiserer datamaskinen din.</translation>
  30226. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  30227. +        <translation>%1 vil nå lukkes for å fullføre krypteringsprosessen. Husk at kryptering av lommeboken ikke fullt ut kan beskytte dine coins fra å bli stjålet om skadevare infiserer datamaskinen din.</translation>
  30228.      </message>
  30229.      <message>
  30230.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  30231. @@ -334,8 +334,8 @@
  30232.          <translation>Reindekserer blokker på harddisk...</translation>
  30233.      </message>
  30234.      <message>
  30235. -        <source>Send coins to a Litecoin address</source>
  30236. -        <translation>Send til en Litecoin-adresse</translation>
  30237. +        <source>Send coins to a LitecoinCash address</source>
  30238. +        <translation>Send til en LitecoinCash-adresse</translation>
  30239.      </message>
  30240.      <message>
  30241.          <source>Backup wallet to another location</source>
  30242. @@ -358,8 +358,8 @@
  30243.          <translation>&amp;Verifiser melding...</translation>
  30244.      </message>
  30245.      <message>
  30246. -        <source>Litecoin</source>
  30247. -        <translation>Litecoin</translation>
  30248. +        <source>LitecoinCash</source>
  30249. +        <translation>LitecoinCash</translation>
  30250.      </message>
  30251.      <message>
  30252.          <source>Wallet</source>
  30253. @@ -386,12 +386,12 @@
  30254.          <translation>Krypter de private nøklene som tilhører lommeboken din</translation>
  30255.      </message>
  30256.      <message>
  30257. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  30258. -        <translation>Signer en melding med Litecoin-adressene dine for å bevise at du eier dem</translation>
  30259. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  30260. +        <translation>Signer en melding med LitecoinCash-adressene dine for å bevise at du eier dem</translation>
  30261.      </message>
  30262.      <message>
  30263. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  30264. -        <translation>Bekreft meldinger for å være sikker på at de ble signert av en angitt Litecoin-adresse</translation>
  30265. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  30266. +        <translation>Bekreft meldinger for å være sikker på at de ble signert av en angitt LitecoinCash-adresse</translation>
  30267.      </message>
  30268.      <message>
  30269.          <source>&amp;File</source>
  30270. @@ -410,8 +410,8 @@
  30271.          <translation>Verktøylinje for faner</translation>
  30272.      </message>
  30273.      <message>
  30274. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  30275. -        <translation>Forespør betalinger (genererer QR-koder og litecoin: URIer)</translation>
  30276. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  30277. +        <translation>Forespør betalinger (genererer QR-koder og litecoincash: URIer)</translation>
  30278.      </message>
  30279.      <message>
  30280.          <source>Show the list of used sending addresses and labels</source>
  30281. @@ -422,16 +422,16 @@
  30282.          <translation>Vis listen over bruke mottaksadresser og merkelapper</translation>
  30283.      </message>
  30284.      <message>
  30285. -        <source>Open a litecoin: URI or payment request</source>
  30286. -        <translation>Åpne en Litecoin: URI eller betalingsetterspørring</translation>
  30287. +        <source>Open a litecoincash: URI or payment request</source>
  30288. +        <translation>Åpne en LitecoinCash: URI eller betalingsetterspørring</translation>
  30289.      </message>
  30290.      <message>
  30291.          <source>&amp;Command-line options</source>
  30292.          <translation>&amp;Kommandolinjevalg</translation>
  30293.      </message>
  30294.      <message numerus="yes">
  30295. -        <source>%n active connection(s) to Litecoin network</source>
  30296. -        <translation><numerusform>%n aktiv forbindelse til Litecoin-nettverket</numerusform><numerusform>%n aktive forbindelser til Litecoin-nettverket</numerusform></translation>
  30297. +        <source>%n active connection(s) to LitecoinCash network</source>
  30298. +        <translation><numerusform>%n aktiv forbindelse til LitecoinCash-nettverket</numerusform><numerusform>%n aktive forbindelser til LitecoinCash-nettverket</numerusform></translation>
  30299.      </message>
  30300.      <message>
  30301.          <source>Indexing blocks on disk...</source>
  30302. @@ -532,8 +532,8 @@
  30303.          <translation>Lommeboken er &lt;b&gt;kryptert&lt;/b&gt; og for tiden &lt;b&gt;låst&lt;/b&gt;</translation>
  30304.      </message>
  30305.      <message>
  30306. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  30307. -        <translation>En fatal feil har inntruffet. Litecoin kan ikke lenger trygt fortsette, og må derfor avslutte.</translation>
  30308. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  30309. +        <translation>En fatal feil har inntruffet. LitecoinCash kan ikke lenger trygt fortsette, og må derfor avslutte.</translation>
  30310.      </message>
  30311.  </context>
  30312.  <context>
  30313. @@ -960,16 +960,16 @@
  30314.          <translation>&amp;Bruk ubekreftet veksel</translation>
  30315.      </message>
  30316.      <message>
  30317. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  30318. -        <translation>Åpne automatisk Litecoin klientporten på ruteren. Dette virker kun om din ruter støtter UPnP og dette er påslått.</translation>
  30319. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  30320. +        <translation>Åpne automatisk LitecoinCash klientporten på ruteren. Dette virker kun om din ruter støtter UPnP og dette er påslått.</translation>
  30321.      </message>
  30322.      <message>
  30323.          <source>Map port using &amp;UPnP</source>
  30324.          <translation>Sett opp port ved hjelp av &amp;UPnP</translation>
  30325.      </message>
  30326.      <message>
  30327. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  30328. -        <translation>Koble til Litecoin-nettverket gjennom en SOCKS5 proxy.</translation>
  30329. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  30330. +        <translation>Koble til LitecoinCash-nettverket gjennom en SOCKS5 proxy.</translation>
  30331.      </message>
  30332.      <message>
  30333.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  30334. @@ -1008,8 +1008,8 @@
  30335.          <translation>Tor</translation>
  30336.      </message>
  30337.      <message>
  30338. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  30339. -        <translation>Koble til Litecoin-nettverket gjennom en separat SOCKS5 mellomtjener for Tor skjulte tjenester.</translation>
  30340. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  30341. +        <translation>Koble til LitecoinCash-nettverket gjennom en separat SOCKS5 mellomtjener for Tor skjulte tjenester.</translation>
  30342.      </message>
  30343.      <message>
  30344.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  30345. @@ -1053,7 +1053,7 @@
  30346.      </message>
  30347.      <message>
  30348.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  30349. -        <translation>Velg standard delt enhet for visning i grensesnittet og for sending av litecoins.</translation>
  30350. +        <translation>Velg standard delt enhet for visning i grensesnittet og for sending av coins.</translation>
  30351.      </message>
  30352.      <message>
  30353.          <source>Whether to show coin control features or not.</source>
  30354. @@ -1103,8 +1103,8 @@
  30355.          <translation>Skjema</translation>
  30356.      </message>
  30357.      <message>
  30358. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  30359. -        <translation>Informasjonen som vises kan være foreldet. Din lommebok synkroniseres automatisk med Litecoin-nettverket etter at tilkobling er opprettet, men denne prosessen er ikke ferdig enda.</translation>
  30360. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  30361. +        <translation>Informasjonen som vises kan være foreldet. Din lommebok synkroniseres automatisk med LitecoinCash-nettverket etter at tilkobling er opprettet, men denne prosessen er ikke ferdig enda.</translation>
  30362.      </message>
  30363.      <message>
  30364.          <source>Watch-only:</source>
  30365. @@ -1192,8 +1192,8 @@
  30366.          <translation>Beløp</translation>
  30367.      </message>
  30368.      <message>
  30369. -        <source>Enter a Litecoin address (e.g. %1)</source>
  30370. -        <translation>Oppgi en Litecoin-adresse (f.eks. %1)</translation>
  30371. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  30372. +        <translation>Oppgi en LitecoinCash-adresse (f.eks. %1)</translation>
  30373.      </message>
  30374.      <message>
  30375.          <source>%1 d</source>
  30376. @@ -1568,8 +1568,8 @@
  30377.          <translation>Gj&amp;enbruk en eksisterende mottaksadresse (ikke anbefalt)</translation>
  30378.      </message>
  30379.      <message>
  30380. -        <source>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 Litecoin network.</source>
  30381. -        <translation>En valgfri melding å tilknytte betalingsetterspørringen, som vil bli vist når forespørselen er åpnet. Meldingen vil ikke bli sendt med betalingen over Litecoin-nettverket.</translation>
  30382. +        <source>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 LitecoinCash network.</source>
  30383. +        <translation>En valgfri melding å tilknytte betalingsetterspørringen, som vil bli vist når forespørselen er åpnet. Meldingen vil ikke bli sendt med betalingen over LitecoinCash-nettverket.</translation>
  30384.      </message>
  30385.      <message>
  30386.          <source>An optional label to associate with the new receiving address.</source>
  30387. @@ -1674,7 +1674,7 @@
  30388.      <name>SendCoinsDialog</name>
  30389.      <message>
  30390.          <source>Send Coins</source>
  30391. -        <translation>Send Litecoins</translation>
  30392. +        <translation>Send LCC</translation>
  30393.      </message>
  30394.      <message>
  30395.          <source>Coin Control Features</source>
  30396. @@ -1753,8 +1753,8 @@
  30397.          <translation>minstebeløp</translation>
  30398.      </message>
  30399.      <message>
  30400. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  30401. -        <translation>Betaling av bare minimumsavgiften går helt fint så lenge det er mindre transaksjonsvolum enn plass i blokkene. Men vær klar over at dette kan ende opp i en transaksjon som aldri blir bekreftet når det er mer etterspørsel etter Litecoin-transaksjoner enn nettverket kan behandle.</translation>
  30402. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  30403. +        <translation>Betaling av bare minimumsavgiften går helt fint så lenge det er mindre transaksjonsvolum enn plass i blokkene. Men vær klar over at dette kan ende opp i en transaksjon som aldri blir bekreftet når det er mer etterspørsel etter LitecoinCash-transaksjoner enn nettverket kan behandle.</translation>
  30404.      </message>
  30405.      <message>
  30406.          <source>(read the tooltip)</source>
  30407. @@ -1860,8 +1860,8 @@
  30408.          <translation>Dette er en normal betaling.</translation>
  30409.      </message>
  30410.      <message>
  30411. -        <source>The Litecoin address to send the payment to</source>
  30412. -        <translation>Litecoin-adressen betalingen skal sendes til</translation>
  30413. +        <source>The LitecoinCash address to send the payment to</source>
  30414. +        <translation>LitecoinCash-adressen betalingen skal sendes til</translation>
  30415.      </message>
  30416.      <message>
  30417.          <source>Alt+A</source>
  30418. @@ -1880,8 +1880,8 @@
  30419.          <translation>Fjern denne oppføringen</translation>
  30420.      </message>
  30421.      <message>
  30422. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  30423. -        <translation>Gebyret vil bli trukket fra beløpet som blir sendt. Mottakeren vil motta mindre litecoins enn det du skriver inn i beløpsfeltet. Hvis det er valgt flere mottakere, deles gebyret likt.</translation>
  30424. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  30425. +        <translation>Gebyret vil bli trukket fra beløpet som blir sendt. Mottakeren vil motta mindre coins enn det du skriver inn i beløpsfeltet. Hvis det er valgt flere mottakere, deles gebyret likt.</translation>
  30426.      </message>
  30427.      <message>
  30428.          <source>S&amp;ubtract fee from amount</source>
  30429. @@ -1904,8 +1904,8 @@
  30430.          <translation>Skriv inn en merkelapp for denne adressen for å legge den til listen av brukte adresser</translation>
  30431.      </message>
  30432.      <message>
  30433. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  30434. -        <translation>En melding som var tilknyttet litecoinen: URI vil bli lagret med transaksjonen for din oversikt. Denne meldingen vil ikke bli sendt over Litecoin-nettverket.</translation>
  30435. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  30436. +        <translation>En melding som var tilknyttet litecoincashen: URI vil bli lagret med transaksjonen for din oversikt. Denne meldingen vil ikke bli sendt over LitecoinCash-nettverket.</translation>
  30437.      </message>
  30438.      <message>
  30439.          <source>Pay To:</source>
  30440. @@ -1945,12 +1945,12 @@
  30441.          <translation>&amp;Signer Melding</translation>
  30442.      </message>
  30443.      <message>
  30444. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  30445. -        <translation>Du kan signere meldinger/avtaler med adresser for å bevise at du kan motta litecoins sendt til dem. Vær forsiktig med å signere noe vagt eller tilfeldig, siden phishing-angrep kan prøve å lure deg til å signere din identitet over til dem. Bare signer fullt detaljerte utsagn som du er enig i.</translation>
  30446. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  30447. +        <translation>Du kan signere meldinger/avtaler med adresser for å bevise at du kan motta coins sendt til dem. Vær forsiktig med å signere noe vagt eller tilfeldig, siden phishing-angrep kan prøve å lure deg til å signere din identitet over til dem. Bare signer fullt detaljerte utsagn som du er enig i.</translation>
  30448.      </message>
  30449.      <message>
  30450. -        <source>The Litecoin address to sign the message with</source>
  30451. -        <translation>Litecoin-adressen meldingen skal signeres med</translation>
  30452. +        <source>The LitecoinCash address to sign the message with</source>
  30453. +        <translation>LitecoinCash-adressen meldingen skal signeres med</translation>
  30454.      </message>
  30455.      <message>
  30456.          <source>Choose previously used address</source>
  30457. @@ -1981,8 +1981,8 @@
  30458.          <translation>Kopier valgt signatur til utklippstavle</translation>
  30459.      </message>
  30460.      <message>
  30461. -        <source>Sign the message to prove you own this Litecoin address</source>
  30462. -        <translation>Signer meldingen for å bevise at du eier denne Litecoin-adressen</translation>
  30463. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  30464. +        <translation>Signer meldingen for å bevise at du eier denne LitecoinCash-adressen</translation>
  30465.      </message>
  30466.      <message>
  30467.          <source>Sign &amp;Message</source>
  30468. @@ -2005,12 +2005,12 @@
  30469.          <translation>Skriv inn mottakerens adresse, melding (forsikre deg om at du kopier linjeskift, mellomrom, faner osv. nøyaktig) og underskrift nedenfor for å bekrefte meldingen. Vær forsiktig så du ikke leser mer ut av signaturen enn hva som er i den signerte meldingen i seg selv, for å unngå å bli lurt av et man-in-the-middle-angrep. Merk at dette bare beviser at den som signerer kan motta med adressen, dette beviser ikke hvem som har sendt transaksjoner!</translation>
  30470.      </message>
  30471.      <message>
  30472. -        <source>The Litecoin address the message was signed with</source>
  30473. -        <translation>Litecoin-adressen meldingen ble signert med</translation>
  30474. +        <source>The LitecoinCash address the message was signed with</source>
  30475. +        <translation>LitecoinCash-adressen meldingen ble signert med</translation>
  30476.      </message>
  30477.      <message>
  30478. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  30479. -        <translation>Verifiser meldingen for å være sikker på at den ble signert av den angitte Litecoin-adressen</translation>
  30480. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  30481. +        <translation>Verifiser meldingen for å være sikker på at den ble signert av den angitte LitecoinCash-adressen</translation>
  30482.      </message>
  30483.      <message>
  30484.          <source>Verify &amp;Message</source>
  30485. @@ -2254,8 +2254,8 @@
  30486.          <translation>Kunne ikke starte HTTP server. Se debug logg for detaljer.</translation>
  30487.      </message>
  30488.      <message>
  30489. -        <source>Litecoin Core</source>
  30490. -        <translation>Litecoin Core</translation>
  30491. +        <source>LitecoinCash Core</source>
  30492. +        <translation>LitecoinCash Core</translation>
  30493.      </message>
  30494.      <message>
  30495.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  30496. diff --git a/src/qt/locale/bitcoin_nb_NO.ts b/src/qt/locale/bitcoin_nb_NO.ts
  30497. index 31e8f25..7d558a5 100644
  30498. --- a/src/qt/locale/bitcoin_nb_NO.ts
  30499. +++ b/src/qt/locale/bitcoin_nb_NO.ts
  30500. @@ -62,12 +62,12 @@
  30501.          <translation>Mottager adresser</translation>
  30502.      </message>
  30503.      <message>
  30504. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  30505. -        <translation>Dette er dine Litecoin adresser for å sende  å sende betalinger. Husk å sjekke beløp og mottager adresser før du sender mynter.</translation>
  30506. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  30507. +        <translation>Dette er dine LitecoinCash adresser for å sende  å sende betalinger. Husk å sjekke beløp og mottager adresser før du sender mynter.</translation>
  30508.      </message>
  30509.      <message>
  30510. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  30511. -        <translation>Dette er dine Litecoin adresse for å motta betalinger. Det er anbefalt å bruke en ny mottager adresse for hver transaksjon.</translation>
  30512. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  30513. +        <translation>Dette er dine LitecoinCash adresse for å motta betalinger. Det er anbefalt å bruke en ny mottager adresse for hver transaksjon.</translation>
  30514.      </message>
  30515.      <message>
  30516.          <source>&amp;Copy Address</source>
  30517. @@ -168,8 +168,8 @@
  30518.          <translation>Bekreft kryptering av lommeboken</translation>
  30519.      </message>
  30520.      <message>
  30521. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  30522. -        <translation>Advarsel: Dersom du krypterer lommeboken og mister passordsetningen vil du &lt;b&gt;MISTE ALLE DINE LITECOIN&lt;/b&gt;!</translation>
  30523. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  30524. +        <translation>Advarsel: Dersom du krypterer lommeboken og mister passordsetningen vil du &lt;b&gt;MISTE ALLE DINE LITECOINCASH&lt;/b&gt;!</translation>
  30525.      </message>
  30526.      <message>
  30527.          <source>Are you sure you wish to encrypt your wallet?</source>
  30528. @@ -180,8 +180,8 @@
  30529.          <translation>Lommeboken er kryptert</translation>
  30530.      </message>
  30531.      <message>
  30532. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  30533. -        <translation>%1 vil nå lukkes for å fullføre krypteringsprosessen. Husk at å kryptere lommeboken ikke kan beskytte dine litecoin fullstendig fra å bli stjålet av skadelig programvare som har infisert datamaskinen din.</translation>
  30534. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  30535. +        <translation>%1 vil nå lukkes for å fullføre krypteringsprosessen. Husk at å kryptere lommeboken ikke kan beskytte dine litecoincash fullstendig fra å bli stjålet av skadelig programvare som har infisert datamaskinen din.</translation>
  30536.      </message>
  30537.      <message>
  30538.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  30539. @@ -338,8 +338,8 @@
  30540.          <translation>Reindekserer blokker på disken</translation>
  30541.      </message>
  30542.      <message>
  30543. -        <source>Send coins to a Litecoin address</source>
  30544. -        <translation>Send mynter til en Litecoin adresse</translation>
  30545. +        <source>Send coins to a LitecoinCash address</source>
  30546. +        <translation>Send mynter til en LitecoinCash adresse</translation>
  30547.      </message>
  30548.      <message>
  30549.          <source>Backup wallet to another location</source>
  30550. @@ -362,8 +362,8 @@
  30551.          <translation>&amp;Verifiser meldingen...</translation>
  30552.      </message>
  30553.      <message>
  30554. -        <source>Litecoin</source>
  30555. -        <translation>Litecoin</translation>
  30556. +        <source>LitecoinCash</source>
  30557. +        <translation>LitecoinCash</translation>
  30558.      </message>
  30559.      <message>
  30560.          <source>Wallet</source>
  30561. @@ -390,12 +390,12 @@
  30562.          <translation>Krypter de private nøklene som tilhører lommeboken din</translation>
  30563.      </message>
  30564.      <message>
  30565. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  30566. -        <translation>Signer meldingene med Litecoin adresse for å bevise at diu eier dem</translation>
  30567. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  30568. +        <translation>Signer meldingene med LitecoinCash adresse for å bevise at diu eier dem</translation>
  30569.      </message>
  30570.      <message>
  30571. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  30572. -        <translation>Verifiser meldinger for å sikre at de ble signert med en angitt Litecoin adresse</translation>
  30573. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  30574. +        <translation>Verifiser meldinger for å sikre at de ble signert med en angitt LitecoinCash adresse</translation>
  30575.      </message>
  30576.      <message>
  30577.          <source>&amp;File</source>
  30578. diff --git a/src/qt/locale/bitcoin_ne.ts b/src/qt/locale/bitcoin_ne.ts
  30579. index 5dc67d4..9811ad3 100644
  30580. --- a/src/qt/locale/bitcoin_ne.ts
  30581. +++ b/src/qt/locale/bitcoin_ne.ts
  30582. @@ -183,8 +183,8 @@
  30583.          <translation>??????? ??????? ???? ??????? ??????...</translation>
  30584.      </message>
  30585.      <message>
  30586. -        <source>Send coins to a Litecoin address</source>
  30587. -        <translation>Litecoin ???????? ?????? ??????????</translation>
  30588. +        <source>Send coins to a LitecoinCash address</source>
  30589. +        <translation>LitecoinCash ???????? ?????? ??????????</translation>
  30590.      </message>
  30591.      <message>
  30592.          <source>Backup wallet to another location</source>
  30593. @@ -227,8 +227,8 @@
  30594.  <context>
  30595.      <name>Intro</name>
  30596.      <message>
  30597. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  30598. -        <translation>%1 ?? Litecoin ???? ????? ???? ????????? ??????? ? ??????? ?????? ? ?? ???????????? ??????? ??? %2GB ???? ??????? ??????, ? ?? ??????? ?????? ? ???????? ??? ?? ???????????? ??????? ?????? ?</translation>
  30599. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  30600. +        <translation>%1 ?? LitecoinCash ???? ????? ???? ????????? ??????? ? ??????? ?????? ? ?? ???????????? ??????? ??? %2GB ???? ??????? ??????, ? ?? ??????? ?????? ? ???????? ??? ?? ???????????? ??????? ?????? ?</translation>
  30601.      </message>
  30602.      </context>
  30603.  <context>
  30604. @@ -247,8 +247,8 @@
  30605.  <context>
  30606.      <name>OverviewPage</name>
  30607.      <message>
  30608. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  30609. -        <translation>???????? ????? ?????? ??? ???? ? ??????? ??????? ?????, ??????? ????? Litecoin ????????? ???????? ????? ?????? ????? , ?? ?? ????????? ????? ???? ???? ???? ??? ?</translation>
  30610. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  30611. +        <translation>???????? ????? ?????? ??? ???? ? ??????? ??????? ?????, ??????? ????? LitecoinCash ????????? ???????? ????? ?????? ????? , ?? ?? ????????? ????? ???? ???? ???? ??? ?</translation>
  30612.      </message>
  30613.      <message>
  30614.          <source>Watch-only:</source>
  30615. @@ -312,8 +312,8 @@
  30616.          <translation>???</translation>
  30617.      </message>
  30618.      <message>
  30619. -        <source>Enter a Litecoin address (e.g. %1)</source>
  30620. -        <translation>????? Litecoin ?????? ?????? ????????? (?????? %1)</translation>
  30621. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  30622. +        <translation>????? LitecoinCash ?????? ?????? ????????? (?????? %1)</translation>
  30623.      </message>
  30624.      </context>
  30625.  <context>
  30626. @@ -356,16 +356,16 @@
  30627.          <translation>????? ?????? ?????? ?????? ?????? ?????????</translation>
  30628.      </message>
  30629.      <message>
  30630. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  30631. -        <translation>??????? ????? ?????? ????? ????? ?????? ? ?????????????? ??????? ??? ????????? ?????? ????? ????? ???? Litecoin ??????? ????? ??? ? ???? ???????????? ??? ?????? ? ??? ???? ????? ????? ??????? ?????? ?</translation>
  30632. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  30633. +        <translation>??????? ????? ?????? ????? ????? ?????? ? ?????????????? ??????? ??? ????????? ?????? ????? ????? ???? LitecoinCash ??????? ????? ??? ? ???? ???????????? ??? ?????? ? ??? ???? ????? ????? ??????? ?????? ?</translation>
  30634.      </message>
  30635.      <message>
  30636.          <source>Enter a label for this address to add it to the list of used addresses</source>
  30637.          <translation>?? ????????? ?????? ?????? ???????? ?????? ???? ???? ???? ???????? ?????????</translation>
  30638.      </message>
  30639.      <message>
  30640. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  30641. -        <translation>Litecoin?? ?????? ?????? ??????: ??????? ????????? ???? ????????? ????? ??????? ????? URI ? ???: ?? ?????? Litecoin ??????? ?????? ?????? ??? ?</translation>
  30642. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  30643. +        <translation>LitecoinCash?? ?????? ?????? ??????: ??????? ????????? ???? ????????? ????? ??????? ????? URI ? ???: ?? ?????? LitecoinCash ??????? ?????? ?????? ??? ?</translation>
  30644.      </message>
  30645.      </context>
  30646.  <context>
  30647. @@ -377,8 +377,8 @@
  30648.  <context>
  30649.      <name>SignVerifyMessageDialog</name>
  30650.      <message>
  30651. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  30652. -        <translation>????? ???????? ??????? Litecoin ??????? ???? ?????? ???? ???????? ???? ??????? ?? ???????? ??????/???????????? ????????? ???? ?????????? ? ????? ???????? ???????? ??????? ????? ???? ??????? ??????? ????????? ?????? ?????? ???? ????? ?????? ??????? ?? ????????? ????????? ????? ????? ???????? ? ??? ???? ???? ????? ???????-????? ????? ????????? ????????? ?</translation>
  30653. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  30654. +        <translation>????? ???????? ??????? LitecoinCash ??????? ???? ?????? ???? ???????? ???? ??????? ?? ???????? ??????/???????????? ????????? ???? ?????????? ? ????? ???????? ???????? ??????? ????? ???? ??????? ??????? ????????? ?????? ?????? ???? ????? ?????? ??????? ?? ????????? ????????? ????? ????? ???????? ? ??? ???? ???? ????? ???????-????? ????? ????????? ????????? ?</translation>
  30655.      </message>
  30656.      <message>
  30657.          <source>Choose previously used address</source>
  30658. diff --git a/src/qt/locale/bitcoin_nl.ts b/src/qt/locale/bitcoin_nl.ts
  30659. index a96bcdd..73ac6da 100644
  30660. --- a/src/qt/locale/bitcoin_nl.ts
  30661. +++ b/src/qt/locale/bitcoin_nl.ts
  30662. @@ -62,12 +62,12 @@
  30663.          <translation>Ontvangstadressen</translation>
  30664.      </message>
  30665.      <message>
  30666. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  30667. -        <translation>Dit zijn uw Litecoinadressen om betalingen mee te verzenden. Controleer altijd het bedrag en het ontvangstadres voordat u uw litecoins verzendt.</translation>
  30668. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  30669. +        <translation>Dit zijn uw LitecoinCashadressen om betalingen mee te verzenden. Controleer altijd het bedrag en het ontvangstadres voordat u uw coins verzendt.</translation>
  30670.      </message>
  30671.      <message>
  30672. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  30673. -        <translation>Dit zijn uw Litecoin-adressen waarmee u betalingen kunt ontvangen. We raden u aan om een nieuw ontvangstadres voor elke transactie te gebruiken.</translation>
  30674. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  30675. +        <translation>Dit zijn uw LitecoinCash-adressen waarmee u betalingen kunt ontvangen. We raden u aan om een nieuw ontvangstadres voor elke transactie te gebruiken.</translation>
  30676.      </message>
  30677.      <message>
  30678.          <source>&amp;Copy Address</source>
  30679. @@ -168,8 +168,8 @@
  30680.          <translation>Bevestig versleuteling van de portemonnee</translation>
  30681.      </message>
  30682.      <message>
  30683. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  30684. -        <translation>Waarschuwing: Als u uw portemonnee versleutelt en uw wachtwoord vergeet, zult u &lt;b&gt;AL UW LITECOINS VERLIEZEN&lt;/b&gt;!</translation>
  30685. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  30686. +        <translation>Waarschuwing: Als u uw portemonnee versleutelt en uw wachtwoord vergeet, zult u &lt;b&gt;AL UW LCC VERLIEZEN&lt;/b&gt;!</translation>
  30687.      </message>
  30688.      <message>
  30689.          <source>Are you sure you wish to encrypt your wallet?</source>
  30690. @@ -180,8 +180,8 @@
  30691.          <translation>Portemonnee versleuteld</translation>
  30692.      </message>
  30693.      <message>
  30694. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  30695. -        <translation>%1 zal nu afsluiten om het versleutelingsproces te voltooien. Onthoud dat het versleutelen van uw portemonnee u niet volledig kan beschermen: Malware kan uw computer infecteren en uw litecoins stelen.</translation>
  30696. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  30697. +        <translation>%1 zal nu afsluiten om het versleutelingsproces te voltooien. Onthoud dat het versleutelen van uw portemonnee u niet volledig kan beschermen: Malware kan uw computer infecteren en uw coins stelen.</translation>
  30698.      </message>
  30699.      <message>
  30700.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  30701. @@ -338,8 +338,8 @@
  30702.          <translation>Bezig met herindexeren van blokken op harde schijf...</translation>
  30703.      </message>
  30704.      <message>
  30705. -        <source>Send coins to a Litecoin address</source>
  30706. -        <translation>Verstuur munten naar een Litecoinadres</translation>
  30707. +        <source>Send coins to a LitecoinCash address</source>
  30708. +        <translation>Verstuur munten naar een LitecoinCashadres</translation>
  30709.      </message>
  30710.      <message>
  30711.          <source>Backup wallet to another location</source>
  30712. @@ -362,8 +362,8 @@
  30713.          <translation>&amp;Verifiëer bericht...</translation>
  30714.      </message>
  30715.      <message>
  30716. -        <source>Litecoin</source>
  30717. -        <translation>Litecoin</translation>
  30718. +        <source>LitecoinCash</source>
  30719. +        <translation>LitecoinCash</translation>
  30720.      </message>
  30721.      <message>
  30722.          <source>Wallet</source>
  30723. @@ -390,12 +390,12 @@
  30724.          <translation>Versleutel de geheime sleutels die bij uw portemonnee horen</translation>
  30725.      </message>
  30726.      <message>
  30727. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  30728. -        <translation>Onderteken berichten met uw Litecoinadressen om te bewijzen dat u deze adressen bezit</translation>
  30729. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  30730. +        <translation>Onderteken berichten met uw LitecoinCashadressen om te bewijzen dat u deze adressen bezit</translation>
  30731.      </message>
  30732.      <message>
  30733. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  30734. -        <translation>Verifiëer handtekeningen om zeker te zijn dat de berichten zijn ondertekend met de gespecificeerde Litecoinadressen</translation>
  30735. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  30736. +        <translation>Verifiëer handtekeningen om zeker te zijn dat de berichten zijn ondertekend met de gespecificeerde LitecoinCashadressen</translation>
  30737.      </message>
  30738.      <message>
  30739.          <source>&amp;File</source>
  30740. @@ -414,8 +414,8 @@
  30741.          <translation>Tab-werkbalk</translation>
  30742.      </message>
  30743.      <message>
  30744. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  30745. -        <translation>Vraag betaling aan (genereert QR-codes en litecoin: URI's)</translation>
  30746. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  30747. +        <translation>Vraag betaling aan (genereert QR-codes en litecoincash: URI's)</translation>
  30748.      </message>
  30749.      <message>
  30750.          <source>Show the list of used sending addresses and labels</source>
  30751. @@ -426,16 +426,16 @@
  30752.          <translation>Toon de lijst met gebruikte ontvangstadressen en labels</translation>
  30753.      </message>
  30754.      <message>
  30755. -        <source>Open a litecoin: URI or payment request</source>
  30756. -        <translation>Open een litecoin: URI of betalingsverzoek</translation>
  30757. +        <source>Open a litecoincash: URI or payment request</source>
  30758. +        <translation>Open een litecoincash: URI of betalingsverzoek</translation>
  30759.      </message>
  30760.      <message>
  30761.          <source>&amp;Command-line options</source>
  30762.          <translation>&amp;Opdrachtregelopties</translation>
  30763.      </message>
  30764.      <message numerus="yes">
  30765. -        <source>%n active connection(s) to Litecoin network</source>
  30766. -        <translation><numerusform>%n actieve verbinding met Litecoinnetwerk</numerusform><numerusform>%n actieve verbindingen met Litecoinnetwerk</numerusform></translation>
  30767. +        <source>%n active connection(s) to LitecoinCash network</source>
  30768. +        <translation><numerusform>%n actieve verbinding met LitecoinCashnetwerk</numerusform><numerusform>%n actieve verbindingen met LitecoinCashnetwerk</numerusform></translation>
  30769.      </message>
  30770.      <message>
  30771.          <source>Indexing blocks on disk...</source>
  30772. @@ -478,8 +478,8 @@
  30773.          <translation>Bijgewerkt</translation>
  30774.      </message>
  30775.      <message>
  30776. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  30777. -        <translation>Toon het %1 hulpbericht om een lijst te krijgen met mogelijke Litecoin commandoregelopties</translation>
  30778. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  30779. +        <translation>Toon het %1 hulpbericht om een lijst te krijgen met mogelijke LitecoinCash commandoregelopties</translation>
  30780.      </message>
  30781.      <message>
  30782.          <source>%1 client</source>
  30783. @@ -548,8 +548,8 @@
  30784.          <translation>Portemonnee is &lt;b&gt;versleuteld&lt;/b&gt; en momenteel &lt;b&gt;gesloten&lt;/b&gt;</translation>
  30785.      </message>
  30786.      <message>
  30787. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  30788. -        <translation>Een fatale fout heeft zich voorgedaan. Litecoin kan niet veilig worden verdergezet en wordt afgesloten.</translation>
  30789. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  30790. +        <translation>Een fatale fout heeft zich voorgedaan. LitecoinCash kan niet veilig worden verdergezet en wordt afgesloten.</translation>
  30791.      </message>
  30792.  </context>
  30793.  <context>
  30794. @@ -742,8 +742,8 @@
  30795.          <translation>Bewerk verzendadres</translation>
  30796.      </message>
  30797.      <message>
  30798. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  30799. -        <translation>Het opgegeven adres "%1" is een ongeldig Litecoinadres.</translation>
  30800. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  30801. +        <translation>Het opgegeven adres "%1" is een ongeldig LitecoinCashadres.</translation>
  30802.      </message>
  30803.      <message>
  30804.          <source>The entered address "%1" is already in the address book.</source>
  30805. @@ -851,8 +851,8 @@
  30806.          <translation>Omdat dit de eerste keer is dat het programma gestart is, kunt u nu kiezen waar %1 de data moet opslaan.</translation>
  30807.      </message>
  30808.      <message>
  30809. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  30810. -        <translation>%1 zal een kopie van de Litecoin blokketen downloaden en opslaan. Tenminste %2 GB aan data wordt opgeslagen in deze map en het zal groeien in de tijd. De portemonnee wordt ook in deze map opgeslagen.</translation>
  30811. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  30812. +        <translation>%1 zal een kopie van de LitecoinCash blokketen downloaden en opslaan. Tenminste %2 GB aan data wordt opgeslagen in deze map en het zal groeien in de tijd. De portemonnee wordt ook in deze map opgeslagen.</translation>
  30813.      </message>
  30814.      <message>
  30815.          <source>Use the default data directory</source>
  30816. @@ -886,12 +886,12 @@
  30817.          <translation>Vorm</translation>
  30818.      </message>
  30819.      <message>
  30820. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  30821. -        <translation>Recente transacties zijn mogelijk nog niet zichtbaar. De balans van de geldbeugel is daarom mogelijk niet correct. Deze informatie is correct van zodra de synchronisatie met het Litecoin-netwerk werd voltooid, zoals onderaan beschreven.</translation>
  30822. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  30823. +        <translation>Recente transacties zijn mogelijk nog niet zichtbaar. De balans van de geldbeugel is daarom mogelijk niet correct. Deze informatie is correct van zodra de synchronisatie met het LitecoinCash-netwerk werd voltooid, zoals onderaan beschreven.</translation>
  30824.      </message>
  30825.      <message>
  30826. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  30827. -        <translation>Poging om litecoins te besteden die door "nog niet weergegeven" transacties worden beïnvloed, worden niet door het netwerk geaccepteerd.</translation>
  30828. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  30829. +        <translation>Poging om coins te besteden die door "nog niet weergegeven" transacties worden beïnvloed, worden niet door het netwerk geaccepteerd.</translation>
  30830.      </message>
  30831.      <message>
  30832.          <source>Number of blocks left</source>
  30833. @@ -1048,16 +1048,16 @@
  30834.          <translation>&amp;Spendeer onbevestigd wisselgeld</translation>
  30835.      </message>
  30836.      <message>
  30837. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  30838. -        <translation>Open de Litecoinpoort automatisch op de router. Dit werkt alleen als de router UPnP ondersteunt en het aanstaat.</translation>
  30839. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  30840. +        <translation>Open de LitecoinCashpoort automatisch op de router. Dit werkt alleen als de router UPnP ondersteunt en het aanstaat.</translation>
  30841.      </message>
  30842.      <message>
  30843.          <source>Map port using &amp;UPnP</source>
  30844.          <translation>Portmapping via &amp;UPnP</translation>
  30845.      </message>
  30846.      <message>
  30847. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  30848. -        <translation>Verbind met het Litecoinnetwerk via een SOCKS5 proxy.</translation>
  30849. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  30850. +        <translation>Verbind met het LitecoinCashnetwerk via een SOCKS5 proxy.</translation>
  30851.      </message>
  30852.      <message>
  30853.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  30854. @@ -1096,8 +1096,8 @@
  30855.          <translation>Tor</translation>
  30856.      </message>
  30857.      <message>
  30858. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  30859. -        <translation>Maak verbinding met Litecoinnetwerk door een aparte SOCKS5-proxy voor verborgen diensten van Tor.</translation>
  30860. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  30861. +        <translation>Maak verbinding met LitecoinCashnetwerk door een aparte SOCKS5-proxy voor verborgen diensten van Tor.</translation>
  30862.      </message>
  30863.      <message>
  30864.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  30865. @@ -1195,8 +1195,8 @@
  30866.          <translation>Vorm</translation>
  30867.      </message>
  30868.      <message>
  30869. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  30870. -        <translation>De weergegeven informatie kan verouderd zijn. Uw portemonnee synchroniseert automatisch met het Litecoinnetwerk nadat een verbinding is gelegd, maar dit proces is nog niet voltooid.</translation>
  30871. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  30872. +        <translation>De weergegeven informatie kan verouderd zijn. Uw portemonnee synchroniseert automatisch met het LitecoinCashnetwerk nadat een verbinding is gelegd, maar dit proces is nog niet voltooid.</translation>
  30873.      </message>
  30874.      <message>
  30875.          <source>Watch-only:</source>
  30876. @@ -1270,8 +1270,8 @@
  30877.          <translation>Fout bij betalingsverzoek</translation>
  30878.      </message>
  30879.      <message>
  30880. -        <source>Cannot start litecoin: click-to-pay handler</source>
  30881. -        <translation>Kan litecoin niet starten: click-to-pay handler</translation>
  30882. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  30883. +        <translation>Kan litecoincash niet starten: click-to-pay handler</translation>
  30884.      </message>
  30885.      <message>
  30886.          <source>URI handling</source>
  30887. @@ -1286,8 +1286,8 @@
  30888.          <translation>Ongeldig betalingsadres %1</translation>
  30889.      </message>
  30890.      <message>
  30891. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  30892. -        <translation>URI kan niet verwerkt worden! Dit kan het gevolg zijn van een ongeldig Litecoin adres of misvormde URI parameters.</translation>
  30893. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  30894. +        <translation>URI kan niet verwerkt worden! Dit kan het gevolg zijn van een ongeldig LitecoinCash adres of misvormde URI parameters.</translation>
  30895.      </message>
  30896.      <message>
  30897.          <source>Payment request file handling</source>
  30898. @@ -1380,8 +1380,8 @@
  30899.          <translation>Bedrag</translation>
  30900.      </message>
  30901.      <message>
  30902. -        <source>Enter a Litecoin address (e.g. %1)</source>
  30903. -        <translation>Voer een Litecoinadres in (bijv. %1)</translation>
  30904. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  30905. +        <translation>Voer een LitecoinCashadres in (bijv. %1)</translation>
  30906.      </message>
  30907.      <message>
  30908.          <source>%1 d</source>
  30909. @@ -1804,8 +1804,8 @@
  30910.          <translation>H&amp;ergebruik en bestaand ontvangstadres (niet aanbevolen)</translation>
  30911.      </message>
  30912.      <message>
  30913. -        <source>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 Litecoin network.</source>
  30914. -        <translation>Een optioneel bericht om bij te voegen aan het betalingsverzoek, welke zal getoond worden wanneer het verzoek is geopend. Opmerking: Het bericht zal niet worden verzonden met de betaling over het Litecoinnetwerk.</translation>
  30915. +        <source>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 LitecoinCash network.</source>
  30916. +        <translation>Een optioneel bericht om bij te voegen aan het betalingsverzoek, welke zal getoond worden wanneer het verzoek is geopend. Opmerking: Het bericht zal niet worden verzonden met de betaling over het LitecoinCashnetwerk.</translation>
  30917.      </message>
  30918.      <message>
  30919.          <source>An optional label to associate with the new receiving address.</source>
  30920. @@ -2037,8 +2037,8 @@
  30921.          <translation>totaal ten minste</translation>
  30922.      </message>
  30923.      <message>
  30924. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  30925. -        <translation>De minimale toeslag betalen is prima mits het transactievolume kleiner is dan de ruimte in de blokken. Let wel op dat dit tot gevolg kan hebben dat een transactie nooit wordt bevestigd als er meer vraag is naar litecointransacties dan het netwerk kan verwerken.</translation>
  30926. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  30927. +        <translation>De minimale toeslag betalen is prima mits het transactievolume kleiner is dan de ruimte in de blokken. Let wel op dat dit tot gevolg kan hebben dat een transactie nooit wordt bevestigd als er meer vraag is naar litecoincashtransacties dan het netwerk kan verwerken.</translation>
  30928.      </message>
  30929.      <message>
  30930.          <source>(read the tooltip)</source>
  30931. @@ -2201,8 +2201,8 @@
  30932.          <translation><numerusform>Schatting is dat bevestiging begint over %n blok.</numerusform><numerusform>Schatting is dat bevestiging begint over %n blokken.</numerusform></translation>
  30933.      </message>
  30934.      <message>
  30935. -        <source>Warning: Invalid Litecoin address</source>
  30936. -        <translation>Waarschuwing: Ongeldig Litecoinadres</translation>
  30937. +        <source>Warning: Invalid LitecoinCash address</source>
  30938. +        <translation>Waarschuwing: Ongeldig LitecoinCashadres</translation>
  30939.      </message>
  30940.      <message>
  30941.          <source>Warning: Unknown change address</source>
  30942. @@ -2244,8 +2244,8 @@
  30943.          <translation>Dit is een normale betaling.</translation>
  30944.      </message>
  30945.      <message>
  30946. -        <source>The Litecoin address to send the payment to</source>
  30947. -        <translation>Het Litecoinadres om betaling aan te versturen</translation>
  30948. +        <source>The LitecoinCash address to send the payment to</source>
  30949. +        <translation>Het LitecoinCashadres om betaling aan te versturen</translation>
  30950.      </message>
  30951.      <message>
  30952.          <source>Alt+A</source>
  30953. @@ -2264,8 +2264,8 @@
  30954.          <translation>Verwijder deze toevoeging</translation>
  30955.      </message>
  30956.      <message>
  30957. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  30958. -        <translation>De transactiekosten zal worden afgetrokken van het bedrag dat verstuurd wordt. De ontvangers zullen minder litecoins ontvangen dan ingevoerd is in het hoeveelheidsveld. Als er meerdere ontvangers geselecteerd zijn, dan worden de transactiekosten gelijk verdeeld.</translation>
  30959. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  30960. +        <translation>De transactiekosten zal worden afgetrokken van het bedrag dat verstuurd wordt. De ontvangers zullen minder coins ontvangen dan ingevoerd is in het hoeveelheidsveld. Als er meerdere ontvangers geselecteerd zijn, dan worden de transactiekosten gelijk verdeeld.</translation>
  30961.      </message>
  30962.      <message>
  30963.          <source>S&amp;ubtract fee from amount</source>
  30964. @@ -2288,8 +2288,8 @@
  30965.          <translation>Vul een label voor dit adres in om het aan de lijst met gebruikte adressen toe te voegen</translation>
  30966.      </message>
  30967.      <message>
  30968. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  30969. -        <translation>Een bericht dat werd toegevoegd aan de litecoin: URI welke wordt opgeslagen met de transactie ter referentie. Opmerking: Dit bericht zal niet worden verzonden over het Litecoinnetwerk.</translation>
  30970. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  30971. +        <translation>Een bericht dat werd toegevoegd aan de litecoincash: URI welke wordt opgeslagen met de transactie ter referentie. Opmerking: Dit bericht zal niet worden verzonden over het LitecoinCashnetwerk.</translation>
  30972.      </message>
  30973.      <message>
  30974.          <source>Pay To:</source>
  30975. @@ -2333,12 +2333,12 @@
  30976.          <translation>&amp;Onderteken Bericht</translation>
  30977.      </message>
  30978.      <message>
  30979. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  30980. -        <translation>U kunt berichten/overeenkomsten ondertekenen met uw adres om te bewijzen dat u Litecoins kunt versturen. Wees voorzichtig met het ondertekenen van iets vaags of willekeurigs, omdat phishingaanvallen u kunnen proberen te misleiden tot het ondertekenen van overeenkomsten om uw identiteit aan hen toe te vertrouwen. Onderteken alleen volledig gedetailleerde verklaringen voordat u akkoord gaat.</translation>
  30981. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  30982. +        <translation>U kunt berichten/overeenkomsten ondertekenen met uw adres om te bewijzen dat u LCC kunt versturen. Wees voorzichtig met het ondertekenen van iets vaags of willekeurigs, omdat phishingaanvallen u kunnen proberen te misleiden tot het ondertekenen van overeenkomsten om uw identiteit aan hen toe te vertrouwen. Onderteken alleen volledig gedetailleerde verklaringen voordat u akkoord gaat.</translation>
  30983.      </message>
  30984.      <message>
  30985. -        <source>The Litecoin address to sign the message with</source>
  30986. -        <translation>Het Litecoinadres om bericht mee te ondertekenen</translation>
  30987. +        <source>The LitecoinCash address to sign the message with</source>
  30988. +        <translation>Het LitecoinCashadres om bericht mee te ondertekenen</translation>
  30989.      </message>
  30990.      <message>
  30991.          <source>Choose previously used address</source>
  30992. @@ -2369,8 +2369,8 @@
  30993.          <translation>Kopieer de huidige handtekening naar het systeemklembord</translation>
  30994.      </message>
  30995.      <message>
  30996. -        <source>Sign the message to prove you own this Litecoin address</source>
  30997. -        <translation>Onderteken een bericht om te bewijzen dat u een bepaald Litecoinadres bezit</translation>
  30998. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  30999. +        <translation>Onderteken een bericht om te bewijzen dat u een bepaald LitecoinCashadres bezit</translation>
  31000.      </message>
  31001.      <message>
  31002.          <source>Sign &amp;Message</source>
  31003. @@ -2393,12 +2393,12 @@
  31004.          <translation>Voer het adres van de ontvanger in, bericht (zorg ervoor dat de regeleinden, spaties, tabs etc. precies kloppen) en onderteken onderaan om het bericht te verifiëren. Wees voorzicht om niet meer in de ondertekening te lezen dan in het getekende bericht zelf, om te voorkomen dat je wordt aangevallen met een man-in-the-middle attack. Houd er mee rekening dat dit alleen de ondertekende partij bewijst met het ontvangen adres, er kan niet bewezen worden dat er een transactie heeft plaatsgevonden!</translation>
  31005.      </message>
  31006.      <message>
  31007. -        <source>The Litecoin address the message was signed with</source>
  31008. -        <translation>Het Litecoinadres waarmee het bericht ondertekend is</translation>
  31009. +        <source>The LitecoinCash address the message was signed with</source>
  31010. +        <translation>Het LitecoinCashadres waarmee het bericht ondertekend is</translation>
  31011.      </message>
  31012.      <message>
  31013. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  31014. -        <translation>Controleer een bericht om te verifiëren dat het gespecificeerde Litecoinadres het bericht heeft ondertekend.</translation>
  31015. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  31016. +        <translation>Controleer een bericht om te verifiëren dat het gespecificeerde LitecoinCashadres het bericht heeft ondertekend.</translation>
  31017.      </message>
  31018.      <message>
  31019.          <source>Verify &amp;Message</source>
  31020. @@ -3054,8 +3054,8 @@
  31021.          <translation>Niet mogelijk ok HTTP-server te starten. Zie debuglogboek voor details.</translation>
  31022.      </message>
  31023.      <message>
  31024. -        <source>Litecoin Core</source>
  31025. -        <translation>Litecoin Core</translation>
  31026. +        <source>LitecoinCash Core</source>
  31027. +        <translation>LitecoinCash Core</translation>
  31028.      </message>
  31029.      <message>
  31030.          <source>The %s developers</source>
  31031. diff --git a/src/qt/locale/bitcoin_nl_NL.ts b/src/qt/locale/bitcoin_nl_NL.ts
  31032. index 5de8545..3a7b048 100644
  31033. --- a/src/qt/locale/bitcoin_nl_NL.ts
  31034. +++ b/src/qt/locale/bitcoin_nl_NL.ts
  31035. @@ -62,12 +62,12 @@
  31036.          <translation>Ontvangstadres</translation>
  31037.      </message>
  31038.      <message>
  31039. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  31040. -        <translation>Dit zijn uw Litecoin adressen voor het versturen van betalingen. Controleer altijd het bedrag en het ontvangstadres voordat u munten verstuurd.</translation>
  31041. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  31042. +        <translation>Dit zijn uw LitecoinCash adressen voor het versturen van betalingen. Controleer altijd het bedrag en het ontvangstadres voordat u munten verstuurd.</translation>
  31043.      </message>
  31044.      <message>
  31045. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  31046. -        <translation>Dit zijn uw Litecoin adressen voor het ontvangen van betalingen. Het wordt aanbevolen om voor elke transactie een nieuw ontvangstadres te gebruiken.</translation>
  31047. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  31048. +        <translation>Dit zijn uw LitecoinCash adressen voor het ontvangen van betalingen. Het wordt aanbevolen om voor elke transactie een nieuw ontvangstadres te gebruiken.</translation>
  31049.      </message>
  31050.      <message>
  31051.          <source>&amp;Copy Address</source>
  31052. diff --git a/src/qt/locale/bitcoin_pam.ts b/src/qt/locale/bitcoin_pam.ts
  31053. index 843e25a..47d9e80 100644
  31054. --- a/src/qt/locale/bitcoin_pam.ts
  31055. +++ b/src/qt/locale/bitcoin_pam.ts
  31056. @@ -122,8 +122,8 @@
  31057.          <translation>Address king pamag-Tanggap</translation>
  31058.      </message>
  31059.      <message>
  31060. -        <source>Send coins to a Litecoin address</source>
  31061. -        <translation>Magpadalang barya king Litecoin address</translation>
  31062. +        <source>Send coins to a LitecoinCash address</source>
  31063. +        <translation>Magpadalang barya king LitecoinCash address</translation>
  31064.      </message>
  31065.      <message>
  31066.          <source>Backup wallet to another location</source>
  31067. @@ -146,8 +146,8 @@
  31068.          <translation>&amp;Beripikan ing message...</translation>
  31069.      </message>
  31070.      <message>
  31071. -        <source>Litecoin</source>
  31072. -        <translation>Litecoin</translation>
  31073. +        <source>LitecoinCash</source>
  31074. +        <translation>LitecoinCash</translation>
  31075.      </message>
  31076.      <message>
  31077.          <source>Wallet</source>
  31078. @@ -322,8 +322,8 @@
  31079.          <translation>&amp;Network</translation>
  31080.      </message>
  31081.      <message>
  31082. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  31083. -        <translation>Ibuklat yang antimanu ing Litecoin client port king router. Gagana yamu ini istung ing router mu susuporta yang UPnP at magsilbi ya.</translation>
  31084. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  31085. +        <translation>Ibuklat yang antimanu ing LitecoinCash client port king router. Gagana yamu ini istung ing router mu susuporta yang UPnP at magsilbi ya.</translation>
  31086.      </message>
  31087.      <message>
  31088.          <source>Map port using &amp;UPnP</source>
  31089. @@ -397,8 +397,8 @@
  31090.          <translation>Form</translation>
  31091.      </message>
  31092.      <message>
  31093. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  31094. -        <translation>Ing makaltong impormasion mapalyaring luma ne. Ing kekang wallet otomatiku yang mag-synchronize keng Litecoin network istung mekakonekta ne king network, oneng ing prosesung ini ali ya pa kumpletu.</translation>
  31095. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  31096. +        <translation>Ing makaltong impormasion mapalyaring luma ne. Ing kekang wallet otomatiku yang mag-synchronize keng LitecoinCash network istung mekakonekta ne king network, oneng ing prosesung ini ali ya pa kumpletu.</translation>
  31097.      </message>
  31098.      <message>
  31099.          <source>Your current spendable balance</source>
  31100. @@ -655,8 +655,8 @@
  31101.          <translation>Kopyan ing kasalungsungan pirma king system clipboard</translation>
  31102.      </message>
  31103.      <message>
  31104. -        <source>Sign the message to prove you own this Litecoin address</source>
  31105. -        <translation>Pirman ing mensayi ban patune na keka ya ining Litecoin address</translation>
  31106. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  31107. +        <translation>Pirman ing mensayi ban patune na keka ya ining LitecoinCash address</translation>
  31108.      </message>
  31109.      <message>
  31110.          <source>Sign &amp;Message</source>
  31111. @@ -675,8 +675,8 @@
  31112.          <translation>&amp;Beripikan ing Mensayi</translation>
  31113.      </message>
  31114.      <message>
  31115. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  31116. -        <translation>Beripikan ing mensayi ban asiguradu a me pirma ya ini gamit ing mepiling Litecoin address</translation>
  31117. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  31118. +        <translation>Beripikan ing mensayi ban asiguradu a me pirma ya ini gamit ing mepiling LitecoinCash address</translation>
  31119.      </message>
  31120.      <message>
  31121.          <source>Verify &amp;Message</source>
  31122. @@ -752,8 +752,8 @@
  31123.          <translation>Gumana king gulut bilang daemon at tumanggap commands</translation>
  31124.      </message>
  31125.      <message>
  31126. -        <source>Litecoin Core</source>
  31127. -        <translation>Kapilubluban ning Litecoin</translation>
  31128. +        <source>LitecoinCash Core</source>
  31129. +        <translation>Kapilubluban ning LitecoinCash</translation>
  31130.      </message>
  31131.      <message>
  31132.          <source>Block creation options:</source>
  31133. diff --git a/src/qt/locale/bitcoin_pl.ts b/src/qt/locale/bitcoin_pl.ts
  31134. index a60ee40..ec77e1f 100644
  31135. --- a/src/qt/locale/bitcoin_pl.ts
  31136. +++ b/src/qt/locale/bitcoin_pl.ts
  31137. @@ -62,12 +62,12 @@
  31138.          <translation>Adresy odbioru</translation>
  31139.      </message>
  31140.      <message>
  31141. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  31142. -        <translation>Tutaj znajduj? si? adresy Litecoin na które wysy?asz p?atno?ci. Zawsze sprawdzaj ilo?? i adres odbiorcy przed wysy?k? monet.</translation>
  31143. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  31144. +        <translation>Tutaj znajduj? si? adresy LitecoinCash na które wysy?asz p?atno?ci. Zawsze sprawdzaj ilo?? i adres odbiorcy przed wysy?k? monet.</translation>
  31145.      </message>
  31146.      <message>
  31147. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  31148. -        <translation>To s? twoje adresy Litecoin do odbierania p?atno?ci. Zaleca si? u?ywanie nowych adresów odbiorczych dla ka?dej transakcji.</translation>
  31149. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  31150. +        <translation>To s? twoje adresy LitecoinCash do odbierania p?atno?ci. Zaleca si? u?ywanie nowych adresów odbiorczych dla ka?dej transakcji.</translation>
  31151.      </message>
  31152.      <message>
  31153.          <source>&amp;Copy Address</source>
  31154. @@ -168,8 +168,8 @@
  31155.          <translation>Potwierd? szyfrowanie portfela</translation>
  31156.      </message>
  31157.      <message>
  31158. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  31159. -        <translation>Uwaga: je?li zaszyfrujesz swój portfel i zgubisz has?o &lt;b&gt;STRACISZ WSZYSTKIE SWOJE LITECOINY&lt;/b&gt;!</translation>
  31160. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  31161. +        <translation>Uwaga: je?li zaszyfrujesz swój portfel i zgubisz has?o &lt;b&gt;STRACISZ WSZYSTKIE SWOJE LITECOINCASHY&lt;/b&gt;!</translation>
  31162.      </message>
  31163.      <message>
  31164.          <source>Are you sure you wish to encrypt your wallet?</source>
  31165. @@ -180,8 +180,8 @@
  31166.          <translation>Portfel zaszyfrowany</translation>
  31167.      </message>
  31168.      <message>
  31169. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  31170. -        <translation>%1 zamknie si? aby doko?czy? proces szyfrowania. Pami?taj, ?e szyfrowanie portfela nie zabezpiecza w pe?ni Twoich litecoinów przed kradzie?? przez wirusy lub trojany mog?ce zainfekowa? Twój komputer.</translation>
  31171. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  31172. +        <translation>%1 zamknie si? aby doko?czy? proces szyfrowania. Pami?taj, ?e szyfrowanie portfela nie zabezpiecza w pe?ni Twoich litecoincashów przed kradzie?? przez wirusy lub trojany mog?ce zainfekowa? Twój komputer.</translation>
  31173.      </message>
  31174.      <message>
  31175.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  31176. @@ -338,8 +338,8 @@
  31177.          <translation>Ponowne indeksowanie bloków na dysku...</translation>
  31178.      </message>
  31179.      <message>
  31180. -        <source>Send coins to a Litecoin address</source>
  31181. -        <translation>Wy?lij monety na adres litecoinowy</translation>
  31182. +        <source>Send coins to a LitecoinCash address</source>
  31183. +        <translation>Wy?lij monety na adres litecoincashowy</translation>
  31184.      </message>
  31185.      <message>
  31186.          <source>Backup wallet to another location</source>
  31187. @@ -362,8 +362,8 @@
  31188.          <translation>&amp;Zweryfikuj wiadomo??...</translation>
  31189.      </message>
  31190.      <message>
  31191. -        <source>Litecoin</source>
  31192. -        <translation>Litecoin</translation>
  31193. +        <source>LitecoinCash</source>
  31194. +        <translation>LitecoinCash</translation>
  31195.      </message>
  31196.      <message>
  31197.          <source>Wallet</source>
  31198. @@ -390,12 +390,12 @@
  31199.          <translation>Szyfruj klucze prywatne, które s? w twoim portfelu</translation>
  31200.      </message>
  31201.      <message>
  31202. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  31203. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  31204.          <translation>Podpisz wiadomo?ci swoim adresem aby udowodni? jego posiadanie</translation>
  31205.      </message>
  31206.      <message>
  31207. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  31208. -        <translation>Zweryfikuj wiadomo??,  aby upewni? si?, ?e zosta?a podpisana podanym adresem litecoinowym.</translation>
  31209. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  31210. +        <translation>Zweryfikuj wiadomo??,  aby upewni? si?, ?e zosta?a podpisana podanym adresem litecoincashowym.</translation>
  31211.      </message>
  31212.      <message>
  31213.          <source>&amp;File</source>
  31214. @@ -414,8 +414,8 @@
  31215.          <translation>Pasek zak?adek</translation>
  31216.      </message>
  31217.      <message>
  31218. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  31219. -        <translation>??daj p?atno?ci (generuje kod QR oraz litecoinowe URI)</translation>
  31220. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  31221. +        <translation>??daj p?atno?ci (generuje kod QR oraz litecoincashowe URI)</translation>
  31222.      </message>
  31223.      <message>
  31224.          <source>Show the list of used sending addresses and labels</source>
  31225. @@ -426,16 +426,16 @@
  31226.          <translation>Poka? list? adresów i etykiet u?ytych do odbierania</translation>
  31227.      </message>
  31228.      <message>
  31229. -        <source>Open a litecoin: URI or payment request</source>
  31230. -        <translation>Otwórz URI litecoin: lub ??danie zap?aty</translation>
  31231. +        <source>Open a litecoincash: URI or payment request</source>
  31232. +        <translation>Otwórz URI litecoincash: lub ??danie zap?aty</translation>
  31233.      </message>
  31234.      <message>
  31235.          <source>&amp;Command-line options</source>
  31236.          <translation>&amp;Opcje linii komend</translation>
  31237.      </message>
  31238.      <message numerus="yes">
  31239. -        <source>%n active connection(s) to Litecoin network</source>
  31240. -        <translation><numerusform>%n aktywnych po??cze? do sieci Litecoin</numerusform><numerusform>%n aktywnych po??cze? do sieci Litecoin</numerusform><numerusform>%n aktywnych po??cze? do sieci Litecoin</numerusform><numerusform>%n aktywnych po??cze? do sieci Litecoin</numerusform></translation>
  31241. +        <source>%n active connection(s) to LitecoinCash network</source>
  31242. +        <translation><numerusform>%n aktywnych po??cze? do sieci LitecoinCash</numerusform><numerusform>%n aktywnych po??cze? do sieci LitecoinCash</numerusform><numerusform>%n aktywnych po??cze? do sieci LitecoinCash</numerusform><numerusform>%n aktywnych po??cze? do sieci LitecoinCash</numerusform></translation>
  31243.      </message>
  31244.      <message>
  31245.          <source>Indexing blocks on disk...</source>
  31246. @@ -478,7 +478,7 @@
  31247.          <translation>Aktualny</translation>
  31248.      </message>
  31249.      <message>
  31250. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  31251. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  31252.          <translation>Poka? pomoc %1 aby zobaczy? list? wszystkich opcji lnii polece?.</translation>
  31253.      </message>
  31254.      <message>
  31255. @@ -548,8 +548,8 @@
  31256.          <translation>Portfel jest &lt;b&gt;zaszyfrowany&lt;/b&gt; i obecnie &lt;b&gt;zablokowany&lt;/b&gt;</translation>
  31257.      </message>
  31258.      <message>
  31259. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  31260. -        <translation>Wyst?pi? krytyczny b??d. Litecoin nie jest w stanie kontynuowa? bezpiecznie i zostanie zamkni?ty.</translation>
  31261. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  31262. +        <translation>Wyst?pi? krytyczny b??d. LitecoinCash nie jest w stanie kontynuowa? bezpiecznie i zostanie zamkni?ty.</translation>
  31263.      </message>
  31264.  </context>
  31265.  <context>
  31266. @@ -742,8 +742,8 @@
  31267.          <translation>Zmie? adres wysy?ania</translation>
  31268.      </message>
  31269.      <message>
  31270. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  31271. -        <translation>Wprowadzony adres "%1" nie jest prawid?owym adresem Litecoin.</translation>
  31272. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  31273. +        <translation>Wprowadzony adres "%1" nie jest prawid?owym adresem LitecoinCash.</translation>
  31274.      </message>
  31275.      <message>
  31276.          <source>The entered address "%1" is already in the address book.</source>
  31277. @@ -851,8 +851,8 @@
  31278.          <translation>Poniewa? jest to pierwsze uruchomienie programu, mo?esz wybra? gdzie %1 b?dzie przechowywa? swoje dane.</translation>
  31279.      </message>
  31280.      <message>
  31281. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  31282. -        <translation>%1 pobierze i b?dzie przechowywa? kopi? ?a?cucha bloków Litecoin. W wybranym katalogu zostanie zapisanych %2GB danych, a z czasem ta ilo?? b?dzie ros?a. Portfel b?dzie przechowywany w tym samym katalogu.</translation>
  31283. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  31284. +        <translation>%1 pobierze i b?dzie przechowywa? kopi? ?a?cucha bloków LitecoinCash. W wybranym katalogu zostanie zapisanych %2GB danych, a z czasem ta ilo?? b?dzie ros?a. Portfel b?dzie przechowywany w tym samym katalogu.</translation>
  31285.      </message>
  31286.      <message>
  31287.          <source>Use the default data directory</source>
  31288. @@ -886,12 +886,12 @@
  31289.          <translation>Formularz</translation>
  31290.      </message>
  31291.      <message>
  31292. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  31293. -        <translation>?wie?e transakcje mog? nie by? jeszcze widoczne, a zatem saldo portfela mo?e by? nieprawid?owe. Te detale b?d? poprawne, gdy portfel zako?czy synchronizacj? z sieci? litecoin, zgodnie z poni?szym opisem.</translation>
  31294. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  31295. +        <translation>?wie?e transakcje mog? nie by? jeszcze widoczne, a zatem saldo portfela mo?e by? nieprawid?owe. Te detale b?d? poprawne, gdy portfel zako?czy synchronizacj? z sieci? litecoincash, zgodnie z poni?szym opisem.</translation>
  31296.      </message>
  31297.      <message>
  31298. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  31299. -        <translation>Próba wydania litecoinów które nie s? jeszcze wy?wietlone jako transakcja zostanie odrzucona przez sie?. </translation>
  31300. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  31301. +        <translation>Próba wydania litecoincashów które nie s? jeszcze wy?wietlone jako transakcja zostanie odrzucona przez sie?. </translation>
  31302.      </message>
  31303.      <message>
  31304.          <source>Number of blocks left</source>
  31305. @@ -1048,16 +1048,16 @@
  31306.          <translation>Wydaj niepotwierdzon? re&amp;szt?</translation>
  31307.      </message>
  31308.      <message>
  31309. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  31310. -        <translation>Automatycznie otwiera port klienta Litecoin na routerze. Ta opcja dzie?a tylko je?li twój router wspiera UPnP i jest ono w??czone.</translation>
  31311. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  31312. +        <translation>Automatycznie otwiera port klienta LitecoinCash na routerze. Ta opcja dzie?a tylko je?li twój router wspiera UPnP i jest ono w??czone.</translation>
  31313.      </message>
  31314.      <message>
  31315.          <source>Map port using &amp;UPnP</source>
  31316.          <translation>Mapuj port u?ywaj?c &amp;UPnP</translation>
  31317.      </message>
  31318.      <message>
  31319. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  31320. -        <translation>Po??cz si? z sieci? Litecoin poprzez proxy SOCKS5.</translation>
  31321. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  31322. +        <translation>Po??cz si? z sieci? LitecoinCash poprzez proxy SOCKS5.</translation>
  31323.      </message>
  31324.      <message>
  31325.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  31326. @@ -1096,8 +1096,8 @@
  31327.          <translation>Tor</translation>
  31328.      </message>
  31329.      <message>
  31330. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  31331. -        <translation>Po??cz si? z sieci? Litecoin przy pomocy oddzielnego SOCKS5 proxy dla sieci TOR</translation>
  31332. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  31333. +        <translation>Po??cz si? z sieci? LitecoinCash przy pomocy oddzielnego SOCKS5 proxy dla sieci TOR</translation>
  31334.      </message>
  31335.      <message>
  31336.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  31337. @@ -1195,8 +1195,8 @@
  31338.          <translation>Formularz</translation>
  31339.      </message>
  31340.      <message>
  31341. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  31342. -        <translation>Wy?wietlana informacja mo?e by? nieaktualna. Twój portfel synchronizuje si? automatycznie z sieci? litecoin, zaraz po tym jak uzyskano po??czenie, ale proces ten nie zosta? jeszcze uko?czony.</translation>
  31343. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  31344. +        <translation>Wy?wietlana informacja mo?e by? nieaktualna. Twój portfel synchronizuje si? automatycznie z sieci? litecoincash, zaraz po tym jak uzyskano po??czenie, ale proces ten nie zosta? jeszcze uko?czony.</translation>
  31345.      </message>
  31346.      <message>
  31347.          <source>Watch-only:</source>
  31348. @@ -1270,8 +1270,8 @@
  31349.          <translation>B??d ??dania p?atno?ci</translation>
  31350.      </message>
  31351.      <message>
  31352. -        <source>Cannot start litecoin: click-to-pay handler</source>
  31353. -        <translation>Nie mo?na uruchomi? protoko?u litecoin: kliknij-by-zap?aci?</translation>
  31354. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  31355. +        <translation>Nie mo?na uruchomi? protoko?u litecoincash: kliknij-by-zap?aci?</translation>
  31356.      </message>
  31357.      <message>
  31358.          <source>URI handling</source>
  31359. @@ -1356,8 +1356,8 @@
  31360.          <translation>Kwota</translation>
  31361.      </message>
  31362.      <message>
  31363. -        <source>Enter a Litecoin address (e.g. %1)</source>
  31364. -        <translation>Wprowad? adres litecoinowy (np. %1)</translation>
  31365. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  31366. +        <translation>Wprowad? adres litecoincashowy (np. %1)</translation>
  31367.      </message>
  31368.      <message>
  31369.          <source>%1 d</source>
  31370. @@ -1780,8 +1780,8 @@
  31371.          <translation>U&amp;?yj ponownie istniej?cego adresu odbiorczego (niepolecane)</translation>
  31372.      </message>
  31373.      <message>
  31374. -        <source>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 Litecoin network.</source>
  31375. -        <translation>Opcjonalna wiadomo?? do do??czenia do ??dania p?atno?ci, która b?dzie wy?wietlana, gdy ??danie zostanie otwarte. Uwaga: wiadomo?? ta nie zostanie wys?ana wraz z p?atno?ci? w sieci Litecoin.</translation>
  31376. +        <source>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 LitecoinCash network.</source>
  31377. +        <translation>Opcjonalna wiadomo?? do do??czenia do ??dania p?atno?ci, która b?dzie wy?wietlana, gdy ??danie zostanie otwarte. Uwaga: wiadomo?? ta nie zostanie wys?ana wraz z p?atno?ci? w sieci LitecoinCash.</translation>
  31378.      </message>
  31379.      <message>
  31380.          <source>An optional label to associate with the new receiving address.</source>
  31381. @@ -2013,8 +2013,8 @@
  31382.          <translation>razem przynajmniej</translation>
  31383.      </message>
  31384.      <message>
  31385. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  31386. -        <translation>Zap?acenie tylko minimalnej op?aty jest nadal wystarczaj?ce, dopóki jest mniejszy wolumen transakcji ni? miejsca w blokach. Nale?y jednak mie? ?wiadomo??, ?e mo?e sko?czy? si? to niezatwierdzeniem nigdy transakcji, gdy jest wi?ksze zapotrzebowanie na transakcje litecoina ni? sie? mo?e przetworzy?.</translation>
  31387. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  31388. +        <translation>Zap?acenie tylko minimalnej op?aty jest nadal wystarczaj?ce, dopóki jest mniejszy wolumen transakcji ni? miejsca w blokach. Nale?y jednak mie? ?wiadomo??, ?e mo?e sko?czy? si? to niezatwierdzeniem nigdy transakcji, gdy jest wi?ksze zapotrzebowanie na transakcje litecoincasha ni? sie? mo?e przetworzy?.</translation>
  31389.      </message>
  31390.      <message>
  31391.          <source>(read the tooltip)</source>
  31392. @@ -2173,8 +2173,8 @@
  31393.          <translation><numerusform>Przybli?ony czas zatwierdzenia: %n blok.</numerusform><numerusform>Przybli?ony czas zatwierdzenia: %n bloki.</numerusform><numerusform>Przybli?ony czas zatwierdzenia: %n bloków.</numerusform><numerusform>Przybli?ony czas zatwierdzenia: %n bloków.</numerusform></translation>
  31394.      </message>
  31395.      <message>
  31396. -        <source>Warning: Invalid Litecoin address</source>
  31397. -        <translation>Ostrze?enie: nieprawid?owy adres Litecoin</translation>
  31398. +        <source>Warning: Invalid LitecoinCash address</source>
  31399. +        <translation>Ostrze?enie: nieprawid?owy adres LitecoinCash</translation>
  31400.      </message>
  31401.      <message>
  31402.          <source>Warning: Unknown change address</source>
  31403. @@ -2212,8 +2212,8 @@
  31404.          <translation>To jest standardowa p?atno??</translation>
  31405.      </message>
  31406.      <message>
  31407. -        <source>The Litecoin address to send the payment to</source>
  31408. -        <translation>Adres Litecoin gdzie wys?a? p?atno??</translation>
  31409. +        <source>The LitecoinCash address to send the payment to</source>
  31410. +        <translation>Adres LitecoinCash gdzie wys?a? p?atno??</translation>
  31411.      </message>
  31412.      <message>
  31413.          <source>Alt+A</source>
  31414. @@ -2232,8 +2232,8 @@
  31415.          <translation>Usu? ten wpis</translation>
  31416.      </message>
  31417.      <message>
  31418. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  31419. -        <translation>Op?ata zostanie odj?ta od kwoty wysy?ane.Odbiorca otrzyma mniej ni? litecoins wpisz w polu kwoty. Je?li wybrano kilku odbiorców, op?ata jest podzielona równo.</translation>
  31420. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  31421. +        <translation>Op?ata zostanie odj?ta od kwoty wysy?ane.Odbiorca otrzyma mniej ni? coins wpisz w polu kwoty. Je?li wybrano kilku odbiorców, op?ata jest podzielona równo.</translation>
  31422.      </message>
  31423.      <message>
  31424.          <source>S&amp;ubtract fee from amount</source>
  31425. @@ -2256,8 +2256,8 @@
  31426.          <translation>Wprowad? etykiet? dla tego adresu by doda? go do listy u?ytych adresów</translation>
  31427.      </message>
  31428.      <message>
  31429. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  31430. -        <translation>Wiadomo??, która zosta?a do??czona do URI litecoin:, która b?dzie przechowywana wraz z transakcj? w celach informacyjnych. Uwaga: Ta wiadomo?? nie b?dzie rozsy?ana w sieci Litecoin.</translation>
  31431. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  31432. +        <translation>Wiadomo??, która zosta?a do??czona do URI litecoincash:, która b?dzie przechowywana wraz z transakcj? w celach informacyjnych. Uwaga: Ta wiadomo?? nie b?dzie rozsy?ana w sieci LitecoinCash.</translation>
  31433.      </message>
  31434.      <message>
  31435.          <source>Pay To:</source>
  31436. @@ -2301,12 +2301,12 @@
  31437.          <translation>Podpi&amp;sz Wiadomo??</translation>
  31438.      </message>
  31439.      <message>
  31440. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  31441. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  31442.          <translation>Mo?esz podpisywa? wiadomo?ci swoimi adresami aby udowodni?, ?e jeste? ich w?a?cicielem. Uwa?aj, aby nie podpisywa? niczego co wzbudza Twoje podejrzenia, poniewa? kto? mo?e stosowa? phishing próbuj?c nak?oni? Ci? do ich podpisania. Akceptuj i podpisuj tylko w pe?ni zrozumia?e komunikaty i wiadomo?ci.</translation>
  31443.      </message>
  31444.      <message>
  31445. -        <source>The Litecoin address to sign the message with</source>
  31446. -        <translation>Adres Litecoin, za pomoc? którego podpisa? wiadomo??</translation>
  31447. +        <source>The LitecoinCash address to sign the message with</source>
  31448. +        <translation>Adres LitecoinCash, za pomoc? którego podpisa? wiadomo??</translation>
  31449.      </message>
  31450.      <message>
  31451.          <source>Choose previously used address</source>
  31452. @@ -2337,7 +2337,7 @@
  31453.          <translation>Kopiuje aktualny podpis do schowka systemowego</translation>
  31454.      </message>
  31455.      <message>
  31456. -        <source>Sign the message to prove you own this Litecoin address</source>
  31457. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  31458.          <translation>Podpisz wiadomo?? aby dowie??, ?e ten adres jest twój</translation>
  31459.      </message>
  31460.      <message>
  31461. @@ -2362,12 +2362,12 @@
  31462.  Zwró? uwag?, ?e poprawnie zweryfikowana wiadomo?? potwierdza to, ?e nadawca posiada klucz do adresu, natomiast nie potwierdza to, ?e poprawne wys?anie jakiejkolwiek transakcji! </translation>
  31463.      </message>
  31464.      <message>
  31465. -        <source>The Litecoin address the message was signed with</source>
  31466. -        <translation>Adres Litecoin, którym zosta?a podpisana wiadomo??</translation>
  31467. +        <source>The LitecoinCash address the message was signed with</source>
  31468. +        <translation>Adres LitecoinCash, którym zosta?a podpisana wiadomo??</translation>
  31469.      </message>
  31470.      <message>
  31471. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  31472. -        <translation>Zweryfikuj wiadomo??,  aby upewni? si?, ?e zosta?a podpisana odpowiednim adresem Litecoin.</translation>
  31473. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  31474. +        <translation>Zweryfikuj wiadomo??,  aby upewni? si?, ?e zosta?a podpisana odpowiednim adresem LitecoinCash.</translation>
  31475.      </message>
  31476.      <message>
  31477.          <source>Verify &amp;Message</source>
  31478. @@ -2963,8 +2963,8 @@ Zwró? uwag?, ?e poprawnie zweryfikowana wiadomo?? potwierdza to, ?e nadaw
  31479.          <translation>Uruchomienie serwera HTTP nie powiod?o si?. Zobacz dziennik debugowania, aby uzyska? wi?cej szczegó?ów.</translation>
  31480.      </message>
  31481.      <message>
  31482. -        <source>Litecoin Core</source>
  31483. -        <translation>Rdze? Litecoina</translation>
  31484. +        <source>LitecoinCash Core</source>
  31485. +        <translation>Rdze? LitecoinCasha</translation>
  31486.      </message>
  31487.      <message>
  31488.          <source>The %s developers</source>
  31489. diff --git a/src/qt/locale/bitcoin_pt_BR.ts b/src/qt/locale/bitcoin_pt_BR.ts
  31490. index f91e44d..7c5b7be 100644
  31491. --- a/src/qt/locale/bitcoin_pt_BR.ts
  31492. +++ b/src/qt/locale/bitcoin_pt_BR.ts
  31493. @@ -62,11 +62,11 @@
  31494.          <translation>Endereços de recebimento</translation>
  31495.      </message>
  31496.      <message>
  31497. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  31498. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  31499.          <translation>Estes são os seus endereços para enviar pagamentos. Sempre cheque a quantia e o endereço do destinatário antes de enviar moedas.</translation>
  31500.      </message>
  31501.      <message>
  31502. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  31503. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  31504.          <translation>Estes são os seus endereços para receber pagamentos. É recomendado usar um novo para cada transação.</translation>
  31505.      </message>
  31506.      <message>
  31507. @@ -168,8 +168,8 @@
  31508.          <translation>Confirmar criptografia da carteira</translation>
  31509.      </message>
  31510.      <message>
  31511. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  31512. -        <translation>Aviso: Se você criptografar sua carteira e perder sua senha, você vai &lt;b&gt;PERDER TODOS OS SEUS LITECOINS&lt;/b&gt;!</translation>
  31513. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  31514. +        <translation>Aviso: Se você criptografar sua carteira e perder sua senha, você vai &lt;b&gt;PERDER TODOS OS SEUS LCC&lt;/b&gt;!</translation>
  31515.      </message>
  31516.      <message>
  31517.          <source>Are you sure you wish to encrypt your wallet?</source>
  31518. @@ -334,8 +334,8 @@
  31519.          <translation>Reindexando blocos no disco...</translation>
  31520.      </message>
  31521.      <message>
  31522. -        <source>Send coins to a Litecoin address</source>
  31523. -        <translation>Enviar moedas para um endereço litecoin</translation>
  31524. +        <source>Send coins to a LitecoinCash address</source>
  31525. +        <translation>Enviar moedas para um endereço litecoincash</translation>
  31526.      </message>
  31527.      <message>
  31528.          <source>Backup wallet to another location</source>
  31529. @@ -358,8 +358,8 @@
  31530.          <translation>&amp;Verificar mensagem...</translation>
  31531.      </message>
  31532.      <message>
  31533. -        <source>Litecoin</source>
  31534. -        <translation>Litecoin</translation>
  31535. +        <source>LitecoinCash</source>
  31536. +        <translation>LitecoinCash</translation>
  31537.      </message>
  31538.      <message>
  31539.          <source>Wallet</source>
  31540. @@ -386,12 +386,12 @@
  31541.          <translation>Criptografar as chaves privadas que pertencem à sua carteira</translation>
  31542.      </message>
  31543.      <message>
  31544. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  31545. -        <translation>Assine mensagens com seus endereços Litecoin para provar que você é dono delas</translation>
  31546. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  31547. +        <translation>Assine mensagens com seus endereços LitecoinCash para provar que você é dono delas</translation>
  31548.      </message>
  31549.      <message>
  31550. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  31551. -        <translation>Verificar mensagens para se assegurar que elas foram assinadas pelo dono de Endereços Litecoin específicos</translation>
  31552. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  31553. +        <translation>Verificar mensagens para se assegurar que elas foram assinadas pelo dono de Endereços LitecoinCash específicos</translation>
  31554.      </message>
  31555.      <message>
  31556.          <source>&amp;File</source>
  31557. @@ -410,8 +410,8 @@
  31558.          <translation>Barra de ferramentas</translation>
  31559.      </message>
  31560.      <message>
  31561. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  31562. -        <translation>Solicitações de pagamentos (gera códigos QR e litecoin: URIs)</translation>
  31563. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  31564. +        <translation>Solicitações de pagamentos (gera códigos QR e litecoincash: URIs)</translation>
  31565.      </message>
  31566.      <message>
  31567.          <source>Show the list of used sending addresses and labels</source>
  31568. @@ -422,16 +422,16 @@
  31569.          <translation>Mostrar a lista de endereços de recebimento usados ??e rótulos</translation>
  31570.      </message>
  31571.      <message>
  31572. -        <source>Open a litecoin: URI or payment request</source>
  31573. -        <translation>Abrir um litecoin: URI ou cobrança</translation>
  31574. +        <source>Open a litecoincash: URI or payment request</source>
  31575. +        <translation>Abrir um litecoincash: URI ou cobrança</translation>
  31576.      </message>
  31577.      <message>
  31578.          <source>&amp;Command-line options</source>
  31579.          <translation>Opções de linha de &amp;comando</translation>
  31580.      </message>
  31581.      <message numerus="yes">
  31582. -        <source>%n active connection(s) to Litecoin network</source>
  31583. -        <translation><numerusform>%n conexão ativa na rede Litecoin</numerusform><numerusform>%n conexões ativas na rede Litecoin</numerusform></translation>
  31584. +        <source>%n active connection(s) to LitecoinCash network</source>
  31585. +        <translation><numerusform>%n conexão ativa na rede LitecoinCash</numerusform><numerusform>%n conexões ativas na rede LitecoinCash</numerusform></translation>
  31586.      </message>
  31587.      <message>
  31588.          <source>Indexing blocks on disk...</source>
  31589. @@ -474,8 +474,8 @@
  31590.          <translation>Atualizado</translation>
  31591.      </message>
  31592.      <message>
  31593. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  31594. -        <translation>Mostrar a mensagem de ajuda do %1 para obter uma lista com possíveis opções de linha de comando Litecoin</translation>
  31595. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  31596. +        <translation>Mostrar a mensagem de ajuda do %1 para obter uma lista com possíveis opções de linha de comando LitecoinCash</translation>
  31597.      </message>
  31598.      <message>
  31599.          <source>%1 client</source>
  31600. @@ -544,8 +544,8 @@
  31601.          <translation>Carteira está &lt;b&gt;criptografada&lt;/b&gt; e atualmente &lt;b&gt;bloqueada&lt;/b&gt;</translation>
  31602.      </message>
  31603.      <message>
  31604. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  31605. -        <translation>Um erro fatal ocorreu. Litecoin não pode continuar em segurança e irá fechar.</translation>
  31606. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  31607. +        <translation>Um erro fatal ocorreu. LitecoinCash não pode continuar em segurança e irá fechar.</translation>
  31608.      </message>
  31609.  </context>
  31610.  <context>
  31611. @@ -738,7 +738,7 @@
  31612.          <translation>Editar endereço de envio</translation>
  31613.      </message>
  31614.      <message>
  31615. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  31616. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  31617.          <translation>O endereço digitado "%1" não é um endereço válido.</translation>
  31618.      </message>
  31619.      <message>
  31620. @@ -847,8 +847,8 @@
  31621.          <translation>Como essa é a primeira vez que o programa é executado, você pode escolher onde %1 armazenará seus dados.</translation>
  31622.      </message>
  31623.      <message>
  31624. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  31625. -        <translation>O %1 irá baixar e armazenar uma cópia do block chain do Litecoin. Pelo menos %2GB de dados serão armazenados neste diretório, e ele crescerá ao longo do tempo. A carteira também será armazenada neste diretório.</translation>
  31626. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  31627. +        <translation>O %1 irá baixar e armazenar uma cópia do block chain do LitecoinCash. Pelo menos %2GB de dados serão armazenados neste diretório, e ele crescerá ao longo do tempo. A carteira também será armazenada neste diretório.</translation>
  31628.      </message>
  31629.      <message>
  31630.          <source>Use the default data directory</source>
  31631. @@ -882,11 +882,11 @@
  31632.          <translation>Formulário</translation>
  31633.      </message>
  31634.      <message>
  31635. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  31636. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  31637.          <translation>Transações recentes podem não estar visíveis ainda, portanto o seu saldo pode estar incorreto. Esta informação será corrigida assim que sua carteira for sincronizada com a rede, como detalhado abaixo.</translation>
  31638.      </message>
  31639.      <message>
  31640. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  31641. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  31642.          <translation>Gastar moedas de transações desconhecidas podem não ser aceitas pela rede.</translation>
  31643.      </message>
  31644.      <message>
  31645. @@ -1044,16 +1044,16 @@
  31646.          <translation>Ga&amp;star mudança não confirmada</translation>
  31647.      </message>
  31648.      <message>
  31649. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  31650. -        <translation>Abrir as portas do cliente Litecoin automaticamente no roteador. Isto só funcionará se seu roteador suportar UPnP e esta função estiver habilitada.</translation>
  31651. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  31652. +        <translation>Abrir as portas do cliente LitecoinCash automaticamente no roteador. Isto só funcionará se seu roteador suportar UPnP e esta função estiver habilitada.</translation>
  31653.      </message>
  31654.      <message>
  31655.          <source>Map port using &amp;UPnP</source>
  31656.          <translation>Mapear porta usando &amp;UPnP</translation>
  31657.      </message>
  31658.      <message>
  31659. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  31660. -        <translation>Conectar na rede Litecoin através de um proxy SOCKS5.</translation>
  31661. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  31662. +        <translation>Conectar na rede LitecoinCash através de um proxy SOCKS5.</translation>
  31663.      </message>
  31664.      <message>
  31665.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  31666. @@ -1092,8 +1092,8 @@
  31667.          <translation>Tor</translation>
  31668.      </message>
  31669.      <message>
  31670. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  31671. -        <translation>Conecte-se à rede Litecoin através de um proxy SOCKS5 separado para utilizar serviços ocultos Tor.</translation>
  31672. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  31673. +        <translation>Conecte-se à rede LitecoinCash através de um proxy SOCKS5 separado para utilizar serviços ocultos Tor.</translation>
  31674.      </message>
  31675.      <message>
  31676.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  31677. @@ -1141,7 +1141,7 @@
  31678.      </message>
  31679.      <message>
  31680.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  31681. -        <translation>Escolha a unidade padrão de subdivisão para interface mostrar quando enviar litecoins.</translation>
  31682. +        <translation>Escolha a unidade padrão de subdivisão para interface mostrar quando enviar coins.</translation>
  31683.      </message>
  31684.      <message>
  31685.          <source>Whether to show coin control features or not.</source>
  31686. @@ -1191,8 +1191,8 @@
  31687.          <translation>Formulário</translation>
  31688.      </message>
  31689.      <message>
  31690. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  31691. -        <translation>A informação mostrada pode estar desatualizada. Sua carteira sincroniza automaticamente com a rede Litecoin depois que a conexão é estabelecida, mas este processo pode não estar completo ainda.</translation>
  31692. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  31693. +        <translation>A informação mostrada pode estar desatualizada. Sua carteira sincroniza automaticamente com a rede LitecoinCash depois que a conexão é estabelecida, mas este processo pode não estar completo ainda.</translation>
  31694.      </message>
  31695.      <message>
  31696.          <source>Watch-only:</source>
  31697. @@ -1266,8 +1266,8 @@
  31698.          <translation>Erro no pedido de pagamento</translation>
  31699.      </message>
  31700.      <message>
  31701. -        <source>Cannot start litecoin: click-to-pay handler</source>
  31702. -        <translation>Não foi possível iniciar litecoin: manipulador click-to-pay</translation>
  31703. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  31704. +        <translation>Não foi possível iniciar litecoincash: manipulador click-to-pay</translation>
  31705.      </message>
  31706.      <message>
  31707.          <source>URI handling</source>
  31708. @@ -1282,7 +1282,7 @@
  31709.          <translation>Endereço de pagamento %1 inválido</translation>
  31710.      </message>
  31711.      <message>
  31712. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  31713. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  31714.          <translation>URI não pode ser analisado! Isto pode ser causado por um endereço inválido ou parâmetros URI informados incorretamente.</translation>
  31715.      </message>
  31716.      <message>
  31717. @@ -1376,8 +1376,8 @@
  31718.          <translation>Quantidade</translation>
  31719.      </message>
  31720.      <message>
  31721. -        <source>Enter a Litecoin address (e.g. %1)</source>
  31722. -        <translation>Informe um endereço Litecoin (ex: %1)</translation>
  31723. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  31724. +        <translation>Informe um endereço LitecoinCash (ex: %1)</translation>
  31725.      </message>
  31726.      <message>
  31727.          <source>%1 d</source>
  31728. @@ -1800,8 +1800,8 @@
  31729.          <translation>R&amp;eutilize um endereço de recebimento (não recomendado)</translation>
  31730.      </message>
  31731.      <message>
  31732. -        <source>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 Litecoin network.</source>
  31733. -        <translation>Uma mensagem opcional que será anexada na cobrança e será mostrada quando ela for aberta. Nota: A mensagem não será enviada com o pagamento pela rede Litecoin.</translation>
  31734. +        <source>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 LitecoinCash network.</source>
  31735. +        <translation>Uma mensagem opcional que será anexada na cobrança e será mostrada quando ela for aberta. Nota: A mensagem não será enviada com o pagamento pela rede LitecoinCash.</translation>
  31736.      </message>
  31737.      <message>
  31738.          <source>An optional label to associate with the new receiving address.</source>
  31739. @@ -2033,7 +2033,7 @@
  31740.          <translation>pelo menos</translation>
  31741.      </message>
  31742.      <message>
  31743. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  31744. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  31745.          <translation>Pagando apenas a taxa mínima é bom, desde que haja pouco volume de transações. Mas esteja ciente de que isso pode acabar em uma transação nunca confirmanda uma vez que há mais demanda por transações do que a rede pode processar.</translation>
  31746.      </message>
  31747.      <message>
  31748. @@ -2197,7 +2197,7 @@
  31749.          <translation><numerusform>Confirmação em %n bloco.</numerusform><numerusform>Confirmação em %n blocos.</numerusform></translation>
  31750.      </message>
  31751.      <message>
  31752. -        <source>Warning: Invalid Litecoin address</source>
  31753. +        <source>Warning: Invalid LitecoinCash address</source>
  31754.          <translation>Aviso: Endereço inválido</translation>
  31755.      </message>
  31756.      <message>
  31757. @@ -2240,7 +2240,7 @@
  31758.          <translation>Este é um pagamento normal.</translation>
  31759.      </message>
  31760.      <message>
  31761. -        <source>The Litecoin address to send the payment to</source>
  31762. +        <source>The LitecoinCash address to send the payment to</source>
  31763.          <translation>Endereço que enviará o pagamento</translation>
  31764.      </message>
  31765.      <message>
  31766. @@ -2260,8 +2260,8 @@
  31767.          <translation>Remover esta entrada</translation>
  31768.      </message>
  31769.      <message>
  31770. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  31771. -        <translation>A taxa será deduzida da quantia que está sendo enviada. O destinatário receberá menos litecoins do que você colocou no campo de quantidade. Se vários destinatários estão selecionados, a taxa é dividida igualmente.</translation>
  31772. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  31773. +        <translation>A taxa será deduzida da quantia que está sendo enviada. O destinatário receberá menos coins do que você colocou no campo de quantidade. Se vários destinatários estão selecionados, a taxa é dividida igualmente.</translation>
  31774.      </message>
  31775.      <message>
  31776.          <source>S&amp;ubtract fee from amount</source>
  31777. @@ -2284,8 +2284,8 @@
  31778.          <translation>Digite um rótulo para este endereço para adicioná-lo no catálogo</translation>
  31779.      </message>
  31780.      <message>
  31781. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  31782. -        <translation>A mensagem que foi anexada ao litecoin: URI na qual será gravada na transação para sua referência. Nota: Essa mensagem não será gravada publicamente na rede Litecoin.</translation>
  31783. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  31784. +        <translation>A mensagem que foi anexada ao litecoincash: URI na qual será gravada na transação para sua referência. Nota: Essa mensagem não será gravada publicamente na rede LitecoinCash.</translation>
  31785.      </message>
  31786.      <message>
  31787.          <source>Pay To:</source>
  31788. @@ -2329,12 +2329,12 @@
  31789.          <translation>&amp;Assinar mensagem</translation>
  31790.      </message>
  31791.      <message>
  31792. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  31793. -        <translation>Você pode assinar mensagens com seus endereços para provar que você pode receber litecoins enviados por alguém. Cuidado para não assinar nada vago ou aleatório, pois ataques phishing podem tentar te enganar para assinar coisas para eles como se fosse você. Somente assine termos bem detalhados que você concorde.</translation>
  31794. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  31795. +        <translation>Você pode assinar mensagens com seus endereços para provar que você pode receber coins enviados por alguém. Cuidado para não assinar nada vago ou aleatório, pois ataques phishing podem tentar te enganar para assinar coisas para eles como se fosse você. Somente assine termos bem detalhados que você concorde.</translation>
  31796.      </message>
  31797.      <message>
  31798. -        <source>The Litecoin address to sign the message with</source>
  31799. -        <translation>O enderesso Litecoin que assinará a mensagem</translation>
  31800. +        <source>The LitecoinCash address to sign the message with</source>
  31801. +        <translation>O enderesso LitecoinCash que assinará a mensagem</translation>
  31802.      </message>
  31803.      <message>
  31804.          <source>Choose previously used address</source>
  31805. @@ -2365,8 +2365,8 @@
  31806.          <translation>Copiar a assinatura para a área de transferência do sistema</translation>
  31807.      </message>
  31808.      <message>
  31809. -        <source>Sign the message to prove you own this Litecoin address</source>
  31810. -        <translation>Assinar mensagem para provar que você é dono deste endereço Litecoin</translation>
  31811. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  31812. +        <translation>Assinar mensagem para provar que você é dono deste endereço LitecoinCash</translation>
  31813.      </message>
  31814.      <message>
  31815.          <source>Sign &amp;Message</source>
  31816. @@ -2389,12 +2389,12 @@
  31817.          <translation>Coloque o endereço do autor, a mensagem (certifique-se de copiar toda a mensagem, incluindo quebras de linha, espaços, tabulações, etc.) e a assinatura embaixo para verificar a mensagem. Cuidado para não ler mais da assinatura do que está assinado na mensagem, para evitar ser enganado pelo ataque man-in-the-middle. Note que isso somente prova a propriedade de um endereço, e não o remetende de qualquer transação.</translation>
  31818.      </message>
  31819.      <message>
  31820. -        <source>The Litecoin address the message was signed with</source>
  31821. -        <translation>O enderesso Litecoin que assionou a mesnagem</translation>
  31822. +        <source>The LitecoinCash address the message was signed with</source>
  31823. +        <translation>O enderesso LitecoinCash que assionou a mesnagem</translation>
  31824.      </message>
  31825.      <message>
  31826. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  31827. -        <translation>Verificar mensagem para se assegurar que ela foi assinada pelo dono de um endereço Litecoin específico.</translation>
  31828. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  31829. +        <translation>Verificar mensagem para se assegurar que ela foi assinada pelo dono de um endereço LitecoinCash específico.</translation>
  31830.      </message>
  31831.      <message>
  31832.          <source>Verify &amp;Message</source>
  31833. @@ -3054,8 +3054,8 @@
  31834.          <translation>Não foi possível iniciar o servidor HTTP. Veja o log para detaihes.</translation>
  31835.      </message>
  31836.      <message>
  31837. -        <source>Litecoin Core</source>
  31838. -        <translation>Litecoin Core</translation>
  31839. +        <source>LitecoinCash Core</source>
  31840. +        <translation>LitecoinCash Core</translation>
  31841.      </message>
  31842.      <message>
  31843.          <source>The %s developers</source>
  31844. diff --git a/src/qt/locale/bitcoin_pt_PT.ts b/src/qt/locale/bitcoin_pt_PT.ts
  31845. index 2d41794..49985ae 100644
  31846. --- a/src/qt/locale/bitcoin_pt_PT.ts
  31847. +++ b/src/qt/locale/bitcoin_pt_PT.ts
  31848. @@ -62,12 +62,12 @@
  31849.          <translation>A receber endereços</translation>
  31850.      </message>
  31851.      <message>
  31852. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  31853. -        <translation>Estes são os seus endereços Litecoin para enviar pagamentos. Verifique sempre o valor e o endereço de envio antes de enviar moedas.</translation>
  31854. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  31855. +        <translation>Estes são os seus endereços LitecoinCash para enviar pagamentos. Verifique sempre o valor e o endereço de envio antes de enviar moedas.</translation>
  31856.      </message>
  31857.      <message>
  31858. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  31859. -        <translation>Estes são os seus endereços Litecoin para receber pagamentos. É recomendado que utilize um endereço novo para cada transacção.</translation>
  31860. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  31861. +        <translation>Estes são os seus endereços LitecoinCash para receber pagamentos. É recomendado que utilize um endereço novo para cada transacção.</translation>
  31862.      </message>
  31863.      <message>
  31864.          <source>&amp;Copy Address</source>
  31865. @@ -168,8 +168,8 @@
  31866.          <translation>Confirmar encriptação da carteira</translation>
  31867.      </message>
  31868.      <message>
  31869. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  31870. -        <translation>Aviso: se encriptar a sua carteira e perder a sua frase de segurnça, &lt;b&gt;PERDERÁ TODOS OS SEUS LITECOINS&lt;/b&gt;!</translation>
  31871. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  31872. +        <translation>Aviso: se encriptar a sua carteira e perder a sua frase de segurnça, &lt;b&gt;PERDERÁ TODOS OS SEUS LCC&lt;/b&gt;!</translation>
  31873.      </message>
  31874.      <message>
  31875.          <source>Are you sure you wish to encrypt your wallet?</source>
  31876. @@ -180,8 +180,8 @@
  31877.          <translation>Carteira encriptada</translation>
  31878.      </message>
  31879.      <message>
  31880. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  31881. -        <translation>%1 irá agora ser fechado para terminar o processo de encriptação. Recorde que a encriptação da sua carteira não protegerá totalmente os seus litecoins de serem roubados por programas maliciosos que infectem o seu computador.</translation>
  31882. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  31883. +        <translation>%1 irá agora ser fechado para terminar o processo de encriptação. Recorde que a encriptação da sua carteira não protegerá totalmente os seus coins de serem roubados por programas maliciosos que infectem o seu computador.</translation>
  31884.      </message>
  31885.      <message>
  31886.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  31887. @@ -338,8 +338,8 @@
  31888.          <translation>A reindexar os blocos no disco...</translation>
  31889.      </message>
  31890.      <message>
  31891. -        <source>Send coins to a Litecoin address</source>
  31892. -        <translation>Enviar moedas para um endereço Litecoin</translation>
  31893. +        <source>Send coins to a LitecoinCash address</source>
  31894. +        <translation>Enviar moedas para um endereço LitecoinCash</translation>
  31895.      </message>
  31896.      <message>
  31897.          <source>Backup wallet to another location</source>
  31898. @@ -362,8 +362,8 @@
  31899.          <translation>&amp;Verificar mensagem...</translation>
  31900.      </message>
  31901.      <message>
  31902. -        <source>Litecoin</source>
  31903. -        <translation>Litecoin</translation>
  31904. +        <source>LitecoinCash</source>
  31905. +        <translation>LitecoinCash</translation>
  31906.      </message>
  31907.      <message>
  31908.          <source>Wallet</source>
  31909. @@ -390,12 +390,12 @@
  31910.          <translation>Encriptar as chaves privadas que pertencem à sua carteira</translation>
  31911.      </message>
  31912.      <message>
  31913. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  31914. -        <translation>Assine as mensagens com os seus endereços Litecoin para provar que é o proprietário dos mesmos</translation>
  31915. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  31916. +        <translation>Assine as mensagens com os seus endereços LitecoinCash para provar que é o proprietário dos mesmos</translation>
  31917.      </message>
  31918.      <message>
  31919. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  31920. -        <translation>Verifique mensagens para assegurar que foram assinadas com o endereço Litecoin especificado</translation>
  31921. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  31922. +        <translation>Verifique mensagens para assegurar que foram assinadas com o endereço LitecoinCash especificado</translation>
  31923.      </message>
  31924.      <message>
  31925.          <source>&amp;File</source>
  31926. @@ -414,8 +414,8 @@
  31927.          <translation>Barra de ferramentas dos separadores</translation>
  31928.      </message>
  31929.      <message>
  31930. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  31931. -        <translation>Solicitar pagamentos (gera códigos QR e litecoin: URIs)</translation>
  31932. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  31933. +        <translation>Solicitar pagamentos (gera códigos QR e litecoincash: URIs)</translation>
  31934.      </message>
  31935.      <message>
  31936.          <source>Show the list of used sending addresses and labels</source>
  31937. @@ -426,16 +426,16 @@
  31938.          <translation>Mostrar a lista de rótulos e endereços de receção usados</translation>
  31939.      </message>
  31940.      <message>
  31941. -        <source>Open a litecoin: URI or payment request</source>
  31942. -        <translation>Abrir URI litecoin: ou pedido de pagamento</translation>
  31943. +        <source>Open a litecoincash: URI or payment request</source>
  31944. +        <translation>Abrir URI litecoincash: ou pedido de pagamento</translation>
  31945.      </message>
  31946.      <message>
  31947.          <source>&amp;Command-line options</source>
  31948.          <translation>&amp;Opções da linha de &amp;comando</translation>
  31949.      </message>
  31950.      <message numerus="yes">
  31951. -        <source>%n active connection(s) to Litecoin network</source>
  31952. -        <translation><numerusform>%n ligação ativa à rede Litecoin</numerusform><numerusform>%n ligações ativas à rede Litecoin</numerusform></translation>
  31953. +        <source>%n active connection(s) to LitecoinCash network</source>
  31954. +        <translation><numerusform>%n ligação ativa à rede LitecoinCash</numerusform><numerusform>%n ligações ativas à rede LitecoinCash</numerusform></translation>
  31955.      </message>
  31956.      <message>
  31957.          <source>Indexing blocks on disk...</source>
  31958. @@ -478,7 +478,7 @@
  31959.          <translation>Atualizado</translation>
  31960.      </message>
  31961.      <message>
  31962. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  31963. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  31964.          <translation>Mostrar a mensagem de ajuda %1 para obter uma lista com possíveis opções a usar na linha de comandos.</translation>
  31965.      </message>
  31966.      <message>
  31967. @@ -548,8 +548,8 @@
  31968.          <translation>A carteira está &lt;b&gt;encriptada&lt;/b&gt; e atualmente &lt;b&gt;bloqueada&lt;/b&gt;</translation>
  31969.      </message>
  31970.      <message>
  31971. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  31972. -        <translation>Ocorreu um erro fatal. O Litecoin não pode continuar com segurança e irá fechar.</translation>
  31973. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  31974. +        <translation>Ocorreu um erro fatal. O LitecoinCash não pode continuar com segurança e irá fechar.</translation>
  31975.      </message>
  31976.  </context>
  31977.  <context>
  31978. @@ -742,8 +742,8 @@
  31979.          <translation>Editar o endereço de envio</translation>
  31980.      </message>
  31981.      <message>
  31982. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  31983. -        <translation>O endereço introduzido "%1" não é um endereço litecoin válido.</translation>
  31984. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  31985. +        <translation>O endereço introduzido "%1" não é um endereço litecoincash válido.</translation>
  31986.      </message>
  31987.      <message>
  31988.          <source>The entered address "%1" is already in the address book.</source>
  31989. @@ -847,7 +847,7 @@
  31990.          <translation>Bem-vindo ao %1.</translation>
  31991.      </message>
  31992.      <message>
  31993. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  31994. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  31995.          <translation>O %1 irá transferir e armazenar uma cópia da blockchain. Pelo menos %2GB serão armazenados neste diretório, sendo que o valor irá crescer ao longo do tempo. A carteira também será armazenada neste mesmo diretório.</translation>
  31996.      </message>
  31997.      <message>
  31998. @@ -882,12 +882,12 @@
  31999.          <translation>Formulário</translation>
  32000.      </message>
  32001.      <message>
  32002. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  32003. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  32004.          <translation>Transações recentes podem não ser visíveis por agora, portanto o saldo da sua carteira pode estar incorreto. Esta informação será corrigida quando a sua carteira acabar de sincronizar com a rede, como está explicado em baixo.</translation>
  32005.      </message>
  32006.      <message>
  32007. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  32008. -        <translation>Tentar enviar litecoins que estão afetadas por transações ainda não exibidas não será aceite pela rede.</translation>
  32009. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  32010. +        <translation>Tentar enviar coins que estão afetadas por transações ainda não exibidas não será aceite pela rede.</translation>
  32011.      </message>
  32012.      <message>
  32013.          <source>Number of blocks left</source>
  32014. @@ -1045,16 +1045,16 @@
  32015.          <translation>&amp;Gastar troco não confirmado</translation>
  32016.      </message>
  32017.      <message>
  32018. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  32019. -        <translation>Abrir a porta do cliente litecoin automaticamente no seu router. Isto apenas funciona se o seu router suportar UPnP e este se encontrar ligado.</translation>
  32020. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  32021. +        <translation>Abrir a porta do cliente litecoincash automaticamente no seu router. Isto apenas funciona se o seu router suportar UPnP e este se encontrar ligado.</translation>
  32022.      </message>
  32023.      <message>
  32024.          <source>Map port using &amp;UPnP</source>
  32025.          <translation>Mapear porta, utilizando &amp;UPnP</translation>
  32026.      </message>
  32027.      <message>
  32028. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  32029. -        <translation>Conectar à rede da Litecoin através dum proxy SOCLS5.</translation>
  32030. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  32031. +        <translation>Conectar à rede da LitecoinCash através dum proxy SOCLS5.</translation>
  32032.      </message>
  32033.      <message>
  32034.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  32035. @@ -1093,8 +1093,8 @@
  32036.          <translation>Tor</translation>
  32037.      </message>
  32038.      <message>
  32039. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  32040. -        <translation>Ligar à rede Litecoin através de um proxy SOCKS5 separado para utilizar os serviços ocultos do Tor.</translation>
  32041. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  32042. +        <translation>Ligar à rede LitecoinCash através de um proxy SOCKS5 separado para utilizar os serviços ocultos do Tor.</translation>
  32043.      </message>
  32044.      <message>
  32045.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  32046. @@ -1192,8 +1192,8 @@
  32047.          <translation>Formulário</translation>
  32048.      </message>
  32049.      <message>
  32050. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  32051. -        <translation>A informação mostrada poderá estar desatualizada. A sua carteira sincroniza automaticamente com a rede Litecoin depois de estabelecer ligação, mas este processo ainda não está completo.</translation>
  32052. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  32053. +        <translation>A informação mostrada poderá estar desatualizada. A sua carteira sincroniza automaticamente com a rede LitecoinCash depois de estabelecer ligação, mas este processo ainda não está completo.</translation>
  32054.      </message>
  32055.      <message>
  32056.          <source>Watch-only:</source>
  32057. @@ -1267,8 +1267,8 @@
  32058.          <translation>Erro do pedido de pagamento</translation>
  32059.      </message>
  32060.      <message>
  32061. -        <source>Cannot start litecoin: click-to-pay handler</source>
  32062. -        <translation>Impossível iniciar o controlador de litecoin: click-to-pay</translation>
  32063. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  32064. +        <translation>Impossível iniciar o controlador de litecoincash: click-to-pay</translation>
  32065.      </message>
  32066.      <message>
  32067.          <source>URI handling</source>
  32068. @@ -1283,8 +1283,8 @@
  32069.          <translation>Endereço de pagamento inválido %1</translation>
  32070.      </message>
  32071.      <message>
  32072. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  32073. -        <translation>URI não foi lido correctamente! Isto pode ser causado por um endereço Litecoin inválido ou por parâmetros URI malformados.</translation>
  32074. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  32075. +        <translation>URI não foi lido correctamente! Isto pode ser causado por um endereço LitecoinCash inválido ou por parâmetros URI malformados.</translation>
  32076.      </message>
  32077.      <message>
  32078.          <source>Payment request file handling</source>
  32079. @@ -1377,8 +1377,8 @@
  32080.          <translation>Quantia</translation>
  32081.      </message>
  32082.      <message>
  32083. -        <source>Enter a Litecoin address (e.g. %1)</source>
  32084. -        <translation>Entre um endereço Litecoin (ex. %1)</translation>
  32085. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  32086. +        <translation>Entre um endereço LitecoinCash (ex. %1)</translation>
  32087.      </message>
  32088.      <message>
  32089.          <source>%1 d</source>
  32090. @@ -1797,8 +1797,8 @@
  32091.          <translation>Reutilizar um endereço de receção existente (não recomendado)</translation>
  32092.      </message>
  32093.      <message>
  32094. -        <source>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 Litecoin network.</source>
  32095. -        <translation>Uma mensagem opcional para anexar ao pedido de pagamento, que será exibida quando o pedido for aberto. Nota: A mensagem não será enviada com o pagamento através da rede Litecoin.</translation>
  32096. +        <source>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 LitecoinCash network.</source>
  32097. +        <translation>Uma mensagem opcional para anexar ao pedido de pagamento, que será exibida quando o pedido for aberto. Nota: A mensagem não será enviada com o pagamento através da rede LitecoinCash.</translation>
  32098.      </message>
  32099.      <message>
  32100.          <source>An optional label to associate with the new receiving address.</source>
  32101. @@ -2030,7 +2030,7 @@
  32102.          <translation>total minimo</translation>
  32103.      </message>
  32104.      <message>
  32105. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  32106. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  32107.          <translation>Pode pagar somente a taxa minima desde que haja um volume de transações inferior ao espaço nos blocos. No entanto tenha em atenção que esta opção poderá acabar em uma transação nunca confirmada assim que os pedidos de transações excedam a capacidade de processamento da rede.</translation>
  32108.      </message>
  32109.      <message>
  32110. @@ -2194,8 +2194,8 @@
  32111.          <translation><numerusform>Estimativa para iniciar a confirmação dentro de %n bloco.</numerusform><numerusform>Estimativa para iniciar a confirmação dentro de %n blocos.</numerusform></translation>
  32112.      </message>
  32113.      <message>
  32114. -        <source>Warning: Invalid Litecoin address</source>
  32115. -        <translation>Aviso: endereço Litecoin inválido</translation>
  32116. +        <source>Warning: Invalid LitecoinCash address</source>
  32117. +        <translation>Aviso: endereço LitecoinCash inválido</translation>
  32118.      </message>
  32119.      <message>
  32120.          <source>Warning: Unknown change address</source>
  32121. @@ -2237,8 +2237,8 @@
  32122.          <translation>Este é um pagamento normal.</translation>
  32123.      </message>
  32124.      <message>
  32125. -        <source>The Litecoin address to send the payment to</source>
  32126. -        <translation>O endereço Litecoin para enviar o pagamento</translation>
  32127. +        <source>The LitecoinCash address to send the payment to</source>
  32128. +        <translation>O endereço LitecoinCash para enviar o pagamento</translation>
  32129.      </message>
  32130.      <message>
  32131.          <source>Alt+A</source>
  32132. @@ -2257,8 +2257,8 @@
  32133.          <translation>Remover esta entrada</translation>
  32134.      </message>
  32135.      <message>
  32136. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  32137. -        <translation>A taxa será deduzida ao montante enviado. O destinatário irá receber menos litecoins do que as que introduziu no campo montante. Caso sejam seleccionados múltiplos destinatários, a taxa será repartida equitativamente.</translation>
  32138. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  32139. +        <translation>A taxa será deduzida ao montante enviado. O destinatário irá receber menos coins do que as que introduziu no campo montante. Caso sejam seleccionados múltiplos destinatários, a taxa será repartida equitativamente.</translation>
  32140.      </message>
  32141.      <message>
  32142.          <source>S&amp;ubtract fee from amount</source>
  32143. @@ -2281,8 +2281,8 @@
  32144.          <translation>Introduza um rótulo para este endereço para o adicionar à sua lista de endereços usados</translation>
  32145.      </message>
  32146.      <message>
  32147. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  32148. -        <translation>Uma mensagem que estava anexada ao URI litecoin: que será armazenada com a transação para sua referência. Nota: Esta mensagem não será enviada através da rede Litecoin.</translation>
  32149. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  32150. +        <translation>Uma mensagem que estava anexada ao URI litecoincash: que será armazenada com a transação para sua referência. Nota: Esta mensagem não será enviada através da rede LitecoinCash.</translation>
  32151.      </message>
  32152.      <message>
  32153.          <source>Pay To:</source>
  32154. @@ -2326,12 +2326,12 @@
  32155.          <translation>&amp;Assinar Mensagem</translation>
  32156.      </message>
  32157.      <message>
  32158. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  32159. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  32160.          <translation>Pode assinar mensagens com os seus endereços para provar que são seus. Tenha atenção ao assinar mensagens ambíguas, pois ataques de phishing podem tentar enganá-lo de modo a assinar a sua identidade para os atacantes. Apenas assine declarações detalhadas com as quais concorde.</translation>
  32161.      </message>
  32162.      <message>
  32163. -        <source>The Litecoin address to sign the message with</source>
  32164. -        <translation>O endereço Litecoin para designar a mensagem</translation>
  32165. +        <source>The LitecoinCash address to sign the message with</source>
  32166. +        <translation>O endereço LitecoinCash para designar a mensagem</translation>
  32167.      </message>
  32168.      <message>
  32169.          <source>Choose previously used address</source>
  32170. @@ -2362,8 +2362,8 @@
  32171.          <translation>Copiar a assinatura actual para a área de transferência</translation>
  32172.      </message>
  32173.      <message>
  32174. -        <source>Sign the message to prove you own this Litecoin address</source>
  32175. -        <translation>Assine uma mensagem para provar que é dono deste endereço Litecoin</translation>
  32176. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  32177. +        <translation>Assine uma mensagem para provar que é dono deste endereço LitecoinCash</translation>
  32178.      </message>
  32179.      <message>
  32180.          <source>Sign &amp;Message</source>
  32181. @@ -2386,12 +2386,12 @@
  32182.          <translation>Introduza o endereço de assinatura, mensagem (assegure-se que copia quebras de linha, espaços, tabulações, etc. exactamente) e assinatura abaixo para verificar a mensagem. Tenha atenção para não ler mais na assinatura do que o que estiver na mensagem assinada, para evitar ser enganado por um atacante que se encontre entre si e quem assinou a mensagem.</translation>
  32183.      </message>
  32184.      <message>
  32185. -        <source>The Litecoin address the message was signed with</source>
  32186. -        <translation>O endereço Litecoin com que a mensagem foi designada</translation>
  32187. +        <source>The LitecoinCash address the message was signed with</source>
  32188. +        <translation>O endereço LitecoinCash com que a mensagem foi designada</translation>
  32189.      </message>
  32190.      <message>
  32191. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  32192. -        <translation>Verifique a mensagem para assegurar que foi assinada com o endereço Litecoin especificado</translation>
  32193. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  32194. +        <translation>Verifique a mensagem para assegurar que foi assinada com o endereço LitecoinCash especificado</translation>
  32195.      </message>
  32196.      <message>
  32197.          <source>Verify &amp;Message</source>
  32198. @@ -2983,8 +2983,8 @@
  32199.          <translation>Não é possível iniciar o servidor HTTP. Verifique o debug.log para detalhes.</translation>
  32200.      </message>
  32201.      <message>
  32202. -        <source>Litecoin Core</source>
  32203. -        <translation>Litecoin Core</translation>
  32204. +        <source>LitecoinCash Core</source>
  32205. +        <translation>LitecoinCash Core</translation>
  32206.      </message>
  32207.      <message>
  32208.          <source>The %s developers</source>
  32209. diff --git a/src/qt/locale/bitcoin_ro.ts b/src/qt/locale/bitcoin_ro.ts
  32210. index 480a246..32e31d4 100644
  32211. --- a/src/qt/locale/bitcoin_ro.ts
  32212. +++ b/src/qt/locale/bitcoin_ro.ts
  32213. @@ -142,8 +142,8 @@
  32214.          <translation>Deschide &amp;URI...</translation>
  32215.      </message>
  32216.      <message>
  32217. -        <source>Send coins to a Litecoin address</source>
  32218. -        <translation>Trimite monedele c?tre o adres? Litecoin</translation>
  32219. +        <source>Send coins to a LitecoinCash address</source>
  32220. +        <translation>Trimite monedele c?tre o adres? LitecoinCash</translation>
  32221.      </message>
  32222.      <message>
  32223.          <source>Backup wallet to another location</source>
  32224. @@ -166,8 +166,8 @@
  32225.          <translation>&amp;Verific? mesajul...</translation>
  32226.      </message>
  32227.      <message>
  32228. -        <source>Litecoin</source>
  32229. -        <translation>Litecoin</translation>
  32230. +        <source>LitecoinCash</source>
  32231. +        <translation>LitecoinCash</translation>
  32232.      </message>
  32233.      <message>
  32234.          <source>Wallet</source>
  32235. @@ -194,12 +194,12 @@
  32236.          <translation>Cripteaz? cheile private care apar?in portofelului t?u.</translation>
  32237.      </message>
  32238.      <message>
  32239. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  32240. -        <translation>Semneaz? mesajele cu adresa ta de Litecoin pentru a face dovada c? î?i apar?in.</translation>
  32241. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  32242. +        <translation>Semneaz? mesajele cu adresa ta de LitecoinCash pentru a face dovada c? î?i apar?in.</translation>
  32243.      </message>
  32244.      <message>
  32245. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  32246. -        <translation>Verific? mesajele cu scopul de a asigura faptul c? au fost semnate cu adresa de Litecoin specificat?.</translation>
  32247. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  32248. +        <translation>Verific? mesajele cu scopul de a asigura faptul c? au fost semnate cu adresa de LitecoinCash specificat?.</translation>
  32249.      </message>
  32250.      <message>
  32251.          <source>&amp;File</source>
  32252. @@ -214,12 +214,12 @@
  32253.          <translation>&amp;Ajutor</translation>
  32254.      </message>
  32255.      <message>
  32256. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  32257. -        <translation>Cerere plat? (genereaz? coduri QR ?i litecoin: URIs)</translation>
  32258. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  32259. +        <translation>Cerere plat? (genereaz? coduri QR ?i litecoincash: URIs)</translation>
  32260.      </message>
  32261.      <message>
  32262. -        <source>Open a litecoin: URI or payment request</source>
  32263. -        <translation>Deschide un litecoin: URI sau cerere de plat?</translation>
  32264. +        <source>Open a litecoincash: URI or payment request</source>
  32265. +        <translation>Deschide un litecoincash: URI sau cerere de plat?</translation>
  32266.      </message>
  32267.      <message>
  32268.          <source>%1 behind</source>
  32269. @@ -748,8 +748,8 @@
  32270.  <context>
  32271.      <name>bitcoin-core</name>
  32272.      <message>
  32273. -        <source>Litecoin Core</source>
  32274. -        <translation>Litecoin Core</translation>
  32275. +        <source>LitecoinCash Core</source>
  32276. +        <translation>LitecoinCash Core</translation>
  32277.      </message>
  32278.      <message>
  32279.          <source>Information</source>
  32280. diff --git a/src/qt/locale/bitcoin_ro_RO.ts b/src/qt/locale/bitcoin_ro_RO.ts
  32281. index 41ba229..9a9eeeb 100644
  32282. --- a/src/qt/locale/bitcoin_ro_RO.ts
  32283. +++ b/src/qt/locale/bitcoin_ro_RO.ts
  32284. @@ -54,12 +54,12 @@
  32285.          <translation>Adresa de primire</translation>
  32286.      </message>
  32287.      <message>
  32288. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  32289. -        <translation>Acestea sunt adresele tale Litecoin pentru efectuarea platilor. Intotdeauna verifica atent suma de plata si adresa beneficiarului inainte de a trimite monede.</translation>
  32290. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  32291. +        <translation>Acestea sunt adresele tale LitecoinCash pentru efectuarea platilor. Intotdeauna verifica atent suma de plata si adresa beneficiarului inainte de a trimite monede.</translation>
  32292.      </message>
  32293.      <message>
  32294. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  32295. -        <translation>Acestea sunt adresele tale Litecoin pentru receptionarea platilor. Este recomandat sa folosesti mereu o adresa noua pentru primirea platilor.</translation>
  32296. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  32297. +        <translation>Acestea sunt adresele tale LitecoinCash pentru receptionarea platilor. Este recomandat sa folosesti mereu o adresa noua pentru primirea platilor.</translation>
  32298.      </message>
  32299.      <message>
  32300.          <source>&amp;Copy Address</source>
  32301. @@ -230,8 +230,8 @@
  32302.          <translation>Se reindexeaz? blocurile pe disc...</translation>
  32303.      </message>
  32304.      <message>
  32305. -        <source>Send coins to a Litecoin address</source>
  32306. -        <translation>Trimite monede c?tre o adres? Litecoin</translation>
  32307. +        <source>Send coins to a LitecoinCash address</source>
  32308. +        <translation>Trimite monede c?tre o adres? LitecoinCash</translation>
  32309.      </message>
  32310.      <message>
  32311.          <source>Backup wallet to another location</source>
  32312. @@ -254,8 +254,8 @@
  32313.          <translation>&amp;Verific? mesaj...</translation>
  32314.      </message>
  32315.      <message>
  32316. -        <source>Litecoin</source>
  32317. -        <translation>Litecoin</translation>
  32318. +        <source>LitecoinCash</source>
  32319. +        <translation>LitecoinCash</translation>
  32320.      </message>
  32321.      <message>
  32322.          <source>Wallet</source>
  32323. @@ -282,12 +282,12 @@
  32324.          <translation>Cripteaz? cheile private ale portofelului dvs.</translation>
  32325.      </message>
  32326.      <message>
  32327. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  32328. -        <translation>Semna?i mesaje cu adresa dvs. Litecoin pentru a dovedi c? v? apar?in</translation>
  32329. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  32330. +        <translation>Semna?i mesaje cu adresa dvs. LitecoinCash pentru a dovedi c? v? apar?in</translation>
  32331.      </message>
  32332.      <message>
  32333. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  32334. -        <translation>Verifica?i mesaje pentru a v? asigura c? au fost semnate cu adresa Litecoin specificat?</translation>
  32335. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  32336. +        <translation>Verifica?i mesaje pentru a v? asigura c? au fost semnate cu adresa LitecoinCash specificat?</translation>
  32337.      </message>
  32338.      <message>
  32339.          <source>&amp;File</source>
  32340. @@ -306,8 +306,8 @@
  32341.          <translation>Bara de unelte</translation>
  32342.      </message>
  32343.      <message>
  32344. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  32345. -        <translation>Cere?i pl??i (genereaz? coduri QR ?i litecoin-uri: URls)</translation>
  32346. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  32347. +        <translation>Cere?i pl??i (genereaz? coduri QR ?i litecoincash-uri: URls)</translation>
  32348.      </message>
  32349.      <message>
  32350.          <source>Show the list of used sending addresses and labels</source>
  32351. @@ -318,16 +318,16 @@
  32352.          <translation>Arat? lista de adrese pentru primire ?i etichetele</translation>
  32353.      </message>
  32354.      <message>
  32355. -        <source>Open a litecoin: URI or payment request</source>
  32356. -        <translation>Deschidere litecoin: o adresa URI sau o cerere de plat?</translation>
  32357. +        <source>Open a litecoincash: URI or payment request</source>
  32358. +        <translation>Deschidere litecoincash: o adresa URI sau o cerere de plat?</translation>
  32359.      </message>
  32360.      <message>
  32361.          <source>&amp;Command-line options</source>
  32362.          <translation>Op?iuni linie de &amp;comand?</translation>
  32363.      </message>
  32364.      <message numerus="yes">
  32365. -        <source>%n active connection(s) to Litecoin network</source>
  32366. -        <translation><numerusform>%n conexiune activ? c?tre re?eaua Litecoin</numerusform><numerusform>%n conexiuni active c?tre re?eaua Litecoin</numerusform><numerusform>%n de conexiuni active c?tre re?eaua Litecoin</numerusform></translation>
  32367. +        <source>%n active connection(s) to LitecoinCash network</source>
  32368. +        <translation><numerusform>%n conexiune activ? c?tre re?eaua LitecoinCash</numerusform><numerusform>%n conexiuni active c?tre re?eaua LitecoinCash</numerusform><numerusform>%n de conexiuni active c?tre re?eaua LitecoinCash</numerusform></translation>
  32369.      </message>
  32370.      <message numerus="yes">
  32371.          <source>Processed %n block(s) of transaction history.</source>
  32372. @@ -732,16 +732,16 @@
  32373.          <translation>Cheltuire rest neconfirmat</translation>
  32374.      </message>
  32375.      <message>
  32376. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  32377. -        <translation>Deschide automat în router portul aferent clientului Litecoin. Func?ioneaz? doar dac? routerul duport? UPnP ?i e activat.</translation>
  32378. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  32379. +        <translation>Deschide automat în router portul aferent clientului LitecoinCash. Func?ioneaz? doar dac? routerul duport? UPnP ?i e activat.</translation>
  32380.      </message>
  32381.      <message>
  32382.          <source>Map port using &amp;UPnP</source>
  32383.          <translation>Mapare port folosind &amp;UPnP</translation>
  32384.      </message>
  32385.      <message>
  32386. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  32387. -        <translation>Conectare la re?eaua Litecoin printr-un proxy SOCKS.</translation>
  32388. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  32389. +        <translation>Conectare la re?eaua LitecoinCash printr-un proxy SOCKS.</translation>
  32390.      </message>
  32391.      <message>
  32392.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  32393. @@ -801,7 +801,7 @@
  32394.      </message>
  32395.      <message>
  32396.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  32397. -        <translation>Alege?i subdiviziunea folosit? la afi?area interfe?ei ?i la trimiterea de litecoin.</translation>
  32398. +        <translation>Alege?i subdiviziunea folosit? la afi?area interfe?ei ?i la trimiterea de litecoincash.</translation>
  32399.      </message>
  32400.      <message>
  32401.          <source>Whether to show coin control features or not.</source>
  32402. @@ -841,7 +841,7 @@
  32403.      </message>
  32404.      <message>
  32405.          <source>The supplied proxy address is invalid.</source>
  32406. -        <translation>Adresa litecoin pe care a?i specificat-o nu este valid?.</translation>
  32407. +        <translation>Adresa litecoincash pe care a?i specificat-o nu este valid?.</translation>
  32408.      </message>
  32409.  </context>
  32410.  <context>
  32411. @@ -851,8 +851,8 @@
  32412.          <translation>Form</translation>
  32413.      </message>
  32414.      <message>
  32415. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  32416. -        <translation>Informa?iile afi?ate pot fi neactualizate. Portofelul dvs. se sincronizeaz? automat cu re?eaua Litecoin dup? ce o conexiune este stabilit?, dar acest proces nu a fost finalizat înc?.</translation>
  32417. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  32418. +        <translation>Informa?iile afi?ate pot fi neactualizate. Portofelul dvs. se sincronizeaz? automat cu re?eaua LitecoinCash dup? ce o conexiune este stabilit?, dar acest proces nu a fost finalizat înc?.</translation>
  32419.      </message>
  32420.      <message>
  32421.          <source>Watch-only:</source>
  32422. @@ -940,8 +940,8 @@
  32423.          <translation>Cantitate</translation>
  32424.      </message>
  32425.      <message>
  32426. -        <source>Enter a Litecoin address (e.g. %1)</source>
  32427. -        <translation>Introduce?i o adres? Litecoin (de exemplu %1)</translation>
  32428. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  32429. +        <translation>Introduce?i o adres? LitecoinCash (de exemplu %1)</translation>
  32430.      </message>
  32431.      <message>
  32432.          <source>%1 d</source>
  32433. @@ -1240,8 +1240,8 @@
  32434.          <translation>R&amp;efolose?te o adres? de primire (nu este recomandat)</translation>
  32435.      </message>
  32436.      <message>
  32437. -        <source>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 Litecoin network.</source>
  32438. -        <translation>Un mesaj op?ional de ata?at la cererea de plat?, care va fi afi?at cînd cererea este deschis?. Not?: Acest mesaj nu va fi trimis cu plata c?tre re?eaua Litecoin.</translation>
  32439. +        <source>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 LitecoinCash network.</source>
  32440. +        <translation>Un mesaj op?ional de ata?at la cererea de plat?, care va fi afi?at cînd cererea este deschis?. Not?: Acest mesaj nu va fi trimis cu plata c?tre re?eaua LitecoinCash.</translation>
  32441.      </message>
  32442.      <message>
  32443.          <source>An optional label to associate with the new receiving address.</source>
  32444. @@ -1472,8 +1472,8 @@
  32445.          <translation>Aceasta este o tranzac?ie normal?.</translation>
  32446.      </message>
  32447.      <message>
  32448. -        <source>The Litecoin address to send the payment to</source>
  32449. -        <translation>Adresa litecoin c?tre care se face plata</translation>
  32450. +        <source>The LitecoinCash address to send the payment to</source>
  32451. +        <translation>Adresa litecoincash c?tre care se face plata</translation>
  32452.      </message>
  32453.      <message>
  32454.          <source>Alt+A</source>
  32455. @@ -1500,8 +1500,8 @@
  32456.          <translation>Introduce?i eticheta pentru ca aceast? adresa s? fie introdus? în lista de adrese folosite</translation>
  32457.      </message>
  32458.      <message>
  32459. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  32460. -        <translation>un mesaj a fost ata?at la litecoin: URI care va fi stocat cu tranzac?ia pentru referin?a dvs. Not?: Acest mesaj nu va fi trimis c?tre re?eaua litecoin.</translation>
  32461. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  32462. +        <translation>un mesaj a fost ata?at la litecoincash: URI care va fi stocat cu tranzac?ia pentru referin?a dvs. Not?: Acest mesaj nu va fi trimis c?tre re?eaua litecoincash.</translation>
  32463.      </message>
  32464.      <message>
  32465.          <source>Pay To:</source>
  32466. @@ -1537,7 +1537,7 @@
  32467.          <translation>&amp;Semneaz? mesaj</translation>
  32468.      </message>
  32469.      <message>
  32470. -        <source>The Litecoin address to sign the message with</source>
  32471. +        <source>The LitecoinCash address to sign the message with</source>
  32472.          <translation>Adresa cu care semna?i mesajul</translation>
  32473.      </message>
  32474.      <message>
  32475. @@ -1569,8 +1569,8 @@
  32476.          <translation>Copiaz? semnatura curent? în clipboard-ul sistemului</translation>
  32477.      </message>
  32478.      <message>
  32479. -        <source>Sign the message to prove you own this Litecoin address</source>
  32480. -        <translation>Semneaz? mesajul pentru a dovedi ca de?ine?i acest? adres? Litecoin</translation>
  32481. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  32482. +        <translation>Semneaz? mesajul pentru a dovedi ca de?ine?i acest? adres? LitecoinCash</translation>
  32483.      </message>
  32484.      <message>
  32485.          <source>Sign &amp;Message</source>
  32486. @@ -1589,12 +1589,12 @@
  32487.          <translation>&amp;Verific? mesaj</translation>
  32488.      </message>
  32489.      <message>
  32490. -        <source>The Litecoin address the message was signed with</source>
  32491. -        <translation>Introduce?i o adres? Litecoin</translation>
  32492. +        <source>The LitecoinCash address the message was signed with</source>
  32493. +        <translation>Introduce?i o adres? LitecoinCash</translation>
  32494.      </message>
  32495.      <message>
  32496. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  32497. -        <translation>Verifica?i mesajul pentru a v? asigura c? a fost semnat cu adresa Litecoin specificat?</translation>
  32498. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  32499. +        <translation>Verifica?i mesajul pentru a v? asigura c? a fost semnat cu adresa LitecoinCash specificat?</translation>
  32500.      </message>
  32501.      <message>
  32502.          <source>Verify &amp;Message</source>
  32503. @@ -1702,8 +1702,8 @@
  32504.          <translation>Ruleaz? în fundal ca un demon ?i accept? comenzi</translation>
  32505.      </message>
  32506.      <message>
  32507. -        <source>Litecoin Core</source>
  32508. -        <translation>Nucleul Litecoin</translation>
  32509. +        <source>LitecoinCash Core</source>
  32510. +        <translation>Nucleul LitecoinCash</translation>
  32511.      </message>
  32512.      <message>
  32513.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  32514. diff --git a/src/qt/locale/bitcoin_ru.ts b/src/qt/locale/bitcoin_ru.ts
  32515. index 7ce0e82..b604859 100644
  32516. --- a/src/qt/locale/bitcoin_ru.ts
  32517. +++ b/src/qt/locale/bitcoin_ru.ts
  32518. @@ -62,12 +62,12 @@
  32519.          <translation>?????? ?????????</translation>
  32520.      </message>
  32521.      <message>
  32522. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  32523. -        <translation>??? ???? ?????? Litecoin ??? ???????? ????????. ?????? ?????????? ????? ? ????? ?????????? ????? ????????? ????????.</translation>
  32524. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  32525. +        <translation>??? ???? ?????? LitecoinCash ??? ???????? ????????. ?????? ?????????? ????? ? ????? ?????????? ????? ????????? ????????.</translation>
  32526.      </message>
  32527.      <message>
  32528. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  32529. -        <translation>??? ???? ?????? Litecoin ??? ?????? ????????. ????????????? ???????????? ????? ????? ????????? ??? ?????? ??????????.</translation>
  32530. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  32531. +        <translation>??? ???? ?????? LitecoinCash ??? ?????? ????????. ????????????? ???????????? ????? ????? ????????? ??? ?????? ??????????.</translation>
  32532.      </message>
  32533.      <message>
  32534.          <source>&amp;Copy Address</source>
  32535. @@ -168,7 +168,7 @@
  32536.          <translation>??????????? ?????????? ?????????</translation>
  32537.      </message>
  32538.      <message>
  32539. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  32540. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  32541.          <translation>??????????????: ???? ?? ?????????? ???????? ? ????????? ??????, ?? &lt;b&gt;????????? ??? ???? ????????&lt;/b&gt;!</translation>
  32542.      </message>
  32543.      <message>
  32544. @@ -180,7 +180,7 @@
  32545.          <translation>???????? ??????????</translation>
  32546.      </message>
  32547.      <message>
  32548. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  32549. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  32550.          <translation>?????? %1 ????????? ??? ?????????? ???????? ??????????. ???????, ??? ?????????? ?????? ????????? ?? ????? ????????? ???????? ???? ???????? ?? ????? ? ??????? ????????????? ?????? ?????????? ??????????? ??.</translation>
  32551.      </message>
  32552.      <message>
  32553. @@ -338,8 +338,8 @@
  32554.          <translation>???? ?????????????? ?????? ?? ?????...</translation>
  32555.      </message>
  32556.      <message>
  32557. -        <source>Send coins to a Litecoin address</source>
  32558. -        <translation>????????? ?????? ?? ????????? ????? Litecoin</translation>
  32559. +        <source>Send coins to a LitecoinCash address</source>
  32560. +        <translation>????????? ?????? ?? ????????? ????? LitecoinCash</translation>
  32561.      </message>
  32562.      <message>
  32563.          <source>Backup wallet to another location</source>
  32564. @@ -362,8 +362,8 @@
  32565.          <translation>&amp;????????? ?????????...</translation>
  32566.      </message>
  32567.      <message>
  32568. -        <source>Litecoin</source>
  32569. -        <translation>Litecoin</translation>
  32570. +        <source>LitecoinCash</source>
  32571. +        <translation>LitecoinCash</translation>
  32572.      </message>
  32573.      <message>
  32574.          <source>Wallet</source>
  32575. @@ -390,12 +390,12 @@
  32576.          <translation>??????????? ????????? ?????, ????????????? ?????? ?????????</translation>
  32577.      </message>
  32578.      <message>
  32579. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  32580. -        <translation>????????? ????????? ????? ??????? Litecoin, ????? ????????, ??? ?? ?? ????????</translation>
  32581. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  32582. +        <translation>????????? ????????? ????? ??????? LitecoinCash, ????? ????????, ??? ?? ?? ????????</translation>
  32583.      </message>
  32584.      <message>
  32585. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  32586. -        <translation>????????? ?????????, ????? ??????????????, ??? ??? ???? ????????? ???????????? ??????? Litecoin</translation>
  32587. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  32588. +        <translation>????????? ?????????, ????? ??????????????, ??? ??? ???? ????????? ???????????? ??????? LitecoinCash</translation>
  32589.      </message>
  32590.      <message>
  32591.          <source>&amp;File</source>
  32592. @@ -414,8 +414,8 @@
  32593.          <translation>?????? ???????</translation>
  32594.      </message>
  32595.      <message>
  32596. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  32597. -        <translation>????????? ??????? (??????? QR-???? ? litecoin: ??????)</translation>
  32598. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  32599. +        <translation>????????? ??????? (??????? QR-???? ? litecoincash: ??????)</translation>
  32600.      </message>
  32601.      <message>
  32602.          <source>Show the list of used sending addresses and labels</source>
  32603. @@ -426,16 +426,16 @@
  32604.          <translation>???????? ?????? ?????????????? ??????? ? ????? ?????????</translation>
  32605.      </message>
  32606.      <message>
  32607. -        <source>Open a litecoin: URI or payment request</source>
  32608. -        <translation>??????? litecoin: URI ??? ?????? ???????</translation>
  32609. +        <source>Open a litecoincash: URI or payment request</source>
  32610. +        <translation>??????? litecoincash: URI ??? ?????? ???????</translation>
  32611.      </message>
  32612.      <message>
  32613.          <source>&amp;Command-line options</source>
  32614.          <translation>&amp;????????? ????????? ??????</translation>
  32615.      </message>
  32616.      <message numerus="yes">
  32617. -        <source>%n active connection(s) to Litecoin network</source>
  32618. -        <translation><numerusform>%n ???????? ?????????? ? ????? Litecoin</numerusform><numerusform>%n ???????? ?????????? ? ????? Litecoin</numerusform><numerusform>%n ???????? ?????????? ? ????? Litecoin</numerusform><numerusform>%n ???????? ?????????? ? ????? Litecoin</numerusform></translation>
  32619. +        <source>%n active connection(s) to LitecoinCash network</source>
  32620. +        <translation><numerusform>%n ???????? ?????????? ? ????? LitecoinCash</numerusform><numerusform>%n ???????? ?????????? ? ????? LitecoinCash</numerusform><numerusform>%n ???????? ?????????? ? ????? LitecoinCash</numerusform><numerusform>%n ???????? ?????????? ? ????? LitecoinCash</numerusform></translation>
  32621.      </message>
  32622.      <message>
  32623.          <source>Indexing blocks on disk...</source>
  32624. @@ -478,7 +478,7 @@
  32625.          <translation>????????????????</translation>
  32626.      </message>
  32627.      <message>
  32628. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  32629. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  32630.          <translation>???????? ?????? ?? %1, ????? ???????? ?????? ????????? ?????????? ????????? ??????</translation>
  32631.      </message>
  32632.      <message>
  32633. @@ -548,8 +548,8 @@
  32634.          <translation>???????? &lt;b&gt;??????????&lt;/b&gt; ? ? ????????? ????? &lt;b&gt;????????????&lt;/b&gt;</translation>
  32635.      </message>
  32636.      <message>
  32637. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  32638. -        <translation>????????? ???????????? ??????. Litecoin ?? ????? ????????? ?????????? ?????? ? ????? ??????.</translation>
  32639. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  32640. +        <translation>????????? ???????????? ??????. LitecoinCash ?? ????? ????????? ?????????? ?????? ? ????? ??????.</translation>
  32641.      </message>
  32642.  </context>
  32643.  <context>
  32644. @@ -742,8 +742,8 @@
  32645.          <translation>???????? ????? ????????</translation>
  32646.      </message>
  32647.      <message>
  32648. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  32649. -        <translation>????????? ????? "%1" ?? ???????? ?????????? Litecoin-???????.</translation>
  32650. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  32651. +        <translation>????????? ????? "%1" ?? ???????? ?????????? LitecoinCash-???????.</translation>
  32652.      </message>
  32653.      <message>
  32654.          <source>The entered address "%1" is already in the address book.</source>
  32655. @@ -851,7 +851,7 @@
  32656.          <translation>??? ?????? ??????? ????????? ?? ?????? ??????? ??? %1 ????? ??????? ???? ??????.</translation>
  32657.      </message>
  32658.      <message>
  32659. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  32660. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  32661.          <translation>%1 ??????? ? ???????? ????? ???? ??????. ??? ??????? %2GB ????? ???????? ? ???? ???????, ? ?? ???????? ?? ????? ?????. ???????? ????? ????? ???????? ? ???? ????????.</translation>
  32662.      </message>
  32663.      <message>
  32664. @@ -886,11 +886,11 @@
  32665.          <translation>?????</translation>
  32666.      </message>
  32667.      <message>
  32668. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  32669. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  32670.          <translation>???????? ?????????? ????? ???? ???? ?? ?????, ??????? ??? ?????? ????? ???????????? ???????????. ??? ?????????? ?????? ??????????, ??? ?????? ??? ???????? ????? ??????????????? ? ?????, ??. ??????????? ????.</translation>
  32671.      </message>
  32672.      <message>
  32673. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  32674. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  32675.          <translation>??????? ????????? ???????? ?? ??? ?? ???????????? ?????????? ????? ?????????? ?????.</translation>
  32676.      </message>
  32677.      <message>
  32678. @@ -1048,20 +1048,20 @@
  32679.          <translation>&amp;??????? ???????????????? ?????</translation>
  32680.      </message>
  32681.      <message>
  32682. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  32683. -        <translation>????????????? ??????? ???? ??? Litecoin-??????? ?? ???????. ???????? ?????? ???? ??? ?????? ???????????? UPnP, ? ?????? ??????? ????????.</translation>
  32684. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  32685. +        <translation>????????????? ??????? ???? ??? LitecoinCash-??????? ?? ???????. ???????? ?????? ???? ??? ?????? ???????????? UPnP, ? ?????? ??????? ????????.</translation>
  32686.      </message>
  32687.      <message>
  32688.          <source>Map port using &amp;UPnP</source>
  32689.          <translation>?????????? ???? ????? &amp;UPnP</translation>
  32690.      </message>
  32691.      <message>
  32692. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  32693. -        <translation>???????????? ? ???? Litecoin ????? ?????? SOCKS5</translation>
  32694. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  32695. +        <translation>???????????? ? ???? LitecoinCash ????? ?????? SOCKS5</translation>
  32696.      </message>
  32697.      <message>
  32698.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  32699. -        <translation>&amp;???????????? ? ???? Litecoin ????? ?????? SOCKS5 (?????? ?? ?????????):</translation>
  32700. +        <translation>&amp;???????????? ? ???? LitecoinCash ????? ?????? SOCKS5 (?????? ?? ?????????):</translation>
  32701.      </message>
  32702.      <message>
  32703.          <source>Proxy &amp;IP:</source>
  32704. @@ -1096,8 +1096,8 @@
  32705.          <translation>Tor</translation>
  32706.      </message>
  32707.      <message>
  32708. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  32709. -        <translation>???????????? ? ???? Litecoin ????? ?????? SOCKS5 ??? ??????? ???????? Tor.</translation>
  32710. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  32711. +        <translation>???????????? ? ???? LitecoinCash ????? ?????? SOCKS5 ??? ??????? ???????? Tor.</translation>
  32712.      </message>
  32713.      <message>
  32714.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  32715. @@ -1195,8 +1195,8 @@
  32716.          <translation>?????</translation>
  32717.      </message>
  32718.      <message>
  32719. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  32720. -        <translation>???????????? ?????????? ????? ???? ??????????. ??? ???????? ????????????? ???????????????? ? ????? Litecoin ????? ???????????, ?? ???? ??????? ???? ?? ????????.</translation>
  32721. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  32722. +        <translation>???????????? ?????????? ????? ???? ??????????. ??? ???????? ????????????? ???????????????? ? ????? LitecoinCash ????? ???????????, ?? ???? ??????? ???? ?? ????????.</translation>
  32723.      </message>
  32724.      <message>
  32725.          <source>Watch-only:</source>
  32726. @@ -1270,8 +1270,8 @@
  32727.          <translation>?????? ??????? ???????</translation>
  32728.      </message>
  32729.      <message>
  32730. -        <source>Cannot start litecoin: click-to-pay handler</source>
  32731. -        <translation>?? ??????? ????????? litecoin: ?????????? click-to-pay</translation>
  32732. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  32733. +        <translation>?? ??????? ????????? litecoincash: ?????????? click-to-pay</translation>
  32734.      </message>
  32735.      <message>
  32736.          <source>URI handling</source>
  32737. @@ -1286,8 +1286,8 @@
  32738.          <translation>???????? ????? ??????? %1</translation>
  32739.      </message>
  32740.      <message>
  32741. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  32742. -        <translation>?? ??????? ?????????? URI! ??? ????? ???? ??????? ? ???????? ??????? Litecoin ??? ????????????? ??????????? URI.</translation>
  32743. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  32744. +        <translation>?? ??????? ?????????? URI! ??? ????? ???? ??????? ? ???????? ??????? LitecoinCash ??? ????????????? ??????????? URI.</translation>
  32745.      </message>
  32746.      <message>
  32747.          <source>Payment request file handling</source>
  32748. @@ -1380,8 +1380,8 @@
  32749.          <translation>?????</translation>
  32750.      </message>
  32751.      <message>
  32752. -        <source>Enter a Litecoin address (e.g. %1)</source>
  32753. -        <translation>??????? ????? Litecoin (????????, %1)</translation>
  32754. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  32755. +        <translation>??????? ????? LitecoinCash (????????, %1)</translation>
  32756.      </message>
  32757.      <message>
  32758.          <source>%1 d</source>
  32759. @@ -1804,8 +1804,8 @@
  32760.          <translation>&amp;???????? ???????????? ???????????? ????? ????????? (?? ?????????????)</translation>
  32761.      </message>
  32762.      <message>
  32763. -        <source>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 Litecoin network.</source>
  32764. -        <translation>?????????????? ????????? ??? ??????? ???????, ??????? ????? ???????? ??? ???????? ???????. ????????: ????????? ?? ????? ?????????? ?????? ? ???????? ????? ???? Litecoin.</translation>
  32765. +        <source>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 LitecoinCash network.</source>
  32766. +        <translation>?????????????? ????????? ??? ??????? ???????, ??????? ????? ???????? ??? ???????? ???????. ????????: ????????? ?? ????? ?????????? ?????? ? ???????? ????? ???? LitecoinCash.</translation>
  32767.      </message>
  32768.      <message>
  32769.          <source>An optional label to associate with the new receiving address.</source>
  32770. @@ -2037,7 +2037,7 @@
  32771.          <translation>????? ??? ???????</translation>
  32772.      </message>
  32773.      <message>
  32774. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  32775. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  32776.          <translation>?????? ??????????? ???????? ? ?? ????????, ???? ????? ?????????? ??????, ??? ????????? ????? ? ??????. ??????, ??????, ??? ????? ?????????? ????? ??????? ?? ?????????????, ???? ????? ?? ?????????? ????????? ??????????? ???? ?? ?? ?????????.</translation>
  32777.      </message>
  32778.      <message>
  32779. @@ -2201,8 +2201,8 @@
  32780.          <translation><numerusform>?????? ????????????? ????????? ????? %n ????.</numerusform><numerusform>?????? ????????????? ????????? ????? %n ?????.</numerusform><numerusform>?????? ????????????? ????????? ????? %n ??????.</numerusform><numerusform>?????? ????????????? ????????? ????? %n ??????.</numerusform></translation>
  32781.      </message>
  32782.      <message>
  32783. -        <source>Warning: Invalid Litecoin address</source>
  32784. -        <translation>????????: ???????? ????? Litecoin</translation>
  32785. +        <source>Warning: Invalid LitecoinCash address</source>
  32786. +        <translation>????????: ???????? ????? LitecoinCash</translation>
  32787.      </message>
  32788.      <message>
  32789.          <source>Warning: Unknown change address</source>
  32790. @@ -2244,8 +2244,8 @@
  32791.          <translation>??? ?????????? ??????.</translation>
  32792.      </message>
  32793.      <message>
  32794. -        <source>The Litecoin address to send the payment to</source>
  32795. -        <translation>????? Litecoin, ?? ??????? ????????? ??????</translation>
  32796. +        <source>The LitecoinCash address to send the payment to</source>
  32797. +        <translation>????? LitecoinCash, ?? ??????? ????????? ??????</translation>
  32798.      </message>
  32799.      <message>
  32800.          <source>Alt+A</source>
  32801. @@ -2264,7 +2264,7 @@
  32802.          <translation>??????? ??? ??????</translation>
  32803.      </message>
  32804.      <message>
  32805. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  32806. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  32807.          <translation>? ???????????? ????? ????? ???????? ????????. ?????????? ?????? ?????? ?????????, ??? ?? ??????? ? ???? ??????????. ???? ??????? ????????? ???????????, ???????? ?????????????? ???????.</translation>
  32808.      </message>
  32809.      <message>
  32810. @@ -2288,8 +2288,8 @@
  32811.          <translation>??????? ????? ??? ????? ??????, ????? ???????? ??? ? ?????? ??????????????</translation>
  32812.      </message>
  32813.      <message>
  32814. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  32815. -        <translation>? litecoin: URI ???? ??????????? ?????????, ??????? ????? ????????? ?????? ? ??????????? ??? ?????? ????????. ????????: ????????? ?? ????? ?????????? ????? ???? Litecoin.</translation>
  32816. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  32817. +        <translation>? litecoincash: URI ???? ??????????? ?????????, ??????? ????? ????????? ?????? ? ??????????? ??? ?????? ????????. ????????: ????????? ?? ????? ?????????? ????? ???? LitecoinCash.</translation>
  32818.      </message>
  32819.      <message>
  32820.          <source>Pay To:</source>
  32821. @@ -2333,12 +2333,12 @@
  32822.          <translation>&amp;????????? ?????????</translation>
  32823.      </message>
  32824.      <message>
  32825. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  32826. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  32827.          <translation>?? ?????? ??????????? ?????????/?????????? ?????? ????????, ????? ???????? ???? ??????????? ???????? ???????? ?? ???. ?????? ?????????, ?? ???????????? ???-?? ?????????????? ??? ?????????, ??? ??? ?????????? ????? ????? ???????? ????? ????????? ??? ????????? ????????????? ?????????. ???????????? ?????? ?? ?????????, ? ???????? ?? ???????? ?????? ?? ???????.</translation>
  32828.      </message>
  32829.      <message>
  32830. -        <source>The Litecoin address to sign the message with</source>
  32831. -        <translation>????? Litecoin, ??????? ????????? ?????????</translation>
  32832. +        <source>The LitecoinCash address to sign the message with</source>
  32833. +        <translation>????? LitecoinCash, ??????? ????????? ?????????</translation>
  32834.      </message>
  32835.      <message>
  32836.          <source>Choose previously used address</source>
  32837. @@ -2369,8 +2369,8 @@
  32838.          <translation>??????????? ??????? ??????? ? ????????? ????? ??????</translation>
  32839.      </message>
  32840.      <message>
  32841. -        <source>Sign the message to prove you own this Litecoin address</source>
  32842. -        <translation>????????? ?????????, ????? ???????? ???????? ??????? Litecoin</translation>
  32843. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  32844. +        <translation>????????? ?????????, ????? ???????? ???????? ??????? LitecoinCash</translation>
  32845.      </message>
  32846.      <message>
  32847.          <source>Sign &amp;Message</source>
  32848. @@ -2393,12 +2393,12 @@
  32849.          <translation>??????? ???? ????? ??????????, ????????? (?????????, ??? ???????? ?????, ???????, ???? ? ?.?. ? ???????? ???????????) ? ???????, ????? ????????? ?????????. ?????????, ??? ?? ??????????? ??????? ? ???????, ?? ????????? ? ????? ????????????? ??????????, ????? ?? ????? ??????? ????? "man-in-the-middle". ????????, ??? ??? ???????? ???????????? ???? ????????? ????????????, ?? ?? ????? ???????????? ??????????? ??????????.</translation>
  32850.      </message>
  32851.      <message>
  32852. -        <source>The Litecoin address the message was signed with</source>
  32853. -        <translation>????? Litecoin, ??????? ???? ????????? ?????????</translation>
  32854. +        <source>The LitecoinCash address the message was signed with</source>
  32855. +        <translation>????? LitecoinCash, ??????? ???? ????????? ?????????</translation>
  32856.      </message>
  32857.      <message>
  32858. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  32859. -        <translation>????????? ?????????, ????? ?????????, ??? ??? ???? ????????? ????????? ??????? Litecoin</translation>
  32860. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  32861. +        <translation>????????? ?????????, ????? ?????????, ??? ??? ???? ????????? ????????? ??????? LitecoinCash</translation>
  32862.      </message>
  32863.      <message>
  32864.          <source>Verify &amp;Message</source>
  32865. @@ -3058,8 +3058,8 @@
  32866.          <translation>?????????? ????????? HTTP ??????. ?????? debug ??? ??? ????????????.</translation>
  32867.      </message>
  32868.      <message>
  32869. -        <source>Litecoin Core</source>
  32870. -        <translation>Litecoin Core</translation>
  32871. +        <source>LitecoinCash Core</source>
  32872. +        <translation>LitecoinCash Core</translation>
  32873.      </message>
  32874.      <message>
  32875.          <source>The %s developers</source>
  32876. diff --git a/src/qt/locale/bitcoin_ru_RU.ts b/src/qt/locale/bitcoin_ru_RU.ts
  32877. index 24fe375..82f81e3 100644
  32878. --- a/src/qt/locale/bitcoin_ru_RU.ts
  32879. +++ b/src/qt/locale/bitcoin_ru_RU.ts
  32880. @@ -230,8 +230,8 @@
  32881.          <translation>&amp;????????? ?????????...</translation>
  32882.      </message>
  32883.      <message>
  32884. -        <source>Litecoin</source>
  32885. -        <translation>Litecoin Core</translation>
  32886. +        <source>LitecoinCash</source>
  32887. +        <translation>LitecoinCash Core</translation>
  32888.      </message>
  32889.      <message>
  32890.          <source>Wallet</source>
  32891. @@ -442,8 +442,8 @@
  32892.          <translation>?????????? ???? ????? &amp;UPnP</translation>
  32893.      </message>
  32894.      <message>
  32895. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  32896. -        <translation>??????????? ? ???? Litecoin ????? SOCKS5 ??????.</translation>
  32897. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  32898. +        <translation>??????????? ? ???? LitecoinCash ????? SOCKS5 ??????.</translation>
  32899.      </message>
  32900.      <message>
  32901.          <source>Proxy &amp;IP:</source>
  32902. @@ -522,7 +522,7 @@
  32903.  <context>
  32904.      <name>QObject</name>
  32905.      <message>
  32906. -        <source>Enter a Litecoin address (e.g. %1)</source>
  32907. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  32908.          <translation>??????? ???????-????? (????. %1)</translation>
  32909.      </message>
  32910.      <message numerus="yes">
  32911. @@ -832,8 +832,8 @@
  32912.  <context>
  32913.      <name>bitcoin-core</name>
  32914.      <message>
  32915. -        <source>Litecoin Core</source>
  32916. -        <translation>Litecoin Core</translation>
  32917. +        <source>LitecoinCash Core</source>
  32918. +        <translation>LitecoinCash Core</translation>
  32919.      </message>
  32920.      <message>
  32921.          <source>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</source>
  32922. diff --git a/src/qt/locale/bitcoin_sk.ts b/src/qt/locale/bitcoin_sk.ts
  32923. index 5b96863..2b6fde7 100644
  32924. --- a/src/qt/locale/bitcoin_sk.ts
  32925. +++ b/src/qt/locale/bitcoin_sk.ts
  32926. @@ -62,12 +62,12 @@
  32927.          <translation>Prijímajúce adresy</translation>
  32928.      </message>
  32929.      <message>
  32930. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  32931. -        <translation>Toto sú Va?e Litecoin adresy pre posielanie platieb. V?dy skontrolujte sumu a prijímaciu adresu pred poslaním mincí.</translation>
  32932. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  32933. +        <translation>Toto sú Va?e LitecoinCash adresy pre posielanie platieb. V?dy skontrolujte sumu a prijímaciu adresu pred poslaním mincí.</translation>
  32934.      </message>
  32935.      <message>
  32936. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  32937. -        <translation>Toto sú va?e Litecoin adresy pre prijímanie platieb. Odporú?a sa pou?i? v?dy novú prijímaciu adresu pre ka?dú transakciu.</translation>
  32938. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  32939. +        <translation>Toto sú va?e LitecoinCash adresy pre prijímanie platieb. Odporú?a sa pou?i? v?dy novú prijímaciu adresu pre ka?dú transakciu.</translation>
  32940.      </message>
  32941.      <message>
  32942.          <source>&amp;Copy Address</source>
  32943. @@ -168,8 +168,8 @@
  32944.          <translation>Potvr?te za?ifrovanie pe?a?enky</translation>
  32945.      </message>
  32946.      <message>
  32947. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  32948. -        <translation>Varovanie: Ak za?ifrujete pe?a?enku a stratíte heslo, &lt;b&gt;STRATÍTE V?ETKY VA?E LITECOINY&lt;/b&gt;!</translation>
  32949. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  32950. +        <translation>Varovanie: Ak za?ifrujete pe?a?enku a stratíte heslo, &lt;b&gt;STRATÍTE V?ETKY VA?E LITECOINCASHY&lt;/b&gt;!</translation>
  32951.      </message>
  32952.      <message>
  32953.          <source>Are you sure you wish to encrypt your wallet?</source>
  32954. @@ -180,8 +180,8 @@
  32955.          <translation>Pe?a?enka za?ifrovaná</translation>
  32956.      </message>
  32957.      <message>
  32958. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  32959. -        <translation>%1 sa teraz zavrie, aby sa ukon?il proces ?ifrovania. Za?ifrovanie pe?a?enky neochráni úplne pred kráde?ou litecoinov ?kodlivými programami, ktoré prenikli do vá?ho po?íta?a.</translation>
  32960. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  32961. +        <translation>%1 sa teraz zavrie, aby sa ukon?il proces ?ifrovania. Za?ifrovanie pe?a?enky neochráni úplne pred kráde?ou litecoincashov ?kodlivými programami, ktoré prenikli do vá?ho po?íta?a.</translation>
  32962.      </message>
  32963.      <message>
  32964.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  32965. @@ -338,8 +338,8 @@
  32966.          <translation>Preindexúvam bloky na disku...</translation>
  32967.      </message>
  32968.      <message>
  32969. -        <source>Send coins to a Litecoin address</source>
  32970. -        <translation>Posla? litecoins na adresu</translation>
  32971. +        <source>Send coins to a LitecoinCash address</source>
  32972. +        <translation>Posla? coins na adresu</translation>
  32973.      </message>
  32974.      <message>
  32975.          <source>Backup wallet to another location</source>
  32976. @@ -362,8 +362,8 @@
  32977.          <translation>O&amp;veri? správu...</translation>
  32978.      </message>
  32979.      <message>
  32980. -        <source>Litecoin</source>
  32981. -        <translation>Litecoin</translation>
  32982. +        <source>LitecoinCash</source>
  32983. +        <translation>LitecoinCash</translation>
  32984.      </message>
  32985.      <message>
  32986.          <source>Wallet</source>
  32987. @@ -390,12 +390,12 @@
  32988.          <translation>Za?ifruj súkromné k?ú?e ktoré patria do va?ej pe?a?enky</translation>
  32989.      </message>
  32990.      <message>
  32991. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  32992. -        <translation>Podpísa? správu s va?ou adresou Litecoin aby ste preukázali ?e ju vlastníte</translation>
  32993. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  32994. +        <translation>Podpísa? správu s va?ou adresou LitecoinCash aby ste preukázali ?e ju vlastníte</translation>
  32995.      </message>
  32996.      <message>
  32997. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  32998. -        <translation>Overi? ?i správa bola podpísaná uvedenou Litecoin adresou</translation>
  32999. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  33000. +        <translation>Overi? ?i správa bola podpísaná uvedenou LitecoinCash adresou</translation>
  33001.      </message>
  33002.      <message>
  33003.          <source>&amp;File</source>
  33004. @@ -414,8 +414,8 @@
  33005.          <translation>Li?ta zálo?iek</translation>
  33006.      </message>
  33007.      <message>
  33008. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  33009. -        <translation>Vy?iada? platby (vygeneruje QR kódy a litecoin: URI)</translation>
  33010. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  33011. +        <translation>Vy?iada? platby (vygeneruje QR kódy a litecoincash: URI)</translation>
  33012.      </message>
  33013.      <message>
  33014.          <source>Show the list of used sending addresses and labels</source>
  33015. @@ -426,16 +426,16 @@
  33016.          <translation>Zobrazi? zoznam pou?itých prijímacích adries a ich popisov</translation>
  33017.      </message>
  33018.      <message>
  33019. -        <source>Open a litecoin: URI or payment request</source>
  33020. -        <translation>Otvori? litecoin URI alebo výzvu k platbe</translation>
  33021. +        <source>Open a litecoincash: URI or payment request</source>
  33022. +        <translation>Otvori? litecoincash URI alebo výzvu k platbe</translation>
  33023.      </message>
  33024.      <message>
  33025.          <source>&amp;Command-line options</source>
  33026.          <translation>Mo?nosti príkazového riadku</translation>
  33027.      </message>
  33028.      <message numerus="yes">
  33029. -        <source>%n active connection(s) to Litecoin network</source>
  33030. -        <translation><numerusform>%n aktívne pripojenie do siete Litecoin</numerusform><numerusform>%n aktívne pripojenia do siete Litecoin</numerusform><numerusform>%n aktívnych pripojení do siete Litecoin</numerusform></translation>
  33031. +        <source>%n active connection(s) to LitecoinCash network</source>
  33032. +        <translation><numerusform>%n aktívne pripojenie do siete LitecoinCash</numerusform><numerusform>%n aktívne pripojenia do siete LitecoinCash</numerusform><numerusform>%n aktívnych pripojení do siete LitecoinCash</numerusform></translation>
  33033.      </message>
  33034.      <message>
  33035.          <source>Indexing blocks on disk...</source>
  33036. @@ -478,8 +478,8 @@
  33037.          <translation>Aktualizovaný</translation>
  33038.      </message>
  33039.      <message>
  33040. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  33041. -        <translation>Uká? %1 zoznam mo?ných nastavení Litecoinu pomocou príkazového riadku</translation>
  33042. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  33043. +        <translation>Uká? %1 zoznam mo?ných nastavení LitecoinCashu pomocou príkazového riadku</translation>
  33044.      </message>
  33045.      <message>
  33046.          <source>%1 client</source>
  33047. @@ -548,8 +548,8 @@
  33048.          <translation>Pe?a?enka je &lt;b&gt;za?ifrovaná&lt;/b&gt; a momentálne &lt;b&gt;zamknutá&lt;/b&gt;</translation>
  33049.      </message>
  33050.      <message>
  33051. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  33052. -        <translation>Vyskytla sa kritická chyba. Litecoin nemô?e ?alej bezpe?ne pokra?ova? a ukon?í sa.</translation>
  33053. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  33054. +        <translation>Vyskytla sa kritická chyba. LitecoinCash nemô?e ?alej bezpe?ne pokra?ova? a ukon?í sa.</translation>
  33055.      </message>
  33056.  </context>
  33057.  <context>
  33058. @@ -742,8 +742,8 @@
  33059.          <translation>Upravi? odosielaciu adresu</translation>
  33060.      </message>
  33061.      <message>
  33062. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  33063. -        <translation>Vlo?ená adresa "%1" nieje platnou adresou Litecoin.</translation>
  33064. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  33065. +        <translation>Vlo?ená adresa "%1" nieje platnou adresou LitecoinCash.</translation>
  33066.      </message>
  33067.      <message>
  33068.          <source>The entered address "%1" is already in the address book.</source>
  33069. @@ -851,8 +851,8 @@
  33070.          <translation>Ke??e toto je prvé spustenie programu, mô?ete si vybra?, kam %1 bude uklada? va?e údaje.</translation>
  33071.      </message>
  33072.      <message>
  33073. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  33074. -        <translation>%1 stiahne a ulo?í kópiu Litecoin block chain. Minimálne %2GB dát bude ulo?ených v tejto zlo?ke, a bude sa zvä??ova? postupom ?asu. Pe?a?enka bude taktie? ulo?ená v tejto zlo?ke.</translation>
  33075. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  33076. +        <translation>%1 stiahne a ulo?í kópiu LitecoinCash block chain. Minimálne %2GB dát bude ulo?ených v tejto zlo?ke, a bude sa zvä??ova? postupom ?asu. Pe?a?enka bude taktie? ulo?ená v tejto zlo?ke.</translation>
  33077.      </message>
  33078.      <message>
  33079.          <source>Use the default data directory</source>
  33080. @@ -886,12 +886,12 @@
  33081.          <translation>Forma</translation>
  33082.      </message>
  33083.      <message>
  33084. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  33085. -        <translation>Nedávne transakcie nemusia by? e?te vidite?né preto mô?e by? zostatok vo va?ej pe?a?enke nesprávny. Táto informácia bude správna ke? sa dokon?í synchronizovanie pe?a?enky so sie?ou litecoin, ako je rozpísané ni??ie.</translation>
  33086. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  33087. +        <translation>Nedávne transakcie nemusia by? e?te vidite?né preto mô?e by? zostatok vo va?ej pe?a?enke nesprávny. Táto informácia bude správna ke? sa dokon?í synchronizovanie pe?a?enky so sie?ou litecoincash, ako je rozpísané ni??ie.</translation>
  33088.      </message>
  33089.      <message>
  33090. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  33091. -        <translation>Pokus o minutie litecoinov, ktoré sú ovplyvnené e?te nezobrazenými transakciami, nebude sie?ou akceptovaný.</translation>
  33092. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  33093. +        <translation>Pokus o minutie litecoincashov, ktoré sú ovplyvnené e?te nezobrazenými transakciami, nebude sie?ou akceptovaný.</translation>
  33094.      </message>
  33095.      <message>
  33096.          <source>Number of blocks left</source>
  33097. @@ -1048,16 +1048,16 @@
  33098.          <translation>Minú? nepotvrdený výdavok</translation>
  33099.      </message>
  33100.      <message>
  33101. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  33102. -        <translation>Automaticky otvorit port pre Litecoin na routeri. Toto funguje len ak router podporuje UPnP a je táto podpora aktivovaná.</translation>
  33103. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  33104. +        <translation>Automaticky otvorit port pre LitecoinCash na routeri. Toto funguje len ak router podporuje UPnP a je táto podpora aktivovaná.</translation>
  33105.      </message>
  33106.      <message>
  33107.          <source>Map port using &amp;UPnP</source>
  33108.          <translation>Mapova? port pomocou &amp;UPnP</translation>
  33109.      </message>
  33110.      <message>
  33111. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  33112. -        <translation>Pripoji? do siete Litecoin cez proxy server SOCKS5.</translation>
  33113. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  33114. +        <translation>Pripoji? do siete LitecoinCash cez proxy server SOCKS5.</translation>
  33115.      </message>
  33116.      <message>
  33117.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  33118. @@ -1096,8 +1096,8 @@
  33119.          <translation>Tor</translation>
  33120.      </message>
  33121.      <message>
  33122. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  33123. -        <translation>Pripoji? k Litecoinovej sieti cez separované SOCKS5 proxy pre skrytú slu?bu Tor.</translation>
  33124. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  33125. +        <translation>Pripoji? k LitecoinCashovej sieti cez separované SOCKS5 proxy pre skrytú slu?bu Tor.</translation>
  33126.      </message>
  33127.      <message>
  33128.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  33129. @@ -1145,7 +1145,7 @@
  33130.      </message>
  33131.      <message>
  33132.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  33133. -        <translation>Zvo?te ako deli? litecoin pri zobrazovaní pri platbách a u?ívate?skom rozhraní.</translation>
  33134. +        <translation>Zvo?te ako deli? litecoincash pri zobrazovaní pri platbách a u?ívate?skom rozhraní.</translation>
  33135.      </message>
  33136.      <message>
  33137.          <source>Whether to show coin control features or not.</source>
  33138. @@ -1195,8 +1195,8 @@
  33139.          <translation>Forma</translation>
  33140.      </message>
  33141.      <message>
  33142. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  33143. -        <translation>Zobrazené informácie mô?u by? neaktuálne. Va?a pe?a?enka sa automaticky synchronizuje so sie?ou Litecoin po nadviazaní spojenia, ale tento proces e?te nie je ukon?ený.</translation>
  33144. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  33145. +        <translation>Zobrazené informácie mô?u by? neaktuálne. Va?a pe?a?enka sa automaticky synchronizuje so sie?ou LitecoinCash po nadviazaní spojenia, ale tento proces e?te nie je ukon?ený.</translation>
  33146.      </message>
  33147.      <message>
  33148.          <source>Watch-only:</source>
  33149. @@ -1282,8 +1282,8 @@
  33150.          <translation>Neplatná adresa platby %1</translation>
  33151.      </message>
  33152.      <message>
  33153. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  33154. -        <translation>URI sa nedá analyzova?! To mô?e by? spôsobené neplatnou Litecoin adresou alebo zle nastavenými vlastnos?ami URI.</translation>
  33155. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  33156. +        <translation>URI sa nedá analyzova?! To mô?e by? spôsobené neplatnou LitecoinCash adresou alebo zle nastavenými vlastnos?ami URI.</translation>
  33157.      </message>
  33158.      <message>
  33159.          <source>Payment request file handling</source>
  33160. @@ -1376,8 +1376,8 @@
  33161.          <translation>Suma</translation>
  33162.      </message>
  33163.      <message>
  33164. -        <source>Enter a Litecoin address (e.g. %1)</source>
  33165. -        <translation>Zadajte litecoin adresu (napr. %1)</translation>
  33166. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  33167. +        <translation>Zadajte litecoincash adresu (napr. %1)</translation>
  33168.      </message>
  33169.      <message>
  33170.          <source>%1 d</source>
  33171. @@ -1793,8 +1793,8 @@
  33172.          <translation>Znovu pou?i? jestvujúcu prijímaciu adresu (neodporú?a sa)</translation>
  33173.      </message>
  33174.      <message>
  33175. -        <source>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 Litecoin network.</source>
  33176. -        <translation>Prida? volite?nú správu k výzve na zaplatenie, ktorá sa zobrazí ke? bude výzva otvorená. Poznámka: Správa nebude poslaná s platbou cez sie? Litecoin.</translation>
  33177. +        <source>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 LitecoinCash network.</source>
  33178. +        <translation>Prida? volite?nú správu k výzve na zaplatenie, ktorá sa zobrazí ke? bude výzva otvorená. Poznámka: Správa nebude poslaná s platbou cez sie? LitecoinCash.</translation>
  33179.      </message>
  33180.      <message>
  33181.          <source>An optional label to associate with the new receiving address.</source>
  33182. @@ -1947,7 +1947,7 @@
  33183.      <name>SendCoinsDialog</name>
  33184.      <message>
  33185.          <source>Send Coins</source>
  33186. -        <translation>Posla? Litecoins</translation>
  33187. +        <translation>Posla? LCC</translation>
  33188.      </message>
  33189.      <message>
  33190.          <source>Coin Control Features</source>
  33191. @@ -2026,7 +2026,7 @@
  33192.          <translation>spolu aspo?</translation>
  33193.      </message>
  33194.      <message>
  33195. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  33196. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  33197.          <translation>Zaplatenie len minimálneho poplatku je v poriadku, pokia? existuje menej transakcií ako miesta v blokoch. Uvedomte si v?ak, ?e ak bude vy??í dopyt po transakciách ako doká?e sie? spracova?, mô?e by? va?a transakcia odsúvaná a nepotvrdená donekone?na.</translation>
  33198.      </message>
  33199.      <message>
  33200. @@ -2190,8 +2190,8 @@
  33201.          <translation><numerusform>Odhadovaný za?iatok potvrdzovania po %n bloku.</numerusform><numerusform>Odhadovaný za?iatok potvrdzovania po %n blokoch.</numerusform><numerusform>Odhadovaný za?iatok potvrdzovania po %n blokoch.</numerusform></translation>
  33202.      </message>
  33203.      <message>
  33204. -        <source>Warning: Invalid Litecoin address</source>
  33205. -        <translation>Varovanie: Neplatná Litecoin adresa</translation>
  33206. +        <source>Warning: Invalid LitecoinCash address</source>
  33207. +        <translation>Varovanie: Neplatná LitecoinCash adresa</translation>
  33208.      </message>
  33209.      <message>
  33210.          <source>Warning: Unknown change address</source>
  33211. @@ -2233,7 +2233,7 @@
  33212.          <translation>Toto je normálna platba.</translation>
  33213.      </message>
  33214.      <message>
  33215. -        <source>The Litecoin address to send the payment to</source>
  33216. +        <source>The LitecoinCash address to send the payment to</source>
  33217.          <translation>Zvo?te adresu kam posla? platbu</translation>
  33218.      </message>
  33219.      <message>
  33220. @@ -2253,8 +2253,8 @@
  33221.          <translation>Odstráni? túto polo?ku</translation>
  33222.      </message>
  33223.      <message>
  33224. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  33225. -        <translation>Poplatok sa odpo?íta od ?iastky, ktorú odosielate. Príjemca dostane menej litecoinov ako zadáte. Ak je vybraných viacero príjemcov, poplatok je rozdelený rovným dielom.</translation>
  33226. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  33227. +        <translation>Poplatok sa odpo?íta od ?iastky, ktorú odosielate. Príjemca dostane menej litecoincashov ako zadáte. Ak je vybraných viacero príjemcov, poplatok je rozdelený rovným dielom.</translation>
  33228.      </message>
  33229.      <message>
  33230.          <source>S&amp;ubtract fee from amount</source>
  33231. @@ -2277,8 +2277,8 @@
  33232.          <translation>Vlo?te popis pre túto adresu aby sa ulo?ila do zoznamu pou?itých adries</translation>
  33233.      </message>
  33234.      <message>
  33235. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  33236. -        <translation>Správa ktorá bola pripojená k litecoin: URI a ktorá bude ulo?ená s transakcou pre Va?e potreby. Poznámka: Táto správa nebude poslaná cez sie? Litecoin.</translation>
  33237. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  33238. +        <translation>Správa ktorá bola pripojená k litecoincash: URI a ktorá bude ulo?ená s transakcou pre Va?e potreby. Poznámka: Táto správa nebude poslaná cez sie? LitecoinCash.</translation>
  33239.      </message>
  33240.      <message>
  33241.          <source>Pay To:</source>
  33242. @@ -2322,12 +2322,12 @@
  33243.          <translation>&amp;Podpísa? Správu</translation>
  33244.      </message>
  33245.      <message>
  33246. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  33247. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  33248.          <translation>Mô?ete podpísa? správy svojou adresou a dokáza?, ?e viete prijíma? mince zaslané na túto adresu. Bu?te v?ak opatrní a podpí?te len podrobné prehlásenia, s ktorými plne súhlasíte, nako?ko útoky typu "phishing" Vás mô?u láka? k podpísaniu nejasných alebo príli? v?eobecných tvrdení ?ím prevezmú va?u identitu.</translation>
  33249.      </message>
  33250.      <message>
  33251. -        <source>The Litecoin address to sign the message with</source>
  33252. -        <translation>Litecoin adresa pre podpísanie správy s</translation>
  33253. +        <source>The LitecoinCash address to sign the message with</source>
  33254. +        <translation>LitecoinCash adresa pre podpísanie správy s</translation>
  33255.      </message>
  33256.      <message>
  33257.          <source>Choose previously used address</source>
  33258. @@ -2358,7 +2358,7 @@
  33259.          <translation>Kopírova? tento podpis do systémovej schránky</translation>
  33260.      </message>
  33261.      <message>
  33262. -        <source>Sign the message to prove you own this Litecoin address</source>
  33263. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  33264.          <translation>Podpí?te správu aby ste dokázali ?e vlastníte túto adresu</translation>
  33265.      </message>
  33266.      <message>
  33267. @@ -2382,12 +2382,12 @@
  33268.          <translation>Vlo?te adresu príjemcu, správu (uistite sa, ?e presne kopírujete ukon?enia riadkov, medzery, odrá?ky, at?.) a podpis pre potvrdenie správy. Bu?te opatrní a nedomý??ajte si viac ne? je uvedené v samotnej podpísanej správe a mô?ete sa tak vyhnú? podvodu MITM útokom. Toto len potvrdzuje, ?e podpisujúca strana mô?e prijíma? na tejto adrese, nepotvrdzuje to vlastníctvo ?iadnej transakcie!</translation>
  33269.      </message>
  33270.      <message>
  33271. -        <source>The Litecoin address the message was signed with</source>
  33272. -        <translation>Adresa Litecoin, ktorou bola podpísaná správa</translation>
  33273. +        <source>The LitecoinCash address the message was signed with</source>
  33274. +        <translation>Adresa LitecoinCash, ktorou bola podpísaná správa</translation>
  33275.      </message>
  33276.      <message>
  33277. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  33278. -        <translation>Overím správy sa uisti? ?e bola podpísaná ozna?enou Litecoin adresou</translation>
  33279. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  33280. +        <translation>Overím správy sa uisti? ?e bola podpísaná ozna?enou LitecoinCash adresou</translation>
  33281.      </message>
  33282.      <message>
  33283.          <source>Verify &amp;Message</source>
  33284. @@ -2987,8 +2987,8 @@
  33285.          <translation>Nepodarilo sa spusti? HTTP server. Pre viac detailov zobrazte debug log.</translation>
  33286.      </message>
  33287.      <message>
  33288. -        <source>Litecoin Core</source>
  33289. -        <translation>Litecoin Core</translation>
  33290. +        <source>LitecoinCash Core</source>
  33291. +        <translation>LitecoinCash Core</translation>
  33292.      </message>
  33293.      <message>
  33294.          <source>The %s developers</source>
  33295. diff --git a/src/qt/locale/bitcoin_sl_SI.ts b/src/qt/locale/bitcoin_sl_SI.ts
  33296. index f04c846..c5711f1 100644
  33297. --- a/src/qt/locale/bitcoin_sl_SI.ts
  33298. +++ b/src/qt/locale/bitcoin_sl_SI.ts
  33299. @@ -202,8 +202,8 @@
  33300.          <translation>Poustvarjam kazalo blokov na disku ...</translation>
  33301.      </message>
  33302.      <message>
  33303. -        <source>Send coins to a Litecoin address</source>
  33304. -        <translation>Izvedite pla?ilo na naslov Litecoin</translation>
  33305. +        <source>Send coins to a LitecoinCash address</source>
  33306. +        <translation>Izvedite pla?ilo na naslov LitecoinCash</translation>
  33307.      </message>
  33308.      <message>
  33309.          <source>Backup wallet to another location</source>
  33310. @@ -226,8 +226,8 @@
  33311.          <translation>&amp;Preveri sporo?ilo ...</translation>
  33312.      </message>
  33313.      <message>
  33314. -        <source>Litecoin</source>
  33315. -        <translation>Litecoin</translation>
  33316. +        <source>LitecoinCash</source>
  33317. +        <translation>LitecoinCash</translation>
  33318.      </message>
  33319.      <message>
  33320.          <source>Wallet</source>
  33321. @@ -254,12 +254,12 @@
  33322.          <translation>?ifrirajte zasebne klju?e, ki se nahajajo v denarnici</translation>
  33323.      </message>
  33324.      <message>
  33325. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  33326. -        <translation>Podpi?ite poljubno sporo?ilo z enim svojih naslovov Litecoin, da prejemniku sporo?ila doka?ete, da je ta naslov v va?i lasti.</translation>
  33327. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  33328. +        <translation>Podpi?ite poljubno sporo?ilo z enim svojih naslovov LitecoinCash, da prejemniku sporo?ila doka?ete, da je ta naslov v va?i lasti.</translation>
  33329.      </message>
  33330.      <message>
  33331. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  33332. -        <translation>Preverite, ?e je bilo prejeto sporo?ilo podpisano z dolo?enim naslovom Litecoin</translation>
  33333. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  33334. +        <translation>Preverite, ?e je bilo prejeto sporo?ilo podpisano z dolo?enim naslovom LitecoinCash</translation>
  33335.      </message>
  33336.      <message>
  33337.          <source>&amp;File</source>
  33338. @@ -278,8 +278,8 @@
  33339.          <translation>Orodna vrstica zavihkov</translation>
  33340.      </message>
  33341.      <message>
  33342. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  33343. -        <translation>Zahtevajte pla?ilo (ustvarite zahtevek s kodo QR in URI tipa litecoin:)</translation>
  33344. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  33345. +        <translation>Zahtevajte pla?ilo (ustvarite zahtevek s kodo QR in URI tipa litecoincash:)</translation>
  33346.      </message>
  33347.      <message>
  33348.          <source>Show the list of used sending addresses and labels</source>
  33349. @@ -290,16 +290,16 @@
  33350.          <translation>Preglejte in uredite seznam naslovov, na katere ste kdaj prejeli pla?ila</translation>
  33351.      </message>
  33352.      <message>
  33353. -        <source>Open a litecoin: URI or payment request</source>
  33354. -        <translation>Izvedite pla?ilo iz zahtevka v datoteki ali iz URI tipa litecoin:</translation>
  33355. +        <source>Open a litecoincash: URI or payment request</source>
  33356. +        <translation>Izvedite pla?ilo iz zahtevka v datoteki ali iz URI tipa litecoincash:</translation>
  33357.      </message>
  33358.      <message>
  33359.          <source>&amp;Command-line options</source>
  33360.          <translation>Opcije &amp;ukazne vrstice</translation>
  33361.      </message>
  33362.      <message numerus="yes">
  33363. -        <source>%n active connection(s) to Litecoin network</source>
  33364. -        <translation><numerusform>%n aktivna povezava v omre?je Litecoin</numerusform><numerusform>%n aktivni povezavi v omre?je Litecoin</numerusform><numerusform>%n aktivne povezave v omre?je Litecoin</numerusform><numerusform>%n aktivnih povezav v omre?je Litecoin</numerusform></translation>
  33365. +        <source>%n active connection(s) to LitecoinCash network</source>
  33366. +        <translation><numerusform>%n aktivna povezava v omre?je LitecoinCash</numerusform><numerusform>%n aktivni povezavi v omre?je LitecoinCash</numerusform><numerusform>%n aktivne povezave v omre?je LitecoinCash</numerusform><numerusform>%n aktivnih povezav v omre?je LitecoinCash</numerusform></translation>
  33367.      </message>
  33368.      <message>
  33369.          <source>Indexing blocks on disk...</source>
  33370. @@ -712,7 +712,7 @@
  33371.          <translation>Omogo?i &amp;tro?enje drobi?a iz ?e nepotrjenih pla?il</translation>
  33372.      </message>
  33373.      <message>
  33374. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  33375. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  33376.          <translation>Program samodejno odpre ustrezna vrata na usmerjevalniku. To deluje samo, ?e va? usmerjevalnik podpira in ima omogo?en UPnP.</translation>
  33377.      </message>
  33378.      <message>
  33379. @@ -720,8 +720,8 @@
  33380.          <translation>Preslikaj vrata z uporabo &amp;UPnP</translation>
  33381.      </message>
  33382.      <message>
  33383. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  33384. -        <translation>Pove?i se v omre?je Litecoin preko posredni?kega stre?nika SOCKS5.</translation>
  33385. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  33386. +        <translation>Pove?i se v omre?je LitecoinCash preko posredni?kega stre?nika SOCKS5.</translation>
  33387.      </message>
  33388.      <message>
  33389.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  33390. @@ -823,8 +823,8 @@
  33391.          <translation>Oblika</translation>
  33392.      </message>
  33393.      <message>
  33394. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  33395. -        <translation>Prikazani podatki so morda zastareli. Program ob vzpostavitvi povezave samodejno sinhronizira denarnico z omre?jem Litecoin, a trenutno ta proces ?e ni zaklju?en.</translation>
  33396. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  33397. +        <translation>Prikazani podatki so morda zastareli. Program ob vzpostavitvi povezave samodejno sinhronizira denarnico z omre?jem LitecoinCash, a trenutno ta proces ?e ni zaklju?en.</translation>
  33398.      </message>
  33399.      <message>
  33400.          <source>Watch-only:</source>
  33401. @@ -912,8 +912,8 @@
  33402.          <translation>Znesek</translation>
  33403.      </message>
  33404.      <message>
  33405. -        <source>Enter a Litecoin address (e.g. %1)</source>
  33406. -        <translation>Vnesite naslov Litecoin (npr. %1):</translation>
  33407. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  33408. +        <translation>Vnesite naslov LitecoinCash (npr. %1):</translation>
  33409.      </message>
  33410.      <message>
  33411.          <source>%1 d</source>
  33412. @@ -1176,8 +1176,8 @@
  33413.          <translation>P&amp;onovno uporabite obstoje? naslov za prejemanje. (Ni priporo?eno.)</translation>
  33414.      </message>
  33415.      <message>
  33416. -        <source>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 Litecoin network.</source>
  33417. -        <translation>Neobvezno sporo?ilo kot priponka zahtevku za pla?ilo, ki bo prikazano, ko bo zahtevek odprt. Opomba: Opravljeno pla?ilo.prek omre?ja Litecoin tega sporo?ila ne bo vsebovalo.</translation>
  33418. +        <source>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 LitecoinCash network.</source>
  33419. +        <translation>Neobvezno sporo?ilo kot priponka zahtevku za pla?ilo, ki bo prikazano, ko bo zahtevek odprt. Opomba: Opravljeno pla?ilo.prek omre?ja LitecoinCash tega sporo?ila ne bo vsebovalo.</translation>
  33420.      </message>
  33421.      <message>
  33422.          <source>An optional label to associate with the new receiving address.</source>
  33423. @@ -1345,7 +1345,7 @@
  33424.          <translation>skupno vsaj</translation>
  33425.      </message>
  33426.      <message>
  33427. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  33428. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  33429.          <translation>Dokler bo v blokih ?e dovolj prostora za vse nastajajo?e transakcije, zadostuje, ?e pla?ate samo minimalno provizijo. Ko pa se bo koli?ina vseh transakcij pove?ala do meja zmogljivosti omre?ja, se lahko zgodi, da va?a transakcija brez ve?je provizije nikoli ne bo potrjena.</translation>
  33430.      </message>
  33431.      <message>
  33432. @@ -1432,8 +1432,8 @@
  33433.          <translation>Pla?ilo je navadne vrste.</translation>
  33434.      </message>
  33435.      <message>
  33436. -        <source>The Litecoin address to send the payment to</source>
  33437. -        <translation>Naslov Litecoin, na katerega bo pla?ilo poslano</translation>
  33438. +        <source>The LitecoinCash address to send the payment to</source>
  33439. +        <translation>Naslov LitecoinCash, na katerega bo pla?ilo poslano</translation>
  33440.      </message>
  33441.      <message>
  33442.          <source>Alt+A</source>
  33443. @@ -1452,7 +1452,7 @@
  33444.          <translation>Izpraznite vsebino polja</translation>
  33445.      </message>
  33446.      <message>
  33447. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  33448. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  33449.          <translation>Znesek pla?ila bo zmanj?an za znesek provizije. Prejemnik bo prejel manj?e ?tevilo kovancev, kot je bil vne?eni znesek. ?e je prejemnikov ve?, bo provizija med njih enakomerno porazdeljena.</translation>
  33450.      </message>
  33451.      <message>
  33452. @@ -1476,8 +1476,8 @@
  33453.          <translation>?e vnesete oznako za zgornji naslov, se bo skupaj z naslovom shranila v imenk ?e uporabljenih naslovov</translation>
  33454.      </message>
  33455.      <message>
  33456. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  33457. -        <translation>Sporo?ilo, ki ste ga pripeli na URI tipa litecoin:. Shranjeno bo skupaj s podatki o transakciji. Opomba: Sporo?ilo ne bo poslano preko omre?ja Litecoin.</translation>
  33458. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  33459. +        <translation>Sporo?ilo, ki ste ga pripeli na URI tipa litecoincash:. Shranjeno bo skupaj s podatki o transakciji. Opomba: Sporo?ilo ne bo poslano preko omre?ja LitecoinCash.</translation>
  33460.      </message>
  33461.      <message>
  33462.          <source>Pay To:</source>
  33463. @@ -1509,12 +1509,12 @@
  33464.          <translation>&amp;Podpi?i sporo?ilo</translation>
  33465.      </message>
  33466.      <message>
  33467. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  33468. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  33469.          <translation>S svojimi naslovi lahko podpisujete sporo?ila ali pogodbe in s tem dokazujete, da na teh naslovih lahko prejemate kovance. Bodite previdni in ne podpisujte ni?esar nejasnega ali naklju?nega, ker vas zlikovci preko ribarjenja (phishing) lahko prelisi?ijo, da na njih prepi?ete svojo identiteto. Podpisujte samo podrobno opisane izjave, s katerimi se strinjate.</translation>
  33470.      </message>
  33471.      <message>
  33472. -        <source>The Litecoin address to sign the message with</source>
  33473. -        <translation>Naslov Litecoin, s katerim podpisujete sporo?ilo</translation>
  33474. +        <source>The LitecoinCash address to sign the message with</source>
  33475. +        <translation>Naslov LitecoinCash, s katerim podpisujete sporo?ilo</translation>
  33476.      </message>
  33477.      <message>
  33478.          <source>Choose previously used address</source>
  33479. @@ -1545,7 +1545,7 @@
  33480.          <translation>Kopiranje trenutnega podpisa na sistemsko odlo?i??e.</translation>
  33481.      </message>
  33482.      <message>
  33483. -        <source>Sign the message to prove you own this Litecoin address</source>
  33484. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  33485.          <translation>Podpi?ite sporo?ilo, da doka?ete lastni?tvo nad zgornjim naslovom.</translation>
  33486.      </message>
  33487.      <message>
  33488. @@ -1569,12 +1569,12 @@
  33489.          <translation>Da preverite verodostojnost sporo?ila, spodaj vnesite: prejemnikov naslov, prejeto sporo?ilo (pazljivo skopirajte vse prelome vrstic, presledke, tabulatorje ipd.,) in prejeti podpis. Da se izognete napadom tipa man-in-the-middle, vedite, da iz veljavnega podpisa ne sledi ni? drugega, kot tisto, kar je navedeno v sporo?ilu. Podpis samo potrjuje dejstvo, da ima podpisnik v lasti prejemni naslov, ne more pa dokazati vira nobene transakcije!</translation>
  33490.      </message>
  33491.      <message>
  33492. -        <source>The Litecoin address the message was signed with</source>
  33493. -        <translation>Naslov Litecoin, s katerim je bilo sporo?ilo podpisano</translation>
  33494. +        <source>The LitecoinCash address the message was signed with</source>
  33495. +        <translation>Naslov LitecoinCash, s katerim je bilo sporo?ilo podpisano</translation>
  33496.      </message>
  33497.      <message>
  33498. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  33499. -        <translation>Preverite, ali je bilo sporo?ilo v resnici podpisano z navedenim naslovom Litecoin.</translation>
  33500. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  33501. +        <translation>Preverite, ali je bilo sporo?ilo v resnici podpisano z navedenim naslovom LitecoinCash.</translation>
  33502.      </message>
  33503.      <message>
  33504.          <source>Verify &amp;Message</source>
  33505. @@ -1682,8 +1682,8 @@
  33506.          <translation>Teci v ozadju in sprejemaj ukaze</translation>
  33507.      </message>
  33508.      <message>
  33509. -        <source>Litecoin Core</source>
  33510. -        <translation>Litecoin Core</translation>
  33511. +        <source>LitecoinCash Core</source>
  33512. +        <translation>LitecoinCash Core</translation>
  33513.      </message>
  33514.      <message>
  33515.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  33516. diff --git a/src/qt/locale/bitcoin_sq.ts b/src/qt/locale/bitcoin_sq.ts
  33517. index 6e95b91..cc84c45 100644
  33518. --- a/src/qt/locale/bitcoin_sq.ts
  33519. +++ b/src/qt/locale/bitcoin_sq.ts
  33520. @@ -46,12 +46,12 @@
  33521.          <translation>Duke marr adresen</translation>
  33522.      </message>
  33523.      <message>
  33524. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  33525. -        <translation>Këto janë Litecoin adresat e juaja për të dërguar pagesa. Gjithmon kontrolloni shumën dhe adresën pranuese para se të dërgoni monedha.</translation>
  33526. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  33527. +        <translation>Këto janë LitecoinCash adresat e juaja për të dërguar pagesa. Gjithmon kontrolloni shumën dhe adresën pranuese para se të dërgoni monedha.</translation>
  33528.      </message>
  33529.      <message>
  33530. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  33531. -        <translation>Këto janë Litecoin adresat e juaja për të pranuar pagesa. Rekomandohet që gjithmon të përdorni një adresë të re për çdo transaksion.</translation>
  33532. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  33533. +        <translation>Këto janë LitecoinCash adresat e juaja për të pranuar pagesa. Rekomandohet që gjithmon të përdorni një adresë të re për çdo transaksion.</translation>
  33534.      </message>
  33535.      <message>
  33536.          <source>&amp;Copy Address</source>
  33537. @@ -214,8 +214,8 @@
  33538.          <translation>Ndrysho frazkalimin e përdorur per enkriptimin e portofolit</translation>
  33539.      </message>
  33540.      <message>
  33541. -        <source>Litecoin</source>
  33542. -        <translation>Litecoin</translation>
  33543. +        <source>LitecoinCash</source>
  33544. +        <translation>LitecoinCash</translation>
  33545.      </message>
  33546.      <message>
  33547.          <source>Wallet</source>
  33548. @@ -784,8 +784,8 @@
  33549.          <translation>Opsionet:</translation>
  33550.      </message>
  33551.      <message>
  33552. -        <source>Litecoin Core</source>
  33553. -        <translation>Berthama Litecoin</translation>
  33554. +        <source>LitecoinCash Core</source>
  33555. +        <translation>Berthama LitecoinCash</translation>
  33556.      </message>
  33557.      <message>
  33558.          <source>Information</source>
  33559. diff --git a/src/qt/locale/bitcoin_sr.ts b/src/qt/locale/bitcoin_sr.ts
  33560. index 6d06017..8021f91 100644
  33561. --- a/src/qt/locale/bitcoin_sr.ts
  33562. +++ b/src/qt/locale/bitcoin_sr.ts
  33563. @@ -130,8 +130,8 @@
  33564.          <translation>??????? &amp;???????...</translation>
  33565.      </message>
  33566.      <message>
  33567. -        <source>Send coins to a Litecoin address</source>
  33568. -        <translation>???????? ????? ?? litecoin ??????</translation>
  33569. +        <source>Send coins to a LitecoinCash address</source>
  33570. +        <translation>???????? ????? ?? litecoincash ??????</translation>
  33571.      </message>
  33572.      <message>
  33573.          <source>Change the passphrase used for wallet encryption</source>
  33574. diff --git a/src/qt/locale/bitcoin_sr@latin.ts b/src/qt/locale/bitcoin_sr@latin.ts
  33575. index 0a736dc..00a9aa2 100644
  33576. --- a/src/qt/locale/bitcoin_sr@latin.ts
  33577. +++ b/src/qt/locale/bitcoin_sr@latin.ts
  33578. @@ -58,12 +58,12 @@
  33579.          <translation>Adresa na koju se prima</translation>
  33580.      </message>
  33581.      <message>
  33582. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  33583. -        <translation>Ovo su Va?e Litecoin adrese na koju se vr?e uplate. Uvek proverite iznos i prijemnu adresu pre slanja nov?i?a</translation>
  33584. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  33585. +        <translation>Ovo su Va?e LitecoinCash adrese na koju se vr?e uplate. Uvek proverite iznos i prijemnu adresu pre slanja nov?i?a</translation>
  33586.      </message>
  33587.      <message>
  33588. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  33589. -        <translation>Ovo su Va?e Litecoin adrese za primanje uplata. Preporu?uje se upotreba nove adrese za svaku transakciju.</translation>
  33590. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  33591. +        <translation>Ovo su Va?e LitecoinCash adrese za primanje uplata. Preporu?uje se upotreba nove adrese za svaku transakciju.</translation>
  33592.      </message>
  33593.      <message>
  33594.          <source>Copy &amp;Label</source>
  33595. @@ -132,7 +132,7 @@
  33596.          <translation>Potvrdite ?ifrovanje nov?anika</translation>
  33597.      </message>
  33598.      <message>
  33599. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  33600. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  33601.          <translation>Upozorenje: Ako ?ifrujete svoj nov?anik, i potom izgubite svoju pristupnu frazu &lt;b&gt;IZGUBI?ETE SVE SVOJE BITKOINE&lt;/b&gt;!</translation>
  33602.      </message>
  33603.      <message>
  33604. @@ -198,16 +198,16 @@
  33605.          <translation>Otvori &amp;URI...</translation>
  33606.      </message>
  33607.      <message>
  33608. -        <source>Send coins to a Litecoin address</source>
  33609. -        <translation>Po?alji nov?i?e na Litecoin adresu</translation>
  33610. +        <source>Send coins to a LitecoinCash address</source>
  33611. +        <translation>Po?alji nov?i?e na LitecoinCash adresu</translation>
  33612.      </message>
  33613.      <message>
  33614.          <source>&amp;Verify message...</source>
  33615.          <translation>&amp;Proveri poruku...</translation>
  33616.      </message>
  33617.      <message>
  33618. -        <source>Litecoin</source>
  33619. -        <translation>Litecoin</translation>
  33620. +        <source>LitecoinCash</source>
  33621. +        <translation>LitecoinCash</translation>
  33622.      </message>
  33623.      <message>
  33624.          <source>Wallet</source>
  33625. @@ -446,8 +446,8 @@
  33626.  <context>
  33627.      <name>bitcoin-core</name>
  33628.      <message>
  33629. -        <source>Litecoin Core</source>
  33630. -        <translation>Litecoin Core</translation>
  33631. +        <source>LitecoinCash Core</source>
  33632. +        <translation>LitecoinCash Core</translation>
  33633.      </message>
  33634.      <message>
  33635.          <source>Information</source>
  33636. diff --git a/src/qt/locale/bitcoin_sv.ts b/src/qt/locale/bitcoin_sv.ts
  33637. index f35e151..e98a668 100644
  33638. --- a/src/qt/locale/bitcoin_sv.ts
  33639. +++ b/src/qt/locale/bitcoin_sv.ts
  33640. @@ -62,12 +62,12 @@
  33641.          <translation>Mottagaradresser</translation>
  33642.      </message>
  33643.      <message>
  33644. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  33645. -        <translation>Detta är dina Litecoin adresser för att skicka betalningar. Kolla alltid summan och den mottagande adressen innan du skickar Litecoins.</translation>
  33646. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  33647. +        <translation>Detta är dina LitecoinCash adresser för att skicka betalningar. Kolla alltid summan och den mottagande adressen innan du skickar LCC.</translation>
  33648.      </message>
  33649.      <message>
  33650. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  33651. -        <translation>Detta är dina Litecoin adresser för att ta emot betalningar. Det rekommenderas att använda en ny mottagningsadress för varje transaktion.</translation>
  33652. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  33653. +        <translation>Detta är dina LitecoinCash adresser för att ta emot betalningar. Det rekommenderas att använda en ny mottagningsadress för varje transaktion.</translation>
  33654.      </message>
  33655.      <message>
  33656.          <source>&amp;Copy Address</source>
  33657. @@ -169,8 +169,8 @@ Var vänlig och försök igen.</translation>
  33658.          <translation>Bekräfta kryptering av plånbok</translation>
  33659.      </message>
  33660.      <message>
  33661. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  33662. -        <translation>VARNING: Om du krypterar din plånbok och glömmer ditt lösenord, kommer du att &lt;b&gt;FÖRLORA ALLA DINA LITECOIN&lt;/b&gt;!</translation>
  33663. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  33664. +        <translation>VARNING: Om du krypterar din plånbok och glömmer ditt lösenord, kommer du att &lt;b&gt;FÖRLORA ALLA DINA LITECOINCASH&lt;/b&gt;!</translation>
  33665.      </message>
  33666.      <message>
  33667.          <source>Are you sure you wish to encrypt your wallet?</source>
  33668. @@ -181,7 +181,7 @@ Var vänlig och försök igen.</translation>
  33669.          <translation>Plånbok krypterad</translation>
  33670.      </message>
  33671.      <message>
  33672. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  33673. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  33674.          <translation>%1 kommer nu att stänga ner för att färdigställa krypteringen. Tänk på att en krypterad plånbok inte skyddar mot stöld om din dator är infekterad med en keylogger.</translation>
  33675.      </message>
  33676.      <message>
  33677. @@ -339,8 +339,8 @@ Var vänlig och försök igen.</translation>
  33678.          <translation>Återindexerar block på disken...</translation>
  33679.      </message>
  33680.      <message>
  33681. -        <source>Send coins to a Litecoin address</source>
  33682. -        <translation>Skicka litecoins till en Litecoin-adress</translation>
  33683. +        <source>Send coins to a LitecoinCash address</source>
  33684. +        <translation>Skicka coins till en LitecoinCash-adress</translation>
  33685.      </message>
  33686.      <message>
  33687.          <source>Backup wallet to another location</source>
  33688. @@ -363,8 +363,8 @@ Var vänlig och försök igen.</translation>
  33689.          <translation>&amp;Verifiera meddelande...</translation>
  33690.      </message>
  33691.      <message>
  33692. -        <source>Litecoin</source>
  33693. -        <translation>Litecoin</translation>
  33694. +        <source>LitecoinCash</source>
  33695. +        <translation>LitecoinCash</translation>
  33696.      </message>
  33697.      <message>
  33698.          <source>Wallet</source>
  33699. @@ -391,12 +391,12 @@ Var vänlig och försök igen.</translation>
  33700.          <translation>Kryptera de privata nycklar som tillhör din plånbok</translation>
  33701.      </message>
  33702.      <message>
  33703. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  33704. -        <translation>Signera meddelanden med din Litecoin-adress för att bevisa att du äger dem</translation>
  33705. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  33706. +        <translation>Signera meddelanden med din LitecoinCash-adress för att bevisa att du äger dem</translation>
  33707.      </message>
  33708.      <message>
  33709. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  33710. -        <translation>Verifiera meddelanden för att vara säker på att de var signerade med specificerade Litecoin-adresser</translation>
  33711. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  33712. +        <translation>Verifiera meddelanden för att vara säker på att de var signerade med specificerade LitecoinCash-adresser</translation>
  33713.      </message>
  33714.      <message>
  33715.          <source>&amp;File</source>
  33716. @@ -415,8 +415,8 @@ Var vänlig och försök igen.</translation>
  33717.          <translation>Verktygsfält för tabbar</translation>
  33718.      </message>
  33719.      <message>
  33720. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  33721. -        <translation>Begär betalning (genererar QR-koder och litecoin-URI)</translation>
  33722. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  33723. +        <translation>Begär betalning (genererar QR-koder och litecoincash-URI)</translation>
  33724.      </message>
  33725.      <message>
  33726.          <source>Show the list of used sending addresses and labels</source>
  33727. @@ -427,16 +427,16 @@ Var vänlig och försök igen.</translation>
  33728.          <translation>Visa listan av använda mottagningsadresser och etiketter</translation>
  33729.      </message>
  33730.      <message>
  33731. -        <source>Open a litecoin: URI or payment request</source>
  33732. -        <translation>Öppna en litecoin: URI eller betalningsbegäran</translation>
  33733. +        <source>Open a litecoincash: URI or payment request</source>
  33734. +        <translation>Öppna en litecoincash: URI eller betalningsbegäran</translation>
  33735.      </message>
  33736.      <message>
  33737.          <source>&amp;Command-line options</source>
  33738.          <translation>&amp;Kommandoradsalternativ</translation>
  33739.      </message>
  33740.      <message numerus="yes">
  33741. -        <source>%n active connection(s) to Litecoin network</source>
  33742. -        <translation><numerusform>%n aktiva anslutningar till Litecoin-nätverket.</numerusform><numerusform>%n aktiva anslutningar till Litecoin-nätverket.</numerusform></translation>
  33743. +        <source>%n active connection(s) to LitecoinCash network</source>
  33744. +        <translation><numerusform>%n aktiva anslutningar till LitecoinCash-nätverket.</numerusform><numerusform>%n aktiva anslutningar till LitecoinCash-nätverket.</numerusform></translation>
  33745.      </message>
  33746.      <message>
  33747.          <source>Indexing blocks on disk...</source>
  33748. @@ -479,8 +479,8 @@ Var vänlig och försök igen.</translation>
  33749.          <translation>Uppdaterad</translation>
  33750.      </message>
  33751.      <message>
  33752. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  33753. -        <translation>Visa %1 hjälpmeddelande för att få en lista med möjliga Litecoin kommandoradsalternativ.</translation>
  33754. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  33755. +        <translation>Visa %1 hjälpmeddelande för att få en lista med möjliga LitecoinCash kommandoradsalternativ.</translation>
  33756.      </message>
  33757.      <message>
  33758.          <source>%1 client</source>
  33759. @@ -549,8 +549,8 @@ Var vänlig och försök igen.</translation>
  33760.          <translation>Denna plånbok är &lt;b&gt;krypterad&lt;/b&gt; och för närvarande &lt;b&gt;låst&lt;/b&gt;</translation>
  33761.      </message>
  33762.      <message>
  33763. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  33764. -        <translation>Ett kritiskt fel uppstod. Litecoin kan inte fortsätta att köra säkert och kommer att avslutas.</translation>
  33765. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  33766. +        <translation>Ett kritiskt fel uppstod. LitecoinCash kan inte fortsätta att köra säkert och kommer att avslutas.</translation>
  33767.      </message>
  33768.  </context>
  33769.  <context>
  33770. @@ -743,8 +743,8 @@ Var vänlig och försök igen.</translation>
  33771.          <translation>Redigera avsändaradress</translation>
  33772.      </message>
  33773.      <message>
  33774. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  33775. -        <translation>Den angivna adressen "%1" är inte en giltig Litecoin-adress.</translation>
  33776. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  33777. +        <translation>Den angivna adressen "%1" är inte en giltig LitecoinCash-adress.</translation>
  33778.      </message>
  33779.      <message>
  33780.          <source>The entered address "%1" is already in the address book.</source>
  33781. @@ -852,8 +852,8 @@ Var vänlig och försök igen.</translation>
  33782.          <translation>Eftersom detta är första gången programmet startas får du välja var %1 skall lagra sitt data.</translation>
  33783.      </message>
  33784.      <message>
  33785. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  33786. -        <translation>%1 kommer att ladda ner och spara en kopia av Litecoin blockkedjan. Åtminstone %2GB av data kommer att sparas i denna katalog, och den kommer att växa över tiden. Plånboken kommer också att sparas i denna katalog.</translation>
  33787. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  33788. +        <translation>%1 kommer att ladda ner och spara en kopia av LitecoinCash blockkedjan. Åtminstone %2GB av data kommer att sparas i denna katalog, och den kommer att växa över tiden. Plånboken kommer också att sparas i denna katalog.</translation>
  33789.      </message>
  33790.      <message>
  33791.          <source>Use the default data directory</source>
  33792. @@ -887,8 +887,8 @@ Var vänlig och försök igen.</translation>
  33793.          <translation>Formulär</translation>
  33794.      </message>
  33795.      <message>
  33796. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  33797. -        <translation>Nyligen gjorda transaktioner visas inte korrekt och därför kan ditt din plånboks saldo visas felaktigt. Denna information kommer att visas korrekt så snart din plånbok har synkroniserat klart med litecoin nätverket, enligt detaljer nedan.</translation>
  33798. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  33799. +        <translation>Nyligen gjorda transaktioner visas inte korrekt och därför kan ditt din plånboks saldo visas felaktigt. Denna information kommer att visas korrekt så snart din plånbok har synkroniserat klart med litecoincash nätverket, enligt detaljer nedan.</translation>
  33800.      </message>
  33801.      <message>
  33802.          <source>Number of blocks left</source>
  33803. @@ -1045,16 +1045,16 @@ Var vänlig och försök igen.</translation>
  33804.          <translation>&amp;Spendera obekräftad växel</translation>
  33805.      </message>
  33806.      <message>
  33807. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  33808. -        <translation>Öppna automatiskt Litecoin-klientens port på routern. Detta fungerar endast om din router har UPnP aktiverat.</translation>
  33809. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  33810. +        <translation>Öppna automatiskt LitecoinCash-klientens port på routern. Detta fungerar endast om din router har UPnP aktiverat.</translation>
  33811.      </message>
  33812.      <message>
  33813.          <source>Map port using &amp;UPnP</source>
  33814.          <translation>Tilldela port med hjälp av &amp;UPnP</translation>
  33815.      </message>
  33816.      <message>
  33817. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  33818. -        <translation>Anslut till Litecoin-nätverket genom en SOCKS5-proxy.</translation>
  33819. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  33820. +        <translation>Anslut till LitecoinCash-nätverket genom en SOCKS5-proxy.</translation>
  33821.      </message>
  33822.      <message>
  33823.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  33824. @@ -1093,8 +1093,8 @@ Var vänlig och försök igen.</translation>
  33825.          <translation>Tor</translation>
  33826.      </message>
  33827.      <message>
  33828. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  33829. -        <translation>Anslut till Litecoin-nätverket genom en separat SOCKS5-proxy för dolda tjänster i Tor.</translation>
  33830. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  33831. +        <translation>Anslut till LitecoinCash-nätverket genom en separat SOCKS5-proxy för dolda tjänster i Tor.</translation>
  33832.      </message>
  33833.      <message>
  33834.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  33835. @@ -1192,8 +1192,8 @@ Var vänlig och försök igen.</translation>
  33836.          <translation>Formulär</translation>
  33837.      </message>
  33838.      <message>
  33839. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  33840. -        <translation>Den visade informationen kan vara inaktuell. Plånboken synkroniseras automatiskt med Litecoin-nätverket efter att anslutningen är upprättad, men denna process har inte slutförts ännu.</translation>
  33841. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  33842. +        <translation>Den visade informationen kan vara inaktuell. Plånboken synkroniseras automatiskt med LitecoinCash-nätverket efter att anslutningen är upprättad, men denna process har inte slutförts ännu.</translation>
  33843.      </message>
  33844.      <message>
  33845.          <source>Watch-only:</source>
  33846. @@ -1267,8 +1267,8 @@ Var vänlig och försök igen.</translation>
  33847.          <translation>Fel vid betalningsbegäran</translation>
  33848.      </message>
  33849.      <message>
  33850. -        <source>Cannot start litecoin: click-to-pay handler</source>
  33851. -        <translation>Kan inte starta litecoin: klicka-och-betala handhavare</translation>
  33852. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  33853. +        <translation>Kan inte starta litecoincash: klicka-och-betala handhavare</translation>
  33854.      </message>
  33855.      <message>
  33856.          <source>URI handling</source>
  33857. @@ -1283,8 +1283,8 @@ Var vänlig och försök igen.</translation>
  33858.          <translation>Ogiltig betalningsadress %1</translation>
  33859.      </message>
  33860.      <message>
  33861. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  33862. -        <translation>URI kan inte tolkas! Detta kan orsakas av en ogiltig Litecoin-adress eller felaktiga URI parametrar.</translation>
  33863. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  33864. +        <translation>URI kan inte tolkas! Detta kan orsakas av en ogiltig LitecoinCash-adress eller felaktiga URI parametrar.</translation>
  33865.      </message>
  33866.      <message>
  33867.          <source>Payment request file handling</source>
  33868. @@ -1377,8 +1377,8 @@ Var vänlig och försök igen.</translation>
  33869.          <translation>Mängd</translation>
  33870.      </message>
  33871.      <message>
  33872. -        <source>Enter a Litecoin address (e.g. %1)</source>
  33873. -        <translation>Ange en Litecoin-adress (t.ex. %1)</translation>
  33874. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  33875. +        <translation>Ange en LitecoinCash-adress (t.ex. %1)</translation>
  33876.      </message>
  33877.      <message>
  33878.          <source>%1 d</source>
  33879. @@ -1793,8 +1793,8 @@ Var vänlig och försök igen.</translation>
  33880.          <translation>Åt&amp;eranvänd en existerande mottagningsadress (rekommenderas inte)</translation>
  33881.      </message>
  33882.      <message>
  33883. -        <source>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 Litecoin network.</source>
  33884. -        <translation>Ett frivilligt meddelande att bifoga betalningsbegäran, vilket visas när begäran öppnas. NB: Meddelandet kommer inte att sändas med betalningen över Litecoinnätverket.</translation>
  33885. +        <source>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 LitecoinCash network.</source>
  33886. +        <translation>Ett frivilligt meddelande att bifoga betalningsbegäran, vilket visas när begäran öppnas. NB: Meddelandet kommer inte att sändas med betalningen över LitecoinCashnätverket.</translation>
  33887.      </message>
  33888.      <message>
  33889.          <source>An optional label to associate with the new receiving address.</source>
  33890. @@ -2026,8 +2026,8 @@ Var vänlig och försök igen.</translation>
  33891.          <translation>totalt minst</translation>
  33892.      </message>
  33893.      <message>
  33894. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  33895. -        <translation>Att betala endast den minsta avgiften är bara bra så länge det är mindre transaktionsvolym än utrymme i blocken. Men tänk på att det kan hamna i en aldrig bekräftar transaktion när det finns mer efterfrågan på litecoin transaktioner än nätverket kan bearbeta.</translation>
  33896. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  33897. +        <translation>Att betala endast den minsta avgiften är bara bra så länge det är mindre transaktionsvolym än utrymme i blocken. Men tänk på att det kan hamna i en aldrig bekräftar transaktion när det finns mer efterfrågan på litecoincash transaktioner än nätverket kan bearbeta.</translation>
  33898.      </message>
  33899.      <message>
  33900.          <source>(read the tooltip)</source>
  33901. @@ -2186,8 +2186,8 @@ Var vänlig och försök igen.</translation>
  33902.          <translation>Betala endast den nödvändiga avgiften på %1</translation>
  33903.      </message>
  33904.      <message>
  33905. -        <source>Warning: Invalid Litecoin address</source>
  33906. -        <translation>Varning: Felaktig Litecoinadress</translation>
  33907. +        <source>Warning: Invalid LitecoinCash address</source>
  33908. +        <translation>Varning: Felaktig LitecoinCashadress</translation>
  33909.      </message>
  33910.      <message>
  33911.          <source>Warning: Unknown change address</source>
  33912. @@ -2229,8 +2229,8 @@ Var vänlig och försök igen.</translation>
  33913.          <translation>Detta är en normal betalning.</translation>
  33914.      </message>
  33915.      <message>
  33916. -        <source>The Litecoin address to send the payment to</source>
  33917. -        <translation>Litecoinadress att sända betalning till</translation>
  33918. +        <source>The LitecoinCash address to send the payment to</source>
  33919. +        <translation>LitecoinCashadress att sända betalning till</translation>
  33920.      </message>
  33921.      <message>
  33922.          <source>Alt+A</source>
  33923. @@ -2249,8 +2249,8 @@ Var vänlig och försök igen.</translation>
  33924.          <translation>Radera denna post</translation>
  33925.      </message>
  33926.      <message>
  33927. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  33928. -        <translation>Avgiften dras från beloppet som skickas. Mottagaren kommer att få mindre litecoins än du angivit i belopp-fältet. Om flera mottagare valts kommer avgiften delas jämt.</translation>
  33929. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  33930. +        <translation>Avgiften dras från beloppet som skickas. Mottagaren kommer att få mindre coins än du angivit i belopp-fältet. Om flera mottagare valts kommer avgiften delas jämt.</translation>
  33931.      </message>
  33932.      <message>
  33933.          <source>S&amp;ubtract fee from amount</source>
  33934. @@ -2273,8 +2273,8 @@ Var vänlig och försök igen.</translation>
  33935.          <translation>Ange en etikett för denna adress att adderas till listan över använda adresser</translation>
  33936.      </message>
  33937.      <message>
  33938. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  33939. -        <translation>Ett meddelande som bifogades litecoin-URI, vilket lagras med transaktionen som referens. NB: Meddelandet kommer inte att sändas över Litecoinnätverket.</translation>
  33940. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  33941. +        <translation>Ett meddelande som bifogades litecoincash-URI, vilket lagras med transaktionen som referens. NB: Meddelandet kommer inte att sändas över LitecoinCashnätverket.</translation>
  33942.      </message>
  33943.      <message>
  33944.          <source>Pay To:</source>
  33945. @@ -2318,12 +2318,12 @@ Var vänlig och försök igen.</translation>
  33946.          <translation>&amp;Signera Meddelande</translation>
  33947.      </message>
  33948.      <message>
  33949. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  33950. -        <translation>Du kan underteckna meddelanden/avtal med dina adresser för att bevisa att du kan ta emot litecoins som skickats till dem. Var försiktig så du inte undertecknar något oklart eller konstigt, eftersom phishing-angrepp kan försöka få dig att underteckna din identitet till dem. Underteckna endast väldetaljerade meddelanden som du godkänner.</translation>
  33951. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  33952. +        <translation>Du kan underteckna meddelanden/avtal med dina adresser för att bevisa att du kan ta emot coins som skickats till dem. Var försiktig så du inte undertecknar något oklart eller konstigt, eftersom phishing-angrepp kan försöka få dig att underteckna din identitet till dem. Underteckna endast väldetaljerade meddelanden som du godkänner.</translation>
  33953.      </message>
  33954.      <message>
  33955. -        <source>The Litecoin address to sign the message with</source>
  33956. -        <translation>Litecoinadress att signera meddelandet med</translation>
  33957. +        <source>The LitecoinCash address to sign the message with</source>
  33958. +        <translation>LitecoinCashadress att signera meddelandet med</translation>
  33959.      </message>
  33960.      <message>
  33961.          <source>Choose previously used address</source>
  33962. @@ -2354,7 +2354,7 @@ Var vänlig och försök igen.</translation>
  33963.          <translation>Kopiera signaturen till systemets Urklipp</translation>
  33964.      </message>
  33965.      <message>
  33966. -        <source>Sign the message to prove you own this Litecoin address</source>
  33967. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  33968.          <translation>Signera meddelandet för att bevisa att du äger denna adress</translation>
  33969.      </message>
  33970.      <message>
  33971. @@ -2378,12 +2378,12 @@ Var vänlig och försök igen.</translation>
  33972.          <translation>Ange mottagarens adress, meddelande (kopiera radbrytningar, mellanrum, flikar, etc. exakt) och signatur nedan för att verifiera meddelandet. Undvik att läsa in mera information i signaturen än vad som stod i själva undertecknade meddelandet, för att undvika ett man-in-the-middle-angrepp. Notera att detta endast bevisar att undertecknad tar emot med adressen, det bevisar inte vem som skickat transaktionen!</translation>
  33973.      </message>
  33974.      <message>
  33975. -        <source>The Litecoin address the message was signed with</source>
  33976. -        <translation>Litecoinadressen som meddelandet signerades med</translation>
  33977. +        <source>The LitecoinCash address the message was signed with</source>
  33978. +        <translation>LitecoinCashadressen som meddelandet signerades med</translation>
  33979.      </message>
  33980.      <message>
  33981. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  33982. -        <translation>Verifiera meddelandet för att vara säker på att den var signerad med den angivna Litecoin-adressen</translation>
  33983. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  33984. +        <translation>Verifiera meddelandet för att vara säker på att den var signerad med den angivna LitecoinCash-adressen</translation>
  33985.      </message>
  33986.      <message>
  33987.          <source>Verify &amp;Message</source>
  33988. @@ -2898,7 +2898,7 @@ Var vänlig och försök igen.</translation>
  33989.      <name>WalletModel</name>
  33990.      <message>
  33991.          <source>Send Coins</source>
  33992. -        <translation>Skicka Litecoins</translation>
  33993. +        <translation>Skicka LCC</translation>
  33994.      </message>
  33995.  </context>
  33996.  <context>
  33997. @@ -3007,8 +3007,8 @@ Var vänlig och försök igen.</translation>
  33998.          <translation>Kunde inte starta HTTP-server. Se avlusningsloggen för detaljer.</translation>
  33999.      </message>
  34000.      <message>
  34001. -        <source>Litecoin Core</source>
  34002. -        <translation>Litecoin Core</translation>
  34003. +        <source>LitecoinCash Core</source>
  34004. +        <translation>LitecoinCash Core</translation>
  34005.      </message>
  34006.      <message>
  34007.          <source>The %s developers</source>
  34008. @@ -3796,7 +3796,7 @@ Var vänlig och försök igen.</translation>
  34009.      </message>
  34010.      <message>
  34011.          <source>Insufficient funds</source>
  34012. -        <translation>Otillräckligt med litecoins</translation>
  34013. +        <translation>Otillräckligt med coins</translation>
  34014.      </message>
  34015.      <message>
  34016.          <source>Loading block index...</source>
  34017. diff --git a/src/qt/locale/bitcoin_ta.ts b/src/qt/locale/bitcoin_ta.ts
  34018. index 3a6291c..a3c21b3 100644
  34019. --- a/src/qt/locale/bitcoin_ta.ts
  34020. +++ b/src/qt/locale/bitcoin_ta.ts
  34021. @@ -90,8 +90,8 @@
  34022.          <translation>&amp;???????? ???????...</translation>
  34023.      </message>
  34024.      <message>
  34025. -        <source>Litecoin</source>
  34026. -        <translation>Litecoin</translation>
  34027. +        <source>LitecoinCash</source>
  34028. +        <translation>LitecoinCash</translation>
  34029.      </message>
  34030.      <message>
  34031.          <source>Wallet</source>
  34032. @@ -708,8 +708,8 @@
  34033.  <context>
  34034.      <name>bitcoin-core</name>
  34035.      <message>
  34036. -        <source>Litecoin Core</source>
  34037. -        <translation>Litecoin ?????</translation>
  34038. +        <source>LitecoinCash Core</source>
  34039. +        <translation>LitecoinCash ?????</translation>
  34040.      </message>
  34041.      <message>
  34042.          <source>(default: %u)</source>
  34043. diff --git a/src/qt/locale/bitcoin_te.ts b/src/qt/locale/bitcoin_te.ts
  34044. index f7471ee..ebf0424 100644
  34045. --- a/src/qt/locale/bitcoin_te.ts
  34046. +++ b/src/qt/locale/bitcoin_te.ts
  34047. @@ -38,11 +38,11 @@
  34048.          <translation>???????? ??????????</translation>
  34049.      </message>
  34050.      <message>
  34051. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  34052. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  34053.          <translation>??? ???? ???? ?????????? ??????????? ??????????. ?????? ???? ????? ????????? ???????? ???????? ????? ????????? ?????? ????????????.</translation>
  34054.      </message>
  34055.      <message>
  34056. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  34057. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  34058.          <translation>??? ???? ???????? ?????????? ??????????? ??????????. ????? ?????????? ??????? ???????? ???????? ????? ??????.</translation>
  34059.      </message>
  34060.      <message>
  34061. @@ -84,7 +84,7 @@
  34062.          <translation>?????? ??????? ????????? ???????.&lt;br/&gt; &lt;b&gt;??? ???? ?????? ????????? ????????&lt;/b&gt;, ??? &lt;b&gt;??????? ???? ?????? ?????&lt;/b&gt; ????? ???? ????????? ?????? ??????.</translation>
  34063.      </message>
  34064.      <message>
  34065. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  34066. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  34067.          <translation>????????: ?? ?????? ?????????? ?? ????????? ????????, &lt;b&gt;?? ????????????? ????? ??????????&lt;/b&gt;</translation>
  34068.      </message>
  34069.      <message>
  34070. diff --git a/src/qt/locale/bitcoin_th_TH.ts b/src/qt/locale/bitcoin_th_TH.ts
  34071. index 8fc2863..0b18ff7 100644
  34072. --- a/src/qt/locale/bitcoin_th_TH.ts
  34073. +++ b/src/qt/locale/bitcoin_th_TH.ts
  34074. @@ -163,11 +163,11 @@
  34075.      </message>
  34076.      <message>
  34077.          <source>&amp;Sending addresses...</source>
  34078. -        <translation>&amp;??????????? ???????? litecoin</translation>
  34079. +        <translation>&amp;??????????? ???????? litecoincash</translation>
  34080.      </message>
  34081.      <message>
  34082.          <source>&amp;Receiving addresses...</source>
  34083. -        <translation>&amp;??????????? ???????? litecoin</translation>
  34084. +        <translation>&amp;??????????? ???????? litecoincash</translation>
  34085.      </message>
  34086.      <message>
  34087.          <source>Open &amp;URI...</source>
  34088. @@ -178,8 +178,8 @@
  34089.          <translation>???????????? ???????????? ???? ???????...</translation>
  34090.      </message>
  34091.      <message>
  34092. -        <source>Send coins to a Litecoin address</source>
  34093. -        <translation>??? coins ????? ??????? Litecoin</translation>
  34094. +        <source>Send coins to a LitecoinCash address</source>
  34095. +        <translation>??? coins ????? ??????? LitecoinCash</translation>
  34096.      </message>
  34097.      <message>
  34098.          <source>Backup wallet to another location</source>
  34099. @@ -202,8 +202,8 @@
  34100.          <translation>&amp;?????????????...</translation>
  34101.      </message>
  34102.      <message>
  34103. -        <source>Litecoin</source>
  34104. -        <translation>Litecoin</translation>
  34105. +        <source>LitecoinCash</source>
  34106. +        <translation>LitecoinCash</translation>
  34107.      </message>
  34108.      <message>
  34109.          <source>Wallet</source>
  34110. @@ -230,12 +230,12 @@
  34111.          <translation>???????? private keys/ ??????????? ????????????????????????</translation>
  34112.      </message>
  34113.      <message>
  34114. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  34115. -        <translation>??????????????????? ??????? Litecoin ??????????????????????????? litecoin ???????</translation>
  34116. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  34117. +        <translation>??????????????????? ??????? LitecoinCash ??????????????????????????? litecoincash ???????</translation>
  34118.      </message>
  34119.      <message>
  34120. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  34121. -        <translation>??????? ??????? ???????????????? ????????????? ??????????? Litecoin ????</translation>
  34122. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  34123. +        <translation>??????? ??????? ???????????????? ????????????? ??????????? LitecoinCash ????</translation>
  34124.      </message>
  34125.      <message>
  34126.          <source>&amp;File</source>
  34127. @@ -254,28 +254,28 @@
  34128.          <translation>?????????????</translation>
  34129.      </message>
  34130.      <message>
  34131. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  34132. -        <translation>????????? ??????????? (????? QR codes ??? litecoin: URIs)</translation>
  34133. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  34134. +        <translation>????????? ??????????? (????? QR codes ??? litecoincash: URIs)</translation>
  34135.      </message>
  34136.      <message>
  34137.          <source>Show the list of used sending addresses and labels</source>
  34138. -        <translation>?????????? ??????????????????? litecoin ??? ??????????? ????????????</translation>
  34139. +        <translation>?????????? ??????????????????? litecoincash ??? ??????????? ????????????</translation>
  34140.      </message>
  34141.      <message>
  34142.          <source>Show the list of used receiving addresses and labels</source>
  34143. -        <translation>?????????? ??????????????????? litecoin ???? ??????????? ????????????</translation>
  34144. +        <translation>?????????? ??????????????????? litecoincash ???? ??????????? ????????????</translation>
  34145.      </message>
  34146.      <message>
  34147. -        <source>Open a litecoin: URI or payment request</source>
  34148. -        <translation>???? litecoin: URI ???? ???????????????? (???????????????????)</translation>
  34149. +        <source>Open a litecoincash: URI or payment request</source>
  34150. +        <translation>???? litecoincash: URI ???? ???????????????? (???????????????????)</translation>
  34151.      </message>
  34152.      <message>
  34153.          <source>&amp;Command-line options</source>
  34154.          <translation>&amp;???????? Command-line</translation>
  34155.      </message>
  34156.      <message numerus="yes">
  34157. -        <source>%n active connection(s) to Litecoin network</source>
  34158. -        <translation><numerusform>%n ???????????????????????????? ??????????????????????? Litecoin</numerusform></translation>
  34159. +        <source>%n active connection(s) to LitecoinCash network</source>
  34160. +        <translation><numerusform>%n ???????????????????????????? ??????????????????????? LitecoinCash</numerusform></translation>
  34161.      </message>
  34162.      <message>
  34163.          <source>Indexing blocks on disk...</source>
  34164. @@ -318,8 +318,8 @@
  34165.          <translation>???????</translation>
  34166.      </message>
  34167.      <message>
  34168. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  34169. -        <translation>???? %1 ???????????????? ??????????????? ?????????????????????????? Litecoin command-line</translation>
  34170. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  34171. +        <translation>???? %1 ???????????????? ??????????????? ?????????????????????????? LitecoinCash command-line</translation>
  34172.      </message>
  34173.      <message>
  34174.          <source>%1 client</source>
  34175. @@ -563,8 +563,8 @@
  34176.          <translation>???????????????????????????? ??????????????? ????????????????????? %1</translation>
  34177.      </message>
  34178.      <message>
  34179. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  34180. -        <translation>%1 ??????????????????????????????????? ???????? Litecoin ??? ??????????????????? %2GB ????????????????????????? ???????????????????????????????? ??????????? ?????????????????????????????</translation>
  34181. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  34182. +        <translation>%1 ??????????????????????????????????? ???????? LitecoinCash ??? ??????????????????? %2GB ????????????????????????? ???????????????????????????????? ??????????? ?????????????????????????????</translation>
  34183.      </message>
  34184.      <message>
  34185.          <source>Use the default data directory</source>
  34186. @@ -712,16 +712,16 @@
  34187.          <translation>&amp;?????????????????????????</translation>
  34188.      </message>
  34189.      <message>
  34190. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  34191. -        <translation>???? Litecoin ???????????????/client port ?? router ???????????? ?????????????????? router ???????? UPnP ??????????????????</translation>
  34192. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  34193. +        <translation>???? LitecoinCash ???????????????/client port ?? router ???????????? ?????????????????? router ???????? UPnP ??????????????????</translation>
  34194.      </message>
  34195.      <message>
  34196.          <source>Map port using &amp;UPnP</source>
  34197.          <translation>???????? ?????? &amp;UPnP</translation>
  34198.      </message>
  34199.      <message>
  34200. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  34201. -        <translation>???????????? Litecoin ?????????? ??????????????? SOCKS5</translation>
  34202. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  34203. +        <translation>???????????? LitecoinCash ?????????? ??????????????? SOCKS5</translation>
  34204.      </message>
  34205.      <message>
  34206.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  34207. @@ -760,8 +760,8 @@
  34208.          <translation>Tor</translation>
  34209.      </message>
  34210.      <message>
  34211. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  34212. -        <translation>???????????? ????????? Litecoin ??????? ???????? SOCKS5 ?????????? ?????? Tor ????????</translation>
  34213. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  34214. +        <translation>???????????? ????????? LitecoinCash ??????? ???????? SOCKS5 ?????????? ?????? Tor ????????</translation>
  34215.      </message>
  34216.      <message>
  34217.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  34218. diff --git a/src/qt/locale/bitcoin_tr.ts b/src/qt/locale/bitcoin_tr.ts
  34219. index ba740cc..5c7b690 100644
  34220. --- a/src/qt/locale/bitcoin_tr.ts
  34221. +++ b/src/qt/locale/bitcoin_tr.ts
  34222. @@ -62,12 +62,12 @@
  34223.          <translation>Al?m adresleri</translation>
  34224.      </message>
  34225.      <message>
  34226. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  34227. -        <translation>Bunlar ödemeleri göndermek için kullanaca??n?z Litecoin adreslerinizdir. Litecoin yollamadan önce tutar? ve al?c?n?n al?m adresini her zaman kontrol ediniz.</translation>
  34228. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  34229. +        <translation>Bunlar ödemeleri göndermek için kullanaca??n?z LitecoinCash adreslerinizdir. LitecoinCash yollamadan önce tutar? ve al?c?n?n al?m adresini her zaman kontrol ediniz.</translation>
  34230.      </message>
  34231.      <message>
  34232. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  34233. -        <translation>Bunlar ödemeleri almak için kullanaca??n?z Litecoin adreslerinizdir. Her i?lem için yeni bir al?m adresi kullanman?z tavsiye edilir.</translation>
  34234. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  34235. +        <translation>Bunlar ödemeleri almak için kullanaca??n?z LitecoinCash adreslerinizdir. Her i?lem için yeni bir al?m adresi kullanman?z tavsiye edilir.</translation>
  34236.      </message>
  34237.      <message>
  34238.          <source>&amp;Copy Address</source>
  34239. @@ -168,7 +168,7 @@
  34240.          <translation>Cüzdan ?ifrelemesini onayla</translation>
  34241.      </message>
  34242.      <message>
  34243. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  34244. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  34245.          <translation>Uyar?: E?er cüzdan?n?z? ?ifreler ve parolan?z? kaybederseniz &lt;b&gt;TÜM B?TCO?NLER?N?Z? KAYBEDECEKS?N?Z&lt;/b&gt;!</translation>
  34246.      </message>
  34247.      <message>
  34248. @@ -180,8 +180,8 @@
  34249.          <translation>Cüzdan ?ifrelendi</translation>
  34250.      </message>
  34251.      <message>
  34252. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  34253. -        <translation>?ifreleme i?leminin bitirilmesi için %1 kapat?lacak. Her ne kadar cüzdan?n?z? ?ifreleseniz de ?ifrelemenin litecoinlerinizi bilgisayar?n?za bula?an zararl?lardan tam olarak koruyamayaca??n? unutmay?n.</translation>
  34254. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  34255. +        <translation>?ifreleme i?leminin bitirilmesi için %1 kapat?lacak. Her ne kadar cüzdan?n?z? ?ifreleseniz de ?ifrelemenin litecoincashlerinizi bilgisayar?n?za bula?an zararl?lardan tam olarak koruyamayaca??n? unutmay?n.</translation>
  34256.      </message>
  34257.      <message>
  34258.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  34259. @@ -338,8 +338,8 @@
  34260.          <translation>Diskteki bloklar yeniden indeksleniyor...</translation>
  34261.      </message>
  34262.      <message>
  34263. -        <source>Send coins to a Litecoin address</source>
  34264. -        <translation>Bir litecoin adresine litecoin gönder</translation>
  34265. +        <source>Send coins to a LitecoinCash address</source>
  34266. +        <translation>Bir litecoincash adresine litecoincash gönder</translation>
  34267.      </message>
  34268.      <message>
  34269.          <source>Backup wallet to another location</source>
  34270. @@ -362,8 +362,8 @@
  34271.          <translation>?letiyi &amp;kontrol et...</translation>
  34272.      </message>
  34273.      <message>
  34274. -        <source>Litecoin</source>
  34275. -        <translation>Litecoin</translation>
  34276. +        <source>LitecoinCash</source>
  34277. +        <translation>LitecoinCash</translation>
  34278.      </message>
  34279.      <message>
  34280.          <source>Wallet</source>
  34281. @@ -390,12 +390,12 @@
  34282.          <translation>Cüzdan?n?za ait özel anahtarlar? ?ifreleyin</translation>
  34283.      </message>
  34284.      <message>
  34285. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  34286. -        <translation>?letileri adreslerin size ait oldu?unu ispatlamak için Litecoin adresleri ile imzala</translation>
  34287. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  34288. +        <translation>?letileri adreslerin size ait oldu?unu ispatlamak için LitecoinCash adresleri ile imzala</translation>
  34289.      </message>
  34290.      <message>
  34291. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  34292. -        <translation>Belirtilen Litecoin adresleri ile imzaland?klar?ndan emin olmak için iletileri kontrol et</translation>
  34293. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  34294. +        <translation>Belirtilen LitecoinCash adresleri ile imzaland?klar?ndan emin olmak için iletileri kontrol et</translation>
  34295.      </message>
  34296.      <message>
  34297.          <source>&amp;File</source>
  34298. @@ -414,8 +414,8 @@
  34299.          <translation>Sekme araç çubu?u</translation>
  34300.      </message>
  34301.      <message>
  34302. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  34303. -        <translation>Ödeme talep et (QR kodu ve litecoin URI'si olu?turur)</translation>
  34304. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  34305. +        <translation>Ödeme talep et (QR kodu ve litecoincash URI'si olu?turur)</translation>
  34306.      </message>
  34307.      <message>
  34308.          <source>Show the list of used sending addresses and labels</source>
  34309. @@ -426,16 +426,16 @@
  34310.          <translation>Kullan?lm?? al?m adresleri ve etiketlerin listesini göster</translation>
  34311.      </message>
  34312.      <message>
  34313. -        <source>Open a litecoin: URI or payment request</source>
  34314. -        <translation>Bir litecoin: ba?lant?s? ya da ödeme talebi aç</translation>
  34315. +        <source>Open a litecoincash: URI or payment request</source>
  34316. +        <translation>Bir litecoincash: ba?lant?s? ya da ödeme talebi aç</translation>
  34317.      </message>
  34318.      <message>
  34319.          <source>&amp;Command-line options</source>
  34320.          <translation>&amp;Komut sat?r? seçenekleri</translation>
  34321.      </message>
  34322.      <message numerus="yes">
  34323. -        <source>%n active connection(s) to Litecoin network</source>
  34324. -        <translation><numerusform>Litecoin ?ebekesine %n faal ba?lant?</numerusform><numerusform>Litecoin a??na %n etkin ba?lant? var</numerusform></translation>
  34325. +        <source>%n active connection(s) to LitecoinCash network</source>
  34326. +        <translation><numerusform>LitecoinCash ?ebekesine %n faal ba?lant?</numerusform><numerusform>LitecoinCash a??na %n etkin ba?lant? var</numerusform></translation>
  34327.      </message>
  34328.      <message>
  34329.          <source>Indexing blocks on disk...</source>
  34330. @@ -478,8 +478,8 @@
  34331.          <translation>Güncel</translation>
  34332.      </message>
  34333.      <message>
  34334. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  34335. -        <translation>Olas? Litecoin komut sat?r? seçeneklerinin listesini görmek için %1 yard?m mesaj?n? göster</translation>
  34336. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  34337. +        <translation>Olas? LitecoinCash komut sat?r? seçeneklerinin listesini görmek için %1 yard?m mesaj?n? göster</translation>
  34338.      </message>
  34339.      <message>
  34340.          <source>%1 client</source>
  34341. @@ -548,15 +548,15 @@
  34342.          <translation>Cüzdan &lt;b&gt;?ifrelenmi?tir&lt;/b&gt; ve ?u anda &lt;b&gt;kilitlidir&lt;/b&gt;</translation>
  34343.      </message>
  34344.      <message>
  34345. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  34346. -        <translation>Ölümcül bir hata olu?tu. Litecoin yaz?l?m? art?k güvenli bir ?ekilde çal??maya devam edemedi?i için kapat?lacakt?r.</translation>
  34347. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  34348. +        <translation>Ölümcül bir hata olu?tu. LitecoinCash yaz?l?m? art?k güvenli bir ?ekilde çal??maya devam edemedi?i için kapat?lacakt?r.</translation>
  34349.      </message>
  34350.  </context>
  34351.  <context>
  34352.      <name>CoinControlDialog</name>
  34353.      <message>
  34354.          <source>Coin Selection</source>
  34355. -        <translation>Litecoin Seçimi</translation>
  34356. +        <translation>LitecoinCash Seçimi</translation>
  34357.      </message>
  34358.      <message>
  34359.          <source>Quantity:</source>
  34360. @@ -742,8 +742,8 @@
  34361.          <translation>Gönderi adresini düzenle</translation>
  34362.      </message>
  34363.      <message>
  34364. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  34365. -        <translation>Girilen "%1" adresi geçerli bir Litecoin adresi de?ildir.</translation>
  34366. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  34367. +        <translation>Girilen "%1" adresi geçerli bir LitecoinCash adresi de?ildir.</translation>
  34368.      </message>
  34369.      <message>
  34370.          <source>The entered address "%1" is already in the address book.</source>
  34371. @@ -851,8 +851,8 @@
  34372.          <translation>Bu program?n ilk kez ba?lat?lmas?ndan dolay? %1 yaz?l?m?n?n verilerini nerede saklayaca??n? seçebilirsiniz.</translation>
  34373.      </message>
  34374.      <message>
  34375. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  34376. -        <translation>%1, Litecoin blok zincirinin bir kopyas?n? indirecek ve saklayacakt?r. Bu klasörde en az %2 GB veri saklanacak ve bu zamanla artacakt?r. Cüzdan da bu klasörde saklanacakt?r.</translation>
  34377. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  34378. +        <translation>%1, LitecoinCash blok zincirinin bir kopyas?n? indirecek ve saklayacakt?r. Bu klasörde en az %2 GB veri saklanacak ve bu zamanla artacakt?r. Cüzdan da bu klasörde saklanacakt?r.</translation>
  34379.      </message>
  34380.      <message>
  34381.          <source>Use the default data directory</source>
  34382. @@ -886,12 +886,12 @@
  34383.          <translation>Form</translation>
  34384.      </message>
  34385.      <message>
  34386. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  34387. -        <translation>Son i?lemler henüz görünmeyebilir ve bu nedenle cüzdan?n?z?n bakiyesi yanl?? olabilir. Bu bilgiler, a?a??da detayland?r?ld??? gibi, cüzdan?n?z litecoin a?? ile senkronizasyonunu tamamlad???nda do?ru olacakt?r. </translation>
  34388. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  34389. +        <translation>Son i?lemler henüz görünmeyebilir ve bu nedenle cüzdan?n?z?n bakiyesi yanl?? olabilir. Bu bilgiler, a?a??da detayland?r?ld??? gibi, cüzdan?n?z litecoincash a?? ile senkronizasyonunu tamamlad???nda do?ru olacakt?r. </translation>
  34390.      </message>
  34391.      <message>
  34392. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  34393. -        <translation>Henüz görüntülenmeyen i?lemlerden etkilenen litecoinleri harcama giri?iminde bulunmak a? taraf?ndan kabul edilmeyecektir.</translation>
  34394. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  34395. +        <translation>Henüz görüntülenmeyen i?lemlerden etkilenen litecoincashleri harcama giri?iminde bulunmak a? taraf?ndan kabul edilmeyecektir.</translation>
  34396.      </message>
  34397.      <message>
  34398.          <source>Number of blocks left</source>
  34399. @@ -1048,16 +1048,16 @@
  34400.          <translation>Do?rulanmam?? para üstünü &amp;harca</translation>
  34401.      </message>
  34402.      <message>
  34403. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  34404. -        <translation>Yönlendiricide Litecoin istemci portlar?n? otomatik olarak açar. Bu, sadece yönlendiricinizin UPnP deste?i bulunuyorsa ve etkinse çal??abilir.</translation>
  34405. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  34406. +        <translation>Yönlendiricide LitecoinCash istemci portlar?n? otomatik olarak açar. Bu, sadece yönlendiricinizin UPnP deste?i bulunuyorsa ve etkinse çal??abilir.</translation>
  34407.      </message>
  34408.      <message>
  34409.          <source>Map port using &amp;UPnP</source>
  34410.          <translation>Portlar? &amp;UPnP kullanarak haritala</translation>
  34411.      </message>
  34412.      <message>
  34413. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  34414. -        <translation>Litecoin a??na bir SOCKS5 vekil sunucusu arac?l???yla ba?lan.</translation>
  34415. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  34416. +        <translation>LitecoinCash a??na bir SOCKS5 vekil sunucusu arac?l???yla ba?lan.</translation>
  34417.      </message>
  34418.      <message>
  34419.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  34420. @@ -1096,8 +1096,8 @@
  34421.          <translation>Tor</translation>
  34422.      </message>
  34423.      <message>
  34424. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  34425. -        <translation>Litecoin a??na gizli Tor servisleri için ayr? bir SOCKS5 vekil sunucusu arac?l???yla ba?lan.</translation>
  34426. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  34427. +        <translation>LitecoinCash a??na gizli Tor servisleri için ayr? bir SOCKS5 vekil sunucusu arac?l???yla ba?lan.</translation>
  34428.      </message>
  34429.      <message>
  34430.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  34431. @@ -1145,7 +1145,7 @@
  34432.      </message>
  34433.      <message>
  34434.          <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
  34435. -        <translation>Litecoin gönderildi?inde arayüzde gösterilecek varsay?lan alt birimi seçiniz.</translation>
  34436. +        <translation>LitecoinCash gönderildi?inde arayüzde gösterilecek varsay?lan alt birimi seçiniz.</translation>
  34437.      </message>
  34438.      <message>
  34439.          <source>Whether to show coin control features or not.</source>
  34440. @@ -1195,8 +1195,8 @@
  34441.          <translation>Form</translation>
  34442.      </message>
  34443.      <message>
  34444. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  34445. -        <translation>Görüntülenen bilgiler güncel olmayabilir. Ba?lant? kuruldu?unda cüzdan?n?z otomatik olarak Litecoin a?? ile senkronize olur ancak bu i?lem henüz tamamlanmam??t?r.</translation>
  34446. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  34447. +        <translation>Görüntülenen bilgiler güncel olmayabilir. Ba?lant? kuruldu?unda cüzdan?n?z otomatik olarak LitecoinCash a?? ile senkronize olur ancak bu i?lem henüz tamamlanmam??t?r.</translation>
  34448.      </message>
  34449.      <message>
  34450.          <source>Watch-only:</source>
  34451. @@ -1270,8 +1270,8 @@
  34452.          <translation>Ödeme talebi hatas?</translation>
  34453.      </message>
  34454.      <message>
  34455. -        <source>Cannot start litecoin: click-to-pay handler</source>
  34456. -        <translation>Litecoin ba?lat?lamad?: t?kla-ve-öde yöneticisi</translation>
  34457. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  34458. +        <translation>LitecoinCash ba?lat?lamad?: t?kla-ve-öde yöneticisi</translation>
  34459.      </message>
  34460.      <message>
  34461.          <source>URI handling</source>
  34462. @@ -1286,8 +1286,8 @@
  34463.          <translation>%1 ödeme adresi geçersizdir</translation>
  34464.      </message>
  34465.      <message>
  34466. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  34467. -        <translation>URI ayr??t?r?lam?yor! Bunun nedeni geçersiz bir Litecoin adresi veya hatal? biçimlendirilmi? URI de?i?kenleri olabilir.</translation>
  34468. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  34469. +        <translation>URI ayr??t?r?lam?yor! Bunun nedeni geçersiz bir LitecoinCash adresi veya hatal? biçimlendirilmi? URI de?i?kenleri olabilir.</translation>
  34470.      </message>
  34471.      <message>
  34472.          <source>Payment request file handling</source>
  34473. @@ -1380,8 +1380,8 @@
  34474.          <translation>Tutar</translation>
  34475.      </message>
  34476.      <message>
  34477. -        <source>Enter a Litecoin address (e.g. %1)</source>
  34478. -        <translation>Bir Litecoin adresi giriniz (mesela %1)</translation>
  34479. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  34480. +        <translation>Bir LitecoinCash adresi giriniz (mesela %1)</translation>
  34481.      </message>
  34482.      <message>
  34483.          <source>%1 d</source>
  34484. @@ -1726,7 +1726,7 @@
  34485.      </message>
  34486.      <message>
  34487.          <source>WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramification of a command.</source>
  34488. -        <translation>UYARI: Litecoin doland?r?c?lar?n?n çok fazla etkin oldu?u zamanlarda, doland?r?c?lar baz? kullan?c?lara buraya komutlar yazmalar?n? söylerek onlar?n cüzdanlar?ndaki litecoinleri çalm??lard?r. Bir komutun sonuçlar?n? tam olarak anlamadan bu konsolu kullanmay?n.</translation>
  34489. +        <translation>UYARI: LitecoinCash doland?r?c?lar?n?n çok fazla etkin oldu?u zamanlarda, doland?r?c?lar baz? kullan?c?lara buraya komutlar yazmalar?n? söylerek onlar?n cüzdanlar?ndaki litecoincashleri çalm??lard?r. Bir komutun sonuçlar?n? tam olarak anlamadan bu konsolu kullanmay?n.</translation>
  34490.      </message>
  34491.      <message>
  34492.          <source>Network activity disabled</source>
  34493. @@ -1804,8 +1804,8 @@
  34494.          <translation>&amp;Hâlihaz?rda bulunan bir al?m adresini kullan (önerilmez)</translation>
  34495.      </message>
  34496.      <message>
  34497. -        <source>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 Litecoin network.</source>
  34498. -        <translation>Talep aç?ld???nda gösterilecek, iste?inize dayal?, ödeme talebi ile ili?kilendirilecek bir ileti. Not: Bu ileti ödeme ile birlikte Litecoin a?? üzerinden gönderilmeyecektir.</translation>
  34499. +        <source>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 LitecoinCash network.</source>
  34500. +        <translation>Talep aç?ld???nda gösterilecek, iste?inize dayal?, ödeme talebi ile ili?kilendirilecek bir ileti. Not: Bu ileti ödeme ile birlikte LitecoinCash a?? üzerinden gönderilmeyecektir.</translation>
  34501.      </message>
  34502.      <message>
  34503.          <source>An optional label to associate with the new receiving address.</source>
  34504. @@ -1958,7 +1958,7 @@
  34505.      <name>SendCoinsDialog</name>
  34506.      <message>
  34507.          <source>Send Coins</source>
  34508. -        <translation>Litecoin yolla</translation>
  34509. +        <translation>LitecoinCash yolla</translation>
  34510.      </message>
  34511.      <message>
  34512.          <source>Coin Control Features</source>
  34513. @@ -2037,8 +2037,8 @@
  34514.          <translation>toplam asgari</translation>
  34515.      </message>
  34516.      <message>
  34517. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  34518. -        <translation>Gerekli olan en az ücreti ödemek, bloklarda bo?luktan daha az i?lem hacmi oldu?u sürece bir sorun ç?karmaz. Fakat a??n i?leyecebilece?inden daha çok litecoin i?lemi talebi oldu?unda bunun asla do?rulanmayan bir i?lem olabilece?inin fark?nda olmal?s?n?z.</translation>
  34519. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  34520. +        <translation>Gerekli olan en az ücreti ödemek, bloklarda bo?luktan daha az i?lem hacmi oldu?u sürece bir sorun ç?karmaz. Fakat a??n i?leyecebilece?inden daha çok litecoincash i?lemi talebi oldu?unda bunun asla do?rulanmayan bir i?lem olabilece?inin fark?nda olmal?s?n?z.</translation>
  34521.      </message>
  34522.      <message>
  34523.          <source>(read the tooltip)</source>
  34524. @@ -2150,7 +2150,7 @@
  34525.      </message>
  34526.      <message>
  34527.          <source>Confirm send coins</source>
  34528. -        <translation>Litecoin gönderimini onaylay?n</translation>
  34529. +        <translation>LitecoinCash gönderimini onaylay?n</translation>
  34530.      </message>
  34531.      <message>
  34532.          <source>The recipient address is not valid. Please recheck.</source>
  34533. @@ -2197,8 +2197,8 @@
  34534.          <translation>Sadece asgari ücret olan %1 tutar?n? öde</translation>
  34535.      </message>
  34536.      <message>
  34537. -        <source>Warning: Invalid Litecoin address</source>
  34538. -        <translation>Uyar?: geçersiz Litecoin adresi</translation>
  34539. +        <source>Warning: Invalid LitecoinCash address</source>
  34540. +        <translation>Uyar?: geçersiz LitecoinCash adresi</translation>
  34541.      </message>
  34542.      <message>
  34543.          <source>Warning: Unknown change address</source>
  34544. @@ -2240,8 +2240,8 @@
  34545.          <translation>Bu, normal bir ödemedir.</translation>
  34546.      </message>
  34547.      <message>
  34548. -        <source>The Litecoin address to send the payment to</source>
  34549. -        <translation>Ödemenin yollanaca?? Litecoin adresi</translation>
  34550. +        <source>The LitecoinCash address to send the payment to</source>
  34551. +        <translation>Ödemenin yollanaca?? LitecoinCash adresi</translation>
  34552.      </message>
  34553.      <message>
  34554.          <source>Alt+A</source>
  34555. @@ -2260,8 +2260,8 @@
  34556.          <translation>Bu ögeyi kald?r</translation>
  34557.      </message>
  34558.      <message>
  34559. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  34560. -        <translation>Ücret yollanan tutardan al?nacakt?r. Al?c? tutar alan?na girdi?inizden daha az litecoin alacakt?r. E?er birden çok al?c? seçiliyse ücret e?it olarak bölünecektir.</translation>
  34561. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  34562. +        <translation>Ücret yollanan tutardan al?nacakt?r. Al?c? tutar alan?na girdi?inizden daha az litecoincash alacakt?r. E?er birden çok al?c? seçiliyse ücret e?it olarak bölünecektir.</translation>
  34563.      </message>
  34564.      <message>
  34565.          <source>S&amp;ubtract fee from amount</source>
  34566. @@ -2284,8 +2284,8 @@
  34567.          <translation>Kullan?lm?? adres listesine eklemek için bu adrese bir etiket girin</translation>
  34568.      </message>
  34569.      <message>
  34570. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  34571. -        <translation>Referans için litecoin: URI'siyle ili?tirilmi? i?lemle birlikte depolanacak bir ileti. Not: Bu mesaj Litecoin a?? üzerinden gönderilmeyecektir.</translation>
  34572. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  34573. +        <translation>Referans için litecoincash: URI'siyle ili?tirilmi? i?lemle birlikte depolanacak bir ileti. Not: Bu mesaj LitecoinCash a?? üzerinden gönderilmeyecektir.</translation>
  34574.      </message>
  34575.      <message>
  34576.          <source>Pay To:</source>
  34577. @@ -2329,12 +2329,12 @@
  34578.          <translation>?leti &amp;imzala</translation>
  34579.      </message>
  34580.      <message>
  34581. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  34582. -        <translation>Adreslerinize yollanan litecoinleri alabilece?iniz ispatlamak için adreslerinizle iletiler/anla?malar imzalayabilirsiniz. Oltalama sald?r?lar?n?n kimli?inizi imzan?zla elde etmeyi deneyebilecekleri için belirsiz ya da rastgele hiçbir ?ey imzalamamaya dikkat ediniz. Sadece ayr?nt?l? aç?klamas? olan ve tümüne kat?ld???n?z ifadeleri imzalay?n?z.</translation>
  34583. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  34584. +        <translation>Adreslerinize yollanan litecoincashleri alabilece?iniz ispatlamak için adreslerinizle iletiler/anla?malar imzalayabilirsiniz. Oltalama sald?r?lar?n?n kimli?inizi imzan?zla elde etmeyi deneyebilecekleri için belirsiz ya da rastgele hiçbir ?ey imzalamamaya dikkat ediniz. Sadece ayr?nt?l? aç?klamas? olan ve tümüne kat?ld???n?z ifadeleri imzalay?n?z.</translation>
  34585.      </message>
  34586.      <message>
  34587. -        <source>The Litecoin address to sign the message with</source>
  34588. -        <translation>?letinin imzalanmas?nda kullan?lacak Litecoin adresi</translation>
  34589. +        <source>The LitecoinCash address to sign the message with</source>
  34590. +        <translation>?letinin imzalanmas?nda kullan?lacak LitecoinCash adresi</translation>
  34591.      </message>
  34592.      <message>
  34593.          <source>Choose previously used address</source>
  34594. @@ -2365,8 +2365,8 @@
  34595.          <translation>Güncel imzay? sistem panosuna kopyala</translation>
  34596.      </message>
  34597.      <message>
  34598. -        <source>Sign the message to prove you own this Litecoin address</source>
  34599. -        <translation>Bu Litecoin adresinin sizin oldu?unu ispatlamak için iletiyi imzalay?n</translation>
  34600. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  34601. +        <translation>Bu LitecoinCash adresinin sizin oldu?unu ispatlamak için iletiyi imzalay?n</translation>
  34602.      </message>
  34603.      <message>
  34604.          <source>Sign &amp;Message</source>
  34605. @@ -2389,12 +2389,12 @@
  34606.          <translation>Al?c?n?n adresini, iletiyi (sat?r sonlar?, bo?luklar, sekmeler vs. karakterleri tam olarak kopyalad???n?zdan emin olunuz) ve imzay? a?a??ya giriniz. Bir ortadaki adam sald?r?s? taraf?ndan kand?r?lmaya engel olmak için imzadan, imzal? iletinin içeri?ini a?an bir anlam ç?karmamaya dikkat ediniz. Bunun sadece imzalayan taraf?n adres ile al?m yapabildi?ini ispatlad???n? ve herhangi bir i?lemin gönderi taraf?n? kan?tlayamayaca??n? unutmay?n?z!</translation>
  34607.      </message>
  34608.      <message>
  34609. -        <source>The Litecoin address the message was signed with</source>
  34610. -        <translation>?letinin imzalanmas?nda kullan?lan Litecoin adresi</translation>
  34611. +        <source>The LitecoinCash address the message was signed with</source>
  34612. +        <translation>?letinin imzalanmas?nda kullan?lan LitecoinCash adresi</translation>
  34613.      </message>
  34614.      <message>
  34615. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  34616. -        <translation>Belirtilen Litecoin adresi ile imzaland???n? do?rulamak için iletiyi kontrol et</translation>
  34617. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  34618. +        <translation>Belirtilen LitecoinCash adresi ile imzaland???n? do?rulamak için iletiyi kontrol et</translation>
  34619.      </message>
  34620.      <message>
  34621.          <source>Verify &amp;Message</source>
  34622. @@ -2619,7 +2619,7 @@
  34623.      </message>
  34624.      <message>
  34625.          <source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
  34626. -        <translation>Olu?turulan litecoin'lerin harcanabilmelerinden önce %1 blok beklemeleri gerekmektedir. Bu blok, olu?turdu?unuzda, blok zincirine eklenmesi için a?da yay?nland?. Zincire eklenmesi ba?ar?s?z olursa, durumu "kabul edilmedi" olarak de?i?tirilecek ve harcanamayacakt?r. Bu, bazen ba?ka bir dü?üm sizden birkaç saniye önce ya da sonra blok olu?turursa meydana gelebilir.</translation>
  34627. +        <translation>Olu?turulan litecoincash'lerin harcanabilmelerinden önce %1 blok beklemeleri gerekmektedir. Bu blok, olu?turdu?unuzda, blok zincirine eklenmesi için a?da yay?nland?. Zincire eklenmesi ba?ar?s?z olursa, durumu "kabul edilmedi" olarak de?i?tirilecek ve harcanamayacakt?r. Bu, bazen ba?ka bir dü?üm sizden birkaç saniye önce ya da sonra blok olu?turursa meydana gelebilir.</translation>
  34628.      </message>
  34629.      <message>
  34630.          <source>Debug information</source>
  34631. @@ -2945,7 +2945,7 @@
  34632.      <name>WalletModel</name>
  34633.      <message>
  34634.          <source>Send Coins</source>
  34635. -        <translation>Litecoini Gönder</translation>
  34636. +        <translation>LitecoinCashi Gönder</translation>
  34637.      </message>
  34638.  </context>
  34639.  <context>
  34640. @@ -3054,8 +3054,8 @@
  34641.          <translation>HTTP sunucusu ba?lat?lamad?. Ayr?nt?lar için debug.log dosyas?na bak?n?z.</translation>
  34642.      </message>
  34643.      <message>
  34644. -        <source>Litecoin Core</source>
  34645. -        <translation>Litecoin Çekirde?i</translation>
  34646. +        <source>LitecoinCash Core</source>
  34647. +        <translation>LitecoinCash Çekirde?i</translation>
  34648.      </message>
  34649.      <message>
  34650.          <source>The %s developers</source>
  34651. @@ -3135,7 +3135,7 @@
  34652.      </message>
  34653.      <message>
  34654.          <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source>
  34655. -        <translation>Bu kararl? sürümden önceki bir deneme sürümüdür. - risklerini bilerek kullanma sorumlulu?u sizdedir - litecoin olu?turmak ya da ticari uygulamalar için kullanmay?n?z</translation>
  34656. +        <translation>Bu kararl? sürümden önceki bir deneme sürümüdür. - risklerini bilerek kullanma sorumlulu?u sizdedir - litecoincash olu?turmak ya da ticari uygulamalar için kullanmay?n?z</translation>
  34657.      </message>
  34658.      <message>
  34659.          <source>Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain</source>
  34660. @@ -3575,7 +3575,7 @@
  34661.      </message>
  34662.      <message>
  34663.          <source>The transaction amount is too small to pay the fee</source>
  34664. -        <translation>??lemdeki litecoin tutar? ücreti ödemek için çok dü?ük</translation>
  34665. +        <translation>??lemdeki litecoincash tutar? ücreti ödemek için çok dü?ük</translation>
  34666.      </message>
  34667.      <message>
  34668.          <source>This is experimental software.</source>
  34669. diff --git a/src/qt/locale/bitcoin_uk.ts b/src/qt/locale/bitcoin_uk.ts
  34670. index 39a6c2c..eebf02c 100644
  34671. --- a/src/qt/locale/bitcoin_uk.ts
  34672. +++ b/src/qt/locale/bitcoin_uk.ts
  34673. @@ -62,12 +62,12 @@
  34674.          <translation>?????? ?????????</translation>
  34675.      </message>
  34676.      <message>
  34677. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  34678. -        <translation>?? ???? ?????? Litecoin ??? ?????????? ????????. ?????? ??????????? ???? ?? ?????? ?????????? ????? ????????????? ?????.</translation>
  34679. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  34680. +        <translation>?? ???? ?????? LitecoinCash ??? ?????????? ????????. ?????? ??????????? ???? ?? ?????? ?????????? ????? ????????????? ?????.</translation>
  34681.      </message>
  34682.      <message>
  34683. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  34684. -        <translation>?? ???? ?????? Litecoin ??? ????????? ????????. ??? ?????? ?????????? ?????????????? ??????????????? ???? ?????? ??????????.</translation>
  34685. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  34686. +        <translation>?? ???? ?????? LitecoinCash ??? ????????? ????????. ??? ?????? ?????????? ?????????????? ??????????????? ???? ?????? ??????????.</translation>
  34687.      </message>
  34688.      <message>
  34689.          <source>&amp;Copy Address</source>
  34690. @@ -168,7 +168,7 @@
  34691.          <translation>??????????? ?????????? ???????</translation>
  34692.      </message>
  34693.      <message>
  34694. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  34695. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  34696.          <translation>?????: ???? ?? ?????????? ???????? ? ???????? ??????, ?? &lt;b&gt;???????? ??? ???? ????????&lt;/b&gt;!</translation>
  34697.      </message>
  34698.      <message>
  34699. @@ -180,8 +180,8 @@
  34700.          <translation>???????? ???????????</translation>
  34701.      </message>
  34702.      <message>
  34703. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  34704. -        <translation>%1 ???? ??????? ?????, ??? ????????? ?????? ??????????. ???'??????, ?? ?????????? ??????? ?? ???? ???????? ????????? ???? litecoin? ??? ???????? ?????????? ??????????, ? ??????? ???? ??? ????'???? ???? ??????????.</translation>
  34705. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  34706. +        <translation>%1 ???? ??????? ?????, ??? ????????? ?????? ??????????. ???'??????, ?? ?????????? ??????? ?? ???? ???????? ????????? ???? litecoincash? ??? ???????? ?????????? ??????????, ? ??????? ???? ??? ????'???? ???? ??????????.</translation>
  34707.      </message>
  34708.      <message>
  34709.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  34710. @@ -338,7 +338,7 @@
  34711.          <translation>?????????????? ?????? ?? ????? ...</translation>
  34712.      </message>
  34713.      <message>
  34714. -        <source>Send coins to a Litecoin address</source>
  34715. +        <source>Send coins to a LitecoinCash address</source>
  34716.          <translation>?????????? ?????? ?? ??????? ??????</translation>
  34717.      </message>
  34718.      <message>
  34719. @@ -362,8 +362,8 @@
  34720.          <translation>?&amp;????????? ????????????...</translation>
  34721.      </message>
  34722.      <message>
  34723. -        <source>Litecoin</source>
  34724. -        <translation>Litecoin</translation>
  34725. +        <source>LitecoinCash</source>
  34726. +        <translation>LitecoinCash</translation>
  34727.      </message>
  34728.      <message>
  34729.          <source>Wallet</source>
  34730. @@ -390,12 +390,12 @@
  34731.          <translation>??????????? ??????? ?????, ?? ??????????? ? ?????? ???????</translation>
  34732.      </message>
  34733.      <message>
  34734. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  34735. -        <translation>???????????, ?? ?? ? ????????? ???????????? ?????????? ???? ????? Litecoin-??????? </translation>
  34736. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  34737. +        <translation>???????????, ?? ?? ? ????????? ???????????? ?????????? ???? ????? LitecoinCash-??????? </translation>
  34738.      </message>
  34739.      <message>
  34740. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  34741. -        <translation>????????? ???????????? ??? ???????????, ?? ???? ????????? ???????? Litecoin-???????</translation>
  34742. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  34743. +        <translation>????????? ???????????? ??? ???????????, ?? ???? ????????? ???????? LitecoinCash-???????</translation>
  34744.      </message>
  34745.      <message>
  34746.          <source>&amp;File</source>
  34747. @@ -414,8 +414,8 @@
  34748.          <translation>?????? ???????</translation>
  34749.      </message>
  34750.      <message>
  34751. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  34752. -        <translation>???????? ????? ??????? (??????? QR-??? ?? litecoin: URI)</translation>
  34753. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  34754. +        <translation>???????? ????? ??????? (??????? QR-??? ?? litecoincash: URI)</translation>
  34755.      </message>
  34756.      <message>
  34757.          <source>Show the list of used sending addresses and labels</source>
  34758. @@ -426,16 +426,16 @@
  34759.          <translation>???????? ?????? ????? ? ?????, ?? ???? ??????????? ??? ?????????</translation>
  34760.      </message>
  34761.      <message>
  34762. -        <source>Open a litecoin: URI or payment request</source>
  34763. -        <translation>???????? litecoin: URI ?? ????? ???????</translation>
  34764. +        <source>Open a litecoincash: URI or payment request</source>
  34765. +        <translation>???????? litecoincash: URI ?? ????? ???????</translation>
  34766.      </message>
  34767.      <message>
  34768.          <source>&amp;Command-line options</source>
  34769.          <translation>?&amp;???????? ?????????? ?????</translation>
  34770.      </message>
  34771.      <message numerus="yes">
  34772. -        <source>%n active connection(s) to Litecoin network</source>
  34773. -        <translation><numerusform>%n ??????? ?'??????? ? ??????? Litecoin</numerusform><numerusform>%n ??????? ?'??????? ? ??????? Litecoin</numerusform><numerusform>%n ???????? ?'?????? ? ??????? Litecoin</numerusform></translation>
  34774. +        <source>%n active connection(s) to LitecoinCash network</source>
  34775. +        <translation><numerusform>%n ??????? ?'??????? ? ??????? LitecoinCash</numerusform><numerusform>%n ??????? ?'??????? ? ??????? LitecoinCash</numerusform><numerusform>%n ???????? ?'?????? ? ??????? LitecoinCash</numerusform></translation>
  34776.      </message>
  34777.      <message>
  34778.          <source>Indexing blocks on disk...</source>
  34779. @@ -478,7 +478,7 @@
  34780.          <translation>??????????????</translation>
  34781.      </message>
  34782.      <message>
  34783. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  34784. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  34785.          <translation>???????? ??????? %1 ??? ????????? ???????? ???????? ?????????? ?????????? ?????.</translation>
  34786.      </message>
  34787.      <message>
  34788. @@ -548,7 +548,7 @@
  34789.          <translation>&lt;b&gt;????????????&lt;/b&gt; ???????? &lt;b&gt;???????????&lt;/b&gt;</translation>
  34790.      </message>
  34791.      <message>
  34792. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  34793. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  34794.          <translation>??????? ???????? ???????. ??????? ?? ??????? ? ????????? ???????. ???????? ???? ???????.</translation>
  34795.      </message>
  34796.  </context>
  34797. @@ -738,8 +738,8 @@
  34798.          <translation>?????????? ?????? ??? ????????????</translation>
  34799.      </message>
  34800.      <message>
  34801. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  34802. -        <translation>??????? ?????? "%1" ?? ? ??????? ? ?????? Litecoin.</translation>
  34803. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  34804. +        <translation>??????? ?????? "%1" ?? ? ??????? ? ?????? LitecoinCash.</translation>
  34805.      </message>
  34806.      <message>
  34807.          <source>The entered address "%1" is already in the address book.</source>
  34808. @@ -878,12 +878,12 @@
  34809.          <translation>?????</translation>
  34810.      </message>
  34811.      <message>
  34812. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  34813. -        <translation>????????? ?????????? ?? ?? ??????????????, ???? ?????? ?????? ??????? ???? ???? ????????. ?? ?????????? ???? ?????? ????? ????, ?? ??? ???????? ????????? ????????????? ? ??????? litecoin, ??????????? ????????? ?????.</translation>
  34814. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  34815. +        <translation>????????? ?????????? ?? ?? ??????????????, ???? ?????? ?????? ??????? ???? ???? ????????. ?? ?????????? ???? ?????? ????? ????, ?? ??? ???????? ????????? ????????????? ? ??????? litecoincash, ??????????? ????????? ?????.</translation>
  34816.      </message>
  34817.      <message>
  34818. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  34819. -        <translation>?????? ?????????? litecoin?, ??? ?? ?? ??????????????, ?? ???? ???????? ???????.</translation>
  34820. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  34821. +        <translation>?????? ?????????? litecoincash?, ??? ?? ?? ??????????????, ?? ???? ???????? ???????.</translation>
  34822.      </message>
  34823.      <message>
  34824.          <source>Number of blocks left</source>
  34825. @@ -1036,7 +1036,7 @@
  34826.          <translation>&amp;????????? ?????????????? ?????</translation>
  34827.      </message>
  34828.      <message>
  34829. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  34830. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  34831.          <translation>??????????? ?????????? ???? ??? ??????? ??????? ?? ???????. ?????? ???? ???? ??? ?????? ????????? UPnP ? ?? ??????? ?????????.</translation>
  34832.      </message>
  34833.      <message>
  34834. @@ -1044,8 +1044,8 @@
  34835.          <translation>???????????? ????? ????? &amp;UPnP</translation>
  34836.      </message>
  34837.      <message>
  34838. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  34839. -        <translation>??????????? ?? ?????? Litecoin ????? SOCKS5 ??????.</translation>
  34840. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  34841. +        <translation>??????????? ?? ?????? LitecoinCash ????? SOCKS5 ??????.</translation>
  34842.      </message>
  34843.      <message>
  34844.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  34845. @@ -1084,8 +1084,8 @@
  34846.          <translation>Tor</translation>
  34847.      </message>
  34848.      <message>
  34849. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  34850. -        <translation>???????????? ?? ?????? Litecoin ????? ??????? SOCKS5 ?????? ??? ?????????? ???????? Tor.</translation>
  34851. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  34852. +        <translation>???????????? ?? ?????? LitecoinCash ????? ??????? SOCKS5 ?????? ??? ?????????? ???????? Tor.</translation>
  34853.      </message>
  34854.      <message>
  34855.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  34856. @@ -1175,8 +1175,8 @@
  34857.          <translation>?????</translation>
  34858.      </message>
  34859.      <message>
  34860. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  34861. -        <translation>???????? ?????????? ??? ???? ???? ??????????. ??? ???????? ???? ??????????? ?????????????? ? ??????? Litecoin ????? ???????????? ???????????, ??? ??? ?????? ?? ?? ?????????.</translation>
  34862. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  34863. +        <translation>???????? ?????????? ??? ???? ???? ??????????. ??? ???????? ???? ??????????? ?????????????? ? ??????? LitecoinCash ????? ???????????? ???????????, ??? ??? ?????? ?? ?? ?????????.</translation>
  34864.      </message>
  34865.      <message>
  34866.          <source>Watch-only:</source>
  34867. @@ -1276,8 +1276,8 @@
  34868.          <translation>?????????</translation>
  34869.      </message>
  34870.      <message>
  34871. -        <source>Enter a Litecoin address (e.g. %1)</source>
  34872. -        <translation>??????? ?????? Litecoin (????????? %1)</translation>
  34873. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  34874. +        <translation>??????? ?????? LitecoinCash (????????? %1)</translation>
  34875.      </message>
  34876.      <message>
  34877.          <source>%1 d</source>
  34878. @@ -1632,8 +1632,8 @@
  34879.          <translation>??&amp;?????? ??????????? ?????? ??? ????????? (?? ??????????????)</translation>
  34880.      </message>
  34881.      <message>
  34882. -        <source>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 Litecoin network.</source>
  34883. -        <translation>??????'?????? ???????????? ?? ??????? ?? ?????? ???????, ????? ???? ???????? ??? ??? ????????? ??????. ????????: ?? ???????????? ?? ???? ??????????? ? ???????? ????? ?????? Litecoin.</translation>
  34884. +        <source>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 LitecoinCash network.</source>
  34885. +        <translation>??????'?????? ???????????? ?? ??????? ?? ?????? ???????, ????? ???? ???????? ??? ??? ????????? ??????. ????????: ?? ???????????? ?? ???? ??????????? ? ???????? ????? ?????? LitecoinCash.</translation>
  34886.      </message>
  34887.      <message>
  34888.          <source>An optional label to associate with the new receiving address.</source>
  34889. @@ -1849,8 +1849,8 @@
  34890.          <translation>?????? ??????????</translation>
  34891.      </message>
  34892.      <message>
  34893. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  34894. -        <translation>?????? ?????? ??????????? ??????? ? ??????????, ?????? ????? ?????????? ? ?????? ???????? ? ??????. ??? ????? ?? ?????, ?? ?? ???? ????????? ??????????, ???? ????? ?? Litecoin ?????????? ????? ???????, ??? ?????? ????? ????????.</translation>
  34895. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  34896. +        <translation>?????? ?????? ??????????? ??????? ? ??????????, ?????? ????? ?????????? ? ?????? ???????? ? ??????. ??? ????? ?? ?????, ?? ?? ???? ????????? ??????????, ???? ????? ?? LitecoinCash ?????????? ????? ???????, ??? ?????? ????? ????????.</translation>
  34897.      </message>
  34898.      <message>
  34899.          <source>(read the tooltip)</source>
  34900. @@ -1968,8 +1968,8 @@
  34901.          <translation>?? ????????? ??????.</translation>
  34902.      </message>
  34903.      <message>
  34904. -        <source>The Litecoin address to send the payment to</source>
  34905. -        <translation>?????? Litecoin ??? ???????????? ???????</translation>
  34906. +        <source>The LitecoinCash address to send the payment to</source>
  34907. +        <translation>?????? LitecoinCash ??? ???????????? ???????</translation>
  34908.      </message>
  34909.      <message>
  34910.          <source>Alt+A</source>
  34911. @@ -1988,7 +1988,7 @@
  34912.          <translation>???????? ??? ?????</translation>
  34913.      </message>
  34914.      <message>
  34915. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  34916. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  34917.          <translation>??????? ???? ????? ?? ???????? ????. ?? ?????????? ??????? ????? ?????????, ??? ???? ??????? ? ???? ?????????. ???? ? ??????????? ???????? - ??????? ???? ??????????? ??? ????.</translation>
  34918.      </message>
  34919.      <message>
  34920. @@ -2012,8 +2012,8 @@
  34921.          <translation>??????? ????? ??? ???? ?????? ??? ????????? ?? ? ?????? ???????????? ?????</translation>
  34922.      </message>
  34923.      <message>
  34924. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  34925. -        <translation>????????????, ?? ???? ?????? ?? litecoin:URI ?? ???? ????????? ????? ? ??????????? ??? ???????. ????????: ?? ???????????? ?? ???? ??????????? ? ?????? Litecoin.</translation>
  34926. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  34927. +        <translation>????????????, ?? ???? ?????? ?? litecoincash:URI ?? ???? ????????? ????? ? ??????????? ??? ???????. ????????: ?? ???????????? ?? ???? ??????????? ? ?????? LitecoinCash.</translation>
  34928.      </message>
  34929.      <message>
  34930.          <source>Pay To:</source>
  34931. @@ -2053,12 +2053,12 @@
  34932.          <translation>&amp;????????? ????????????</translation>
  34933.      </message>
  34934.      <message>
  34935. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  34936. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  34937.          <translation>?? ?????? ??????????? ????????????/????? ?????? ????????, ??? ??????? ?????????? ????????? ?????????, ?? ?????? ????????? ?? ???. ????????????? ??????????? ????-?? ??????? ?? ???????????, ??? ?? ?? ????????? ??????-????? ??? ?????? ?????????? ?????? ? ????? ??? ????????? ?????? ??????? ??? ?????? ???????. ?????????? ???? ????? ??????????, ? ????? ?? ???????? ??????.</translation>
  34938.      </message>
  34939.      <message>
  34940. -        <source>The Litecoin address to sign the message with</source>
  34941. -        <translation>?????? Litecoin ??? ??????? ????? ????????????</translation>
  34942. +        <source>The LitecoinCash address to sign the message with</source>
  34943. +        <translation>?????? LitecoinCash ??? ??????? ????? ????????????</translation>
  34944.      </message>
  34945.      <message>
  34946.          <source>Choose previously used address</source>
  34947. @@ -2089,7 +2089,7 @@
  34948.          <translation>????????? ??????? ????????? ?? ?????????? ?????? ??????</translation>
  34949.      </message>
  34950.      <message>
  34951. -        <source>Sign the message to prove you own this Litecoin address</source>
  34952. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  34953.          <translation>????????? ???????????? ??? ???????, ?? ?? ? ????????? ???? ??????</translation>
  34954.      </message>
  34955.      <message>
  34956. @@ -2113,12 +2113,12 @@
  34957.          <translation>??????? ????? ?????? ??????????, ???????????? (??????????, ?? ?? ????? ?????????? ??????? ?????????? ?????, ?????????, ??????? ????) ?? ?????? ??? ????????? ????????????. ??????????, ?? ? ?????? ?? ???? ?????? ?????? ????????: ?? ???????? ???????? ???? ???? «?????? ??????????». ????????, ?? ?? ???? ????????? ?????????? ????????? ?????????? ????????????, ??? ?? ? ????? ??????????? ??????? ?????? ??????????!</translation>
  34958.      </message>
  34959.      <message>
  34960. -        <source>The Litecoin address the message was signed with</source>
  34961. -        <translation>?????? Litecoin, ???? ???? ????????? ?? ????????????</translation>
  34962. +        <source>The LitecoinCash address the message was signed with</source>
  34963. +        <translation>?????? LitecoinCash, ???? ???? ????????? ?? ????????????</translation>
  34964.      </message>
  34965.      <message>
  34966. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  34967. -        <translation>????????? ???????????? ??? ???????????, ?? ???? ????????? ???????? Litecoin-???????</translation>
  34968. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  34969. +        <translation>????????? ???????????? ??? ???????????, ?? ???? ????????? ???????? LitecoinCash-???????</translation>
  34970.      </message>
  34971.      <message>
  34972.          <source>Verify &amp;Message</source>
  34973. @@ -2654,8 +2654,8 @@
  34974.          <translation>????????? ????????? HTTP-??????. ??????????? ???? ???????? ? ??????? ???????????.</translation>
  34975.      </message>
  34976.      <message>
  34977. -        <source>Litecoin Core</source>
  34978. -        <translation>Litecoin Core</translation>
  34979. +        <source>LitecoinCash Core</source>
  34980. +        <translation>LitecoinCash Core</translation>
  34981.      </message>
  34982.      <message>
  34983.          <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
  34984. diff --git a/src/qt/locale/bitcoin_uz@Cyrl.ts b/src/qt/locale/bitcoin_uz@Cyrl.ts
  34985. index 5e94a15..632fd48 100644
  34986. --- a/src/qt/locale/bitcoin_uz@Cyrl.ts
  34987. +++ b/src/qt/locale/bitcoin_uz@Cyrl.ts
  34988. @@ -146,8 +146,8 @@
  34989.          <translation>???????? ??????? ????? ??????????????...</translation>
  34990.      </message>
  34991.      <message>
  34992. -        <source>Send coins to a Litecoin address</source>
  34993. -        <translation>?????????? Litecoin ????????? ???????</translation>
  34994. +        <source>Send coins to a LitecoinCash address</source>
  34995. +        <translation>?????????? LitecoinCash ????????? ???????</translation>
  34996.      </message>
  34997.      <message>
  34998.          <source>Backup wallet to another location</source>
  34999. @@ -170,8 +170,8 @@
  35000.          <translation>??????? &amp;?????????...</translation>
  35001.      </message>
  35002.      <message>
  35003. -        <source>Litecoin</source>
  35004. -        <translation>Litecoin</translation>
  35005. +        <source>LitecoinCash</source>
  35006. +        <translation>LitecoinCash</translation>
  35007.      </message>
  35008.      <message>
  35009.          <source>Wallet</source>
  35010. @@ -198,12 +198,12 @@
  35011.          <translation>???????????? ??????? ?????? ?????????? ??????</translation>
  35012.      </message>
  35013.      <message>
  35014. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  35015. -        <translation>Litecoin ?????????? ????? ????? ?????????????? ???????? ???? ???????? ?????</translation>
  35016. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  35017. +        <translation>LitecoinCash ?????????? ????? ????? ?????????????? ???????? ???? ???????? ?????</translation>
  35018.      </message>
  35019.      <message>
  35020. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  35021. -        <translation>?????????? ?????? Litecoin ?????????????? ????? ????????????? ????? ????? ????? ???? ?????? ??????????</translation>
  35022. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  35023. +        <translation>?????????? ?????? LitecoinCash ?????????????? ????? ????????????? ????? ????? ????? ???? ?????? ??????????</translation>
  35024.      </message>
  35025.      <message>
  35026.          <source>&amp;File</source>
  35027. @@ -222,8 +222,8 @@
  35028.          <translation>???? ??????? ???????? ??????</translation>
  35029.      </message>
  35030.      <message>
  35031. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  35032. -        <translation>???????? (QR ??????? ?? litecoin ???????? ?????????: URI????) ?????</translation>
  35033. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  35034. +        <translation>???????? (QR ??????? ?? litecoincash ???????? ?????????: URI????) ?????</translation>
  35035.      </message>
  35036.      <message>
  35037.          <source>Show the list of used sending addresses and labels</source>
  35038. @@ -234,16 +234,16 @@
  35039.          <translation>????????????? ????? ???????? ????????? ?? ???????? ????????? ????????</translation>
  35040.      </message>
  35041.      <message>
  35042. -        <source>Open a litecoin: URI or payment request</source>
  35043. -        <translation>Litecoin??? ????: URI ??? ????? ??????</translation>
  35044. +        <source>Open a litecoincash: URI or payment request</source>
  35045. +        <translation>LitecoinCash??? ????: URI ??? ????? ??????</translation>
  35046.      </message>
  35047.      <message>
  35048.          <source>&amp;Command-line options</source>
  35049.          <translation>&amp;????????? ????? ???????????</translation>
  35050.      </message>
  35051.      <message numerus="yes">
  35052. -        <source>%n active connection(s) to Litecoin network</source>
  35053. -        <translation><numerusform>%n ?? Litecoin ????????? ???? ?????? ??????</numerusform></translation>
  35054. +        <source>%n active connection(s) to LitecoinCash network</source>
  35055. +        <translation><numerusform>%n ?? LitecoinCash ????????? ???? ?????? ??????</numerusform></translation>
  35056.      </message>
  35057.      <message>
  35058.          <source>%1 behind</source>
  35059. @@ -601,8 +601,8 @@
  35060.          <translation>????</translation>
  35061.      </message>
  35062.      <message>
  35063. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  35064. -        <translation>??????????? ???????? ???????? ?????? ??????. ?????????? ????? ????????????? ???? Litecoin ?????? ????? ????????? ?????? ?????????????, ???? ?????? ???????? ????????????.</translation>
  35065. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  35066. +        <translation>??????????? ???????? ???????? ?????? ??????. ?????????? ????? ????????????? ???? LitecoinCash ?????? ????? ????????? ?????? ?????????????, ???? ?????? ???????? ????????????.</translation>
  35067.      </message>
  35068.      <message>
  35069.          <source>Watch-only:</source>
  35070. @@ -682,8 +682,8 @@
  35071.          <translation>???????</translation>
  35072.      </message>
  35073.      <message>
  35074. -        <source>Enter a Litecoin address (e.g. %1)</source>
  35075. -        <translation>Litecoin ????????? ???????? (???????.  %1)</translation>
  35076. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  35077. +        <translation>LitecoinCash ????????? ???????? (???????.  %1)</translation>
  35078.      </message>
  35079.      <message>
  35080.          <source>%1 m</source>
  35081. @@ -1208,8 +1208,8 @@
  35082.          <translation>????? ???????? ???? ????? ???? ???????? ?? ??????????? ???? ??????</translation>
  35083.      </message>
  35084.      <message>
  35085. -        <source>Litecoin Core</source>
  35086. -        <translation>Litecoin Core</translation>
  35087. +        <source>LitecoinCash Core</source>
  35088. +        <translation>LitecoinCash Core</translation>
  35089.      </message>
  35090.      <message>
  35091.          <source>Connection options:</source>
  35092. diff --git a/src/qt/locale/bitcoin_vi_VN.ts b/src/qt/locale/bitcoin_vi_VN.ts
  35093. index 433f885..a2693fe 100644
  35094. --- a/src/qt/locale/bitcoin_vi_VN.ts
  35095. +++ b/src/qt/locale/bitcoin_vi_VN.ts
  35096. @@ -186,8 +186,8 @@
  35097.          <translation>?ánh ch? s? (indexing) l?i các kh?i (blocks) trên ? ??a ...</translation>
  35098.      </message>
  35099.      <message>
  35100. -        <source>Send coins to a Litecoin address</source>
  35101. -        <translation>G?i coins ??n tài kho?n Litecoin</translation>
  35102. +        <source>Send coins to a LitecoinCash address</source>
  35103. +        <translation>G?i coins ??n tài kho?n LitecoinCash</translation>
  35104.      </message>
  35105.      <message>
  35106.          <source>Backup wallet to another location</source>
  35107. @@ -206,8 +206,8 @@
  35108.          <translation>&amp;Tin nh?n xác th?c</translation>
  35109.      </message>
  35110.      <message>
  35111. -        <source>Litecoin</source>
  35112. -        <translation>Litecoin</translation>
  35113. +        <source>LitecoinCash</source>
  35114. +        <translation>LitecoinCash</translation>
  35115.      </message>
  35116.      <message>
  35117.          <source>Wallet</source>
  35118. @@ -234,12 +234,12 @@
  35119.          <translation>Mã hoá các khoá bí m?t trong Ví c?a b?n.</translation>
  35120.      </message>
  35121.      <message>
  35122. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  35123. -        <translation>Dùng ??a ch? Litecoin c?a b?n ký các tin nh?n ?? xác minh nh?ng n?i dung tin nh?n ?ó là c?a b?n.</translation>
  35124. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  35125. +        <translation>Dùng ??a ch? LitecoinCash c?a b?n ký các tin nh?n ?? xác minh nh?ng n?i dung tin nh?n ?ó là c?a b?n.</translation>
  35126.      </message>
  35127.      <message>
  35128. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  35129. -        <translation>Ki?m tra các tin nh?n ?? ch?c ch?n r?ng chúng ???c ký b?ng các ??a ch? Litecoin xác ??nh.</translation>
  35130. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  35131. +        <translation>Ki?m tra các tin nh?n ?? ch?c ch?n r?ng chúng ???c ký b?ng các ??a ch? LitecoinCash xác ??nh.</translation>
  35132.      </message>
  35133.      <message>
  35134.          <source>&amp;File</source>
  35135. @@ -258,8 +258,8 @@
  35136.          <translation>Thanh công c? (toolbar)</translation>
  35137.      </message>
  35138.      <message>
  35139. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  35140. -        <translation>Yêu c?u thanh toán(t?o mã QR và ??a ch? Litecoin: URLs)</translation>
  35141. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  35142. +        <translation>Yêu c?u thanh toán(t?o mã QR và ??a ch? LitecoinCash: URLs)</translation>
  35143.      </message>
  35144.      <message>
  35145.          <source>Show the list of used sending addresses and labels</source>
  35146. @@ -270,8 +270,8 @@
  35147.          <translation>Hi?n th? danh sách các ??a ch? và nhãn ?ã dùng ?? nh?n.</translation>
  35148.      </message>
  35149.      <message>
  35150. -        <source>Open a litecoin: URI or payment request</source>
  35151. -        <translation>M? litecoin:URL ho?c yêu c?u thanh toán</translation>
  35152. +        <source>Open a litecoincash: URI or payment request</source>
  35153. +        <translation>M? litecoincash:URL ho?c yêu c?u thanh toán</translation>
  35154.      </message>
  35155.      <message>
  35156.          <source>&amp;Command-line options</source>
  35157. @@ -536,8 +536,8 @@
  35158.          <translation>Ví</translation>
  35159.      </message>
  35160.      <message>
  35161. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  35162. -        <translation>K?t n?i ??n máy ch? Litecoin thông qua SOCKS5 proxy.</translation>
  35163. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  35164. +        <translation>K?t n?i ??n máy ch? LitecoinCash thông qua SOCKS5 proxy.</translation>
  35165.      </message>
  35166.      <message>
  35167.          <source>Proxy &amp;IP:</source>
  35168. @@ -1018,8 +1018,8 @@
  35169.          <translation>L?a ch?n:</translation>
  35170.      </message>
  35171.      <message>
  35172. -        <source>Litecoin Core</source>
  35173. -        <translation>Litecoin Core</translation>
  35174. +        <source>LitecoinCash Core</source>
  35175. +        <translation>LitecoinCash Core</translation>
  35176.      </message>
  35177.      <message>
  35178.          <source>(default: %u)</source>
  35179. diff --git a/src/qt/locale/bitcoin_zh.ts b/src/qt/locale/bitcoin_zh.ts
  35180. index 720dd0c..d658d02 100644
  35181. --- a/src/qt/locale/bitcoin_zh.ts
  35182. +++ b/src/qt/locale/bitcoin_zh.ts
  35183. @@ -107,7 +107,7 @@
  35184.          <translation>??????%1</translation>
  35185.      </message>
  35186.      <message>
  35187. -        <source>Warning: Invalid Litecoin address</source>
  35188. +        <source>Warning: Invalid LitecoinCash address</source>
  35189.          <translation>??????????</translation>
  35190.      </message>
  35191.      </context>
  35192. diff --git a/src/qt/locale/bitcoin_zh_CN.ts b/src/qt/locale/bitcoin_zh_CN.ts
  35193. index 305aaf1..e876785 100644
  35194. --- a/src/qt/locale/bitcoin_zh_CN.ts
  35195. +++ b/src/qt/locale/bitcoin_zh_CN.ts
  35196. @@ -62,11 +62,11 @@
  35197.          <translation>????</translation>
  35198.      </message>
  35199.      <message>
  35200. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  35201. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  35202.          <translation>???????????????????????????????????????</translation>
  35203.      </message>
  35204.      <message>
  35205. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  35206. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  35207.          <translation>????????????????????????????????????</translation>
  35208.      </message>
  35209.      <message>
  35210. @@ -168,7 +168,7 @@
  35211.          <translation>??????</translation>
  35212.      </message>
  35213.      <message>
  35214. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  35215. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  35216.          <translation>??: ???????????????????&lt;b&gt;???????????&lt;/b&gt;?</translation>
  35217.      </message>
  35218.      <message>
  35219. @@ -180,7 +180,7 @@
  35220.          <translation>?????</translation>
  35221.      </message>
  35222.      <message>
  35223. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  35224. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  35225.          <translation>%1 ????????????????????????????????????????????</translation>
  35226.      </message>
  35227.      <message>
  35228. @@ -338,7 +338,7 @@
  35229.          <translation>??????????...</translation>
  35230.      </message>
  35231.      <message>
  35232. -        <source>Send coins to a Litecoin address</source>
  35233. +        <source>Send coins to a LitecoinCash address</source>
  35234.          <translation>?????????????</translation>
  35235.      </message>
  35236.      <message>
  35237. @@ -362,7 +362,7 @@
  35238.          <translation>????(&amp;V)...</translation>
  35239.      </message>
  35240.      <message>
  35241. -        <source>Litecoin</source>
  35242. +        <source>LitecoinCash</source>
  35243.          <translation>???</translation>
  35244.      </message>
  35245.      <message>
  35246. @@ -390,11 +390,11 @@
  35247.          <translation>?????????</translation>
  35248.      </message>
  35249.      <message>
  35250. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  35251. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  35252.          <translation>??????????????????????????????</translation>
  35253.      </message>
  35254.      <message>
  35255. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  35256. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  35257.          <translation>??????????????????????????</translation>
  35258.      </message>
  35259.      <message>
  35260. @@ -414,8 +414,8 @@
  35261.          <translation>?????</translation>
  35262.      </message>
  35263.      <message>
  35264. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  35265. -        <translation>???? (?????? litecoin: URI)</translation>
  35266. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  35267. +        <translation>???? (?????? litecoincash: URI)</translation>
  35268.      </message>
  35269.      <message>
  35270.          <source>Show the list of used sending addresses and labels</source>
  35271. @@ -426,15 +426,15 @@
  35272.          <translation>???????????????</translation>
  35273.      </message>
  35274.      <message>
  35275. -        <source>Open a litecoin: URI or payment request</source>
  35276. -        <translation>???? litecoin: URI ?????</translation>
  35277. +        <source>Open a litecoincash: URI or payment request</source>
  35278. +        <translation>???? litecoincash: URI ?????</translation>
  35279.      </message>
  35280.      <message>
  35281.          <source>&amp;Command-line options</source>
  35282.          <translation>?????(&amp;C)</translation>
  35283.      </message>
  35284.      <message numerus="yes">
  35285. -        <source>%n active connection(s) to Litecoin network</source>
  35286. +        <source>%n active connection(s) to LitecoinCash network</source>
  35287.          <translation><numerusform>%n ????????????</numerusform></translation>
  35288.      </message>
  35289.      <message>
  35290. @@ -478,7 +478,7 @@
  35291.          <translation>????</translation>
  35292.      </message>
  35293.      <message>
  35294. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  35295. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  35296.          <translation>?? %1 ????????????????</translation>
  35297.      </message>
  35298.      <message>
  35299. @@ -548,7 +548,7 @@
  35300.          <translation>????&lt;b&gt;??&lt;/b&gt;????&lt;b&gt;??&lt;/b&gt;??</translation>
  35301.      </message>
  35302.      <message>
  35303. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  35304. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  35305.          <translation>?????????????????????????</translation>
  35306.      </message>
  35307.  </context>
  35308. @@ -742,7 +742,7 @@
  35309.          <translation>??????</translation>
  35310.      </message>
  35311.      <message>
  35312. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  35313. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  35314.          <translation>????? %1 ????????????</translation>
  35315.      </message>
  35316.      <message>
  35317. @@ -852,7 +852,7 @@
  35318.          <translation>??????????????????%1?????????</translation>
  35319.      </message>
  35320.      <message>
  35321. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  35322. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  35323.          <translation>%1 ????????????????????? %2GB ??????????????????????????????????????</translation>
  35324.      </message>
  35325.      <message>
  35326. @@ -887,11 +887,11 @@
  35327.          <translation>??</translation>
  35328.      </message>
  35329.      <message>
  35330. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  35331. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  35332.          <translation>???????????????????????????????????????????????</translation>
  35333.      </message>
  35334.      <message>
  35335. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  35336. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  35337.          <translation>???????????????????????</translation>
  35338.      </message>
  35339.      <message>
  35340. @@ -1049,7 +1049,7 @@
  35341.          <translation>?????????(&amp;S)</translation>
  35342.      </message>
  35343.      <message>
  35344. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  35345. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  35346.          <translation>?????????????????????????? UPnP ??????????</translation>
  35347.      </message>
  35348.      <message>
  35349. @@ -1057,7 +1057,7 @@
  35350.          <translation>?? &amp;UPnP ????</translation>
  35351.      </message>
  35352.      <message>
  35353. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  35354. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  35355.          <translation>?? SOCKS5 ??????????</translation>
  35356.      </message>
  35357.      <message>
  35358. @@ -1097,7 +1097,7 @@
  35359.          <translation>Tor</translation>
  35360.      </message>
  35361.      <message>
  35362. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  35363. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  35364.          <translation>? Tor ?????????? SOCKS5 ?????????</translation>
  35365.      </message>
  35366.      <message>
  35367. @@ -1196,7 +1196,7 @@
  35368.          <translation>??</translation>
  35369.      </message>
  35370.      <message>
  35371. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  35372. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  35373.          <translation>????????????????????????????????????????????????????</translation>
  35374.      </message>
  35375.      <message>
  35376. @@ -1271,8 +1271,8 @@
  35377.          <translation>?????????</translation>
  35378.      </message>
  35379.      <message>
  35380. -        <source>Cannot start litecoin: click-to-pay handler</source>
  35381. -        <translation>???? litecoin ????
  35382. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  35383. +        <translation>???? litecoincash ????
  35384.  ????????</translation>
  35385.      </message>
  35386.      <message>
  35387. @@ -1288,7 +1288,7 @@
  35388.          <translation>??????? %1</translation>
  35389.      </message>
  35390.      <message>
  35391. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  35392. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  35393.          <translation>???? URI ?????????????????? URI ???????</translation>
  35394.      </message>
  35395.      <message>
  35396. @@ -1382,7 +1382,7 @@
  35397.          <translation>??</translation>
  35398.      </message>
  35399.      <message>
  35400. -        <source>Enter a Litecoin address (e.g. %1)</source>
  35401. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  35402.          <translation>?????????? (?? %1)</translation>
  35403.      </message>
  35404.      <message>
  35405. @@ -1802,7 +1802,7 @@
  35406.          <translation>??????????????</translation>
  35407.      </message>
  35408.      <message>
  35409. -        <source>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 Litecoin network.</source>
  35410. +        <source>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 LitecoinCash network.</source>
  35411.          <translation>?????????????????????????????????????????????</translation>
  35412.      </message>
  35413.      <message>
  35414. @@ -2035,7 +2035,7 @@
  35415.          <translation>??? </translation>
  35416.      </message>
  35417.      <message>
  35418. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  35419. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  35420.          <translation>???????????????????????????????????????????????????</translation>
  35421.      </message>
  35422.      <message>
  35423. @@ -2199,7 +2199,7 @@
  35424.          <translation><numerusform>?? %n ?????????</numerusform></translation>
  35425.      </message>
  35426.      <message>
  35427. -        <source>Warning: Invalid Litecoin address</source>
  35428. +        <source>Warning: Invalid LitecoinCash address</source>
  35429.          <translation>??: ???????</translation>
  35430.      </message>
  35431.      <message>
  35432. @@ -2238,7 +2238,7 @@
  35433.          <translation>?????????</translation>
  35434.      </message>
  35435.      <message>
  35436. -        <source>The Litecoin address to send the payment to</source>
  35437. +        <source>The LitecoinCash address to send the payment to</source>
  35438.          <translation>??????</translation>
  35439.      </message>
  35440.      <message>
  35441. @@ -2258,7 +2258,7 @@
  35442.          <translation>????</translation>
  35443.      </message>
  35444.      <message>
  35445. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  35446. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  35447.          <translation>?????????????????????????????????????????????????????</translation>
  35448.      </message>
  35449.      <message>
  35450. @@ -2282,8 +2282,8 @@
  35451.          <translation>???????????????????????</translation>
  35452.      </message>
  35453.      <message>
  35454. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  35455. -        <translation>litecoin:URI ????????????????????? ??????????????????</translation>
  35456. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  35457. +        <translation>litecoincash:URI ????????????????????? ??????????????????</translation>
  35458.      </message>
  35459.      <message>
  35460.          <source>Pay To:</source>
  35461. @@ -2327,11 +2327,11 @@
  35462.          <translation>????(&amp;S)</translation>
  35463.      </message>
  35464.      <message>
  35465. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  35466. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  35467.          <translation>???????????/???????????????????????????????????????????????????????????????????????????????</translation>
  35468.      </message>
  35469.      <message>
  35470. -        <source>The Litecoin address to sign the message with</source>
  35471. +        <source>The LitecoinCash address to sign the message with</source>
  35472.          <translation>?????????? </translation>
  35473.      </message>
  35474.      <message>
  35475. @@ -2363,7 +2363,7 @@
  35476.          <translation>??????????</translation>
  35477.      </message>
  35478.      <message>
  35479. -        <source>Sign the message to prove you own this Litecoin address</source>
  35480. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  35481.          <translation>???????????????</translation>
  35482.      </message>
  35483.      <message>
  35484. @@ -2387,11 +2387,11 @@
  35485.          <translation>??????????????????????????????????????????????????????????????????????????????????????????</translation>
  35486.      </message>
  35487.      <message>
  35488. -        <source>The Litecoin address the message was signed with</source>
  35489. +        <source>The LitecoinCash address the message was signed with</source>
  35490.          <translation>?????????</translation>
  35491.      </message>
  35492.      <message>
  35493. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  35494. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  35495.          <translation>????????????????????????</translation>
  35496.      </message>
  35497.      <message>
  35498. @@ -3045,8 +3045,8 @@
  35499.          <translation>????HTTP?????????????</translation>
  35500.      </message>
  35501.      <message>
  35502. -        <source>Litecoin Core</source>
  35503. -        <translation>Litecoin Core</translation>
  35504. +        <source>LitecoinCash Core</source>
  35505. +        <translation>LitecoinCash Core</translation>
  35506.      </message>
  35507.      <message>
  35508.          <source>The %s developers</source>
  35509. diff --git a/src/qt/locale/bitcoin_zh_HK.ts b/src/qt/locale/bitcoin_zh_HK.ts
  35510. index e953496..cc5e8df 100644
  35511. --- a/src/qt/locale/bitcoin_zh_HK.ts
  35512. +++ b/src/qt/locale/bitcoin_zh_HK.ts
  35513. @@ -156,8 +156,8 @@
  35514.          <translation>??????</translation>
  35515.      </message>
  35516.      <message>
  35517. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  35518. -        <translation>??: ??????????????????&lt;b&gt;???? Litecoin ?&lt;/b&gt;?</translation>
  35519. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  35520. +        <translation>??: ??????????????????&lt;b&gt;???? LitecoinCash ?&lt;/b&gt;?</translation>
  35521.      </message>
  35522.      <message>
  35523.          <source>Are you sure you wish to encrypt your wallet?</source>
  35524. @@ -168,8 +168,8 @@
  35525.          <translation>?????</translation>
  35526.      </message>
  35527.      <message>
  35528. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  35529. -        <translation>%1 ????????????????????????????? Litecoins ??????????????</translation>
  35530. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  35531. +        <translation>%1 ????????????????????????????? LCC ??????????????</translation>
  35532.      </message>
  35533.      <message>
  35534.          <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
  35535. @@ -310,8 +310,8 @@
  35536.          <translation>???????????...</translation>
  35537.      </message>
  35538.      <message>
  35539. -        <source>Send coins to a Litecoin address</source>
  35540. -        <translation>????? Litecoin ??</translation>
  35541. +        <source>Send coins to a LitecoinCash address</source>
  35542. +        <translation>????? LitecoinCash ??</translation>
  35543.      </message>
  35544.      <message>
  35545.          <source>Backup wallet to another location</source>
  35546. @@ -334,8 +334,8 @@
  35547.          <translation>????... &amp;V</translation>
  35548.      </message>
  35549.      <message>
  35550. -        <source>Litecoin</source>
  35551. -        <translation>Litecoin</translation>
  35552. +        <source>LitecoinCash</source>
  35553. +        <translation>LitecoinCash</translation>
  35554.      </message>
  35555.      <message>
  35556.          <source>Wallet</source>
  35557. @@ -370,8 +370,8 @@
  35558.          <translation>?? &amp;H</translation>
  35559.      </message>
  35560.      <message>
  35561. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  35562. -        <translation>???? (??QR? litecoin: URIs)</translation>
  35563. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  35564. +        <translation>???? (??QR? litecoincash: URIs)</translation>
  35565.      </message>
  35566.      <message>
  35567.          <source>Indexing blocks on disk...</source>
  35568. @@ -440,8 +440,8 @@
  35569.  <context>
  35570.      <name>QObject</name>
  35571.      <message>
  35572. -        <source>Enter a Litecoin address (e.g. %1)</source>
  35573. -        <translation>???? Litecoin ?? (?? %1)</translation>
  35574. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  35575. +        <translation>???? LitecoinCash ?? (?? %1)</translation>
  35576.      </message>
  35577.      <message>
  35578.          <source>%1 d</source>
  35579. diff --git a/src/qt/locale/bitcoin_zh_TW.ts b/src/qt/locale/bitcoin_zh_TW.ts
  35580. index 8e5059b..9ff39ad 100644
  35581. --- a/src/qt/locale/bitcoin_zh_TW.ts
  35582. +++ b/src/qt/locale/bitcoin_zh_TW.ts
  35583. @@ -62,12 +62,12 @@
  35584.          <translation>????</translation>
  35585.      </message>
  35586.      <message>
  35587. -        <source>These are your Litecoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  35588. -        <translation>?????????? Litecoin ??????????????????????????</translation>
  35589. +        <source>These are your LitecoinCash addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
  35590. +        <translation>?????????? LitecoinCash ??????????????????????????</translation>
  35591.      </message>
  35592.      <message>
  35593. -        <source>These are your Litecoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  35594. -        <translation>????????? Litecoin ????????????????????????</translation>
  35595. +        <source>These are your LitecoinCash addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
  35596. +        <translation>????????? LitecoinCash ????????????????????????</translation>
  35597.      </message>
  35598.      <message>
  35599.          <source>&amp;Copy Address</source>
  35600. @@ -168,8 +168,8 @@
  35601.          <translation>??????</translation>
  35602.      </message>
  35603.      <message>
  35604. -        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LITECOINS&lt;/b&gt;!</source>
  35605. -        <translation>??: ???????????????????&lt;b&gt;??????? Litecoin ?&lt;/b&gt;?</translation>
  35606. +        <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR LCC&lt;/b&gt;!</source>
  35607. +        <translation>??: ???????????????????&lt;b&gt;??????? LitecoinCash ?&lt;/b&gt;?</translation>
  35608.      </message>
  35609.      <message>
  35610.          <source>Are you sure you wish to encrypt your wallet?</source>
  35611. @@ -180,7 +180,7 @@
  35612.          <translation>?????</translation>
  35613.      </message>
  35614.      <message>
  35615. -        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your litecoins from being stolen by malware infecting your computer.</source>
  35616. +        <source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your coins from being stolen by malware infecting your computer.</source>
  35617.          <translation>%1 ????????????????????????????????????????????</translation>
  35618.      </message>
  35619.      <message>
  35620. @@ -338,8 +338,8 @@
  35621.          <translation>?????????????...</translation>
  35622.      </message>
  35623.      <message>
  35624. -        <source>Send coins to a Litecoin address</source>
  35625. -        <translation>????? Litecoin ??</translation>
  35626. +        <source>Send coins to a LitecoinCash address</source>
  35627. +        <translation>????? LitecoinCash ??</translation>
  35628.      </message>
  35629.      <message>
  35630.          <source>Backup wallet to another location</source>
  35631. @@ -362,8 +362,8 @@
  35632.          <translation>????...</translation>
  35633.      </message>
  35634.      <message>
  35635. -        <source>Litecoin</source>
  35636. -        <translation>Litecoin</translation>
  35637. +        <source>LitecoinCash</source>
  35638. +        <translation>LitecoinCash</translation>
  35639.      </message>
  35640.      <message>
  35641.          <source>Wallet</source>
  35642. @@ -390,12 +390,12 @@
  35643.          <translation>?????????</translation>
  35644.      </message>
  35645.      <message>
  35646. -        <source>Sign messages with your Litecoin addresses to prove you own them</source>
  35647. -        <translation>? Litecoin ??????????????</translation>
  35648. +        <source>Sign messages with your LitecoinCash addresses to prove you own them</source>
  35649. +        <translation>? LitecoinCash ??????????????</translation>
  35650.      </message>
  35651.      <message>
  35652. -        <source>Verify messages to ensure they were signed with specified Litecoin addresses</source>
  35653. -        <translation>???????????????? Litecoin ?????</translation>
  35654. +        <source>Verify messages to ensure they were signed with specified LitecoinCash addresses</source>
  35655. +        <translation>???????????????? LitecoinCash ?????</translation>
  35656.      </message>
  35657.      <message>
  35658.          <source>&amp;File</source>
  35659. @@ -414,8 +414,8 @@
  35660.          <translation>?????</translation>
  35661.      </message>
  35662.      <message>
  35663. -        <source>Request payments (generates QR codes and litecoin: URIs)</source>
  35664. -        <translation>????(?? QR Code ? litecoin ??????????: URI)</translation>
  35665. +        <source>Request payments (generates QR codes and litecoincash: URIs)</source>
  35666. +        <translation>????(?? QR Code ? litecoincash ??????????: URI)</translation>
  35667.      </message>
  35668.      <message>
  35669.          <source>Show the list of used sending addresses and labels</source>
  35670. @@ -426,16 +426,16 @@
  35671.          <translation>?????????????????</translation>
  35672.      </message>
  35673.      <message>
  35674. -        <source>Open a litecoin: URI or payment request</source>
  35675. -        <translation>?? litecoin ????????(URI)?????</translation>
  35676. +        <source>Open a litecoincash: URI or payment request</source>
  35677. +        <translation>?? litecoincash ????????(URI)?????</translation>
  35678.      </message>
  35679.      <message>
  35680.          <source>&amp;Command-line options</source>
  35681.          <translation>?????</translation>
  35682.      </message>
  35683.      <message numerus="yes">
  35684. -        <source>%n active connection(s) to Litecoin network</source>
  35685. -        <translation><numerusform>%n ????? Litecoin ????</numerusform></translation>
  35686. +        <source>%n active connection(s) to LitecoinCash network</source>
  35687. +        <translation><numerusform>%n ????? LitecoinCash ????</numerusform></translation>
  35688.      </message>
  35689.      <message>
  35690.          <source>Indexing blocks on disk...</source>
  35691. @@ -478,7 +478,7 @@
  35692.          <translation>????</translation>
  35693.      </message>
  35694.      <message>
  35695. -        <source>Show the %1 help message to get a list with possible Litecoin command-line options</source>
  35696. +        <source>Show the %1 help message to get a list with possible LitecoinCash command-line options</source>
  35697.          <translation>?? %1 ???????????????????</translation>
  35698.      </message>
  35699.      <message>
  35700. @@ -548,8 +548,8 @@
  35701.          <translation>??&lt;b&gt;???&lt;/b&gt;??&lt;b&gt;???&lt;/b&gt;</translation>
  35702.      </message>
  35703.      <message>
  35704. -        <source>A fatal error occurred. Litecoin can no longer continue safely and will quit.</source>
  35705. -        <translation>?????????Litecoin ??????????????????</translation>
  35706. +        <source>A fatal error occurred. LitecoinCash can no longer continue safely and will quit.</source>
  35707. +        <translation>?????????LitecoinCash ??????????????????</translation>
  35708.      </message>
  35709.  </context>
  35710.  <context>
  35711. @@ -742,8 +742,8 @@
  35712.          <translation>??????</translation>
  35713.      </message>
  35714.      <message>
  35715. -        <source>The entered address "%1" is not a valid Litecoin address.</source>
  35716. -        <translation>????? %1 ?????? Litecoin ???</translation>
  35717. +        <source>The entered address "%1" is not a valid LitecoinCash address.</source>
  35718. +        <translation>????? %1 ?????? LitecoinCash ???</translation>
  35719.      </message>
  35720.      <message>
  35721.          <source>The entered address "%1" is already in the address book.</source>
  35722. @@ -851,8 +851,8 @@
  35723.          <translation>????????????????? %1 ????????</translation>
  35724.      </message>
  35725.      <message>
  35726. -        <source>%1 will download and store a copy of the Litecoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  35727. -        <translation>%1 ???????? Litecoin ?????????? %2GB ??????????????????????????????????????</translation>
  35728. +        <source>%1 will download and store a copy of the LitecoinCash block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
  35729. +        <translation>%1 ???????? LitecoinCash ?????????? %2GB ??????????????????????????????????????</translation>
  35730.      </message>
  35731.      <message>
  35732.          <source>Use the default data directory</source>
  35733. @@ -886,12 +886,12 @@
  35734.          <translation>??</translation>
  35735.      </message>
  35736.      <message>
  35737. -        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoin network, as detailed below.</source>
  35738. -        <translation>???????????????????????????????? litecoin ????????????????????????</translation>
  35739. +        <source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the litecoincash network, as detailed below.</source>
  35740. +        <translation>???????????????????????????????? litecoincash ????????????????????????</translation>
  35741.      </message>
  35742.      <message>
  35743. -        <source>Attempting to spend litecoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  35744. -        <translation>???????????????? litecoin ???????????</translation>
  35745. +        <source>Attempting to spend coins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
  35746. +        <translation>???????????????? litecoincash ???????????</translation>
  35747.      </message>
  35748.      <message>
  35749.          <source>Number of blocks left</source>
  35750. @@ -1048,16 +1048,16 @@
  35751.          <translation>??????????</translation>
  35752.      </message>
  35753.      <message>
  35754. -        <source>Automatically open the Litecoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  35755. -        <translation>????????? Litecoin ???????????????????????????????(UPnP)??????</translation>
  35756. +        <source>Automatically open the LitecoinCash client port on the router. This only works when your router supports UPnP and it is enabled.</source>
  35757. +        <translation>????????? LitecoinCash ???????????????????????????????(UPnP)??????</translation>
  35758.      </message>
  35759.      <message>
  35760.          <source>Map port using &amp;UPnP</source>
  35761.          <translation>? &amp;UPnP ???????</translation>
  35762.      </message>
  35763.      <message>
  35764. -        <source>Connect to the Litecoin network through a SOCKS5 proxy.</source>
  35765. -        <translation>?? SOCKS5 ????????? Litecoin ???</translation>
  35766. +        <source>Connect to the LitecoinCash network through a SOCKS5 proxy.</source>
  35767. +        <translation>?? SOCKS5 ????????? LitecoinCash ???</translation>
  35768.      </message>
  35769.      <message>
  35770.          <source>&amp;Connect through SOCKS5 proxy (default proxy):</source>
  35771. @@ -1096,8 +1096,8 @@
  35772.          <translation>Tor</translation>
  35773.      </message>
  35774.      <message>
  35775. -        <source>Connect to the Litecoin network through a separate SOCKS5 proxy for Tor hidden services.</source>
  35776. -        <translation>????? SOCKS5 ????????? Litecoin ???? Tor ?????</translation>
  35777. +        <source>Connect to the LitecoinCash network through a separate SOCKS5 proxy for Tor hidden services.</source>
  35778. +        <translation>????? SOCKS5 ????????? LitecoinCash ???? Tor ?????</translation>
  35779.      </message>
  35780.      <message>
  35781.          <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source>
  35782. @@ -1195,8 +1195,8 @@
  35783.          <translation>??</translation>
  35784.      </message>
  35785.      <message>
  35786. -        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Litecoin network after a connection is established, but this process has not completed yet.</source>
  35787. -        <translation>????????????? Litecoin ?????????????????????????????????</translation>
  35788. +        <source>The displayed information may be out of date. Your wallet automatically synchronizes with the LitecoinCash network after a connection is established, but this process has not completed yet.</source>
  35789. +        <translation>????????????? LitecoinCash ?????????????????????????????????</translation>
  35790.      </message>
  35791.      <message>
  35792.          <source>Watch-only:</source>
  35793. @@ -1270,8 +1270,8 @@
  35794.          <translation>?????????</translation>
  35795.      </message>
  35796.      <message>
  35797. -        <source>Cannot start litecoin: click-to-pay handler</source>
  35798. -        <translation>????? litecoin ???????????</translation>
  35799. +        <source>Cannot start litecoincash: click-to-pay handler</source>
  35800. +        <translation>????? litecoincash ???????????</translation>
  35801.      </message>
  35802.      <message>
  35803.          <source>URI handling</source>
  35804. @@ -1286,8 +1286,8 @@
  35805.          <translation>??????? %1</translation>
  35806.      </message>
  35807.      <message>
  35808. -        <source>URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters.</source>
  35809. -        <translation>????? URI ???????? Litecoin ??????? URI ???????</translation>
  35810. +        <source>URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters.</source>
  35811. +        <translation>????? URI ???????? LitecoinCash ??????? URI ???????</translation>
  35812.      </message>
  35813.      <message>
  35814.          <source>Payment request file handling</source>
  35815. @@ -1380,8 +1380,8 @@
  35816.          <translation>??</translation>
  35817.      </message>
  35818.      <message>
  35819. -        <source>Enter a Litecoin address (e.g. %1)</source>
  35820. -        <translation>?? Litecoin ?? (??? %1)</translation>
  35821. +        <source>Enter a LitecoinCash address (e.g. %1)</source>
  35822. +        <translation>?? LitecoinCash ?? (??? %1)</translation>
  35823.      </message>
  35824.      <message>
  35825.          <source>%1 d</source>
  35826. @@ -1804,8 +1804,8 @@
  35827.          <translation>???????????(???)</translation>
  35828.      </message>
  35829.      <message>
  35830. -        <source>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 Litecoin network.</source>
  35831. -        <translation>??????????????????????????????: ???????????? Litecoin ????</translation>
  35832. +        <source>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 LitecoinCash network.</source>
  35833. +        <translation>??????????????????????????????: ???????????? LitecoinCash ????</translation>
  35834.      </message>
  35835.      <message>
  35836.          <source>An optional label to associate with the new receiving address.</source>
  35837. @@ -2037,7 +2037,7 @@
  35838.          <translation>????</translation>
  35839.      </message>
  35840.      <message>
  35841. -        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoin transactions than the network can process.</source>
  35842. +        <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for litecoincash transactions than the network can process.</source>
  35843.          <translation>???????????????????????????????????????????????????????????????????????????</translation>
  35844.      </message>
  35845.      <message>
  35846. @@ -2197,8 +2197,8 @@
  35847.          <translation>???????? %1</translation>
  35848.      </message>
  35849.      <message>
  35850. -        <source>Warning: Invalid Litecoin address</source>
  35851. -        <translation>??: Litecoin ????</translation>
  35852. +        <source>Warning: Invalid LitecoinCash address</source>
  35853. +        <translation>??: LitecoinCash ????</translation>
  35854.      </message>
  35855.      <message>
  35856.          <source>Warning: Unknown change address</source>
  35857. @@ -2240,8 +2240,8 @@
  35858.          <translation>??????????</translation>
  35859.      </message>
  35860.      <message>
  35861. -        <source>The Litecoin address to send the payment to</source>
  35862. -        <translation>????? Litecoin ??</translation>
  35863. +        <source>The LitecoinCash address to send the payment to</source>
  35864. +        <translation>????? LitecoinCash ??</translation>
  35865.      </message>
  35866.      <message>
  35867.          <source>Alt+A</source>
  35868. @@ -2260,8 +2260,8 @@
  35869.          <translation>??????</translation>
  35870.      </message>
  35871.      <message>
  35872. -        <source>The fee will be deducted from the amount being sent. The recipient will receive less litecoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  35873. -        <translation>??????????????????????????????????? litecoin????????????????????????</translation>
  35874. +        <source>The fee will be deducted from the amount being sent. The recipient will receive less coins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
  35875. +        <translation>??????????????????????????????????? litecoincash????????????????????????</translation>
  35876.      </message>
  35877.      <message>
  35878.          <source>S&amp;ubtract fee from amount</source>
  35879. @@ -2284,8 +2284,8 @@
  35880.          <translation>???????????????????????????</translation>
  35881.      </message>
  35882.      <message>
  35883. -        <source>A message that was attached to the litecoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Litecoin network.</source>
  35884. -        <translation>??? Litecoin ??????????(URI)???????????????????????????: ???????? Litecoin ????</translation>
  35885. +        <source>A message that was attached to the litecoincash: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the LitecoinCash network.</source>
  35886. +        <translation>??? LitecoinCash ??????????(URI)???????????????????????????: ???????? LitecoinCash ????</translation>
  35887.      </message>
  35888.      <message>
  35889.          <source>Pay To:</source>
  35890. @@ -2329,12 +2329,12 @@
  35891.          <translation>????</translation>
  35892.      </message>
  35893.      <message>
  35894. -        <source>You can sign messages/agreements with your addresses to prove you can receive litecoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  35895. +        <source>You can sign messages/agreements with your addresses to prove you can receive coins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
  35896.          <translation>??????????????????????????????????????????????????????????????????????????????????????????????????</translation>
  35897.      </message>
  35898.      <message>
  35899. -        <source>The Litecoin address to sign the message with</source>
  35900. -        <translation>??????? Litecoin ??</translation>
  35901. +        <source>The LitecoinCash address to sign the message with</source>
  35902. +        <translation>??????? LitecoinCash ??</translation>
  35903.      </message>
  35904.      <message>
  35905.          <source>Choose previously used address</source>
  35906. @@ -2365,8 +2365,8 @@
  35907.          <translation>?????????????</translation>
  35908.      </message>
  35909.      <message>
  35910. -        <source>Sign the message to prove you own this Litecoin address</source>
  35911. -        <translation>??????????? Litecoin ?????</translation>
  35912. +        <source>Sign the message to prove you own this LitecoinCash address</source>
  35913. +        <translation>??????????? LitecoinCash ?????</translation>
  35914.      </message>
  35915.      <message>
  35916.          <source>Sign &amp;Message</source>
  35917. @@ -2389,12 +2389,12 @@
  35918.          <translation>???????????????(????????????????????????)????????????????????????????????????????????????????????????????????????????????????????????????????</translation>
  35919.      </message>
  35920.      <message>
  35921. -        <source>The Litecoin address the message was signed with</source>
  35922. -        <translation>??????? Litecoin ??</translation>
  35923. +        <source>The LitecoinCash address the message was signed with</source>
  35924. +        <translation>??????? LitecoinCash ??</translation>
  35925.      </message>
  35926.      <message>
  35927. -        <source>Verify the message to ensure it was signed with the specified Litecoin address</source>
  35928. -        <translation>?????????????? Litecoin ?????</translation>
  35929. +        <source>Verify the message to ensure it was signed with the specified LitecoinCash address</source>
  35930. +        <translation>?????????????? LitecoinCash ?????</translation>
  35931.      </message>
  35932.      <message>
  35933.          <source>Verify &amp;Message</source>
  35934. @@ -3055,8 +3055,8 @@
  35935.          <translation>???? HTTP ?????????????</translation>
  35936.      </message>
  35937.      <message>
  35938. -        <source>Litecoin Core</source>
  35939. -        <translation>Litecoin Core</translation>
  35940. +        <source>LitecoinCash Core</source>
  35941. +        <translation>LitecoinCash Core</translation>
  35942.      </message>
  35943.      <message>
  35944.          <source>The %s developers</source>
  35945. diff --git a/src/qt/macnotificationhandler.mm b/src/qt/macnotificationhandler.mm
  35946. index baa2d5b..b648751 100644
  35947. --- a/src/qt/macnotificationhandler.mm
  35948. +++ b/src/qt/macnotificationhandler.mm
  35949. @@ -13,7 +13,7 @@
  35950.  - (NSString *)__bundleIdentifier
  35951.  {
  35952.      if (self == [NSBundle mainBundle]) {
  35953. -        return @"org.litecoin.Litecoin-Qt";
  35954. +        return @"org.litecoincash.LitecoinCash-Qt";
  35955.      } else {
  35956.          return [self __bundleIdentifier];
  35957.      }
  35958. diff --git a/src/qt/modaloverlay.cpp b/src/qt/modaloverlay.cpp
  35959. index 4f357e2..a83f285 100644
  35960. --- a/src/qt/modaloverlay.cpp
  35961. +++ b/src/qt/modaloverlay.cpp
  35962. @@ -99,18 +99,15 @@ void ModalOverlay::tipUpdate(int count, const QDateTime& blockDate, double nVeri
  35963.                  progressDelta = progressStart-sample.second;
  35964.                  timeDelta = blockProcessTime[0].first - sample.first;
  35965.                  progressPerHour = progressDelta/(double)timeDelta*1000*3600;
  35966. -                remainingMSecs = (progressDelta > 0) ? remainingProgress / progressDelta * timeDelta : -1;
  35967. +                remainingMSecs = remainingProgress / progressDelta * timeDelta;
  35968.                  break;
  35969.              }
  35970.          }
  35971.          // show progress increase per hour
  35972.          ui->progressIncreasePerH->setText(QString::number(progressPerHour*100, 'f', 2)+"%");
  35973.  
  35974. -        if(remainingMSecs >= 0) { 
  35975. -            ui->expectedTimeLeft->setText(GUIUtil::formatNiceTimeOffset(remainingMSecs / 1000.0));
  35976. -        } else {
  35977. -            ui->expectedTimeLeft->setText(QObject::tr("unknown"));
  35978. -        }
  35979. +        // show expected remaining time
  35980. +        ui->expectedTimeLeft->setText(GUIUtil::formatNiceTimeOffset(remainingMSecs/1000.0));
  35981.  
  35982.          static const int MAX_SAMPLES = 5000;
  35983.          if (blockProcessTime.count() > MAX_SAMPLES)
  35984. @@ -172,4 +169,4 @@ void ModalOverlay::closeClicked()
  35985.  {
  35986.      showHide(true);
  35987.      userClosed = true;
  35988. -}
  35989. \ No newline at end of file
  35990. +}
  35991. diff --git a/src/qt/networkstyle.cpp b/src/qt/networkstyle.cpp
  35992. index 5ae272e..c6e8d36 100644
  35993. --- a/src/qt/networkstyle.cpp
  35994. +++ b/src/qt/networkstyle.cpp
  35995. @@ -31,7 +31,7 @@ NetworkStyle::NetworkStyle(const QString &_appName, const int iconColorHueShift,
  35996.      if (std::char_traits<char>::length(_titleAddText) == 0) {
  35997.          pixmap.load(":/icons/bitcoin");
  35998.      } else {
  35999. -        pixmap.load(":/icons/litecoin_splash");
  36000. +        pixmap.load(":/icons/litecoincash_splash");
  36001.      }
  36002.  
  36003.      if(iconColorHueShift != 0 && iconColorSaturationReduction != 0)
  36004. diff --git a/src/qt/openuridialog.cpp b/src/qt/openuridialog.cpp
  36005. index 520c8f5..00475d2 100644
  36006. --- a/src/qt/openuridialog.cpp
  36007. +++ b/src/qt/openuridialog.cpp
  36008. @@ -16,7 +16,7 @@ OpenURIDialog::OpenURIDialog(QWidget *parent) :
  36009.  {
  36010.      ui->setupUi(this);
  36011.  #if QT_VERSION >= 0x040700
  36012. -    ui->uriEdit->setPlaceholderText("litecoin:");
  36013. +    ui->uriEdit->setPlaceholderText("litecoincash:");
  36014.  #endif
  36015.  }
  36016.  
  36017. @@ -48,5 +48,5 @@ void OpenURIDialog::on_selectFileButton_clicked()
  36018.      if(filename.isEmpty())
  36019.          return;
  36020.      QUrl fileUri = QUrl::fromLocalFile(filename);
  36021. -    ui->uriEdit->setText("litecoin:?r=" + QUrl::toPercentEncoding(fileUri.toString()));
  36022. +    ui->uriEdit->setText("litecoincash:?r=" + QUrl::toPercentEncoding(fileUri.toString()));
  36023.  }
  36024. diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
  36025. index 550884e..b80b654 100644
  36026. --- a/src/qt/optionsdialog.cpp
  36027. +++ b/src/qt/optionsdialog.cpp
  36028. @@ -80,8 +80,6 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
  36029.      ui->bitcoinAtStartup->setToolTip(ui->bitcoinAtStartup->toolTip().arg(tr(PACKAGE_NAME)));
  36030.      ui->bitcoinAtStartup->setText(ui->bitcoinAtStartup->text().arg(tr(PACKAGE_NAME)));
  36031.  
  36032. -    ui->openBitcoinConfButton->setToolTip(ui->openBitcoinConfButton->toolTip().arg(tr(PACKAGE_NAME)));
  36033. -
  36034.      ui->lang->setToolTip(ui->lang->toolTip().arg(tr(PACKAGE_NAME)));
  36035.      ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant(""));
  36036.      for (const QString &langStr : translations.entryList())
  36037. diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp
  36038. index a2dd52d..77efef3 100644
  36039. --- a/src/qt/optionsmodel.cpp
  36040. +++ b/src/qt/optionsmodel.cpp
  36041. @@ -151,32 +151,10 @@ void OptionsModel::Init(bool resetSettings)
  36042.      language = settings.value("language").toString();
  36043.  }
  36044.  
  36045. -/** Helper function to copy contents from one QSettings to another.
  36046. - * By using allKeys this also covers nested settings in a hierarchy.
  36047. - */
  36048. -static void CopySettings(QSettings& dst, const QSettings& src)
  36049. -{
  36050. -    for (const QString& key : src.allKeys()) {
  36051. -        dst.setValue(key, src.value(key));
  36052. -    }
  36053. -}
  36054. -
  36055. -/** Back up a QSettings to an ini-formatted file. */
  36056. -static void BackupSettings(const fs::path& filename, const QSettings& src)
  36057. -{
  36058. -    qWarning() << "Backing up GUI settings to" << GUIUtil::boostPathToQString(filename);
  36059. -    QSettings dst(GUIUtil::boostPathToQString(filename), QSettings::IniFormat);
  36060. -    dst.clear();
  36061. -    CopySettings(dst, src);
  36062. -}
  36063. -
  36064.  void OptionsModel::Reset()
  36065.  {
  36066.      QSettings settings;
  36067.  
  36068. -    // Backup old settings to chain-specific datadir for troubleshooting
  36069. -    BackupSettings(GetDataDir(true) / "guisettings.ini.bak", settings);
  36070. -
  36071.      // Save the strDataDir setting
  36072.      QString dataDir = Intro::getDefaultDataDirectory();
  36073.      dataDir = settings.value("strDataDir", dataDir).toString();
  36074. diff --git a/src/qt/paymentrequest.proto b/src/qt/paymentrequest.proto
  36075. index 0017443..d1d1d4b 100644
  36076. --- a/src/qt/paymentrequest.proto
  36077. +++ b/src/qt/paymentrequest.proto
  36078. @@ -9,7 +9,7 @@
  36079.  syntax = "proto2";
  36080.  
  36081.  package payments;
  36082. -option java_package = "org.litecoin.protocols.payments";
  36083. +option java_package = "org.litecoincash.protocols.payments";
  36084.  option java_outer_classname = "Protos";
  36085.  
  36086.  // Generalized form of "send payment to this/these bitcoin addresses"
  36087. diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp
  36088. index c2b4a51..7bec8b3 100644
  36089. --- a/src/qt/paymentserver.cpp
  36090. +++ b/src/qt/paymentserver.cpp
  36091. @@ -47,14 +47,14 @@
  36092.  #endif
  36093.  
  36094.  const int BITCOIN_IPC_CONNECT_TIMEOUT = 1000; // milliseconds
  36095. -const QString BITCOIN_IPC_PREFIX("litecoin:");
  36096. +const QString BITCOIN_IPC_PREFIX("litecoincash:");
  36097.  // BIP70 payment protocol messages
  36098.  const char* BIP70_MESSAGE_PAYMENTACK = "PaymentACK";
  36099.  const char* BIP70_MESSAGE_PAYMENTREQUEST = "PaymentRequest";
  36100.  // BIP71 payment protocol media types
  36101. -const char* BIP71_MIMETYPE_PAYMENT = "application/litecoin-payment";
  36102. -const char* BIP71_MIMETYPE_PAYMENTACK = "application/litecoin-paymentack";
  36103. -const char* BIP71_MIMETYPE_PAYMENTREQUEST = "application/litecoin-paymentrequest";
  36104. +const char* BIP71_MIMETYPE_PAYMENT = "application/litecoincash-payment";
  36105. +const char* BIP71_MIMETYPE_PAYMENTACK = "application/litecoincash-paymentack";
  36106. +const char* BIP71_MIMETYPE_PAYMENTREQUEST = "application/litecoincash-paymentrequest";
  36107.  
  36108.  struct X509StoreDeleter {
  36109.        void operator()(X509_STORE* b) {
  36110. @@ -78,7 +78,7 @@ namespace // Anon namespace
  36111.  //
  36112.  static QString ipcServerName()
  36113.  {
  36114. -    QString name("LitecoinQt");
  36115. +    QString name("LitecoinCashQt");
  36116.  
  36117.      // Append a simple hash of the datadir
  36118.      // Note that GetDataDir(true) returns a different path
  36119. @@ -326,7 +326,7 @@ PaymentServer::PaymentServer(QObject* parent, bool startLocalServer) :
  36120.          if (!uriServer->listen(name)) {
  36121.              // constructor is called early in init, so don't use "Q_EMIT message()" here
  36122.              QMessageBox::critical(0, tr("Payment request error"),
  36123. -                tr("Cannot start litecoin: click-to-pay handler"));
  36124. +                tr("Cannot start litecoincash: click-to-pay handler"));
  36125.          }
  36126.          else {
  36127.              connect(uriServer, SIGNAL(newConnection()), this, SLOT(handleURIConnection()));
  36128. @@ -451,7 +451,7 @@ void PaymentServer::handleURIOrFile(const QString& s)
  36129.              }
  36130.              else
  36131.                  Q_EMIT message(tr("URI handling"),
  36132. -                    tr("URI cannot be parsed! This can be caused by an invalid Litecoin address or malformed URI parameters."),
  36133. +                    tr("URI cannot be parsed! This can be caused by an invalid LitecoinCash address or malformed URI parameters."),
  36134.                      CClientUIInterface::ICON_WARNING);
  36135.  
  36136.              return;
  36137. diff --git a/src/qt/res/bitcoin-qt-res.rc b/src/qt/res/bitcoin-qt-res.rc
  36138. index 9f7d0ea..7d37916 100644
  36139. --- a/src/qt/res/bitcoin-qt-res.rc
  36140. +++ b/src/qt/res/bitcoin-qt-res.rc
  36141. @@ -19,13 +19,13 @@ BEGIN
  36142.      BEGIN
  36143.          BLOCK "040904E4" // U.S. English - multilingual (hex)
  36144.          BEGIN
  36145. -            VALUE "CompanyName",        "Litecoin"
  36146. -            VALUE "FileDescription",    PACKAGE_NAME " (GUI node for Litecoin)"
  36147. +            VALUE "CompanyName",        "LitecoinCash"
  36148. +            VALUE "FileDescription",    PACKAGE_NAME " (GUI node for LitecoinCash)"
  36149.              VALUE "FileVersion",        VER_FILEVERSION_STR
  36150. -            VALUE "InternalName",       "litecoin-qt"
  36151. +            VALUE "InternalName",       "litecoincash-qt"
  36152.              VALUE "LegalCopyright",     COPYRIGHT_STR
  36153.              VALUE "LegalTrademarks1",   "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
  36154. -            VALUE "OriginalFilename",   "litecoin-qt.exe"
  36155. +            VALUE "OriginalFilename",   "litecoincash-qt.exe"
  36156.              VALUE "ProductName",        PACKAGE_NAME
  36157.              VALUE "ProductVersion",     VER_PRODUCTVERSION_STR
  36158.          END
  36159. diff --git a/src/qt/res/icons/about.png b/src/qt/res/icons/about.png
  36160. index ae0c260..b802a34 100644
  36161. Binary files a/src/qt/res/icons/about.png and b/src/qt/res/icons/about.png differ
  36162. diff --git a/src/qt/res/icons/bitcoin.icns b/src/qt/res/icons/bitcoin.icns
  36163. index 93644f0..e0c050c 100644
  36164. Binary files a/src/qt/res/icons/bitcoin.icns and b/src/qt/res/icons/bitcoin.icns differ
  36165. diff --git a/src/qt/res/icons/bitcoin.ico b/src/qt/res/icons/bitcoin.ico
  36166. old mode 100755
  36167. new mode 100644
  36168. index 22b5b18..9d02d8d
  36169. Binary files a/src/qt/res/icons/bitcoin.ico and b/src/qt/res/icons/bitcoin.ico differ
  36170. diff --git a/src/qt/res/icons/bitcoin.png b/src/qt/res/icons/bitcoin.png
  36171. old mode 100755
  36172. new mode 100644
  36173. index a638fdf..d44be3e
  36174. Binary files a/src/qt/res/icons/bitcoin.png and b/src/qt/res/icons/bitcoin.png differ
  36175. diff --git a/src/qt/res/icons/bitcoin_testnet.ico b/src/qt/res/icons/bitcoin_testnet.ico
  36176. index 3caf343..1b1fdb3 100644
  36177. Binary files a/src/qt/res/icons/bitcoin_testnet.ico and b/src/qt/res/icons/bitcoin_testnet.ico differ
  36178. diff --git a/src/qt/res/icons/litecoin_splash.png b/src/qt/res/icons/litecoin_splash.png
  36179. deleted file mode 100755
  36180. index 603ac5b..0000000
  36181. Binary files a/src/qt/res/icons/litecoin_splash.png and /dev/null differ
  36182. diff --git a/src/qt/res/icons/litecoincash_splash.png b/src/qt/res/icons/litecoincash_splash.png
  36183. new file mode 100644
  36184. index 0000000..bcc373e
  36185. Binary files /dev/null and b/src/qt/res/icons/litecoincash_splash.png differ
  36186. diff --git a/src/qt/res/movies/makespinner.sh b/src/qt/res/movies/makespinner.sh
  36187. old mode 100755
  36188. new mode 100644
  36189. diff --git a/src/qt/res/src/bitcoin.svg b/src/qt/res/src/bitcoin.svg
  36190. index 14cf0c5..b8c7e19 100644
  36191. --- a/src/qt/res/src/bitcoin.svg
  36192. +++ b/src/qt/res/src/bitcoin.svg
  36193. @@ -1,58 +1,58 @@
  36194. -<?xml version="1.0" encoding="utf-8"?>
  36195. -
  36196. -<!-- Designer: Jonas Schnelli
  36197. -    License: MIT
  36198. --->
  36199. -
  36200. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36201. -<svg version="1.1"
  36202. -    id="svg2" sodipodi:docname="bitcoin-logo-noshadow.svg" inkscape:version="0.48.2 r9819" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  36203. -    xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="1024px" height="1024px"
  36204. -    viewBox="-34 -34 580 580" enable-background="new 0 0 1024 1024" xml:space="preserve">
  36205. -
  36206. -   <!-- nice shadow with alpha 0.35 -->
  36207. -   <filter id="dropShadowAlpha">
  36208. -       <feColorMatrix result="matrixOut" in="SourceAlpha" type="saturate"
  36209. -         values="0.1" />
  36210. -       <feGaussianBlur in="matrixOut" result="blur-out" stdDeviation="6" />
  36211. -       <feColorMatrix in="blur-out" result="color-out" type="matrix"
  36212. -             values="0 0 0 0   0
  36213. -                     0 0 0 0   0
  36214. -                     0 0 0 0   0
  36215. -                     0 0 0 0.35 0"/>
  36216. -       <feBlend in="SourceGraphic" in2="color-out" mode="normal" />
  36217. -   </filter>
  36218. -  
  36219. -   <g>
  36220. -       <!-- white background circle for making B not transparent but still keep inner shadows -->
  36221. -       <circle cx="255" cy="255" r="200" stroke-width="2" fill="white"/>
  36222. -  
  36223. -       <radialGradient id="innerBtop" cx="277.4905" cy="196.4412" r="34.3969" gradientUnits="userSpaceOnUse">
  36224. -           <stop offset="0" style="stop-color:#F9AA4B"/>
  36225. -           <stop offset="1" style="stop-color:#F7931A"/>
  36226. -       </radialGradient>
  36227. -       <path fill="url(#innerBtop)" filter="url(#dropShadowAlpha)" d="M254.647,174.6l-13.983,56.08c15.855,3.951,64.735,20.071,72.656-11.656
  36228. -           C321.568,185.928,270.503,178.552,254.647,174.6z"/>
  36229. -      
  36230. -       <radialGradient id="innerBbottom" cx="261.9153" cy="284.5671" r="39.8381" gradientUnits="userSpaceOnUse">
  36231. -           <stop offset="0" style="stop-color:#F9AA4B"/>
  36232. -           <stop offset="1" style="stop-color:#F7931A"/>
  36233. -       </radialGradient>
  36234. -       <path fill="url(#innerBbottom)" filter="url(#dropShadowAlpha)" d="M233.608,258.984l-15.425,61.832c19.04,4.729,77.769,23.584,86.448-11.296
  36235. -           C313.703,273.144,252.647,263.736,233.608,258.984z"/>
  36236. -              
  36237. -       <radialGradient id="coinShape" cx="256.0276" cy="256.0027" r="255.9878" gradientUnits="userSpaceOnUse">
  36238. -           <stop offset="0" style="stop-color:#F9AA4B"/>
  36239. -           <stop offset="1" style="stop-color:#F7931A"/>
  36240. -       </radialGradient>
  36241. -       <path fill="url(#coinShape)" filter="url(#dropShadowAlpha)" d="M317.871,7.656c-137.12-34.192-276.024,49.28-310.2,186.44
  36242. -           c-34.208,137.136,49.256,276.048,186.36,310.24c137.16,34.199,276.063-49.265,310.256-186.408
  36243. -           C538.479,180.776,455.023,41.848,317.871,7.656z M368.807,219.528c-3.688,24.936-17.512,37.008-35.864,41.24
  36244. -           c25.2,13.12,38.024,33.239,25.809,68.12c-15.16,43.319-51.176,46.976-99.072,37.912l-11.624,46.584l-28.088-7l11.472-45.96
  36245. -           c-7.279-1.809-14.72-3.729-22.384-5.809l-11.512,46.177l-28.056-7l11.624-46.673c-6.561-1.68-13.225-3.464-20.024-5.168
  36246. -           l-36.552-9.111l13.943-32.152c0,0,20.696,5.504,20.416,5.096c7.952,1.969,11.48-3.216,12.872-6.672l18.368-73.64l0.048-0.2
  36247. -           l13.104-52.568c0.344-5.968-1.712-13.496-13.088-16.336c0.439-0.296-20.4-5.072-20.4-5.072l7.472-30l38.736,9.673l-0.032,0.144
  36248. -           c5.824,1.448,11.824,2.824,17.937,4.216L245.423,89.2l28.072,7l-11.28,45.224c7.536,1.721,15.12,3.456,22.504,5.297l11.2-44.929
  36249. -           l28.088,7l-11.504,46.145C347.967,167.152,373.904,185.464,368.807,219.528z"/>
  36250. -   </g>
  36251. -</svg>
  36252. +<?xml version="1.0" encoding="utf-8"?>
  36253. +
  36254. +<!-- Designer: Jonas Schnelli
  36255. +    License: MIT
  36256. +-->
  36257. +
  36258. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36259. +<svg version="1.1"
  36260. +    id="svg2" sodipodi:docname="bitcoin-logo-noshadow.svg" inkscape:version="0.48.2 r9819" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  36261. +    xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="1024px" height="1024px"
  36262. +    viewBox="-34 -34 580 580" enable-background="new 0 0 1024 1024" xml:space="preserve">
  36263. +
  36264. +   <!-- nice shadow with alpha 0.35 -->
  36265. +   <filter id="dropShadowAlpha">
  36266. +       <feColorMatrix result="matrixOut" in="SourceAlpha" type="saturate"
  36267. +         values="0.1" />
  36268. +       <feGaussianBlur in="matrixOut" result="blur-out" stdDeviation="6" />
  36269. +       <feColorMatrix in="blur-out" result="color-out" type="matrix"
  36270. +             values="0 0 0 0   0
  36271. +                     0 0 0 0   0
  36272. +                     0 0 0 0   0
  36273. +                     0 0 0 0.35 0"/>
  36274. +       <feBlend in="SourceGraphic" in2="color-out" mode="normal" />
  36275. +   </filter>
  36276. +  
  36277. +   <g>
  36278. +       <!-- white background circle for making B not transparent but still keep inner shadows -->
  36279. +       <circle cx="255" cy="255" r="200" stroke-width="2" fill="white"/>
  36280. +  
  36281. +       <radialGradient id="innerBtop" cx="277.4905" cy="196.4412" r="34.3969" gradientUnits="userSpaceOnUse">
  36282. +           <stop offset="0" style="stop-color:#F9AA4B"/>
  36283. +           <stop offset="1" style="stop-color:#F7931A"/>
  36284. +       </radialGradient>
  36285. +       <path fill="url(#innerBtop)" filter="url(#dropShadowAlpha)" d="M254.647,174.6l-13.983,56.08c15.855,3.951,64.735,20.071,72.656-11.656
  36286. +           C321.568,185.928,270.503,178.552,254.647,174.6z"/>
  36287. +      
  36288. +       <radialGradient id="innerBbottom" cx="261.9153" cy="284.5671" r="39.8381" gradientUnits="userSpaceOnUse">
  36289. +           <stop offset="0" style="stop-color:#F9AA4B"/>
  36290. +           <stop offset="1" style="stop-color:#F7931A"/>
  36291. +       </radialGradient>
  36292. +       <path fill="url(#innerBbottom)" filter="url(#dropShadowAlpha)" d="M233.608,258.984l-15.425,61.832c19.04,4.729,77.769,23.584,86.448-11.296
  36293. +           C313.703,273.144,252.647,263.736,233.608,258.984z"/>
  36294. +              
  36295. +       <radialGradient id="coinShape" cx="256.0276" cy="256.0027" r="255.9878" gradientUnits="userSpaceOnUse">
  36296. +           <stop offset="0" style="stop-color:#F9AA4B"/>
  36297. +           <stop offset="1" style="stop-color:#F7931A"/>
  36298. +       </radialGradient>
  36299. +       <path fill="url(#coinShape)" filter="url(#dropShadowAlpha)" d="M317.871,7.656c-137.12-34.192-276.024,49.28-310.2,186.44
  36300. +           c-34.208,137.136,49.256,276.048,186.36,310.24c137.16,34.199,276.063-49.265,310.256-186.408
  36301. +           C538.479,180.776,455.023,41.848,317.871,7.656z M368.807,219.528c-3.688,24.936-17.512,37.008-35.864,41.24
  36302. +           c25.2,13.12,38.024,33.239,25.809,68.12c-15.16,43.319-51.176,46.976-99.072,37.912l-11.624,46.584l-28.088-7l11.472-45.96
  36303. +           c-7.279-1.809-14.72-3.729-22.384-5.809l-11.512,46.177l-28.056-7l11.624-46.673c-6.561-1.68-13.225-3.464-20.024-5.168
  36304. +           l-36.552-9.111l13.943-32.152c0,0,20.696,5.504,20.416,5.096c7.952,1.969,11.48-3.216,12.872-6.672l18.368-73.64l0.048-0.2
  36305. +           l13.104-52.568c0.344-5.968-1.712-13.496-13.088-16.336c0.439-0.296-20.4-5.072-20.4-5.072l7.472-30l38.736,9.673l-0.032,0.144
  36306. +           c5.824,1.448,11.824,2.824,17.937,4.216L245.423,89.2l28.072,7l-11.28,45.224c7.536,1.721,15.12,3.456,22.504,5.297l11.2-44.929
  36307. +           l28.088,7l-11.504,46.145C347.967,167.152,373.904,185.464,368.807,219.528z"/>
  36308. +   </g>
  36309. +</svg>
  36310. diff --git a/src/qt/res/src/clock_0.svg b/src/qt/res/src/clock_0.svg
  36311. index 2a4ae02..b9904d7 100644
  36312. --- a/src/qt/res/src/clock_0.svg
  36313. +++ b/src/qt/res/src/clock_0.svg
  36314. @@ -1,14 +1,14 @@
  36315. -<?xml version="1.0" encoding="utf-8"?>
  36316. -<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36317. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36318. -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36319. -    viewBox="0 0 841.9 841.9" enable-background="new 0 0 841.9 841.9" xml:space="preserve">
  36320. -<g>
  36321. -   <path d="M297.6,677.3c-68.5,0-132.9-26.7-181.3-75.1S41.3,489.4,41.3,420.9s26.7-132.9,75.1-181.3c48.4-48.4,112.8-75.1,181.3-75.1
  36322. -       s132.9,26.7,181.3,75.1c48.4,48.4,75.1,112.8,75.1,181.3s-26.7,132.9-75.1,181.3S366.1,677.3,297.6,677.3z M297.6,204.6
  36323. -       c-57.8,0-112.1,22.5-153,63.4c-40.9,40.9-63.4,95.2-63.4,153c0,57.8,22.5,112.1,63.4,153c40.9,40.9,95.2,63.4,153,63.4
  36324. -       c57.8,0,112.1-22.5,153-63.4c40.9-40.9,63.4-95.2,63.4-153c0-57.8-22.5-112.1-63.4-153C409.8,227.1,355.4,204.6,297.6,204.6z"/>
  36325. -</g>
  36326. -<path fill="#000000" d="M293.5,452.6h99.6c14.9,0,24.8-9.9,24.8-24.8S408,403,393.1,403h-74.8V278.2c0-14.9-9.9-24.8-24.8-24.8
  36327. -   c-14.9,0-24.8,9.9-24.8,24.8v149.6C268.7,440.2,278.7,452.6,293.5,452.6z"/>
  36328. -</svg>
  36329. +<?xml version="1.0" encoding="utf-8"?>
  36330. +<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36331. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36332. +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36333. +    viewBox="0 0 841.9 841.9" enable-background="new 0 0 841.9 841.9" xml:space="preserve">
  36334. +<g>
  36335. +   <path d="M297.6,677.3c-68.5,0-132.9-26.7-181.3-75.1S41.3,489.4,41.3,420.9s26.7-132.9,75.1-181.3c48.4-48.4,112.8-75.1,181.3-75.1
  36336. +       s132.9,26.7,181.3,75.1c48.4,48.4,75.1,112.8,75.1,181.3s-26.7,132.9-75.1,181.3S366.1,677.3,297.6,677.3z M297.6,204.6
  36337. +       c-57.8,0-112.1,22.5-153,63.4c-40.9,40.9-63.4,95.2-63.4,153c0,57.8,22.5,112.1,63.4,153c40.9,40.9,95.2,63.4,153,63.4
  36338. +       c57.8,0,112.1-22.5,153-63.4c40.9-40.9,63.4-95.2,63.4-153c0-57.8-22.5-112.1-63.4-153C409.8,227.1,355.4,204.6,297.6,204.6z"/>
  36339. +</g>
  36340. +<path fill="#000000" d="M293.5,452.6h99.6c14.9,0,24.8-9.9,24.8-24.8S408,403,393.1,403h-74.8V278.2c0-14.9-9.9-24.8-24.8-24.8
  36341. +   c-14.9,0-24.8,9.9-24.8,24.8v149.6C268.7,440.2,278.7,452.6,293.5,452.6z"/>
  36342. +</svg>
  36343. diff --git a/src/qt/res/src/clock_1.svg b/src/qt/res/src/clock_1.svg
  36344. index 2a3d84c..23c1fae 100644
  36345. --- a/src/qt/res/src/clock_1.svg
  36346. +++ b/src/qt/res/src/clock_1.svg
  36347. @@ -1,15 +1,15 @@
  36348. -<?xml version="1.0" encoding="utf-8"?>
  36349. -<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36350. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36351. -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36352. -    viewBox="0 0 841.9 841.9" enable-background="new 0 0 841.9 841.9" xml:space="preserve">
  36353. -<g>
  36354. -   <path d="M297.6,677.3c-68.5,0-132.9-26.7-181.3-75.1S41.3,489.4,41.3,420.9s26.7-132.9,75.1-181.3c48.4-48.4,112.8-75.1,181.3-75.1
  36355. -       s132.9,26.7,181.3,75.1c48.4,48.4,75.1,112.8,75.1,181.3s-26.7,132.9-75.1,181.3S366.1,677.3,297.6,677.3z M297.6,204.6
  36356. -       c-57.8,0-112.1,22.5-153,63.4c-40.9,40.9-63.4,95.2-63.4,153c0,57.8,22.5,112.1,63.4,153c40.9,40.9,95.2,63.4,153,63.4
  36357. -       c57.8,0,112.1-22.5,153-63.4c40.9-40.9,63.4-95.2,63.4-153c0-57.8-22.5-112.1-63.4-153C409.8,227.1,355.4,204.6,297.6,204.6z"/>
  36358. -</g>
  36359. -<path
  36360. -   d="M 478.3,253.4 297.6,184.6 c 0,0 0,78.8 0,118.2 0,117.5 -0.4,118.1 118.2,118.1 39.4,0 118.2,0 118.2,0 z"
  36361. -   id="polygon7" />
  36362. -</svg>
  36363. +<?xml version="1.0" encoding="utf-8"?>
  36364. +<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36365. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36366. +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36367. +    viewBox="0 0 841.9 841.9" enable-background="new 0 0 841.9 841.9" xml:space="preserve">
  36368. +<g>
  36369. +   <path d="M297.6,677.3c-68.5,0-132.9-26.7-181.3-75.1S41.3,489.4,41.3,420.9s26.7-132.9,75.1-181.3c48.4-48.4,112.8-75.1,181.3-75.1
  36370. +       s132.9,26.7,181.3,75.1c48.4,48.4,75.1,112.8,75.1,181.3s-26.7,132.9-75.1,181.3S366.1,677.3,297.6,677.3z M297.6,204.6
  36371. +       c-57.8,0-112.1,22.5-153,63.4c-40.9,40.9-63.4,95.2-63.4,153c0,57.8,22.5,112.1,63.4,153c40.9,40.9,95.2,63.4,153,63.4
  36372. +       c57.8,0,112.1-22.5,153-63.4c40.9-40.9,63.4-95.2,63.4-153c0-57.8-22.5-112.1-63.4-153C409.8,227.1,355.4,204.6,297.6,204.6z"/>
  36373. +</g>
  36374. +<path
  36375. +   d="M 478.3,253.4 297.6,184.6 c 0,0 0,78.8 0,118.2 0,117.5 -0.4,118.1 118.2,118.1 39.4,0 118.2,0 118.2,0 z"
  36376. +   id="polygon7" />
  36377. +</svg>
  36378. diff --git a/src/qt/res/src/clock_2.svg b/src/qt/res/src/clock_2.svg
  36379. index 2de8d46..36a41e2 100644
  36380. --- a/src/qt/res/src/clock_2.svg
  36381. +++ b/src/qt/res/src/clock_2.svg
  36382. @@ -1,13 +1,13 @@
  36383. -<?xml version="1.0" encoding="utf-8"?>
  36384. -<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36385. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36386. -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36387. -    viewBox="0 0 841.9 841.9" enable-background="new 0 0 841.9 841.9" xml:space="preserve">
  36388. -<g>
  36389. -   <path d="M297.6,677.3c-68.5,0-132.9-26.7-181.3-75.1S41.3,489.4,41.3,420.9s26.7-132.9,75.1-181.3c48.4-48.4,112.8-75.1,181.3-75.1
  36390. -       s132.9,26.7,181.3,75.1c48.4,48.4,75.1,112.8,75.1,181.3s-26.7,132.9-75.1,181.3S366.1,677.3,297.6,677.3z M297.6,204.6
  36391. -       c-57.8,0-112.1,22.5-153,63.4c-40.9,40.9-63.4,95.2-63.4,153c0,57.8,22.5,112.1,63.4,153c40.9,40.9,95.2,63.4,153,63.4
  36392. -       c57.8,0,112.1-22.5,153-63.4c40.9-40.9,63.4-95.2,63.4-153c0-57.8-22.5-112.1-63.4-153C409.8,227.1,355.4,204.6,297.6,204.6z"/>
  36393. -</g>
  36394. -<polygon points="465.2,601.6 534,420.9 478.3,253.4 297.6,184.6 297.6,420.9 297.6,657.3 "/>
  36395. -</svg>
  36396. +<?xml version="1.0" encoding="utf-8"?>
  36397. +<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36398. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36399. +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36400. +    viewBox="0 0 841.9 841.9" enable-background="new 0 0 841.9 841.9" xml:space="preserve">
  36401. +<g>
  36402. +   <path d="M297.6,677.3c-68.5,0-132.9-26.7-181.3-75.1S41.3,489.4,41.3,420.9s26.7-132.9,75.1-181.3c48.4-48.4,112.8-75.1,181.3-75.1
  36403. +       s132.9,26.7,181.3,75.1c48.4,48.4,75.1,112.8,75.1,181.3s-26.7,132.9-75.1,181.3S366.1,677.3,297.6,677.3z M297.6,204.6
  36404. +       c-57.8,0-112.1,22.5-153,63.4c-40.9,40.9-63.4,95.2-63.4,153c0,57.8,22.5,112.1,63.4,153c40.9,40.9,95.2,63.4,153,63.4
  36405. +       c57.8,0,112.1-22.5,153-63.4c40.9-40.9,63.4-95.2,63.4-153c0-57.8-22.5-112.1-63.4-153C409.8,227.1,355.4,204.6,297.6,204.6z"/>
  36406. +</g>
  36407. +<polygon points="465.2,601.6 534,420.9 478.3,253.4 297.6,184.6 297.6,420.9 297.6,657.3 "/>
  36408. +</svg>
  36409. diff --git a/src/qt/res/src/clock_3.svg b/src/qt/res/src/clock_3.svg
  36410. index b691043..df2fead 100644
  36411. --- a/src/qt/res/src/clock_3.svg
  36412. +++ b/src/qt/res/src/clock_3.svg
  36413. @@ -1,15 +1,15 @@
  36414. -<?xml version="1.0" encoding="utf-8"?>
  36415. -<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36416. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36417. -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36418. -    viewBox="0 0 841.9 841.9" enable-background="new 0 0 841.9 841.9" xml:space="preserve">
  36419. -<g>
  36420. -   <path d="M297.6,677.3c-68.5,0-132.9-26.7-181.3-75.1S41.3,489.4,41.3,420.9s26.7-132.9,75.1-181.3c48.4-48.4,112.8-75.1,181.3-75.1
  36421. -       s132.9,26.7,181.3,75.1c48.4,48.4,75.1,112.8,75.1,181.3s-26.7,132.9-75.1,181.3S366.1,677.3,297.6,677.3z M297.6,204.6
  36422. -       c-57.8,0-112.1,22.5-153,63.4c-40.9,40.9-63.4,95.2-63.4,153c0,57.8,22.5,112.1,63.4,153c40.9,40.9,95.2,63.4,153,63.4
  36423. -       c57.8,0,112.1-22.5,153-63.4c40.9-40.9,63.4-95.2,63.4-153c0-57.8-22.5-112.1-63.4-153C409.8,227.1,355.4,204.6,297.6,204.6z"/>
  36424. -</g>
  36425. -<path
  36426. -   d="M 465.2,601.6 534,420.9 478.3,253.4 297.6,184.6 c 0,0 0,78.8 0,118.2 0,117.7 0.4,118.1 -118.1,118.1 -39.4,0 -118.2,0 -118.2,0 l 55.7,167.6 180.6,68.8 z"
  36427. -   id="polygon7" />
  36428. -</svg>
  36429. +<?xml version="1.0" encoding="utf-8"?>
  36430. +<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36431. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36432. +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36433. +    viewBox="0 0 841.9 841.9" enable-background="new 0 0 841.9 841.9" xml:space="preserve">
  36434. +<g>
  36435. +   <path d="M297.6,677.3c-68.5,0-132.9-26.7-181.3-75.1S41.3,489.4,41.3,420.9s26.7-132.9,75.1-181.3c48.4-48.4,112.8-75.1,181.3-75.1
  36436. +       s132.9,26.7,181.3,75.1c48.4,48.4,75.1,112.8,75.1,181.3s-26.7,132.9-75.1,181.3S366.1,677.3,297.6,677.3z M297.6,204.6
  36437. +       c-57.8,0-112.1,22.5-153,63.4c-40.9,40.9-63.4,95.2-63.4,153c0,57.8,22.5,112.1,63.4,153c40.9,40.9,95.2,63.4,153,63.4
  36438. +       c57.8,0,112.1-22.5,153-63.4c40.9-40.9,63.4-95.2,63.4-153c0-57.8-22.5-112.1-63.4-153C409.8,227.1,355.4,204.6,297.6,204.6z"/>
  36439. +</g>
  36440. +<path
  36441. +   d="M 465.2,601.6 534,420.9 478.3,253.4 297.6,184.6 c 0,0 0,78.8 0,118.2 0,117.7 0.4,118.1 -118.1,118.1 -39.4,0 -118.2,0 -118.2,0 l 55.7,167.6 180.6,68.8 z"
  36442. +   id="polygon7" />
  36443. +</svg>
  36444. diff --git a/src/qt/res/src/hd_disabled.svg b/src/qt/res/src/hd_disabled.svg
  36445. index 035f443..ab576cd 100644
  36446. --- a/src/qt/res/src/hd_disabled.svg
  36447. +++ b/src/qt/res/src/hd_disabled.svg
  36448. @@ -1,26 +1,26 @@
  36449. -<?xml version="1.0" encoding="utf-8"?>
  36450. -<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36451. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36452. -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36453. -    viewBox="0 0 595.3 841.9" enable-background="new 0 0 595.3 841.9" xml:space="preserve">
  36454. -<g>
  36455. -   <path d="M81.3,336.5v66.8h70.4v-66.8H190v174h-38.3v-75.1H81.3v75.1H43v-174H81.3z"/>
  36456. -   <path d="M298.7,336.5c11.2,0,21.6,1.8,31.3,5.4c9.7,3.6,18,8.9,25.1,16.1c7.1,7.2,12.6,16.1,16.6,26.8c4,10.7,6,23.3,6,37.8
  36457. -       c0,12.7-1.6,24.4-4.9,35.1c-3.3,10.7-8.2,20-14.7,27.8c-6.6,7.8-14.8,13.9-24.6,18.4c-9.8,4.5-21.4,6.7-34.7,6.7h-75.1v-174H298.7z
  36458. -        M296,478.3c5.5,0,10.9-0.9,16.1-2.7c5.2-1.8,9.8-4.8,13.9-8.9c4.1-4.1,7.3-9.5,9.7-16.2c2.4-6.7,3.7-14.8,3.7-24.4
  36459. -       c0-8.8-0.9-16.7-2.6-23.8s-4.5-13.1-8.4-18.2c-3.9-5-9.1-8.9-15.5-11.6c-6.4-2.7-14.3-4-23.8-4h-27.3v109.7H296z"/>
  36460. -</g>
  36461. -<g>
  36462. -   <g>
  36463. -       <line x1="32" y1="555.9" x2="358" y2="293.9"/>
  36464. -   </g>
  36465. -   <g>
  36466. -       <path fill="#FFFFFF" d="M32,580.9c-7.3,0-14.6-3.2-19.5-9.3c-8.6-10.8-6.9-26.5,3.8-35.1l326-262c10.8-8.6,26.5-6.9,35.1,3.8
  36467. -           c8.6,10.8,6.9,26.5-3.8,35.1l-326,262C43,579.1,37.5,580.9,32,580.9z"/>
  36468. -   </g>
  36469. -   <g>
  36470. -       <path d="M32,573.9c-5.3,0-10.5-2.3-14-6.7c-6.2-7.7-5-19.1,2.8-25.3l326-262c7.8-6.2,19.1-5,25.3,2.8c6.2,7.7,5,19.1-2.8,25.3
  36471. -           l-326,262C40,572.6,36,573.9,32,573.9z"/>
  36472. -   </g>
  36473. -</g>
  36474. -</svg>
  36475. +<?xml version="1.0" encoding="utf-8"?>
  36476. +<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36477. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36478. +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36479. +    viewBox="0 0 595.3 841.9" enable-background="new 0 0 595.3 841.9" xml:space="preserve">
  36480. +<g>
  36481. +   <path d="M81.3,336.5v66.8h70.4v-66.8H190v174h-38.3v-75.1H81.3v75.1H43v-174H81.3z"/>
  36482. +   <path d="M298.7,336.5c11.2,0,21.6,1.8,31.3,5.4c9.7,3.6,18,8.9,25.1,16.1c7.1,7.2,12.6,16.1,16.6,26.8c4,10.7,6,23.3,6,37.8
  36483. +       c0,12.7-1.6,24.4-4.9,35.1c-3.3,10.7-8.2,20-14.7,27.8c-6.6,7.8-14.8,13.9-24.6,18.4c-9.8,4.5-21.4,6.7-34.7,6.7h-75.1v-174H298.7z
  36484. +        M296,478.3c5.5,0,10.9-0.9,16.1-2.7c5.2-1.8,9.8-4.8,13.9-8.9c4.1-4.1,7.3-9.5,9.7-16.2c2.4-6.7,3.7-14.8,3.7-24.4
  36485. +       c0-8.8-0.9-16.7-2.6-23.8s-4.5-13.1-8.4-18.2c-3.9-5-9.1-8.9-15.5-11.6c-6.4-2.7-14.3-4-23.8-4h-27.3v109.7H296z"/>
  36486. +</g>
  36487. +<g>
  36488. +   <g>
  36489. +       <line x1="32" y1="555.9" x2="358" y2="293.9"/>
  36490. +   </g>
  36491. +   <g>
  36492. +       <path fill="#FFFFFF" d="M32,580.9c-7.3,0-14.6-3.2-19.5-9.3c-8.6-10.8-6.9-26.5,3.8-35.1l326-262c10.8-8.6,26.5-6.9,35.1,3.8
  36493. +           c8.6,10.8,6.9,26.5-3.8,35.1l-326,262C43,579.1,37.5,580.9,32,580.9z"/>
  36494. +   </g>
  36495. +   <g>
  36496. +       <path d="M32,573.9c-5.3,0-10.5-2.3-14-6.7c-6.2-7.7-5-19.1,2.8-25.3l326-262c7.8-6.2,19.1-5,25.3,2.8c6.2,7.7,5,19.1-2.8,25.3
  36497. +           l-326,262C40,572.6,36,573.9,32,573.9z"/>
  36498. +   </g>
  36499. +</g>
  36500. +</svg>
  36501. diff --git a/src/qt/res/src/hd_enabled.svg b/src/qt/res/src/hd_enabled.svg
  36502. index cbaa16f..e55fbec 100644
  36503. --- a/src/qt/res/src/hd_enabled.svg
  36504. +++ b/src/qt/res/src/hd_enabled.svg
  36505. @@ -1,13 +1,13 @@
  36506. -<?xml version="1.0" encoding="utf-8"?>
  36507. -<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36508. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36509. -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36510. -    viewBox="0 0 595.3 841.9" enable-background="new 0 0 595.3 841.9" xml:space="preserve">
  36511. -<g>
  36512. -   <path d="M81.3,336.5v66.8h70.4v-66.8H190v174h-38.3v-75.1H81.3v75.1H43v-174H81.3z"/>
  36513. -   <path d="M298.7,336.5c11.2,0,21.6,1.8,31.3,5.4c9.7,3.6,18,8.9,25.1,16.1c7.1,7.2,12.6,16.1,16.6,26.8c4,10.7,6,23.3,6,37.8
  36514. -       c0,12.7-1.6,24.4-4.9,35.1c-3.3,10.7-8.2,20-14.7,27.8c-6.6,7.8-14.8,13.9-24.6,18.4c-9.8,4.5-21.4,6.7-34.7,6.7h-75.1v-174H298.7z
  36515. -        M296,478.3c5.5,0,10.9-0.9,16.1-2.7c5.2-1.8,9.8-4.8,13.9-8.9c4.1-4.1,7.3-9.5,9.7-16.2c2.4-6.7,3.7-14.8,3.7-24.4
  36516. -       c0-8.8-0.9-16.7-2.6-23.8s-4.5-13.1-8.4-18.2c-3.9-5-9.1-8.9-15.5-11.6c-6.4-2.7-14.3-4-23.8-4h-27.3v109.7H296z"/>
  36517. -</g>
  36518. -</svg>
  36519. +<?xml version="1.0" encoding="utf-8"?>
  36520. +<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36521. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36522. +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36523. +    viewBox="0 0 595.3 841.9" enable-background="new 0 0 595.3 841.9" xml:space="preserve">
  36524. +<g>
  36525. +   <path d="M81.3,336.5v66.8h70.4v-66.8H190v174h-38.3v-75.1H81.3v75.1H43v-174H81.3z"/>
  36526. +   <path d="M298.7,336.5c11.2,0,21.6,1.8,31.3,5.4c9.7,3.6,18,8.9,25.1,16.1c7.1,7.2,12.6,16.1,16.6,26.8c4,10.7,6,23.3,6,37.8
  36527. +       c0,12.7-1.6,24.4-4.9,35.1c-3.3,10.7-8.2,20-14.7,27.8c-6.6,7.8-14.8,13.9-24.6,18.4c-9.8,4.5-21.4,6.7-34.7,6.7h-75.1v-174H298.7z
  36528. +        M296,478.3c5.5,0,10.9-0.9,16.1-2.7c5.2-1.8,9.8-4.8,13.9-8.9c4.1-4.1,7.3-9.5,9.7-16.2c2.4-6.7,3.7-14.8,3.7-24.4
  36529. +       c0-8.8-0.9-16.7-2.6-23.8s-4.5-13.1-8.4-18.2c-3.9-5-9.1-8.9-15.5-11.6c-6.4-2.7-14.3-4-23.8-4h-27.3v109.7H296z"/>
  36530. +</g>
  36531. +</svg>
  36532. diff --git a/src/qt/res/src/mine.svg b/src/qt/res/src/mine.svg
  36533. index 4a3f786..dd69263 100644
  36534. --- a/src/qt/res/src/mine.svg
  36535. +++ b/src/qt/res/src/mine.svg
  36536. @@ -1,12 +1,12 @@
  36537. -<?xml version="1.0" encoding="utf-8"?>
  36538. -<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36539. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36540. -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36541. -    viewBox="0 0 841.9 595.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve">
  36542. -<rect x="464" y="158.6" transform="matrix(-0.7071 0.7071 -0.7071 -0.7071 1027.5018 42.8013)" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="81.9" height="151.3"/>
  36543. -<rect x="190" y="342.1" transform="matrix(-0.7071 0.7071 -0.7071 -0.7071 882.9977 387.9771)" fill="none" stroke="#000000" stroke-width="30" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="342.3" height="69.4"/>
  36544. -<path stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M445.7,186l32.2-32.2
  36545. -   c-44.6-37.2-124-74.4-218.3-64.5l-2.5,9.9C361.4,114.1,403.6,153.8,445.7,186z"/>
  36546. -<path stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M552.4,292.7l32.2-32.2
  36547. -   c37.2,44.6,74.4,124,64.5,218.3l-9.9,2.5C624.3,377,584.6,332.4,552.4,292.7z"/>
  36548. -</svg>
  36549. +<?xml version="1.0" encoding="utf-8"?>
  36550. +<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36551. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36552. +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36553. +    viewBox="0 0 841.9 595.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve">
  36554. +<rect x="464" y="158.6" transform="matrix(-0.7071 0.7071 -0.7071 -0.7071 1027.5018 42.8013)" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="81.9" height="151.3"/>
  36555. +<rect x="190" y="342.1" transform="matrix(-0.7071 0.7071 -0.7071 -0.7071 882.9977 387.9771)" fill="none" stroke="#000000" stroke-width="30" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="342.3" height="69.4"/>
  36556. +<path stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M445.7,186l32.2-32.2
  36557. +   c-44.6-37.2-124-74.4-218.3-64.5l-2.5,9.9C361.4,114.1,403.6,153.8,445.7,186z"/>
  36558. +<path stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M552.4,292.7l32.2-32.2
  36559. +   c37.2,44.6,74.4,124,64.5,218.3l-9.9,2.5C624.3,377,584.6,332.4,552.4,292.7z"/>
  36560. +</svg>
  36561. diff --git a/src/qt/res/src/tx_in.svg b/src/qt/res/src/tx_in.svg
  36562. index a8911f9..751f792 100644
  36563. --- a/src/qt/res/src/tx_in.svg
  36564. +++ b/src/qt/res/src/tx_in.svg
  36565. @@ -1,9 +1,9 @@
  36566. -<?xml version="1.0" encoding="utf-8"?>
  36567. -<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36568. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36569. -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36570. -    viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
  36571. -<path d="M13,17.5c-2.5,0-4.5-2-4.5-4.5c0-0.6-0.4-1-1-1s-1,0.4-1,1c0,3.6,2.9,6.5,6.5,6.5s6.5-2.9,6.5-6.5S16.6,6.5,13,6.5
  36572. -   c-0.6,0-1,0.4-1,1s0.4,1,1,1c2.5,0,4.5,2,4.5,4.5S15.5,17.5,13,17.5z M3.7,10.3c-0.6,0-1-0.4-1-1s0.4-1,1-1H7L5.3,6.6L1.2,2.5
  36573. -   c-0.4-0.4-0.4-1,0-1.4c0.2-0.2,0.4-0.3,0.7-0.3s0.5,0.1,0.7,0.3l4.1,4.1l1.7,1.7V3.6c0-0.6,0.4-1,1-1s1,0.4,1,1v6.7L3.7,10.3"/>
  36574. -</svg>
  36575. +<?xml version="1.0" encoding="utf-8"?>
  36576. +<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36577. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36578. +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36579. +    viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
  36580. +<path d="M13,17.5c-2.5,0-4.5-2-4.5-4.5c0-0.6-0.4-1-1-1s-1,0.4-1,1c0,3.6,2.9,6.5,6.5,6.5s6.5-2.9,6.5-6.5S16.6,6.5,13,6.5
  36581. +   c-0.6,0-1,0.4-1,1s0.4,1,1,1c2.5,0,4.5,2,4.5,4.5S15.5,17.5,13,17.5z M3.7,10.3c-0.6,0-1-0.4-1-1s0.4-1,1-1H7L5.3,6.6L1.2,2.5
  36582. +   c-0.4-0.4-0.4-1,0-1.4c0.2-0.2,0.4-0.3,0.7-0.3s0.5,0.1,0.7,0.3l4.1,4.1l1.7,1.7V3.6c0-0.6,0.4-1,1-1s1,0.4,1,1v6.7L3.7,10.3"/>
  36583. +</svg>
  36584. diff --git a/src/qt/res/src/tx_inout.svg b/src/qt/res/src/tx_inout.svg
  36585. index 5b66889..aa3d6ef 100644
  36586. --- a/src/qt/res/src/tx_inout.svg
  36587. +++ b/src/qt/res/src/tx_inout.svg
  36588. @@ -1,11 +1,11 @@
  36589. -<?xml version="1.0" encoding="utf-8"?>
  36590. -<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36591. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36592. -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36593. -    viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
  36594. -<path d="M14.7,19.5c-2.5,0-4.5-2-4.5-4.5c0-0.6-0.4-1-1-1c-0.6,0-1,0.4-1,1c0,3.6,2.9,6.5,6.5,6.5s6.5-2.9,6.5-6.5s-2.9-6.5-6.5-6.5
  36595. -   c-0.6,0-1,0.4-1,1s0.4,1,1,1c2.5,0,4.5,2,4.5,4.5S17.2,19.5,14.7,19.5z M5.9,12.5c-0.6,0-1-0.4-1-1s0.4-1,1-1h3.2L7.4,8.8L3.3,4.7
  36596. -   c-0.4-0.4-0.4-1,0-1.4C3.5,3.1,3.7,3,4,3s0.5,0.1,0.7,0.3l4.1,4.1l1.7,1.7V5.8c0-0.6,0.4-1,1-1s1,0.4,1,1v6.7L5.9,12.5 M7.5,0.8
  36597. -   c0.6,0,1,0.4,1,1s-0.4,1-1,1H4.3L6,4.5l4.1,4.1c0.4,0.4,0.4,1,0,1.4c-0.2,0.2-0.4,0.3-0.7,0.3S8.9,10.2,8.7,10L4.6,5.9L2.9,4.2v3.2
  36598. -   c0,0.6-0.4,1-1,1s-1-0.4-1-1V0.8L7.5,0.8"/>
  36599. -</svg>
  36600. +<?xml version="1.0" encoding="utf-8"?>
  36601. +<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36602. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36603. +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36604. +    viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
  36605. +<path d="M14.7,19.5c-2.5,0-4.5-2-4.5-4.5c0-0.6-0.4-1-1-1c-0.6,0-1,0.4-1,1c0,3.6,2.9,6.5,6.5,6.5s6.5-2.9,6.5-6.5s-2.9-6.5-6.5-6.5
  36606. +   c-0.6,0-1,0.4-1,1s0.4,1,1,1c2.5,0,4.5,2,4.5,4.5S17.2,19.5,14.7,19.5z M5.9,12.5c-0.6,0-1-0.4-1-1s0.4-1,1-1h3.2L7.4,8.8L3.3,4.7
  36607. +   c-0.4-0.4-0.4-1,0-1.4C3.5,3.1,3.7,3,4,3s0.5,0.1,0.7,0.3l4.1,4.1l1.7,1.7V5.8c0-0.6,0.4-1,1-1s1,0.4,1,1v6.7L5.9,12.5 M7.5,0.8
  36608. +   c0.6,0,1,0.4,1,1s-0.4,1-1,1H4.3L6,4.5l4.1,4.1c0.4,0.4,0.4,1,0,1.4c-0.2,0.2-0.4,0.3-0.7,0.3S8.9,10.2,8.7,10L4.6,5.9L2.9,4.2v3.2
  36609. +   c0,0.6-0.4,1-1,1s-1-0.4-1-1V0.8L7.5,0.8"/>
  36610. +</svg>
  36611. diff --git a/src/qt/res/src/verify.svg b/src/qt/res/src/verify.svg
  36612. index 1ff11b7..10c4c09 100644
  36613. --- a/src/qt/res/src/verify.svg
  36614. +++ b/src/qt/res/src/verify.svg
  36615. @@ -1,14 +1,14 @@
  36616. -<?xml version="1.0" encoding="utf-8"?>
  36617. -<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36618. -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36619. -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36620. -    viewBox="0 0 841.9 595.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve">
  36621. -<path d="M654.1,317.5c-14.9-9.9-37.2-2.5-44.6,12.4l-62,111.6l-34.7-34.7c-12.4-12.4-34.7-12.4-47.1,0c-12.4,12.4-12.4,34.7,0,47.1
  36622. -   l67,67c7.4,7.4,14.9,9.9,22.3,9.9h5c9.9-2.5,19.8-7.4,24.8-17.4l81.9-148.8C676.4,347.2,671.5,327.4,654.1,317.5z"/>
  36623. -<path d="M326.7,471.3H177.9V362.1l94.3-94.3c-5-14.9-7.4-29.8-7.4-44.6c0-81.9,67-148.8,148.8-148.8s148.8,67,148.8,148.8
  36624. -   s-67,148.8-148.8,148.8h-37.2v49.6h-49.6L326.7,471.3L326.7,471.3z M227.5,421.7h49.6v-49.6h49.6v-49.6h86.8
  36625. -   c54.6,0,99.2-44.6,99.2-99.2S468.1,124,413.5,124s-99.2,44.6-99.2,99.2c0,14.9,2.5,27.3,9.9,39.7l7.4,14.9L230,379.5v42.2H227.5z
  36626. -    M413.5,198.4c14.9,0,24.8,9.9,24.8,24.8c0,14.9-9.9,24.8-24.8,24.8c-14.9,0-24.8-9.9-24.8-24.8
  36627. -   C388.7,208.3,401.1,198.4,413.5,198.4 M413.5,173.6c-27.3,0-49.6,22.3-49.6,49.6c0,27.3,22.3,49.6,49.6,49.6
  36628. -   c27.3,0,49.6-22.3,49.6-49.6C463.1,195.9,443.3,173.6,413.5,173.6z"/>
  36629. -</svg>
  36630. +<?xml version="1.0" encoding="utf-8"?>
  36631. +<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
  36632. +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  36633. +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  36634. +    viewBox="0 0 841.9 595.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve">
  36635. +<path d="M654.1,317.5c-14.9-9.9-37.2-2.5-44.6,12.4l-62,111.6l-34.7-34.7c-12.4-12.4-34.7-12.4-47.1,0c-12.4,12.4-12.4,34.7,0,47.1
  36636. +   l67,67c7.4,7.4,14.9,9.9,22.3,9.9h5c9.9-2.5,19.8-7.4,24.8-17.4l81.9-148.8C676.4,347.2,671.5,327.4,654.1,317.5z"/>
  36637. +<path d="M326.7,471.3H177.9V362.1l94.3-94.3c-5-14.9-7.4-29.8-7.4-44.6c0-81.9,67-148.8,148.8-148.8s148.8,67,148.8,148.8
  36638. +   s-67,148.8-148.8,148.8h-37.2v49.6h-49.6L326.7,471.3L326.7,471.3z M227.5,421.7h49.6v-49.6h49.6v-49.6h86.8
  36639. +   c54.6,0,99.2-44.6,99.2-99.2S468.1,124,413.5,124s-99.2,44.6-99.2,99.2c0,14.9,2.5,27.3,9.9,39.7l7.4,14.9L230,379.5v42.2H227.5z
  36640. +    M413.5,198.4c14.9,0,24.8,9.9,24.8,24.8c0,14.9-9.9,24.8-24.8,24.8c-14.9,0-24.8-9.9-24.8-24.8
  36641. +   C388.7,208.3,401.1,198.4,413.5,198.4 M413.5,173.6c-27.3,0-49.6,22.3-49.6,49.6c0,27.3,22.3,49.6,49.6,49.6
  36642. +   c27.3,0,49.6-22.3,49.6-49.6C463.1,195.9,443.3,173.6,413.5,173.6z"/>
  36643. +</svg>
  36644. diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp
  36645. index d895fc1..3590a98 100644
  36646. --- a/src/qt/rpcconsole.cpp
  36647. +++ b/src/qt/rpcconsole.cpp
  36648. @@ -28,7 +28,6 @@
  36649.  #include <wallet/wallet.h>
  36650.  #endif
  36651.  
  36652. -#include <QDesktopWidget>
  36653.  #include <QKeyEvent>
  36654.  #include <QMenu>
  36655.  #include <QMessageBox>
  36656. @@ -429,11 +428,7 @@ RPCConsole::RPCConsole(const PlatformStyle *_platformStyle, QWidget *parent) :
  36657.      consoleFontSize(0)
  36658.  {
  36659.      ui->setupUi(this);
  36660. -    QSettings settings;
  36661. -    if (!restoreGeometry(settings.value("RPCConsoleWindowGeometry").toByteArray())) {
  36662. -        // Restore failed (perhaps missing setting), center the window
  36663. -        move(QApplication::desktop()->availableGeometry().center() - frameGeometry().center());
  36664. -    }
  36665. +    GUIUtil::restoreWindowGeometry("nRPCConsoleWindow", this->size(), this);
  36666.  
  36667.      ui->openDebugLogfileButton->setToolTip(ui->openDebugLogfileButton->toolTip().arg(tr(PACKAGE_NAME)));
  36668.  
  36669. @@ -471,14 +466,14 @@ RPCConsole::RPCConsole(const PlatformStyle *_platformStyle, QWidget *parent) :
  36670.      ui->detailWidget->hide();
  36671.      ui->peerHeading->setText(tr("Select a peer to view detailed information."));
  36672.  
  36673. +    QSettings settings;
  36674.      consoleFontSize = settings.value(fontSizeSettingsKey, QFontInfo(QFont()).pointSize()).toInt();
  36675.      clear();
  36676.  }
  36677.  
  36678.  RPCConsole::~RPCConsole()
  36679.  {
  36680. -    QSettings settings;
  36681. -    settings.setValue("RPCConsoleWindowGeometry", saveGeometry());
  36682. +    GUIUtil::saveWindowGeometry("nRPCConsoleWindow", this);
  36683.      RPCUnsetTimerInterface(rpcTimerInterface);
  36684.      delete rpcTimerInterface;
  36685.      delete ui;
  36686. diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
  36687. index e68d5d0..60f3271 100644
  36688. --- a/src/qt/sendcoinsdialog.cpp
  36689. +++ b/src/qt/sendcoinsdialog.cpp
  36690. @@ -114,6 +114,10 @@ SendCoinsDialog::SendCoinsDialog(const PlatformStyle *_platformStyle, QWidget *p
  36691.          settings.setValue("nFeeRadio", 1); // custom
  36692.      if (!settings.contains("nFeeRadio"))
  36693.          settings.setValue("nFeeRadio", 0); // recommended
  36694. +    if (!settings.contains("nCustomFeeRadio") && settings.contains("nTransactionFee") && settings.value("nTransactionFee").toLongLong() > 0) // compatibility
  36695. +        settings.setValue("nCustomFeeRadio", 1); // total at least
  36696. +    if (!settings.contains("nCustomFeeRadio"))
  36697. +        settings.setValue("nCustomFeeRadio", 0); // per kilobyte
  36698.      if (!settings.contains("nSmartFeeSliderPosition"))
  36699.          settings.setValue("nSmartFeeSliderPosition", 0);
  36700.      if (!settings.contains("nTransactionFee"))
  36701. @@ -123,6 +127,8 @@ SendCoinsDialog::SendCoinsDialog(const PlatformStyle *_platformStyle, QWidget *p
  36702.      ui->groupFee->setId(ui->radioSmartFee, 0);
  36703.      ui->groupFee->setId(ui->radioCustomFee, 1);
  36704.      ui->groupFee->button((int)std::max(0, std::min(1, settings.value("nFeeRadio").toInt())))->setChecked(true);
  36705. +    ui->groupCustomFee->setId(ui->radioCustomPerKilobyte, 0);
  36706. +    ui->groupCustomFee->button(0)->setChecked(true);
  36707.      ui->customFee->setValue(settings.value("nTransactionFee").toLongLong());
  36708.      ui->checkBoxMinimumFee->setChecked(settings.value("fPayOnlyMinFee").toBool());
  36709.      minimizeFeeSection(settings.value("fFeeSectionMinimized").toBool());
  36710. @@ -172,21 +178,20 @@ void SendCoinsDialog::setModel(WalletModel *_model)
  36711.          connect(ui->confTargetSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(coinControlUpdateLabels()));
  36712.          connect(ui->groupFee, SIGNAL(buttonClicked(int)), this, SLOT(updateFeeSectionControls()));
  36713.          connect(ui->groupFee, SIGNAL(buttonClicked(int)), this, SLOT(coinControlUpdateLabels()));
  36714. +        connect(ui->groupCustomFee, SIGNAL(buttonClicked(int)), this, SLOT(coinControlUpdateLabels()));
  36715.          connect(ui->customFee, SIGNAL(valueChanged()), this, SLOT(coinControlUpdateLabels()));
  36716.          connect(ui->checkBoxMinimumFee, SIGNAL(stateChanged(int)), this, SLOT(setMinimumFee()));
  36717.          connect(ui->checkBoxMinimumFee, SIGNAL(stateChanged(int)), this, SLOT(updateFeeSectionControls()));
  36718.          connect(ui->checkBoxMinimumFee, SIGNAL(stateChanged(int)), this, SLOT(coinControlUpdateLabels()));
  36719. -       // Litecoin: Disabled RBF UI
  36720. -       // connect(ui->optInRBF, SIGNAL(stateChanged(int)), this, SLOT(updateSmartFeeLabel()));
  36721. -       // connect(ui->optInRBF, SIGNAL(stateChanged(int)), this, SLOT(coinControlUpdateLabels()));
  36722. +        connect(ui->optInRBF, SIGNAL(stateChanged(int)), this, SLOT(updateSmartFeeLabel()));
  36723. +        connect(ui->optInRBF, SIGNAL(stateChanged(int)), this, SLOT(coinControlUpdateLabels()));
  36724.          ui->customFee->setSingleStep(CWallet::GetRequiredFee(1000));
  36725.          updateFeeSectionControls();
  36726.          updateMinFeeLabel();
  36727.          updateSmartFeeLabel();
  36728.  
  36729.          // set default rbf checkbox state
  36730. -        // Litecoin: Disabled RBF UI
  36731. -        //ui->optInRBF->setCheckState(model->getDefaultWalletRbf() ? Qt::Checked : Qt::Unchecked);
  36732. +        ui->optInRBF->setCheckState(model->getDefaultWalletRbf() ? Qt::Checked : Qt::Unchecked);
  36733.  
  36734.          // set the smartfee-sliders default value (wallets default conf.target or last stored value)
  36735.          QSettings settings;
  36736. @@ -209,6 +214,7 @@ SendCoinsDialog::~SendCoinsDialog()
  36737.      QSettings settings;
  36738.      settings.setValue("fFeeSectionMinimized", fFeeMinimized);
  36739.      settings.setValue("nFeeRadio", ui->groupFee->checkedId());
  36740. +    settings.setValue("nCustomFeeRadio", ui->groupCustomFee->checkedId());
  36741.      settings.setValue("nConfTarget", getConfTargetForIndex(ui->confTargetSelector->currentIndex()));
  36742.      settings.setValue("nTransactionFee", (qint64)ui->customFee->value());
  36743.      settings.setValue("fPayOnlyMinFee", ui->checkBoxMinimumFee->isChecked());
  36744. @@ -344,15 +350,12 @@ void SendCoinsDialog::on_sendButton_clicked()
  36745.      questionString.append(QString("<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span>")
  36746.          .arg(alternativeUnits.join(" " + tr("or") + "<br />")));
  36747.  
  36748. -    /*
  36749. -    Litecoin: Disabled RBF UI
  36750.      if (ui->optInRBF->isChecked())
  36751.      {
  36752.          questionString.append("<hr /><span>");
  36753.          questionString.append(tr("This transaction signals replaceability (optin-RBF)."));
  36754.          questionString.append("</span>");
  36755.      }
  36756. -    */
  36757.  
  36758.      SendConfirmationDialog confirmationDialog(tr("Confirm send coins"),
  36759.          questionString.arg(formatted.join("<br />")), SEND_CONFIRM_DELAY, this);
  36760. @@ -606,6 +609,7 @@ void SendCoinsDialog::on_buttonMinimizeFee_clicked()
  36761.  
  36762.  void SendCoinsDialog::setMinimumFee()
  36763.  {
  36764. +    ui->radioCustomPerKilobyte->setChecked(true);
  36765.      ui->customFee->setValue(CWallet::GetRequiredFee(1000));
  36766.  }
  36767.  
  36768. @@ -618,7 +622,7 @@ void SendCoinsDialog::updateFeeSectionControls()
  36769.      ui->labelFeeEstimation      ->setEnabled(ui->radioSmartFee->isChecked());
  36770.      ui->checkBoxMinimumFee      ->setEnabled(ui->radioCustomFee->isChecked());
  36771.      ui->labelMinFeeWarning      ->setEnabled(ui->radioCustomFee->isChecked());
  36772. -    ui->labelCustomPerKilobyte  ->setEnabled(ui->radioCustomFee->isChecked() && !ui->checkBoxMinimumFee->isChecked());
  36773. +    ui->radioCustomPerKilobyte  ->setEnabled(ui->radioCustomFee->isChecked() && !ui->checkBoxMinimumFee->isChecked());
  36774.      ui->customFee               ->setEnabled(ui->radioCustomFee->isChecked() && !ui->checkBoxMinimumFee->isChecked());
  36775.  }
  36776.  
  36777. @@ -630,7 +634,8 @@ void SendCoinsDialog::updateFeeMinimizedLabel()
  36778.      if (ui->radioSmartFee->isChecked())
  36779.          ui->labelFeeMinimized->setText(ui->labelSmartFee->text());
  36780.      else {
  36781. -        ui->labelFeeMinimized->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) + "/kB");
  36782. +        ui->labelFeeMinimized->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) +
  36783. +            ((ui->radioCustomPerKilobyte->isChecked()) ? "/kB" : ""));
  36784.      }
  36785.  }
  36786.  
  36787. @@ -652,8 +657,7 @@ void SendCoinsDialog::updateCoinControlState(CCoinControl& ctrl)
  36788.      // Avoid using global defaults when sending money from the GUI
  36789.      // Either custom fee will be used or if not selected, the confirmation target from dropdown box
  36790.      ctrl.m_confirm_target = getConfTargetForIndex(ui->confTargetSelector->currentIndex());
  36791. -    // Litecoin: Disabled RBF UI
  36792. -    //ctrl.signalRbf = ui->optInRBF->isChecked();
  36793. +    ctrl.signalRbf = ui->optInRBF->isChecked();
  36794.  }
  36795.  
  36796.  void SendCoinsDialog::updateSmartFeeLabel()
  36797. @@ -781,12 +785,14 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text)
  36798.          }
  36799.          else if (!addr.IsValid()) // Invalid address
  36800.          {
  36801. -            ui->labelCoinControlChangeLabel->setText(tr("Warning: Invalid Litecoin address"));
  36802. +            ui->labelCoinControlChangeLabel->setText(tr("Warning: Invalid LitecoinCash address"));
  36803.          }
  36804.          else // Valid address
  36805.          {
  36806. -            const CTxDestination dest = addr.Get();
  36807. -            if (!model->IsSpendable(dest)) {
  36808. +            CKeyID keyid;
  36809. +            addr.GetKeyID(keyid);
  36810. +            if (!model->havePrivKey(keyid)) // Unknown change address
  36811. +            {
  36812.                  ui->labelCoinControlChangeLabel->setText(tr("Warning: Unknown change address"));
  36813.  
  36814.                  // confirmation dialog
  36815. @@ -794,7 +800,7 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text)
  36816.                      QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel);
  36817.  
  36818.                  if(btnRetVal == QMessageBox::Yes)
  36819. -                    CoinControlDialog::coinControl->destChange = dest;
  36820. +                    CoinControlDialog::coinControl->destChange = addr.Get();
  36821.                  else
  36822.                  {
  36823.                      ui->lineEditCoinControlChange->setText("");
  36824. @@ -813,7 +819,7 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text)
  36825.                  else
  36826.                      ui->labelCoinControlChangeLabel->setText(tr("(no label)"));
  36827.  
  36828. -                CoinControlDialog::coinControl->destChange = dest;
  36829. +                CoinControlDialog::coinControl->destChange = addr.Get();
  36830.              }
  36831.          }
  36832.      }
  36833. diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp
  36834. index c8e04da..8f477da 100644
  36835. --- a/src/qt/splashscreen.cpp
  36836. +++ b/src/qt/splashscreen.cpp
  36837. @@ -30,7 +30,7 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle)
  36838.      QWidget(0, f), curAlignment(0)
  36839.  {
  36840.      // set reference point, paddings
  36841. -    int paddingRight            = 50;
  36842. +    int paddingRight            = 10;
  36843.      int paddingTop              = 50;
  36844.      int titleVersionVSpace      = 17;
  36845.      int titleCopyrightVSpace    = 40;
  36846. @@ -42,7 +42,7 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle)
  36847.  #endif
  36848.  
  36849.      // define text to place
  36850. -    QString titleText       = tr(PACKAGE_NAME);
  36851. +    QString titleText       = tr("Litecoin Cash");
  36852.      QString versionText     = QString("Version %1").arg(QString::fromStdString(FormatFullVersion()));
  36853.      QString copyrightText   = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2011, COPYRIGHT_YEAR)).c_str());
  36854.      QString titleAddText    = networkStyle->getTitleAddText();
  36855. diff --git a/src/qt/test/paymentrequestdata.h b/src/qt/test/paymentrequestdata.h
  36856. index 8431b94..0dbd7e0 100644
  36857. --- a/src/qt/test/paymentrequestdata.h
  36858. +++ b/src/qt/test/paymentrequestdata.h
  36859. @@ -435,7 +435,7 @@ d2hj739GDLz0b5KuJ2SG6VknMRQM976w/m2qlq0ccVGaaZ2zMIGfpzL3p6adwx/5\
  36860.  ";
  36861.  
  36862.  //
  36863. -// Payment request with amount overflow (amount is set to 84000001 LTC)
  36864. +// Payment request with amount overflow (amount is set to 84000001 LCC)
  36865.  //
  36866.  const char* paymentrequest5_cert2_BASE64 =
  36867.  "\
  36868. diff --git a/src/qt/test/rpcnestedtests.cpp b/src/qt/test/rpcnestedtests.cpp
  36869. index 23904a4..1088a2a 100644
  36870. --- a/src/qt/test/rpcnestedtests.cpp
  36871. +++ b/src/qt/test/rpcnestedtests.cpp
  36872. @@ -11,6 +11,7 @@
  36873.  #include "rpc/register.h"
  36874.  #include "rpc/server.h"
  36875.  #include "rpcconsole.h"
  36876. +#include "test/testutil.h"
  36877.  #include "test/test_bitcoin.h"
  36878.  #include "univalue.h"
  36879.  #include "util.h"
  36880. @@ -36,6 +37,11 @@ void RPCNestedTests::rpcNestedTests()
  36881.      // do some test setup
  36882.      // could be moved to a more generic place when we add more tests on QT level
  36883.      tableRPC.appendCommand("rpcNestedTest", &vRPCCommands[0]);
  36884. +    ClearDatadirCache();
  36885. +    std::string path = QDir::tempPath().toStdString() + "/" + strprintf("test_litecoincash_qt_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000)));
  36886. +    QDir dir(QString::fromStdString(path));
  36887. +    dir.mkpath(".");
  36888. +    gArgs.ForceSetArg("-datadir", path);
  36889.      //mempool.setSanityCheck(1.0);
  36890.  
  36891.      TestingSetup test;
  36892. @@ -130,4 +136,6 @@ void RPCNestedTests::rpcNestedTests()
  36893.      QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(result, "rpcNestedTest(abc,,abc)"), std::runtime_error); //don't tollerate empty arguments when using ,
  36894.      QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(result, "rpcNestedTest(abc,,)"), std::runtime_error); //don't tollerate empty arguments when using ,
  36895.  #endif
  36896. +
  36897. +    fs::remove_all(fs::path(path));
  36898.  }
  36899. diff --git a/src/qt/test/test_main.cpp b/src/qt/test/test_main.cpp
  36900. index 2f734d5..03fd278 100644
  36901. --- a/src/qt/test/test_main.cpp
  36902. +++ b/src/qt/test/test_main.cpp
  36903. @@ -53,10 +53,6 @@ int main(int argc, char *argv[])
  36904.      SetupNetworking();
  36905.      SelectParams(CBaseChainParams::MAIN);
  36906.      noui_connect();
  36907. -    ClearDatadirCache();
  36908. -    fs::path pathTemp = fs::temp_directory_path() / strprintf("test_bitcoin-qt_%lu_%i", (unsigned long)GetTime(), (int)GetRand(100000));
  36909. -    fs::create_directories(pathTemp);
  36910. -    gArgs.ForceSetArg("-datadir", pathTemp.string());
  36911.  
  36912.      bool fInvalid = false;
  36913.  
  36914. @@ -72,7 +68,7 @@ int main(int argc, char *argv[])
  36915.      // Don't remove this, it's needed to access
  36916.      // QApplication:: and QCoreApplication:: in the tests
  36917.      QApplication app(argc, argv);
  36918. -    app.setApplicationName("Litecoin-Qt-test");
  36919. +    app.setApplicationName("LitecoinCash-Qt-test");
  36920.  
  36921.      SSL_library_init();
  36922.  
  36923. @@ -101,7 +97,5 @@ int main(int argc, char *argv[])
  36924.      }
  36925.  #endif
  36926.  
  36927. -    fs::remove_all(pathTemp);
  36928. -
  36929.      return fInvalid;
  36930.  }
  36931. diff --git a/src/qt/test/uritests.cpp b/src/qt/test/uritests.cpp
  36932. index e7b5025..e62bcac 100644
  36933. --- a/src/qt/test/uritests.cpp
  36934. +++ b/src/qt/test/uritests.cpp
  36935. @@ -13,54 +13,57 @@ void URITests::uriTests()
  36936.  {
  36937.      SendCoinsRecipient rv;
  36938.      QUrl uri;
  36939. -    uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?req-dontexist="));
  36940. +    uri.setUrl(QString("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?req-dontexist="));
  36941.      QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
  36942.  
  36943. -    uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?dontexist="));
  36944. +    uri.setUrl(QString("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?dontexist="));
  36945.      QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
  36946. -    QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2"));
  36947. +    QVERIFY(rv.address == QString("CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns"));
  36948.      QVERIFY(rv.label == QString());
  36949.      QVERIFY(rv.amount == 0);
  36950.  
  36951. -    uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?label=Wikipedia Example Address"));
  36952. +    uri.setUrl(QString("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?label=Wikipedia Example Address"));
  36953.      QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
  36954. -    QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2"));
  36955. +    QVERIFY(rv.address == QString("CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns"));
  36956.      QVERIFY(rv.label == QString("Wikipedia Example Address"));
  36957.      QVERIFY(rv.amount == 0);
  36958.  
  36959. -    uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?amount=0.001"));
  36960. +    uri.setUrl(QString("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?amount=0.001"));
  36961.      QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
  36962. -    QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2"));
  36963. +    QVERIFY(rv.address == QString("CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns"));
  36964.      QVERIFY(rv.label == QString());
  36965. -    QVERIFY(rv.amount == 100000);
  36966. +    QVERIFY(rv.amount == 10000);
  36967.  
  36968. -    uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?amount=1.001"));
  36969. +    uri.setUrl(QString("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?amount=1.001"));
  36970.      QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
  36971. -    QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2"));
  36972. +    QVERIFY(rv.address == QString("CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns"));
  36973.      QVERIFY(rv.label == QString());
  36974. -    QVERIFY(rv.amount == 100100000);
  36975. +    QVERIFY(rv.amount == 10010000);
  36976. +
  36977. +    uri.setUrl(QString("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?amount=100&label=Wikipedia Example"));
  36978.  
  36979. -    uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?amount=100&label=Wikipedia Example"));
  36980.      QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
  36981. -    QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2"));
  36982. -    QVERIFY(rv.amount == 10000000000LL);
  36983. +    QVERIFY(rv.address == QString("CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns"));
  36984. +
  36985. +    QVERIFY(rv.amount == 1000000000LL);
  36986.      QVERIFY(rv.label == QString("Wikipedia Example"));
  36987.  
  36988. -    uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?message=Wikipedia Example Address"));
  36989. +    uri.setUrl(QString("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?message=Wikipedia Example Address"));
  36990.      QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
  36991. -    QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2"));
  36992. +    QVERIFY(rv.address == QString("CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns"));
  36993.      QVERIFY(rv.label == QString());
  36994.  
  36995. -    QVERIFY(GUIUtil::parseBitcoinURI("litecoin://LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?message=Wikipedia Example Address", &rv));
  36996. -    QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2"));
  36997. +    QVERIFY(GUIUtil::parseBitcoinURI("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?message=Wikipedia Example Address", &rv));
  36998. +    printf("%s",rv.address.toLatin1().data());
  36999. +    QVERIFY(rv.address == QString("CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns"));
  37000.      QVERIFY(rv.label == QString());
  37001.  
  37002. -    uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?req-message=Wikipedia Example Address"));
  37003. +    uri.setUrl(QString("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?req-message=Wikipedia Example Address"));
  37004.      QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
  37005.  
  37006. -    uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?amount=1,000&label=Wikipedia Example"));
  37007. +    uri.setUrl(QString("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?amount=1,000&label=Wikipedia Example"));
  37008.      QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
  37009.  
  37010. -    uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?amount=1,000.0&label=Wikipedia Example"));
  37011. +    uri.setUrl(QString("litecoincash:CKfokwkxV3U64sRqZkJ62a3LXmsuFWnNns?amount=1,000.0&label=Wikipedia Example"));
  37012.      QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
  37013.  }
  37014. diff --git a/src/qt/test/wallettests.cpp b/src/qt/test/wallettests.cpp
  37015. index 0f4b934..ff1eb59 100644
  37016. --- a/src/qt/test/wallettests.cpp
  37017. +++ b/src/qt/test/wallettests.cpp
  37018. @@ -63,12 +63,10 @@ uint256 SendCoins(CWallet& wallet, SendCoinsDialog& sendCoinsDialog, const CBitc
  37019.      SendCoinsEntry* entry = qobject_cast<SendCoinsEntry*>(entries->itemAt(0)->widget());
  37020.      entry->findChild<QValidatedLineEdit*>("payTo")->setText(QString::fromStdString(address.ToString()));
  37021.      entry->findChild<BitcoinAmountField*>("payAmount")->setValue(amount);
  37022. -    /* Litecoin: Disabled RBF UI
  37023.      sendCoinsDialog.findChild<QFrame*>("frameFee")
  37024.          ->findChild<QFrame*>("frameFeeSelection")
  37025.          ->findChild<QCheckBox*>("optInRBF")
  37026.          ->setCheckState(rbf ? Qt::Checked : Qt::Unchecked);
  37027. -    */
  37028.      uint256 txid;
  37029.      boost::signals2::scoped_connection c(wallet.NotifyTransactionChanged.connect([&txid](CWallet*, const uint256& hash, ChangeType status) {
  37030.          if (status == CT_NEW) txid = hash;
  37031. @@ -181,11 +179,10 @@ void TestSendCoins()
  37032.      QVERIFY(FindTx(*transactionTableModel, txid2).isValid());
  37033.  
  37034.      // Call bumpfee. Test disabled, canceled, enabled, then failing cases.
  37035. -    // Litecoin: Disable BumpFee tests
  37036. -    // BumpFee(transactionView, txid1, true /* expect disabled */, "not BIP 125 replaceable" /* expected error */, false /* cancel */);
  37037. -    // BumpFee(transactionView, txid2, false /* expect disabled */, {} /* expected error */, true /* cancel */);
  37038. -    // BumpFee(transactionView, txid2, false /* expect disabled */, {} /* expected error */, false /* cancel */);
  37039. -    // BumpFee(transactionView, txid2, true /* expect disabled */, "already bumped" /* expected error */, false /* cancel */);
  37040. +    BumpFee(transactionView, txid1, true /* expect disabled */, "not BIP 125 replaceable" /* expected error */, false /* cancel */);
  37041. +    BumpFee(transactionView, txid2, false /* expect disabled */, {} /* expected error */, true /* cancel */);
  37042. +    BumpFee(transactionView, txid2, false /* expect disabled */, {} /* expected error */, false /* cancel */);
  37043. +    BumpFee(transactionView, txid2, true /* expect disabled */, "already bumped" /* expected error */, false /* cancel */);
  37044.  
  37045.      bitdb.Flush(true);
  37046.      bitdb.Reset();
  37047. diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
  37048. index 39dfdb5..53c38da 100644
  37049. --- a/src/qt/transactionview.cpp
  37050. +++ b/src/qt/transactionview.cpp
  37051. @@ -33,7 +33,6 @@
  37052.  #include <QScrollBar>
  37053.  #include <QSignalMapper>
  37054.  #include <QTableView>
  37055. -#include <QTimer>
  37056.  #include <QUrl>
  37057.  #include <QVBoxLayout>
  37058.  
  37059. @@ -113,17 +112,6 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
  37060.      amountWidget->setValidator(new QDoubleValidator(0, 1e20, 8, this));
  37061.      hlayout->addWidget(amountWidget);
  37062.  
  37063. -    // Delay before filtering transactions in ms
  37064. -    static const int input_filter_delay = 200;
  37065. -
  37066. -    QTimer* amount_typing_delay = new QTimer(this);
  37067. -    amount_typing_delay->setSingleShot(true);
  37068. -    amount_typing_delay->setInterval(input_filter_delay);
  37069. -
  37070. -    QTimer* prefix_typing_delay = new QTimer(this);
  37071. -    prefix_typing_delay->setSingleShot(true);
  37072. -    prefix_typing_delay->setInterval(input_filter_delay);
  37073. -
  37074.      QVBoxLayout *vlayout = new QVBoxLayout(this);
  37075.      vlayout->setContentsMargins(0,0,0,0);
  37076.      vlayout->setSpacing(0);
  37077. @@ -185,10 +173,8 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
  37078.      connect(dateWidget, SIGNAL(activated(int)), this, SLOT(chooseDate(int)));
  37079.      connect(typeWidget, SIGNAL(activated(int)), this, SLOT(chooseType(int)));
  37080.      connect(watchOnlyWidget, SIGNAL(activated(int)), this, SLOT(chooseWatchonly(int)));
  37081. -    connect(amountWidget, SIGNAL(textChanged(QString)), amount_typing_delay, SLOT(start()));
  37082. -    connect(amount_typing_delay, SIGNAL(timeout()), this, SLOT(changedAmount()));
  37083. -    connect(addressWidget, SIGNAL(textChanged(QString)), prefix_typing_delay, SLOT(start()));
  37084. -    connect(prefix_typing_delay, SIGNAL(timeout()), this, SLOT(changedPrefix()));
  37085. +    connect(addressWidget, SIGNAL(textChanged(QString)), this, SLOT(changedPrefix(QString)));
  37086. +    connect(amountWidget, SIGNAL(textChanged(QString)), this, SLOT(changedAmount(QString)));
  37087.  
  37088.      connect(view, SIGNAL(doubleClicked(QModelIndex)), this, SIGNAL(doubleClicked(QModelIndex)));
  37089.      connect(view, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextualMenu(QPoint)));
  37090. @@ -326,19 +312,20 @@ void TransactionView::chooseWatchonly(int idx)
  37091.          (TransactionFilterProxy::WatchOnlyFilter)watchOnlyWidget->itemData(idx).toInt());
  37092.  }
  37093.  
  37094. -void TransactionView::changedPrefix()
  37095. +void TransactionView::changedPrefix(const QString &prefix)
  37096.  {
  37097.      if(!transactionProxyModel)
  37098.          return;
  37099. -    transactionProxyModel->setAddressPrefix(addressWidget->text());
  37100. +    transactionProxyModel->setAddressPrefix(prefix);
  37101.  }
  37102.  
  37103. -void TransactionView::changedAmount()
  37104. +void TransactionView::changedAmount(const QString &amount)
  37105.  {
  37106.      if(!transactionProxyModel)
  37107.          return;
  37108.      CAmount amount_parsed = 0;
  37109. -    if (BitcoinUnits::parse(model->getOptionsModel()->getDisplayUnit(), amountWidget->text(), &amount_parsed)) {
  37110. +    if(BitcoinUnits::parse(model->getOptionsModel()->getDisplayUnit(), amount, &amount_parsed))
  37111. +    {
  37112.          transactionProxyModel->setMinAmount(amount_parsed);
  37113.      }
  37114.      else
  37115. diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h
  37116. index 5b4cfd4..52e57ca 100644
  37117. --- a/src/qt/transactionview.h
  37118. +++ b/src/qt/transactionview.h
  37119. @@ -112,8 +112,8 @@ public Q_SLOTS:
  37120.      void chooseDate(int idx);
  37121.      void chooseType(int idx);
  37122.      void chooseWatchonly(int idx);
  37123. -    void changedAmount();
  37124. -    void changedPrefix();
  37125. +    void changedPrefix(const QString &prefix);
  37126. +    void changedAmount(const QString &amount);
  37127.      void exportClicked();
  37128.      void focusTransaction(const QModelIndex&);
  37129.  
  37130. diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp
  37131. index 7ff0180..64bdf4f 100644
  37132. --- a/src/qt/utilitydialog.cpp
  37133. +++ b/src/qt/utilitydialog.cpp
  37134. @@ -70,7 +70,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about) :
  37135.      } else {
  37136.          setWindowTitle(tr("Command-line options"));
  37137.          QString header = tr("Usage:") + "\n" +
  37138. -            "  litecoin-qt [" + tr("command-line options") + "]                     " + "\n";
  37139. +            "  litecoincash-qt [" + tr("command-line options") + "]                     " + "\n";
  37140.          QTextCursor cursor(ui->helpMessage->document());
  37141.          cursor.insertText(version);
  37142.          cursor.insertBlock();
  37143. diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp
  37144. index f318332..ef5d89b 100644
  37145. --- a/src/qt/walletframe.cpp
  37146. +++ b/src/qt/walletframe.cpp
  37147. @@ -178,6 +178,13 @@ void WalletFrame::unlockWallet()
  37148.          walletView->unlockWallet();
  37149.  }
  37150.  
  37151. +void WalletFrame::importPrivateKey()
  37152. +{
  37153. +    WalletView *walletView = currentWalletView();
  37154. +    if(walletView)
  37155. +        walletView->importPrivateKey();
  37156. +}
  37157. +
  37158.  void WalletFrame::usedSendingAddresses()
  37159.  {
  37160.      WalletView *walletView = currentWalletView();
  37161. diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h
  37162. index 42ce69f..73645d6 100644
  37163. --- a/src/qt/walletframe.h
  37164. +++ b/src/qt/walletframe.h
  37165. @@ -84,6 +84,8 @@ public Q_SLOTS:
  37166.      void changePassphrase();
  37167.      /** Ask for passphrase to unlock wallet temporarily */
  37168.      void unlockWallet();
  37169. +    /** LitecoinCash: Ask for and import a private key */
  37170. +    void importPrivateKey();
  37171.  
  37172.      /** Show used sending addresses */
  37173.      void usedSendingAddresses();
  37174. diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp
  37175. index aedbf22..3ca726d 100644
  37176. --- a/src/qt/walletmodel.cpp
  37177. +++ b/src/qt/walletmodel.cpp
  37178. @@ -561,9 +561,9 @@ bool WalletModel::getPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const
  37179.      return wallet->GetPubKey(address, vchPubKeyOut);
  37180.  }
  37181.  
  37182. -bool WalletModel::IsSpendable(const CTxDestination& dest) const
  37183. +bool WalletModel::havePrivKey(const CKeyID &address) const
  37184.  {
  37185. -    return IsMine(*wallet, dest) & ISMINE_SPENDABLE;
  37186. +    return wallet->HaveKey(address);
  37187.  }
  37188.  
  37189.  bool WalletModel::getPrivKey(const CKeyID &address, CKey& vchPrivKeyOut) const
  37190. diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h
  37191. index 05733f8..6be36a5 100644
  37192. --- a/src/qt/walletmodel.h
  37193. +++ b/src/qt/walletmodel.h
  37194. @@ -190,7 +190,7 @@ public:
  37195.      UnlockContext requestUnlock();
  37196.  
  37197.      bool getPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const;
  37198. -    bool IsSpendable(const CTxDestination& dest) const;
  37199. +    bool havePrivKey(const CKeyID &address) const;
  37200.      bool getPrivKey(const CKeyID &address, CKey& vchPrivKeyOut) const;
  37201.      void getOutputs(const std::vector<COutPoint>& vOutpoints, std::vector<COutput>& vOutputs);
  37202.      bool isSpent(const COutPoint& outpoint) const;
  37203. diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
  37204. index 971f5e0..e1549af 100644
  37205. --- a/src/qt/walletview.cpp
  37206. +++ b/src/qt/walletview.cpp
  37207. @@ -18,6 +18,9 @@
  37208.  #include "transactiontablemodel.h"
  37209.  #include "transactionview.h"
  37210.  #include "walletmodel.h"
  37211. +#include "wallet/rpcwallet.h"
  37212. +#include "wallet/wallet.h"
  37213. +#include "validation.h" // for cs_main
  37214.  
  37215.  #include "ui_interface.h"
  37216.  
  37217. @@ -28,6 +31,9 @@
  37218.  #include <QProgressDialog>
  37219.  #include <QPushButton>
  37220.  #include <QVBoxLayout>
  37221. +#include <QInputDialog>
  37222. +
  37223. +#include <boost/thread.hpp>
  37224.  
  37225.  WalletView::WalletView(const PlatformStyle *_platformStyle, QWidget *parent):
  37226.      QStackedWidget(parent),
  37227. @@ -100,7 +106,7 @@ void WalletView::setBitcoinGUI(BitcoinGUI *gui)
  37228.          // Pass through transaction notifications
  37229.          connect(this, SIGNAL(incomingTransaction(QString,int,CAmount,QString,QString,QString)), gui, SLOT(incomingTransaction(QString,int,CAmount,QString,QString,QString)));
  37230.  
  37231. -        // Connect HD enabled state signal
  37232. +        // Connect HD enabled state signal
  37233.          connect(this, SIGNAL(hdEnabledStatusChanged(int)), gui, SLOT(setHDStatus(int)));
  37234.      }
  37235.  }
  37236. @@ -328,3 +334,79 @@ void WalletView::requestedSyncWarningInfo()
  37237.  {
  37238.      Q_EMIT outOfSyncWarningClicked();
  37239.  }
  37240. +
  37241. +void WalletView::doRescan(CWallet* pwallet, int64_t startTime)
  37242. +{
  37243. +   pwallet->RescanFromTime(TIMESTAMP_MIN, true);
  37244. +   QMessageBox::information(0, tr(PACKAGE_NAME), tr("Rescan complete."));
  37245. +}
  37246. +
  37247. +// LitecoinCash: Helper to import a private key instead of making the user go to the debug console
  37248. +void WalletView::importPrivateKey()
  37249. +{
  37250. +    bool ok;
  37251. +    QString privKey = QInputDialog::getText(0, tr(PACKAGE_NAME), tr("Enter a Litecoin/LitecoinCash private key to import into your wallet."), QLineEdit::Normal, "", &ok);
  37252. +    if (ok && !privKey.isEmpty()) {
  37253. +        CWallet* pwallet = GetWalletForQTKeyImport();
  37254. +
  37255. +        if(!pwallet) {
  37256. +            QMessageBox::critical(0, tr(PACKAGE_NAME), tr("Couldn't select valid wallet."));
  37257. +            return;
  37258. +        }
  37259. +
  37260. +        if (!EnsureWalletIsAvailable(pwallet, false)) {
  37261. +            QMessageBox::critical(0, tr(PACKAGE_NAME), tr("Wallet isn't open."));
  37262. +            return;
  37263. +        }
  37264. +
  37265. +        LOCK2(cs_main, pwallet->cs_wallet);
  37266. +
  37267. +        WalletModel::UnlockContext ctx(walletModel->requestUnlock());
  37268. +        if(!ctx.isValid())  // Unlock wallet was cancelled
  37269. +            return;
  37270. +
  37271. +        CBitcoinSecret vchSecret;
  37272. +        if (!vchSecret.SetString(privKey.toStdString())) {
  37273. +            QMessageBox::critical(0, tr(PACKAGE_NAME), tr("This doesn't appear to be a Litecoin/LitecoinCash private key."));
  37274. +            return;
  37275. +        }
  37276. +
  37277. +        CKey key = vchSecret.GetKey();
  37278. +        if (!key.IsValid()) {
  37279. +            QMessageBox::critical(0, tr(PACKAGE_NAME), tr("Private key outside allowed range."));
  37280. +            return;
  37281. +        }
  37282. +
  37283. +        CPubKey pubkey = key.GetPubKey();
  37284. +        assert(key.VerifyPubKey(pubkey));
  37285. +        CKeyID vchAddress = pubkey.GetID();
  37286. +        {
  37287. +            pwallet->MarkDirty();
  37288. +            pwallet->SetAddressBook(vchAddress, "", "receive");
  37289. +
  37290. +            if (pwallet->HaveKey(vchAddress)) {
  37291. +                QMessageBox::critical(0, tr(PACKAGE_NAME), tr("This key has already been added."));
  37292. +                return;
  37293. +            }
  37294. +
  37295. +            pwallet->mapKeyMetadata[vchAddress].nCreateTime = 1;
  37296. +
  37297. +            if (!pwallet->AddKeyPubKey(key, pubkey)) {
  37298. +                QMessageBox::critical(0, tr(PACKAGE_NAME), tr("Error adding key to wallet."));
  37299. +                return;
  37300. +            }
  37301. +
  37302. +            pwallet->UpdateTimeFirstKey(1); // Mark as rescan needed, even if we don't do it now (it'll happen next restart if not before)
  37303. +            
  37304. +            QMessageBox msgBox;
  37305. +            msgBox.setText(tr("Key successfully added to wallet."));
  37306. +            msgBox.setInformativeText("Rescan now? (Select No if you have more keys to import)");
  37307. +            msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
  37308. +            msgBox.setDefaultButton(QMessageBox::No);
  37309. +            
  37310. +            if (msgBox.exec() == QMessageBox::Yes)
  37311. +                boost::thread t{WalletView::doRescan, pwallet, TIMESTAMP_MIN};                
  37312. +        }
  37313. +        return;
  37314. +    }
  37315. +}
  37316. diff --git a/src/qt/walletview.h b/src/qt/walletview.h
  37317. index c1f8422..b7253f2 100644
  37318. --- a/src/qt/walletview.h
  37319. +++ b/src/qt/walletview.h
  37320. @@ -6,6 +6,7 @@
  37321.  #define BITCOIN_QT_WALLETVIEW_H
  37322.  
  37323.  #include "amount.h"
  37324. +#include "wallet/wallet.h"
  37325.  
  37326.  #include <QStackedWidget>
  37327.  
  37328. @@ -54,6 +55,8 @@ public:
  37329.  
  37330.      void showOutOfSyncWarning(bool fShow);
  37331.  
  37332. +    static void doRescan(CWallet* pwallet, int64_t startTime);
  37333. +
  37334.  private:
  37335.      ClientModel *clientModel;
  37336.      WalletModel *walletModel;
  37337. @@ -98,6 +101,8 @@ public Q_SLOTS:
  37338.      void changePassphrase();
  37339.      /** Ask for passphrase to unlock wallet temporarily */
  37340.      void unlockWallet();
  37341. +    /** LitecoinCash: Ask for and import a private key */
  37342. +    void importPrivateKey();
  37343.  
  37344.      /** Show used sending addresses */
  37345.      void usedSendingAddresses();
  37346. diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp
  37347. index f91bfdc..ec68943 100644
  37348. --- a/src/rpc/blockchain.cpp
  37349. +++ b/src/rpc/blockchain.cpp
  37350. @@ -944,10 +944,9 @@ UniValue gettxout(const JSONRPCRequest& request)
  37351.              "gettxout \"txid\" n ( include_mempool )\n"
  37352.              "\nReturns details about an unspent transaction output.\n"
  37353.              "\nArguments:\n"
  37354. -            "1. \"txid\"             (string, required) The transaction id\n"
  37355. -            "2. \"n\"                (numeric, required) vout number\n"
  37356. -            "3. \"include_mempool\"  (boolean, optional) Whether to include the mempool. Default: true."
  37357. -            "     Note that an unspent output that is spent in the mempool won't appear.\n"
  37358. +            "1. \"txid\"       (string, required) The transaction id\n"
  37359. +            "2. n              (numeric, required) vout number\n"
  37360. +            "3. include_mempool  (boolean, optional) Whether to include the mempool\n"
  37361.              "\nResult:\n"
  37362.              "{\n"
  37363.              "  \"bestblock\" : \"hash\",    (string) the block hash\n"
  37364. @@ -958,8 +957,8 @@ UniValue gettxout(const JSONRPCRequest& request)
  37365.              "     \"hex\" : \"hex\",        (string) \n"
  37366.              "     \"reqSigs\" : n,          (numeric) Number of required signatures\n"
  37367.              "     \"type\" : \"pubkeyhash\", (string) The type, eg pubkeyhash\n"
  37368. -            "     \"addresses\" : [          (array of string) array of litecoin addresses\n"
  37369. -            "        \"address\"     (string) litecoin address\n"
  37370. +            "     \"addresses\" : [          (array of string) array of litecoincash addresses\n"
  37371. +            "        \"address\"     (string) litecoincash address\n"
  37372.              "        ,...\n"
  37373.              "     ]\n"
  37374.              "  },\n"
  37375. diff --git a/src/rpc/client.cpp b/src/rpc/client.cpp
  37376. index 406ad2f..4179453 100644
  37377. --- a/src/rpc/client.cpp
  37378. +++ b/src/rpc/client.cpp
  37379. @@ -115,8 +115,8 @@ static const CRPCConvertParam vRPCConvertParams[] =
  37380.      { "keypoolrefill", 0, "newsize" },
  37381.      { "getrawmempool", 0, "verbose" },
  37382.      { "estimatefee", 0, "nblocks" },
  37383. -    { "estimatesmartfee", 0, "conf_target" },
  37384. -    { "estimaterawfee", 0, "conf_target" },
  37385. +    { "estimatesmartfee", 0, "nblocks" },
  37386. +    { "estimaterawfee", 0, "nblocks" },
  37387.      { "estimaterawfee", 1, "threshold" },
  37388.      { "prioritisetransaction", 1, "dummy" },
  37389.      { "prioritisetransaction", 2, "fee_delta" },
  37390. diff --git a/src/rpc/mining.cpp b/src/rpc/mining.cpp
  37391. index 9a970fd..931fdf5 100644
  37392. --- a/src/rpc/mining.cpp
  37393. +++ b/src/rpc/mining.cpp
  37394. @@ -161,7 +161,7 @@ UniValue generatetoaddress(const JSONRPCRequest& request)
  37395.              "\nMine blocks immediately to a specified address (before the RPC call returns)\n"
  37396.              "\nArguments:\n"
  37397.              "1. nblocks      (numeric, required) How many blocks are generated immediately.\n"
  37398. -            "2. address      (string, required) The address to send the newly generated litecoin to.\n"
  37399. +            "2. address      (string, required) The address to send the newly generated litecoincash to.\n"
  37400.              "3. maxtries     (numeric, optional) How many iterations to try (default = 1000000).\n"
  37401.              "\nResult:\n"
  37402.              "[ blockhashes ]     (array) hashes of blocks generated\n"
  37403. @@ -195,6 +195,7 @@ UniValue getmininginfo(const JSONRPCRequest& request)
  37404.              "\nResult:\n"
  37405.              "{\n"
  37406.              "  \"blocks\": nnn,             (numeric) The current block\n"
  37407. +            "  \"currentblocksize\": nnn,   (numeric) The last block size\n"
  37408.              "  \"currentblockweight\": nnn, (numeric) The last block weight\n"
  37409.              "  \"currentblocktx\": nnn,     (numeric) The last block transaction\n"
  37410.              "  \"difficulty\": xxx.xxxxx    (numeric) The current difficulty\n"
  37411. @@ -213,6 +214,7 @@ UniValue getmininginfo(const JSONRPCRequest& request)
  37412.  
  37413.      UniValue obj(UniValue::VOBJ);
  37414.      obj.push_back(Pair("blocks",           (int)chainActive.Height()));
  37415. +    obj.push_back(Pair("currentblocksize", (uint64_t)nLastBlockSize));
  37416.      obj.push_back(Pair("currentblockweight", (uint64_t)nLastBlockWeight));
  37417.      obj.push_back(Pair("currentblocktx",   (uint64_t)nLastBlockTx));
  37418.      obj.push_back(Pair("difficulty",       (double)GetDifficulty()));
  37419. @@ -438,10 +440,10 @@ UniValue getblocktemplate(const JSONRPCRequest& request)
  37420.          throw JSONRPCError(RPC_CLIENT_P2P_DISABLED, "Error: Peer-to-peer functionality missing or disabled");
  37421.  
  37422.      if (g_connman->GetNodeCount(CConnman::CONNECTIONS_ALL) == 0)
  37423. -        throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "Litecoin is not connected!");
  37424. +        throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "LitecoinCash is not connected!");
  37425.  
  37426.      if (IsInitialBlockDownload())
  37427. -        throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Litecoin is downloading blocks...");
  37428. +        throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "LitecoinCash is downloading blocks...");
  37429.  
  37430.      static unsigned int nTransactionsUpdatedLast;
  37431.  
  37432. @@ -823,7 +825,7 @@ UniValue estimatesmartfee(const JSONRPCRequest& request)
  37433.              "       \"CONSERVATIVE\"\n"
  37434.              "\nResult:\n"
  37435.              "{\n"
  37436. -            "  \"feerate\" : x.x,     (numeric, optional) estimate fee-per-kilobyte (in LTC)\n"
  37437. +            "  \"feerate\" : x.x,     (numeric, optional) estimate fee-per-kilobyte (in LCC)\n"
  37438.              "  \"errors\": [ str... ] (json array of strings, optional) Errors encountered during processing\n"
  37439.              "  \"blocks\" : n         (numeric) block number where estimate was found\n"
  37440.              "}\n"
  37441. diff --git a/src/rpc/misc.cpp b/src/rpc/misc.cpp
  37442. index adc24f6..8b2ce05 100644
  37443. --- a/src/rpc/misc.cpp
  37444. +++ b/src/rpc/misc.cpp
  37445. @@ -56,7 +56,7 @@ UniValue getinfo(const JSONRPCRequest& request)
  37446.              "  \"version\": xxxxx,           (numeric) the server version\n"
  37447.              "  \"protocolversion\": xxxxx,   (numeric) the protocol version\n"
  37448.              "  \"walletversion\": xxxxx,     (numeric) the wallet version\n"
  37449. -            "  \"balance\": xxxxxxx,         (numeric) the total litecoin balance of the wallet\n"
  37450. +            "  \"balance\": xxxxxxx,         (numeric) the total litecoincash balance of the wallet\n"
  37451.              "  \"blocks\": xxxxxx,           (numeric) the current number of blocks processed in the server\n"
  37452.              "  \"timeoffset\": xxxxx,        (numeric) the time offset\n"
  37453.              "  \"connections\": xxxxx,       (numeric) the number of connections\n"
  37454. @@ -168,13 +168,13 @@ UniValue validateaddress(const JSONRPCRequest& request)
  37455.      if (request.fHelp || request.params.size() != 1)
  37456.          throw std::runtime_error(
  37457.              "validateaddress \"address\"\n"
  37458. -            "\nReturn information about the given litecoin address.\n"
  37459. +            "\nReturn information about the given litecoincash address.\n"
  37460.              "\nArguments:\n"
  37461. -            "1. \"address\"     (string, required) The litecoin address to validate\n"
  37462. +            "1. \"address\"     (string, required) The litecoincash address to validate\n"
  37463.              "\nResult:\n"
  37464.              "{\n"
  37465.              "  \"isvalid\" : true|false,       (boolean) If the address is valid or not. If not, this is the only property returned.\n"
  37466. -            "  \"address\" : \"address\", (string) The litecoin address validated\n"
  37467. +            "  \"address\" : \"address\", (string) The litecoincash address validated\n"
  37468.              "  \"scriptPubKey\" : \"hex\",       (string) The hex encoded scriptPubKey generated by the address\n"
  37469.              "  \"ismine\" : true|false,        (boolean) If the address is yours or not\n"
  37470.              "  \"iswatchonly\" : true|false,   (boolean) If the address is watchonly\n"
  37471. @@ -333,9 +333,9 @@ UniValue createmultisig(const JSONRPCRequest& request)
  37472.  
  37473.              "\nArguments:\n"
  37474.              "1. nrequired      (numeric, required) The number of required signatures out of the n keys or addresses.\n"
  37475. -            "2. \"keys\"       (string, required) A json array of keys which are litecoin addresses or hex-encoded public keys\n"
  37476. +            "2. \"keys\"       (string, required) A json array of keys which are litecoincash addresses or hex-encoded public keys\n"
  37477.              "     [\n"
  37478. -            "       \"key\"    (string) litecoin address or hex-encoded public key\n"
  37479. +            "       \"key\"    (string) litecoincash address or hex-encoded public key\n"
  37480.              "       ,...\n"
  37481.              "     ]\n"
  37482.  
  37483. @@ -373,7 +373,7 @@ UniValue verifymessage(const JSONRPCRequest& request)
  37484.              "verifymessage \"address\" \"signature\" \"message\"\n"
  37485.              "\nVerify a signed message\n"
  37486.              "\nArguments:\n"
  37487. -            "1. \"address\"         (string, required) The litecoin address to use for the signature.\n"
  37488. +            "1. \"address\"         (string, required) The litecoincash address to use for the signature.\n"
  37489.              "2. \"signature\"       (string, required) The signature provided by the signer in base 64 encoding (see signmessage).\n"
  37490.              "3. \"message\"         (string, required) The message that was signed.\n"
  37491.              "\nResult:\n"
  37492. @@ -642,7 +642,7 @@ UniValue echo(const JSONRPCRequest& request)
  37493.              "echo|echojson \"message\" ...\n"
  37494.              "\nSimply echo back the input arguments. This command is for testing.\n"
  37495.              "\nThe difference between echo and echojson is that echojson has argument conversion enabled in the client-side table in"
  37496. -            "litecoin-cli and the GUI. There is no server-side difference."
  37497. +            "litecoincash-cli and the GUI. There is no server-side difference."
  37498.          );
  37499.  
  37500.      return request.params;
  37501. diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp
  37502. index 4248d2c..2082d29 100644
  37503. --- a/src/rpc/net.cpp
  37504. +++ b/src/rpc/net.cpp
  37505. @@ -156,7 +156,7 @@ UniValue getpeerinfo(const JSONRPCRequest& request)
  37506.          // their ver message.
  37507.          obj.push_back(Pair("subver", stats.cleanSubVer));
  37508.          obj.push_back(Pair("inbound", stats.fInbound));
  37509. -        obj.push_back(Pair("addnode", stats.m_manual_connection));
  37510. +        obj.push_back(Pair("addnode", stats.fAddnode));
  37511.          obj.push_back(Pair("startingheight", stats.nStartingHeight));
  37512.          if (fStateStats) {
  37513.              obj.push_back(Pair("banscore", statestats.nMisbehavior));
  37514. @@ -247,9 +247,9 @@ UniValue disconnectnode(const JSONRPCRequest& request)
  37515.              "1. \"address\"     (string, optional) The IP address/port of the node\n"
  37516.              "2. \"nodeid\"      (number, optional) The node ID (see getpeerinfo for node IDs)\n"
  37517.              "\nExamples:\n"
  37518. -            + HelpExampleCli("disconnectnode", "\"192.168.0.6:8333\"")
  37519. +            + HelpExampleCli("disconnectnode", "\"192.168.0.6:62458\"")
  37520.              + HelpExampleCli("disconnectnode", "\"\" 1")
  37521. -            + HelpExampleRpc("disconnectnode", "\"192.168.0.6:8333\"")
  37522. +            + HelpExampleRpc("disconnectnode", "\"192.168.0.6:62458\"")
  37523.              + HelpExampleRpc("disconnectnode", "\"\", 1")
  37524.          );
  37525.  
  37526. @@ -294,7 +294,7 @@ UniValue getaddednodeinfo(const JSONRPCRequest& request)
  37527.              "    \"connected\" : true|false,          (boolean) If connected\n"
  37528.              "    \"addresses\" : [                    (list of objects) Only when connected = true\n"
  37529.              "       {\n"
  37530. -            "         \"address\" : \"192.168.0.201:9333\",  (string) The litecoin server IP and port we're connected to\n"
  37531. +            "         \"address\" : \"192.168.0.201:9333\",  (string) The litecoincash server IP and port we're connected to\n"
  37532.              "         \"connected\" : \"outbound\"           (string) connection, inbound or outbound\n"
  37533.              "       }\n"
  37534.              "     ]\n"
  37535. diff --git a/src/rpc/protocol.cpp b/src/rpc/protocol.cpp
  37536. index dc6bcec..db0626b 100644
  37537. --- a/src/rpc/protocol.cpp
  37538. +++ b/src/rpc/protocol.cpp
  37539. @@ -66,14 +66,9 @@ static const std::string COOKIEAUTH_USER = "__cookie__";
  37540.  /** Default name for auth cookie file */
  37541.  static const std::string COOKIEAUTH_FILE = ".cookie";
  37542.  
  37543. -/** Get name of RPC authentication cookie file */
  37544. -static fs::path GetAuthCookieFile(bool temp=false)
  37545. +fs::path GetAuthCookieFile()
  37546.  {
  37547. -    std::string arg = gArgs.GetArg("-rpccookiefile", COOKIEAUTH_FILE);
  37548. -    if (temp) {
  37549. -        arg += ".tmp";
  37550. -    }
  37551. -    fs::path path(arg);
  37552. +    fs::path path(gArgs.GetArg("-rpccookiefile", COOKIEAUTH_FILE));
  37553.      if (!path.is_complete()) path = GetDataDir() / path;
  37554.      return path;
  37555.  }
  37556. @@ -89,20 +84,14 @@ bool GenerateAuthCookie(std::string *cookie_out)
  37557.       * these are set to 077 in init.cpp unless overridden with -sysperms.
  37558.       */
  37559.      std::ofstream file;
  37560. -    fs::path filepath_tmp = GetAuthCookieFile(true);
  37561. -    file.open(filepath_tmp.string().c_str());
  37562. +    fs::path filepath = GetAuthCookieFile();
  37563. +    file.open(filepath.string().c_str());
  37564.      if (!file.is_open()) {
  37565. -        LogPrintf("Unable to open cookie authentication file %s for writing\n", filepath_tmp.string());
  37566. +        LogPrintf("Unable to open cookie authentication file %s for writing\n", filepath.string());
  37567.          return false;
  37568.      }
  37569.      file << cookie;
  37570.      file.close();
  37571. -
  37572. -    fs::path filepath = GetAuthCookieFile(false);
  37573. -    if (!RenameOver(filepath_tmp, filepath)) {
  37574. -        LogPrintf("Unable to rename cookie authentication file %s to %s\n", filepath_tmp.string(), filepath.string());
  37575. -        return false;
  37576. -    }
  37577.      LogPrintf("Generated RPC authentication cookie %s\n", filepath.string());
  37578.  
  37579.      if (cookie_out)
  37580. diff --git a/src/rpc/protocol.h b/src/rpc/protocol.h
  37581. index 5c9c64f..4bd4702 100644
  37582. --- a/src/rpc/protocol.h
  37583. +++ b/src/rpc/protocol.h
  37584. @@ -91,6 +91,8 @@ UniValue JSONRPCReplyObj(const UniValue& result, const UniValue& error, const Un
  37585.  std::string JSONRPCReply(const UniValue& result, const UniValue& error, const UniValue& id);
  37586.  UniValue JSONRPCError(int code, const std::string& message);
  37587.  
  37588. +/** Get name of RPC authentication cookie file */
  37589. +fs::path GetAuthCookieFile();
  37590.  /** Generate a new RPC authentication cookie and write it to disk */
  37591.  bool GenerateAuthCookie(std::string *cookie_out);
  37592.  /** Read the RPC authentication cookie from disk */
  37593. diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp
  37594. index ac770ca..ad43f8a 100644
  37595. --- a/src/rpc/rawtransaction.cpp
  37596. +++ b/src/rpc/rawtransaction.cpp
  37597. @@ -112,7 +112,7 @@ UniValue getrawtransaction(const JSONRPCRequest& request)
  37598.              "         \"reqSigs\" : n,            (numeric) The required sigs\n"
  37599.              "         \"type\" : \"pubkeyhash\",  (string) The type, eg 'pubkeyhash'\n"
  37600.              "         \"addresses\" : [           (json array of string)\n"
  37601. -            "           \"address\"        (string) litecoin address\n"
  37602. +            "           \"address\"        (string) litecoincash address\n"
  37603.              "           ,...\n"
  37604.              "         ]\n"
  37605.              "       }\n"
  37606. @@ -310,7 +310,7 @@ UniValue createrawtransaction(const JSONRPCRequest& request)
  37607.              "     ]\n"
  37608.              "2. \"outputs\"               (object, required) a json object with outputs\n"
  37609.              "    {\n"
  37610. -            "      \"address\": x.xxx,    (numeric or string, required) The key is the litecoin address, the numeric value (can be string) is the " + CURRENCY_UNIT + " amount\n"
  37611. +            "      \"address\": x.xxx,    (numeric or string, required) The key is the litecoincash address, the numeric value (can be string) is the " + CURRENCY_UNIT + " amount\n"
  37612.              "      \"data\": \"hex\"      (string, required) The key is \"data\", the value is hex encoded data\n"
  37613.              "      ,...\n"
  37614.              "    }\n"
  37615. @@ -395,7 +395,7 @@ UniValue createrawtransaction(const JSONRPCRequest& request)
  37616.          } else {
  37617.              CBitcoinAddress address(name_);
  37618.              if (!address.IsValid())
  37619. -                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid Litecoin address: ")+name_);
  37620. +                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid LitecoinCash address: ")+name_);
  37621.  
  37622.              if (setAddress.count(address))
  37623.                  throw JSONRPCError(RPC_INVALID_PARAMETER, std::string("Invalid parameter, duplicated address: ")+name_);
  37624. @@ -457,7 +457,7 @@ UniValue decoderawtransaction(const JSONRPCRequest& request)
  37625.              "         \"reqSigs\" : n,            (numeric) The required sigs\n"
  37626.              "         \"type\" : \"pubkeyhash\",  (string) The type, eg 'pubkeyhash'\n"
  37627.              "         \"addresses\" : [           (json array of string)\n"
  37628. -            "           \"12tvKAXCxZjSmdNbao16dKXC8tRWfcF5oc\"   (string) litecoin address\n"
  37629. +            "           \"12tvKAXCxZjSmdNbao16dKXC8tRWfcF5oc\"   (string) litecoincash address\n"
  37630.              "           ,...\n"
  37631.              "         ]\n"
  37632.              "       }\n"
  37633. @@ -500,7 +500,7 @@ UniValue decodescript(const JSONRPCRequest& request)
  37634.              "  \"type\":\"type\", (string) The output type\n"
  37635.              "  \"reqSigs\": n,    (numeric) The required signatures\n"
  37636.              "  \"addresses\": [   (json array of string)\n"
  37637. -            "     \"address\"     (string) litecoin address\n"
  37638. +            "     \"address\"     (string) litecoincash address\n"
  37639.              "     ,...\n"
  37640.              "  ],\n"
  37641.              "  \"p2sh\",\"address\" (string) address of P2SH script wrapping this redeem script (not returned if the script is already a P2SH).\n"
  37642. @@ -824,22 +824,28 @@ UniValue signrawtransaction(const JSONRPCRequest& request)
  37643.      const CKeyStore& keystore = tempKeystore;
  37644.  #endif
  37645.  
  37646. -    int nHashType = SIGHASH_ALL;
  37647. -    if (request.params.size() > 3 && !request.params[3].isNull()) {
  37648. -        static std::map<std::string, int> mapSigHashValues = {
  37649. -            {std::string("ALL"), int(SIGHASH_ALL)},
  37650. -            {std::string("ALL|ANYONECANPAY"), int(SIGHASH_ALL|SIGHASH_ANYONECANPAY)},
  37651. -            {std::string("NONE"), int(SIGHASH_NONE)},
  37652. -            {std::string("NONE|ANYONECANPAY"), int(SIGHASH_NONE|SIGHASH_ANYONECANPAY)},
  37653. -            {std::string("SINGLE"), int(SIGHASH_SINGLE)},
  37654. -            {std::string("SINGLE|ANYONECANPAY"), int(SIGHASH_SINGLE|SIGHASH_ANYONECANPAY)},
  37655. -        };
  37656. -        std::string strHashType = request.params[3].get_str();
  37657. -        if (mapSigHashValues.count(strHashType))
  37658. -            nHashType = mapSigHashValues[strHashType];
  37659. -        else
  37660. -            throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid sighash param");
  37661. -    }
  37662. +    int nHashType = SIGHASH_ALL | SIGHASH_FORKID;                                                              // LitecoinCash: Replay attack protection
  37663. +   if (request.params.size() > 3 && !request.params[3].isNull()) {
  37664. +      static std::map<std::string, int> mapSigHashValues = {
  37665. +          {std::string("ALL"), int(SIGHASH_ALL)},
  37666. +          {std::string("ALL|ANYONECANPAY"), int(SIGHASH_ALL|SIGHASH_ANYONECANPAY)},
  37667. +          {std::string("NONE"), int(SIGHASH_NONE)},
  37668. +          {std::string("NONE|ANYONECANPAY"), int(SIGHASH_NONE|SIGHASH_ANYONECANPAY)},
  37669. +          {std::string("SINGLE"), int(SIGHASH_SINGLE)},
  37670. +          {std::string("SINGLE|ANYONECANPAY"), int(SIGHASH_SINGLE|SIGHASH_ANYONECANPAY)},
  37671. +          {std::string("ALL|FORKID"), int(SIGHASH_ALL|SIGHASH_FORKID)},                                            // LitecoinCash: Replay attack protection
  37672. +          {std::string("NONE|FORKID"), int(SIGHASH_NONE|SIGHASH_FORKID)},                                          // LitecoinCash: Replay attack protection
  37673. +          {std::string("SINGLE|FORKID"), int(SIGHASH_SINGLE|SIGHASH_FORKID)},                                      // LitecoinCash: Replay attack protection
  37674. +          {std::string("ALL|FORKID|ANYONECANPAY"), int(SIGHASH_ALL|SIGHASH_FORKID|SIGHASH_ANYONECANPAY)},          // LitecoinCash: Replay attack protection
  37675. +          {std::string("NONE|FORKID|ANYONECANPAY"), int(SIGHASH_NONE|SIGHASH_FORKID|SIGHASH_ANYONECANPAY)},        // LitecoinCash: Replay attack protection
  37676. +          {std::string("SINGLE|FORKID|ANYONECANPAY"), int(SIGHASH_SINGLE|SIGHASH_FORKID|SIGHASH_ANYONECANPAY)},    // LitecoinCash: Replay attack protection
  37677. +      };
  37678. +      std::string strHashType = request.params[3].get_str();
  37679. +      if (mapSigHashValues.count(strHashType))
  37680. +          nHashType = mapSigHashValues[strHashType] | SIGHASH_FORKID;                                              // LitecoinCash: Replay attack protection
  37681. +      else
  37682. +          throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid sighash param");
  37683. +   }
  37684.  
  37685.      bool fHashSingle = ((nHashType & ~SIGHASH_ANYONECANPAY) == SIGHASH_SINGLE);
  37686.  
  37687. diff --git a/src/rpc/server.cpp b/src/rpc/server.cpp
  37688. index 8d50d02..8e85809 100644
  37689. --- a/src/rpc/server.cpp
  37690. +++ b/src/rpc/server.cpp
  37691. @@ -116,7 +116,7 @@ CAmount AmountFromValue(const UniValue& value)
  37692.      if (!value.isNum() && !value.isStr())
  37693.          throw JSONRPCError(RPC_TYPE_ERROR, "Amount is not a number or string");
  37694.      CAmount amount;
  37695. -    if (!ParseFixedPoint(value.getValStr(), 8, &amount))
  37696. +    if (!ParseFixedPoint(value.getValStr(), 7, &amount))    // LitecoinCash: Digits fix
  37697.          throw JSONRPCError(RPC_TYPE_ERROR, "Invalid amount");
  37698.      if (!MoneyRange(amount))
  37699.          throw JSONRPCError(RPC_TYPE_ERROR, "Amount out of range");
  37700. @@ -240,11 +240,11 @@ UniValue stop(const JSONRPCRequest& jsonRequest)
  37701.      if (jsonRequest.fHelp || jsonRequest.params.size() > 1)
  37702.          throw std::runtime_error(
  37703.              "stop\n"
  37704. -            "\nStop Litecoin server.");
  37705. +            "\nStop LitecoinCash server.");
  37706.      // Event loop will exit after current HTTP requests have been handled, so
  37707.      // this reply will get back to the client.
  37708.      StartShutdown();
  37709. -    return "Litecoin server stopping";
  37710. +    return "LitecoinCash server stopping";
  37711.  }
  37712.  
  37713.  UniValue uptime(const JSONRPCRequest& jsonRequest)
  37714. @@ -514,13 +514,13 @@ std::vector<std::string> CRPCTable::listCommands() const
  37715.  
  37716.  std::string HelpExampleCli(const std::string& methodname, const std::string& args)
  37717.  {
  37718. -    return "> litecoin-cli " + methodname + " " + args + "\n";
  37719. +    return "> litecoincash-cli " + methodname + " " + args + "\n";
  37720.  }
  37721.  
  37722.  std::string HelpExampleRpc(const std::string& methodname, const std::string& args)
  37723.  {
  37724.      return "> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\":\"curltest\", "
  37725. -        "\"method\": \"" + methodname + "\", \"params\": [" + args + "] }' -H 'content-type: text/plain;' http://127.0.0.1:9332/\n";
  37726. +        "\"method\": \"" + methodname + "\", \"params\": [" + args + "] }' -H 'content-type: text/plain;' http://127.0.0.1:62457/\n";
  37727.  }
  37728.  
  37729.  void RPCSetTimerInterfaceIfUnset(RPCTimerInterface *iface)
  37730. diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp
  37731. index f9716df..8220e28 100644
  37732. --- a/src/script/interpreter.cpp
  37733. +++ b/src/script/interpreter.cpp
  37734. @@ -185,13 +185,27 @@ bool static IsDefinedHashtypeSignature(const valtype &vchSig) {
  37735.      if (vchSig.size() == 0) {
  37736.          return false;
  37737.      }
  37738. -    unsigned char nHashType = vchSig[vchSig.size() - 1] & (~(SIGHASH_ANYONECANPAY));
  37739. +    unsigned char nHashType = vchSig[vchSig.size() - 1] & (~(SIGHASH_ANYONECANPAY | SIGHASH_FORKID));   // LitecoinCash: Use SIGHASH_FORKID
  37740.      if (nHashType < SIGHASH_ALL || nHashType > SIGHASH_SINGLE)
  37741.          return false;
  37742.  
  37743.      return true;
  37744.  }
  37745.  
  37746. +// LitecoinCash: Drop the signature in scripts when SIGHASH_FORKID is not used
  37747. +static uint32_t GetHashType(const valtype &vchSig) {
  37748. +    if (vchSig.size() == 0)
  37749. +        return 0;
  37750. +
  37751. +    return vchSig[vchSig.size() - 1];
  37752. +}
  37753. +
  37754. +static void CleanupScriptCode(CScript &scriptCode, const std::vector<uint8_t> &vchSig, uint32_t flags) {
  37755. +    uint32_t nHashType = GetHashType(vchSig);
  37756. +    if (!(flags & SCRIPT_ENABLE_SIGHASH_FORKID) || !(nHashType & SIGHASH_FORKID))
  37757. +        scriptCode.FindAndDelete(CScript(vchSig));
  37758. +}
  37759. +
  37760.  bool CheckSignatureEncoding(const std::vector<unsigned char> &vchSig, unsigned int flags, ScriptError* serror) {
  37761.      // Empty signature. Not strictly DER encoded, but allowed to provide a
  37762.      // compact way to provide an invalid signature for use with CHECK(MULTI)SIG
  37763. @@ -203,8 +217,19 @@ bool CheckSignatureEncoding(const std::vector<unsigned char> &vchSig, unsigned i
  37764.      } else if ((flags & SCRIPT_VERIFY_LOW_S) != 0 && !IsLowDERSignature(vchSig, serror)) {
  37765.          // serror is set
  37766.          return false;
  37767. -    } else if ((flags & SCRIPT_VERIFY_STRICTENC) != 0 && !IsDefinedHashtypeSignature(vchSig)) {
  37768. -        return set_error(serror, SCRIPT_ERR_SIG_HASHTYPE);
  37769. +    // LitecoinCash: Enforce fork ID checking
  37770. +    } else if ((flags & SCRIPT_VERIFY_STRICTENC) != 0) {
  37771. +        if (!IsDefinedHashtypeSignature(vchSig)) {
  37772. +            return set_error(serror, SCRIPT_ERR_SIG_HASHTYPE);
  37773. +        }
  37774. +        bool usesForkId = GetHashType(vchSig) & SIGHASH_FORKID;
  37775. +        bool forkIdEnabled = flags & SCRIPT_ENABLE_SIGHASH_FORKID;
  37776. +        if (!forkIdEnabled && usesForkId) {
  37777. +            return set_error(serror, SCRIPT_ERR_ILLEGAL_FORKID);
  37778. +        }
  37779. +        if (forkIdEnabled && !usesForkId) {
  37780. +            return set_error(serror, SCRIPT_ERR_MUST_USE_FORKID);
  37781. +        }
  37782.      }
  37783.      return true;
  37784.  }
  37785. @@ -890,7 +915,8 @@ bool EvalScript(std::vector<std::vector<unsigned char> >& stack, const CScript&
  37786.  
  37787.                      // Drop the signature in pre-segwit scripts but not segwit scripts
  37788.                      if (sigversion == SIGVERSION_BASE) {
  37789. -                        scriptCode.FindAndDelete(CScript(vchSig));
  37790. +                        // LitecoinCash: Check fork ID before calling FindAndDelete
  37791. +                        CleanupScriptCode(scriptCode, vchSig, flags);
  37792.                      }
  37793.  
  37794.                      if (!CheckSignatureEncoding(vchSig, flags, serror) || !CheckPubKeyEncoding(vchPubKey, flags, sigversion, serror)) {
  37795. @@ -954,7 +980,8 @@ bool EvalScript(std::vector<std::vector<unsigned char> >& stack, const CScript&
  37796.                      {
  37797.                          valtype& vchSig = stacktop(-isig-k);
  37798.                          if (sigversion == SIGVERSION_BASE) {
  37799. -                            scriptCode.FindAndDelete(CScript(vchSig));
  37800. +                            // LitecoinCash: Check fork ID before calling FindAndDelete
  37801. +                            CleanupScriptCode(scriptCode, vchSig, flags);
  37802.                          }
  37803.                      }
  37804.  
  37805. @@ -1217,6 +1244,13 @@ uint256 SignatureHash(const CScript& scriptCode, const CTransaction& txTo, unsig
  37806.          // Sighash type
  37807.          ss << nHashType;
  37808.  
  37809. +        /*
  37810. +        // LitecoinCash: Append some extra data to introduce more inter-chain sig variance.
  37811. +        if (nHashType & SIGHASH_FORKID){
  37812. +            ss << std::string("LCC");
  37813. +        }
  37814. +        */
  37815. +        
  37816.          return ss.GetHash();
  37817.      }
  37818.  
  37819. diff --git a/src/script/interpreter.h b/src/script/interpreter.h
  37820. index 437826b..109d099 100644
  37821. --- a/src/script/interpreter.h
  37822. +++ b/src/script/interpreter.h
  37823. @@ -24,6 +24,7 @@ enum
  37824.      SIGHASH_ALL = 1,
  37825.      SIGHASH_NONE = 2,
  37826.      SIGHASH_SINGLE = 3,
  37827. +    SIGHASH_FORKID = 0x40,  // LitecoinCash: Fork ID
  37828.      SIGHASH_ANYONECANPAY = 0x80,
  37829.  };
  37830.  
  37831. @@ -106,6 +107,10 @@ enum
  37832.      // Public keys in segregated witness scripts must be compressed
  37833.      //
  37834.      SCRIPT_VERIFY_WITNESS_PUBKEYTYPE = (1U << 15),
  37835. +    
  37836. +    // LitecoinCash: Support SIGHASH_FORKID
  37837. +    //
  37838. +    SCRIPT_ENABLE_SIGHASH_FORKID = (1U << 16),    
  37839.  };
  37840.  
  37841.  bool CheckSignatureEncoding(const std::vector<unsigned char> &vchSig, unsigned int flags, ScriptError* serror);
  37842. diff --git a/src/script/ismine.cpp b/src/script/ismine.cpp
  37843. index c3aade1..0a39619 100644
  37844. --- a/src/script/ismine.cpp
  37845. +++ b/src/script/ismine.cpp
  37846. @@ -46,8 +46,6 @@ isminetype IsMine(const CKeyStore &keystore, const CTxDestination& dest, bool& i
  37847.  
  37848.  isminetype IsMine(const CKeyStore &keystore, const CScript& scriptPubKey, bool& isInvalid, SigVersion sigversion)
  37849.  {
  37850. -    isInvalid = false;
  37851. -
  37852.      std::vector<valtype> vSolutions;
  37853.      txnouttype whichType;
  37854.      if (!Solver(scriptPubKey, whichType, vSolutions)) {
  37855. diff --git a/src/script/script_error.cpp b/src/script/script_error.cpp
  37856. index c9d13c9..0014bfc 100644
  37857. --- a/src/script/script_error.cpp
  37858. +++ b/src/script/script_error.cpp
  37859. @@ -87,6 +87,13 @@ const char* ScriptErrorString(const ScriptError serror)
  37860.              return "Witness provided for non-witness script";
  37861.          case SCRIPT_ERR_WITNESS_PUBKEYTYPE:
  37862.              return "Using non-compressed keys in segwit";
  37863. +            
  37864. +        // LitecoinCash: Additional replay attack prevention error messages
  37865. +        case SCRIPT_ERR_ILLEGAL_FORKID:
  37866. +            return "Illegal use of SIGHASH_FORKID";
  37867. +        case SCRIPT_ERR_MUST_USE_FORKID:
  37868. +            return "Signature must use SIGHASH_FORKID";
  37869. +
  37870.          case SCRIPT_ERR_UNKNOWN_ERROR:
  37871.          case SCRIPT_ERR_ERROR_COUNT:
  37872.          default: break;
  37873. diff --git a/src/script/script_error.h b/src/script/script_error.h
  37874. index 3200e94..df5de0e 100644
  37875. --- a/src/script/script_error.h
  37876. +++ b/src/script/script_error.h
  37877. @@ -63,6 +63,10 @@ typedef enum ScriptError_t
  37878.      SCRIPT_ERR_WITNESS_MALLEATED_P2SH,
  37879.      SCRIPT_ERR_WITNESS_UNEXPECTED,
  37880.      SCRIPT_ERR_WITNESS_PUBKEYTYPE,
  37881. +    
  37882. +    // LitecoinCash: Replay attack prevention
  37883. +    SCRIPT_ERR_ILLEGAL_FORKID,
  37884. +    SCRIPT_ERR_MUST_USE_FORKID,
  37885.  
  37886.      SCRIPT_ERR_ERROR_COUNT
  37887.  } ScriptError;
  37888. diff --git a/src/script/sign.cpp b/src/script/sign.cpp
  37889. index dc50467..c182213 100644
  37890. --- a/src/script/sign.cpp
  37891. +++ b/src/script/sign.cpp
  37892. @@ -417,6 +417,7 @@ bool DummySignatureCreator::CreateSig(std::vector<unsigned char>& vchSig, const
  37893.      vchSig[4 + 33] = 0x02;
  37894.      vchSig[5 + 33] = 32;
  37895.      vchSig[6 + 33] = 0x01;
  37896. -    vchSig[6 + 33 + 32] = SIGHASH_ALL;
  37897. +    // LitecoinCash: Include SIGHASH_FORKID
  37898. +    vchSig[6 + 33 + 32] = SIGHASH_ALL | SIGHASH_FORKID;
  37899.      return true;
  37900.  }
  37901. diff --git a/src/script/sign.h b/src/script/sign.h
  37902. index bd45862..d8ef461 100644
  37903. --- a/src/script/sign.h
  37904. +++ b/src/script/sign.h
  37905. @@ -39,7 +39,7 @@ class TransactionSignatureCreator : public BaseSignatureCreator {
  37906.      const TransactionSignatureChecker checker;
  37907.  
  37908.  public:
  37909. -    TransactionSignatureCreator(const CKeyStore* keystoreIn, const CTransaction* txToIn, unsigned int nInIn, const CAmount& amountIn, int nHashTypeIn=SIGHASH_ALL);
  37910. +    TransactionSignatureCreator(const CKeyStore* keystoreIn, const CTransaction* txToIn, unsigned int nInIn, const CAmount& amountIn, int nHashTypeIn=SIGHASH_ALL | SIGHASH_FORKID);   // LitecoinCash: Replay attack protection
  37911.      const BaseSignatureChecker& Checker() const override { return checker; }
  37912.      bool CreateSig(std::vector<unsigned char>& vchSig, const CKeyID& keyid, const CScript& scriptCode, SigVersion sigversion) const override;
  37913.  };
  37914. diff --git a/src/secp256k1/autogen.sh b/src/secp256k1/autogen.sh
  37915. old mode 100755
  37916. new mode 100644
  37917. diff --git a/src/secp256k1/src/modules/recovery/main_impl.h b/src/secp256k1/src/modules/recovery/main_impl.h
  37918. old mode 100755
  37919. new mode 100644
  37920. diff --git a/src/test/DoS_tests.cpp b/src/test/DoS_tests.cpp
  37921. index d1f9e63..ffbeeb7 100644
  37922. --- a/src/test/DoS_tests.cpp
  37923. +++ b/src/test/DoS_tests.cpp
  37924. @@ -40,138 +40,8 @@ CService ip(uint32_t i)
  37925.  
  37926.  static NodeId id = 0;
  37927.  
  37928. -void UpdateLastBlockAnnounceTime(NodeId node, int64_t time_in_seconds);
  37929. -
  37930.  BOOST_FIXTURE_TEST_SUITE(DoS_tests, TestingSetup)
  37931.  
  37932. -// Test eviction of an outbound peer whose chain never advances
  37933. -// Mock a node connection, and use mocktime to simulate a peer
  37934. -// which never sends any headers messages.  PeerLogic should
  37935. -// decide to evict that outbound peer, after the appropriate timeouts.
  37936. -// Note that we protect 4 outbound nodes from being subject to
  37937. -// this logic; this test takes advantage of that protection only
  37938. -// being applied to nodes which send headers with sufficient
  37939. -// work.
  37940. -BOOST_AUTO_TEST_CASE(outbound_slow_chain_eviction)
  37941. -{
  37942. -    std::atomic<bool> interruptDummy(false);
  37943. -
  37944. -    // Mock an outbound peer
  37945. -    CAddress addr1(ip(0xa0b0c001), NODE_NONE);
  37946. -    CNode dummyNode1(id++, ServiceFlags(NODE_NETWORK|NODE_WITNESS), 0, INVALID_SOCKET, addr1, 0, 0, CAddress(), "", /*fInboundIn=*/ false);
  37947. -    dummyNode1.SetSendVersion(PROTOCOL_VERSION);
  37948. -
  37949. -    peerLogic->InitializeNode(&dummyNode1);
  37950. -    dummyNode1.nVersion = 1;
  37951. -    dummyNode1.fSuccessfullyConnected = true;
  37952. -
  37953. -    // This test requires that we have a chain with non-zero work.
  37954. -    BOOST_CHECK(chainActive.Tip() != nullptr);
  37955. -    BOOST_CHECK(chainActive.Tip()->nChainWork > 0);
  37956. -
  37957. -    // Test starts here
  37958. -    peerLogic->SendMessages(&dummyNode1, interruptDummy); // should result in getheaders
  37959. -    BOOST_CHECK(dummyNode1.vSendMsg.size() > 0);
  37960. -    dummyNode1.vSendMsg.clear();
  37961. -
  37962. -    int64_t nStartTime = GetTime();
  37963. -    // Wait 21 minutes
  37964. -    SetMockTime(nStartTime+21*60);
  37965. -    peerLogic->SendMessages(&dummyNode1, interruptDummy); // should result in getheaders
  37966. -    BOOST_CHECK(dummyNode1.vSendMsg.size() > 0);
  37967. -    // Wait 3 more minutes
  37968. -    SetMockTime(nStartTime+24*60);
  37969. -    peerLogic->SendMessages(&dummyNode1, interruptDummy); // should result in disconnect
  37970. -    BOOST_CHECK(dummyNode1.fDisconnect == true);
  37971. -    SetMockTime(0);
  37972. -
  37973. -    bool dummy;
  37974. -    peerLogic->FinalizeNode(dummyNode1.GetId(), dummy);
  37975. -}
  37976. -
  37977. -void AddRandomOutboundPeer(std::vector<CNode *> &vNodes, PeerLogicValidation &peerLogic)
  37978. -{
  37979. -    CAddress addr(ip(GetRandInt(0xffffffff)), NODE_NONE);
  37980. -    vNodes.emplace_back(new CNode(id++, ServiceFlags(NODE_NETWORK|NODE_WITNESS), 0, INVALID_SOCKET, addr, 0, 0, CAddress(), "", /*fInboundIn=*/ false));
  37981. -    CNode &node = *vNodes.back();
  37982. -    node.SetSendVersion(PROTOCOL_VERSION);
  37983. -
  37984. -    peerLogic.InitializeNode(&node);
  37985. -    node.nVersion = 1;
  37986. -    node.fSuccessfullyConnected = true;
  37987. -
  37988. -    CConnmanTest::AddNode(node);
  37989. -}
  37990. -
  37991. -BOOST_AUTO_TEST_CASE(stale_tip_peer_management)
  37992. -{
  37993. -    const Consensus::Params& consensusParams = Params().GetConsensus();
  37994. -    constexpr int nMaxOutbound = 8;
  37995. -    CConnman::Options options;
  37996. -    options.nMaxConnections = 125;
  37997. -    options.nMaxOutbound = nMaxOutbound;
  37998. -    options.nMaxFeeler = 1;
  37999. -
  38000. -    connman->Init(options);
  38001. -    std::vector<CNode *> vNodes;
  38002. -
  38003. -    // Mock some outbound peers
  38004. -    for (int i=0; i<nMaxOutbound; ++i) {
  38005. -        AddRandomOutboundPeer(vNodes, *peerLogic);
  38006. -    }
  38007. -
  38008. -    peerLogic->CheckForStaleTipAndEvictPeers(consensusParams);
  38009. -
  38010. -    // No nodes should be marked for disconnection while we have no extra peers
  38011. -    for (const CNode *node : vNodes) {
  38012. -        BOOST_CHECK(node->fDisconnect == false);
  38013. -    }
  38014. -
  38015. -    SetMockTime(GetTime() + 3*consensusParams.nPowTargetSpacing + 1);
  38016. -
  38017. -    // Now tip should definitely be stale, and we should look for an extra
  38018. -    // outbound peer
  38019. -    peerLogic->CheckForStaleTipAndEvictPeers(consensusParams);
  38020. -    BOOST_CHECK(connman->GetTryNewOutboundPeer());
  38021. -
  38022. -    // Still no peers should be marked for disconnection
  38023. -    for (const CNode *node : vNodes) {
  38024. -        BOOST_CHECK(node->fDisconnect == false);
  38025. -    }
  38026. -
  38027. -    // If we add one more peer, something should get marked for eviction
  38028. -    // on the next check (since we're mocking the time to be in the future, the
  38029. -    // required time connected check should be satisfied).
  38030. -    AddRandomOutboundPeer(vNodes, *peerLogic);
  38031. -
  38032. -    peerLogic->CheckForStaleTipAndEvictPeers(consensusParams);
  38033. -    for (int i=0; i<nMaxOutbound; ++i) {
  38034. -        BOOST_CHECK(vNodes[i]->fDisconnect == false);
  38035. -    }
  38036. -    // Last added node should get marked for eviction
  38037. -    BOOST_CHECK(vNodes.back()->fDisconnect == true);
  38038. -
  38039. -    vNodes.back()->fDisconnect = false;
  38040. -
  38041. -    // Update the last announced block time for the last
  38042. -    // peer, and check that the next newest node gets evicted.
  38043. -    UpdateLastBlockAnnounceTime(vNodes.back()->GetId(), GetTime());
  38044. -
  38045. -    peerLogic->CheckForStaleTipAndEvictPeers(consensusParams);
  38046. -    for (int i=0; i<nMaxOutbound-1; ++i) {
  38047. -        BOOST_CHECK(vNodes[i]->fDisconnect == false);
  38048. -    }
  38049. -    BOOST_CHECK(vNodes[nMaxOutbound-1]->fDisconnect == true);
  38050. -    BOOST_CHECK(vNodes.back()->fDisconnect == false);
  38051. -
  38052. -    bool dummy;
  38053. -    for (const CNode *node : vNodes) {
  38054. -        peerLogic->FinalizeNode(node->GetId(), dummy);
  38055. -    }
  38056. -
  38057. -    CConnmanTest::ClearNodes();
  38058. -}
  38059. -
  38060.  BOOST_AUTO_TEST_CASE(DoS_banning)
  38061.  {
  38062.      std::atomic<bool> interruptDummy(false);
  38063. @@ -180,31 +50,27 @@ BOOST_AUTO_TEST_CASE(DoS_banning)
  38064.      CAddress addr1(ip(0xa0b0c001), NODE_NONE);
  38065.      CNode dummyNode1(id++, NODE_NETWORK, 0, INVALID_SOCKET, addr1, 0, 0, CAddress(), "", true);
  38066.      dummyNode1.SetSendVersion(PROTOCOL_VERSION);
  38067. -    peerLogic->InitializeNode(&dummyNode1);
  38068. +    GetNodeSignals().InitializeNode(&dummyNode1, *connman);
  38069.      dummyNode1.nVersion = 1;
  38070.      dummyNode1.fSuccessfullyConnected = true;
  38071.      Misbehaving(dummyNode1.GetId(), 100); // Should get banned
  38072. -    peerLogic->SendMessages(&dummyNode1, interruptDummy);
  38073. +    SendMessages(&dummyNode1, *connman, interruptDummy);
  38074.      BOOST_CHECK(connman->IsBanned(addr1));
  38075.      BOOST_CHECK(!connman->IsBanned(ip(0xa0b0c001|0x0000ff00))); // Different IP, not banned
  38076.  
  38077.      CAddress addr2(ip(0xa0b0c002), NODE_NONE);
  38078.      CNode dummyNode2(id++, NODE_NETWORK, 0, INVALID_SOCKET, addr2, 1, 1, CAddress(), "", true);
  38079.      dummyNode2.SetSendVersion(PROTOCOL_VERSION);
  38080. -    peerLogic->InitializeNode(&dummyNode2);
  38081. +    GetNodeSignals().InitializeNode(&dummyNode2, *connman);
  38082.      dummyNode2.nVersion = 1;
  38083.      dummyNode2.fSuccessfullyConnected = true;
  38084.      Misbehaving(dummyNode2.GetId(), 50);
  38085. -    peerLogic->SendMessages(&dummyNode2, interruptDummy);
  38086. +    SendMessages(&dummyNode2, *connman, interruptDummy);
  38087.      BOOST_CHECK(!connman->IsBanned(addr2)); // 2 not banned yet...
  38088.      BOOST_CHECK(connman->IsBanned(addr1));  // ... but 1 still should be
  38089.      Misbehaving(dummyNode2.GetId(), 50);
  38090. -    peerLogic->SendMessages(&dummyNode2, interruptDummy);
  38091. +    SendMessages(&dummyNode2, *connman, interruptDummy);
  38092.      BOOST_CHECK(connman->IsBanned(addr2));
  38093. -
  38094. -    bool dummy;
  38095. -    peerLogic->FinalizeNode(dummyNode1.GetId(), dummy);
  38096. -    peerLogic->FinalizeNode(dummyNode2.GetId(), dummy);
  38097.  }
  38098.  
  38099.  BOOST_AUTO_TEST_CASE(DoS_banscore)
  38100. @@ -216,22 +82,19 @@ BOOST_AUTO_TEST_CASE(DoS_banscore)
  38101.      CAddress addr1(ip(0xa0b0c001), NODE_NONE);
  38102.      CNode dummyNode1(id++, NODE_NETWORK, 0, INVALID_SOCKET, addr1, 3, 1, CAddress(), "", true);
  38103.      dummyNode1.SetSendVersion(PROTOCOL_VERSION);
  38104. -    peerLogic->InitializeNode(&dummyNode1);
  38105. +    GetNodeSignals().InitializeNode(&dummyNode1, *connman);
  38106.      dummyNode1.nVersion = 1;
  38107.      dummyNode1.fSuccessfullyConnected = true;
  38108.      Misbehaving(dummyNode1.GetId(), 100);
  38109. -    peerLogic->SendMessages(&dummyNode1, interruptDummy);
  38110. +    SendMessages(&dummyNode1, *connman, interruptDummy);
  38111.      BOOST_CHECK(!connman->IsBanned(addr1));
  38112.      Misbehaving(dummyNode1.GetId(), 10);
  38113. -    peerLogic->SendMessages(&dummyNode1, interruptDummy);
  38114. +    SendMessages(&dummyNode1, *connman, interruptDummy);
  38115.      BOOST_CHECK(!connman->IsBanned(addr1));
  38116.      Misbehaving(dummyNode1.GetId(), 1);
  38117. -    peerLogic->SendMessages(&dummyNode1, interruptDummy);
  38118. +    SendMessages(&dummyNode1, *connman, interruptDummy);
  38119.      BOOST_CHECK(connman->IsBanned(addr1));
  38120.      gArgs.ForceSetArg("-banscore", std::to_string(DEFAULT_BANSCORE_THRESHOLD));
  38121. -
  38122. -    bool dummy;
  38123. -    peerLogic->FinalizeNode(dummyNode1.GetId(), dummy);
  38124.  }
  38125.  
  38126.  BOOST_AUTO_TEST_CASE(DoS_bantime)
  38127. @@ -245,12 +108,12 @@ BOOST_AUTO_TEST_CASE(DoS_bantime)
  38128.      CAddress addr(ip(0xa0b0c001), NODE_NONE);
  38129.      CNode dummyNode(id++, NODE_NETWORK, 0, INVALID_SOCKET, addr, 4, 4, CAddress(), "", true);
  38130.      dummyNode.SetSendVersion(PROTOCOL_VERSION);
  38131. -    peerLogic->InitializeNode(&dummyNode);
  38132. +    GetNodeSignals().InitializeNode(&dummyNode, *connman);
  38133.      dummyNode.nVersion = 1;
  38134.      dummyNode.fSuccessfullyConnected = true;
  38135.  
  38136.      Misbehaving(dummyNode.GetId(), 100);
  38137. -    peerLogic->SendMessages(&dummyNode, interruptDummy);
  38138. +    SendMessages(&dummyNode, *connman, interruptDummy);
  38139.      BOOST_CHECK(connman->IsBanned(addr));
  38140.  
  38141.      SetMockTime(nStartTime+60*60);
  38142. @@ -258,9 +121,6 @@ BOOST_AUTO_TEST_CASE(DoS_bantime)
  38143.  
  38144.      SetMockTime(nStartTime+60*60*24+1);
  38145.      BOOST_CHECK(!connman->IsBanned(addr));
  38146. -
  38147. -    bool dummy;
  38148. -    peerLogic->FinalizeNode(dummyNode.GetId(), dummy);
  38149.  }
  38150.  
  38151.  CTransactionRef RandomOrphan()
  38152. diff --git a/src/test/README.md b/src/test/README.md
  38153. index de4b68b..b58c57c 100644
  38154. --- a/src/test/README.md
  38155. +++ b/src/test/README.md
  38156. @@ -1,11 +1,11 @@
  38157.  # Notes
  38158.  The sources in this directory are unit test cases.  Boost includes a
  38159. -unit testing framework, and since litecoin already uses boost, it makes
  38160. +unit testing framework, and since litecoincash already uses boost, it makes
  38161.  sense to simply use this framework rather than require developers to
  38162.  configure some other framework (we want as few impediments to creating
  38163.  unit tests as possible).
  38164.  
  38165. -The build system is setup to compile an executable called "test_litecoin"
  38166. +The build system is setup to compile an executable called "test_litecoincash"
  38167.  that runs all of the unit tests.  The main source file is called
  38168.  test_bitcoin.cpp, which simply includes other files that contain the
  38169.  actual unit tests (outside of a couple required preprocessor
  38170. diff --git a/src/test/addrman_tests.cpp b/src/test/addrman_tests.cpp
  38171. index 2ad22d3..c65dcc1 100644
  38172. --- a/src/test/addrman_tests.cpp
  38173. +++ b/src/test/addrman_tests.cpp
  38174. @@ -92,15 +92,15 @@ BOOST_AUTO_TEST_CASE(addrman_simple)
  38175.      BOOST_CHECK_EQUAL(addr_null.ToString(), "[::]:0");
  38176.  
  38177.      // Test: Does Addrman::Add work as expected.
  38178. -    CService addr1 = ResolveService("250.1.1.1", 8333);
  38179. +    CService addr1 = ResolveService("250.1.1.1", 62458);
  38180.      BOOST_CHECK(addrman.Add(CAddress(addr1, NODE_NONE), source));
  38181.      BOOST_CHECK_EQUAL(addrman.size(), 1);
  38182.      CAddrInfo addr_ret1 = addrman.Select();
  38183. -    BOOST_CHECK_EQUAL(addr_ret1.ToString(), "250.1.1.1:8333");
  38184. +    BOOST_CHECK_EQUAL(addr_ret1.ToString(), "250.1.1.1:62458");
  38185.  
  38186.      // Test: Does IP address deduplication work correctly.
  38187.      //  Expected dup IP should not be added.
  38188. -    CService addr1_dup = ResolveService("250.1.1.1", 8333);
  38189. +    CService addr1_dup = ResolveService("250.1.1.1", 62458);
  38190.      BOOST_CHECK(!addrman.Add(CAddress(addr1_dup, NODE_NONE), source));
  38191.      BOOST_CHECK_EQUAL(addrman.size(), 1);
  38192.  
  38193. @@ -111,7 +111,7 @@ BOOST_AUTO_TEST_CASE(addrman_simple)
  38194.      // hash collisions may occur. But we can always be sure of at least one
  38195.      // success.
  38196.  
  38197. -    CService addr2 = ResolveService("250.1.1.2", 8333);
  38198. +    CService addr2 = ResolveService("250.1.1.2", 62458);
  38199.      BOOST_CHECK(addrman.Add(CAddress(addr2, NODE_NONE), source));
  38200.      BOOST_CHECK(addrman.size() >= 1);
  38201.  
  38202. @@ -123,8 +123,8 @@ BOOST_AUTO_TEST_CASE(addrman_simple)
  38203.  
  38204.      // Test: AddrMan::Add multiple addresses works as expected
  38205.      std::vector<CAddress> vAddr;
  38206. -    vAddr.push_back(CAddress(ResolveService("250.1.1.3", 8333), NODE_NONE));
  38207. -    vAddr.push_back(CAddress(ResolveService("250.1.1.4", 8333), NODE_NONE));
  38208. +    vAddr.push_back(CAddress(ResolveService("250.1.1.3", 62458), NODE_NONE));
  38209. +    vAddr.push_back(CAddress(ResolveService("250.1.1.4", 62458), NODE_NONE));
  38210.      BOOST_CHECK(addrman.Add(vAddr, source));
  38211.      BOOST_CHECK(addrman.size() >= 1);
  38212.  }
  38213. @@ -138,7 +138,7 @@ BOOST_AUTO_TEST_CASE(addrman_ports)
  38214.      BOOST_CHECK_EQUAL(addrman.size(), 0);
  38215.  
  38216.      // Test 7; Addr with same IP but diff port does not replace existing addr.
  38217. -    CService addr1 = ResolveService("250.1.1.1", 8333);
  38218. +    CService addr1 = ResolveService("250.1.1.1", 62458);
  38219.      addrman.Add(CAddress(addr1, NODE_NONE), source);
  38220.      BOOST_CHECK_EQUAL(addrman.size(), 1);
  38221.  
  38222. @@ -146,7 +146,7 @@ BOOST_AUTO_TEST_CASE(addrman_ports)
  38223.      addrman.Add(CAddress(addr1_port, NODE_NONE), source);
  38224.      BOOST_CHECK_EQUAL(addrman.size(), 1);
  38225.      CAddrInfo addr_ret2 = addrman.Select();
  38226. -    BOOST_CHECK_EQUAL(addr_ret2.ToString(), "250.1.1.1:8333");
  38227. +    BOOST_CHECK_EQUAL(addr_ret2.ToString(), "250.1.1.1:62458");
  38228.  
  38229.      // Test: Add same IP but diff port to tried table, it doesn't get added.
  38230.      //  Perhaps this is not ideal behavior but it is the current behavior.
  38231. @@ -154,7 +154,7 @@ BOOST_AUTO_TEST_CASE(addrman_ports)
  38232.      BOOST_CHECK_EQUAL(addrman.size(), 1);
  38233.      bool newOnly = true;
  38234.      CAddrInfo addr_ret3 = addrman.Select(newOnly);
  38235. -    BOOST_CHECK_EQUAL(addr_ret3.ToString(), "250.1.1.1:8333");
  38236. +    BOOST_CHECK_EQUAL(addr_ret3.ToString(), "250.1.1.1:62458");
  38237.  }
  38238.  
  38239.  
  38240. @@ -165,13 +165,13 @@ BOOST_AUTO_TEST_CASE(addrman_select)
  38241.      CNetAddr source = ResolveIP("252.2.2.2");
  38242.  
  38243.      // Test: Select from new with 1 addr in new.
  38244. -    CService addr1 = ResolveService("250.1.1.1", 8333);
  38245. +    CService addr1 = ResolveService("250.1.1.1", 62458);
  38246.      addrman.Add(CAddress(addr1, NODE_NONE), source);
  38247.      BOOST_CHECK_EQUAL(addrman.size(), 1);
  38248.  
  38249.      bool newOnly = true;
  38250.      CAddrInfo addr_ret1 = addrman.Select(newOnly);
  38251. -    BOOST_CHECK_EQUAL(addr_ret1.ToString(), "250.1.1.1:8333");
  38252. +    BOOST_CHECK_EQUAL(addr_ret1.ToString(), "250.1.1.1:62458");
  38253.  
  38254.      // Test: move addr to tried, select from new expected nothing returned.
  38255.      addrman.Good(CAddress(addr1, NODE_NONE));
  38256. @@ -180,30 +180,30 @@ BOOST_AUTO_TEST_CASE(addrman_select)
  38257.      BOOST_CHECK_EQUAL(addr_ret2.ToString(), "[::]:0");
  38258.  
  38259.      CAddrInfo addr_ret3 = addrman.Select();
  38260. -    BOOST_CHECK_EQUAL(addr_ret3.ToString(), "250.1.1.1:8333");
  38261. +    BOOST_CHECK_EQUAL(addr_ret3.ToString(), "250.1.1.1:62458");
  38262.  
  38263.      BOOST_CHECK_EQUAL(addrman.size(), 1);
  38264.  
  38265.  
  38266.      // Add three addresses to new table.
  38267. -    CService addr2 = ResolveService("250.3.1.1", 8333);
  38268. +    CService addr2 = ResolveService("250.3.1.1", 62458);
  38269.      CService addr3 = ResolveService("250.3.2.2", 9999);
  38270.      CService addr4 = ResolveService("250.3.3.3", 9999);
  38271.  
  38272. -    addrman.Add(CAddress(addr2, NODE_NONE), ResolveService("250.3.1.1", 8333));
  38273. -    addrman.Add(CAddress(addr3, NODE_NONE), ResolveService("250.3.1.1", 8333));
  38274. -    addrman.Add(CAddress(addr4, NODE_NONE), ResolveService("250.4.1.1", 8333));
  38275. +    addrman.Add(CAddress(addr2, NODE_NONE), ResolveService("250.3.1.1", 62458));
  38276. +    addrman.Add(CAddress(addr3, NODE_NONE), ResolveService("250.3.1.1", 62458));
  38277. +    addrman.Add(CAddress(addr4, NODE_NONE), ResolveService("250.4.1.1", 62458));
  38278.  
  38279.      // Add three addresses to tried table.
  38280. -    CService addr5 = ResolveService("250.4.4.4", 8333);
  38281. +    CService addr5 = ResolveService("250.4.4.4", 62458);
  38282.      CService addr6 = ResolveService("250.4.5.5", 7777);
  38283. -    CService addr7 = ResolveService("250.4.6.6", 8333);
  38284. +    CService addr7 = ResolveService("250.4.6.6", 62458);
  38285.  
  38286. -    addrman.Add(CAddress(addr5, NODE_NONE), ResolveService("250.3.1.1", 8333));
  38287. +    addrman.Add(CAddress(addr5, NODE_NONE), ResolveService("250.3.1.1", 62458));
  38288.      addrman.Good(CAddress(addr5, NODE_NONE));
  38289. -    addrman.Add(CAddress(addr6, NODE_NONE), ResolveService("250.3.1.1", 8333));
  38290. +    addrman.Add(CAddress(addr6, NODE_NONE), ResolveService("250.3.1.1", 62458));
  38291.      addrman.Good(CAddress(addr6, NODE_NONE));
  38292. -    addrman.Add(CAddress(addr7, NODE_NONE), ResolveService("250.1.1.3", 8333));
  38293. +    addrman.Add(CAddress(addr7, NODE_NONE), ResolveService("250.1.1.3", 62458));
  38294.      addrman.Good(CAddress(addr7, NODE_NONE));
  38295.  
  38296.      // Test: 6 addrs + 1 addr from last test = 7.
  38297. @@ -276,9 +276,9 @@ BOOST_AUTO_TEST_CASE(addrman_find)
  38298.  
  38299.      BOOST_CHECK_EQUAL(addrman.size(), 0);
  38300.  
  38301. -    CAddress addr1 = CAddress(ResolveService("250.1.2.1", 8333), NODE_NONE);
  38302. +    CAddress addr1 = CAddress(ResolveService("250.1.2.1", 62458), NODE_NONE);
  38303.      CAddress addr2 = CAddress(ResolveService("250.1.2.1", 9999), NODE_NONE);
  38304. -    CAddress addr3 = CAddress(ResolveService("251.255.2.1", 8333), NODE_NONE);
  38305. +    CAddress addr3 = CAddress(ResolveService("251.255.2.1", 62458), NODE_NONE);
  38306.  
  38307.      CNetAddr source1 = ResolveIP("250.1.2.1");
  38308.      CNetAddr source2 = ResolveIP("250.1.2.2");
  38309. @@ -290,7 +290,7 @@ BOOST_AUTO_TEST_CASE(addrman_find)
  38310.      // Test: ensure Find returns an IP matching what we searched on.
  38311.      CAddrInfo* info1 = addrman.Find(addr1);
  38312.      BOOST_REQUIRE(info1);
  38313. -    BOOST_CHECK_EQUAL(info1->ToString(), "250.1.2.1:8333");
  38314. +    BOOST_CHECK_EQUAL(info1->ToString(), "250.1.2.1:62458");
  38315.  
  38316.      // Test 18; Find does not discriminate by port number.
  38317.      CAddrInfo* info2 = addrman.Find(addr2);
  38318. @@ -300,7 +300,7 @@ BOOST_AUTO_TEST_CASE(addrman_find)
  38319.      // Test: Find returns another IP matching what we searched on.
  38320.      CAddrInfo* info3 = addrman.Find(addr3);
  38321.      BOOST_REQUIRE(info3);
  38322. -    BOOST_CHECK_EQUAL(info3->ToString(), "251.255.2.1:8333");
  38323. +    BOOST_CHECK_EQUAL(info3->ToString(), "251.255.2.1:62458");
  38324.  }
  38325.  
  38326.  BOOST_AUTO_TEST_CASE(addrman_create)
  38327. @@ -309,17 +309,17 @@ BOOST_AUTO_TEST_CASE(addrman_create)
  38328.  
  38329.      BOOST_CHECK_EQUAL(addrman.size(), 0);
  38330.  
  38331. -    CAddress addr1 = CAddress(ResolveService("250.1.2.1", 8333), NODE_NONE);
  38332. +    CAddress addr1 = CAddress(ResolveService("250.1.2.1", 62458), NODE_NONE);
  38333.      CNetAddr source1 = ResolveIP("250.1.2.1");
  38334.  
  38335.      int nId;
  38336.      CAddrInfo* pinfo = addrman.Create(addr1, source1, &nId);
  38337.  
  38338.      // Test: The result should be the same as the input addr.
  38339. -    BOOST_CHECK_EQUAL(pinfo->ToString(), "250.1.2.1:8333");
  38340. +    BOOST_CHECK_EQUAL(pinfo->ToString(), "250.1.2.1:62458");
  38341.  
  38342.      CAddrInfo* info2 = addrman.Find(addr1);
  38343. -    BOOST_CHECK_EQUAL(info2->ToString(), "250.1.2.1:8333");
  38344. +    BOOST_CHECK_EQUAL(info2->ToString(), "250.1.2.1:62458");
  38345.  }
  38346.  
  38347.  
  38348. @@ -329,7 +329,7 @@ BOOST_AUTO_TEST_CASE(addrman_delete)
  38349.  
  38350.      BOOST_CHECK_EQUAL(addrman.size(), 0);
  38351.  
  38352. -    CAddress addr1 = CAddress(ResolveService("250.1.2.1", 8333), NODE_NONE);
  38353. +    CAddress addr1 = CAddress(ResolveService("250.1.2.1", 62458), NODE_NONE);
  38354.      CNetAddr source1 = ResolveIP("250.1.2.1");
  38355.  
  38356.      int nId;
  38357. @@ -353,15 +353,15 @@ BOOST_AUTO_TEST_CASE(addrman_getaddr)
  38358.      std::vector<CAddress> vAddr1 = addrman.GetAddr();
  38359.      BOOST_CHECK_EQUAL(vAddr1.size(), 0);
  38360.  
  38361. -    CAddress addr1 = CAddress(ResolveService("250.250.2.1", 8333), NODE_NONE);
  38362. +    CAddress addr1 = CAddress(ResolveService("250.250.2.1", 62458), NODE_NONE);
  38363.      addr1.nTime = GetAdjustedTime(); // Set time so isTerrible = false
  38364.      CAddress addr2 = CAddress(ResolveService("250.251.2.2", 9999), NODE_NONE);
  38365.      addr2.nTime = GetAdjustedTime();
  38366. -    CAddress addr3 = CAddress(ResolveService("251.252.2.3", 8333), NODE_NONE);
  38367. +    CAddress addr3 = CAddress(ResolveService("251.252.2.3", 62458), NODE_NONE);
  38368.      addr3.nTime = GetAdjustedTime();
  38369. -    CAddress addr4 = CAddress(ResolveService("252.253.3.4", 8333), NODE_NONE);
  38370. +    CAddress addr4 = CAddress(ResolveService("252.253.3.4", 62458), NODE_NONE);
  38371.      addr4.nTime = GetAdjustedTime();
  38372. -    CAddress addr5 = CAddress(ResolveService("252.254.4.5", 8333), NODE_NONE);
  38373. +    CAddress addr5 = CAddress(ResolveService("252.254.4.5", 62458), NODE_NONE);
  38374.      addr5.nTime = GetAdjustedTime();
  38375.      CNetAddr source1 = ResolveIP("250.1.2.1");
  38376.      CNetAddr source2 = ResolveIP("250.2.3.3");
  38377. @@ -408,7 +408,7 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_tried_bucket)
  38378.  {
  38379.      CAddrManTest addrman;
  38380.  
  38381. -    CAddress addr1 = CAddress(ResolveService("250.1.1.1", 8333), NODE_NONE);
  38382. +    CAddress addr1 = CAddress(ResolveService("250.1.1.1", 62458), NODE_NONE);
  38383.      CAddress addr2 = CAddress(ResolveService("250.1.1.1", 9999), NODE_NONE);
  38384.  
  38385.      CNetAddr source1 = ResolveIP("250.1.1.1");
  38386. @@ -420,7 +420,7 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_tried_bucket)
  38387.      uint256 nKey2 = (uint256)(CHashWriter(SER_GETHASH, 0) << 2).GetHash();
  38388.  
  38389.  
  38390. -    BOOST_CHECK_EQUAL(info1.GetTriedBucket(nKey1), 40);
  38391. +    BOOST_CHECK_EQUAL(info1.GetTriedBucket(nKey1), 62);
  38392.  
  38393.      // Test: Make sure key actually randomizes bucket placement. A fail on
  38394.      //  this test could be a security issue.
  38395. @@ -462,7 +462,7 @@ BOOST_AUTO_TEST_CASE(caddrinfo_get_new_bucket)
  38396.  {
  38397.      CAddrManTest addrman;
  38398.  
  38399. -    CAddress addr1 = CAddress(ResolveService("250.1.2.1", 8333), NODE_NONE);
  38400. +    CAddress addr1 = CAddress(ResolveService("250.1.2.1", 62458), NODE_NONE);
  38401.      CAddress addr2 = CAddress(ResolveService("250.1.2.1", 9999), NODE_NONE);
  38402.  
  38403.      CNetAddr source1 = ResolveIP("250.1.2.1");
  38404. diff --git a/src/test/amount_tests.cpp b/src/test/amount_tests.cpp
  38405. index ec9078a..3bb75b9 100644
  38406. --- a/src/test/amount_tests.cpp
  38407. +++ b/src/test/amount_tests.cpp
  38408. @@ -102,7 +102,7 @@ BOOST_AUTO_TEST_CASE(ToStringTest)
  38409.  {
  38410.      CFeeRate feeRate;
  38411.      feeRate = CFeeRate(1);
  38412. -    BOOST_CHECK_EQUAL(feeRate.ToString(), "0.00000001 LTC/kB");
  38413. +    BOOST_CHECK_EQUAL(feeRate.ToString(), "0.0000001 LCC/kB");
  38414.  }
  38415.  
  38416.  BOOST_AUTO_TEST_SUITE_END()
  38417. diff --git a/src/test/compress_tests.cpp b/src/test/compress_tests.cpp
  38418. index 08f4f4d..4a3e018 100644
  38419. --- a/src/test/compress_tests.cpp
  38420. +++ b/src/test/compress_tests.cpp
  38421. @@ -39,12 +39,13 @@ bool static TestPair(uint64_t dec, uint64_t enc) {
  38422.  
  38423.  BOOST_AUTO_TEST_CASE(compress_amounts)
  38424.  {
  38425. -    BOOST_CHECK(TestPair(            0,       0x0));
  38426. -    BOOST_CHECK(TestPair(            1,       0x1));
  38427. -    BOOST_CHECK(TestPair(         CENT,       0x7));
  38428. -    BOOST_CHECK(TestPair(         COIN,       0x9));
  38429. -    BOOST_CHECK(TestPair(      50*COIN,      0x32));
  38430. -    BOOST_CHECK(TestPair(84000000*COIN, 0x501BD00));
  38431. +
  38432. +    BOOST_CHECK(TestPair(                       0,       0x0));
  38433. +    BOOST_CHECK(TestPair(                       1,       0x1));
  38434. +    BOOST_CHECK(TestPair(         CENT*COIN_SCALE,       0x7));
  38435. +    BOOST_CHECK(TestPair(         COIN*COIN_SCALE,       0x9));
  38436. +    BOOST_CHECK(TestPair(      50*COIN*COIN_SCALE,      0x32));
  38437. +    BOOST_CHECK(TestPair(84000000*COIN*COIN_SCALE, 0x501BD00));
  38438.  
  38439.      for (uint64_t i = 1; i <= NUM_MULTIPLES_UNIT; i++)
  38440.          BOOST_CHECK(TestEncode(i));
  38441. diff --git a/src/test/data/base58_keys_valid.json b/src/test/data/base58_keys_valid.json
  38442. index 3e91309..4e59ef0 100644
  38443. --- a/src/test/data/base58_keys_valid.json
  38444. +++ b/src/test/data/base58_keys_valid.json
  38445. @@ -1,6 +1,6 @@
  38446.  [
  38447.      [
  38448. -        "LdwLvykqj2nUH3MWcut6mtjHxVxVFC7st5",
  38449. +        "CbBHEoo5XRWwvNZn8XDj5PHZNQod2TGVyH",
  38450.          "cd463dbc6f8076c7021f2766b36ea7e19c5c9e2e",
  38451.          {
  38452.              "addrType": "pubkey",
  38453. @@ -18,7 +18,7 @@
  38454.          }
  38455.      ],
  38456.      [
  38457. -        "mmCKZS7toE69QgXNs1JZcjW6LFj8LfUbz6",
  38458. +        "JQDJc3rJWxaZoD3VCUeteCzbXxCz1v2m18",
  38459.          "3e4a9a4a79dcad8800b6cfcdf102bf98064b7454",
  38460.          {
  38461.              "addrType": "pubkey",
  38462. @@ -72,7 +72,7 @@
  38463.          }
  38464.      ],
  38465.      [
  38466. -        "LWZR9ybwmT8vSXP6tmrBX4b6nE9o94AjQG",
  38467. +        "CToMToeBZqsQ5rbNQPBopZ9NC8zvuZ1GqR",
  38468.          "7c57bc50a38d8377ad55260f29f2c8619846ef08",
  38469.          {
  38470.              "addrType": "pubkey",
  38471. @@ -90,7 +90,7 @@
  38472.          }
  38473.      ],
  38474.      [
  38475. -        "mvJg85FLYqN7xAcZeFZRVg7pMbJ53BqKmy",
  38476. +        "JZKfAgykGZrYLh8fyiukX9cKZHmvd4Vfcr",
  38477.          "a237653c5ae7e18e840d6463d380701ce3ba5035",
  38478.          {
  38479.              "addrType": "pubkey",
  38480. @@ -144,7 +144,7 @@
  38481.          }
  38482.      ],
  38483.      [
  38484. -        "LWkdEB9SHUfuBiTvZofK2LqYE4RTTtUcqi",
  38485. +        "CTzZY1Bg5sQNq3gC5QzwKqPodyGbKNDb7U",
  38486.          "7e766382cb564021bcbc273e23569dcaed536ac6",
  38487.          {
  38488.              "addrType": "pubkey",
  38489. @@ -162,7 +162,7 @@
  38490.          }
  38491.      ],
  38492.      [
  38493. -        "mtei3esVvHhww4Rw9FYnMdTUTVvbpWhLfF",
  38494. +        "JXfh6Gbue2CNKax3Uiu7P6wyfCQTTz6XCZ",
  38495.          "901111ab28cf850a5b6846e94e8c0c4a505603a9",
  38496.          {
  38497.              "addrType": "pubkey",
  38498. @@ -216,7 +216,7 @@
  38499.          }
  38500.      ],
  38501.      [
  38502. -        "LVcGHJcTv1ctR6GLRXxR4SQSsycdmQ6pwZ",
  38503. +        "CSrCb8ehiQMN4RUbw9J3MvxiHtTmcJ8U8o",
  38504.          "71e9734a1283f2368bbd5a397d3c7a22610b2958",
  38505.          {
  38506.              "addrType": "pubkey",
  38507. @@ -234,7 +234,7 @@
  38508.          }
  38509.      ],
  38510.      [
  38511. -        "myWBvpVEeY86YvJLb5kwH2iWbdXPGjTtZk",
  38512. +        "JcXAySDeNGcWwSpSvZ7GJWD1oL1EspMwxJ",
  38513.          "c54d3aa920e78e56b72c0076d36e99bc87058397",
  38514.          {
  38515.              "addrType": "pubkey",
  38516. @@ -288,7 +288,7 @@
  38517.          }
  38518.      ],
  38519.      [
  38520. -        "LPD8ZwGjE4WmQ1EEnjZHrvofSyvGtbEWsH",
  38521. +        "CLT4smJy2TFF3LSWJLtvARMvrtmQcA1cNw",
  38522.          "2bb8b0991f396d7f411c2227af00cc09d1ae0adf",
  38523.          {
  38524.              "addrType": "pubkey",
  38525. @@ -306,7 +306,7 @@
  38526.          }
  38527.      ],
  38528.      [
  38529. -        "mhv2Ti1xy9CsWoYgnEjehEunbhFiyFwLAp",
  38530. +        "JLw1WKkNgshHuL4o7i5yiiQHoPjacoqMG1",
  38531.          "1a4d4bf230aabafd3a425770b8b98700bf06e370",
  38532.          {
  38533.              "addrType": "pubkey",
  38534. @@ -360,7 +360,7 @@
  38535.          }
  38536.      ],
  38537.      [
  38538. -        "LPGeGFBPCVLHdGVD1i1oikzD92XZoTEVyh",
  38539. +        "CLWaa5Dczt4mGbhUXKMS2FYUYwNhY6CKfn",
  38540.          "2c62b9d0c13b499167506863248f473416b18850",
  38541.          {
  38542.              "addrType": "pubkey",
  38543. @@ -378,7 +378,7 @@
  38544.          }
  38545.      ],
  38546.      [
  38547. -        "mhvk8vH4LaAgUBUJsU4UtL4KSWLavssToW",
  38548. +        "JLwjBY1U4Jf6rhzRCwQouoYpeCpSXkzoPo",
  38549.          "1a701609b7d938f932d9517f965eb938ec45d067",
  38550.          {
  38551.              "addrType": "pubkey",
  38552. @@ -432,7 +432,7 @@
  38553.          }
  38554.      ],
  38555.      [
  38556. -        "LhLu7S8qdG7YZR1GgSP8g4aqN8nXCRLkzX",
  38557. +        "CeaqRGB5Rer2CkDYC3ikyZ96n3dewcCiJQ",
  38558.          "f2a30c60e4abcbbdcdf7cb34520b742ae07b6018",
  38559.          {
  38560.              "addrType": "pubkey",
  38561. diff --git a/src/test/data/script_tests.json b/src/test/data/script_tests.json
  38562. index 698e898..49da825 100644
  38563. --- a/src/test/data/script_tests.json
  38564. +++ b/src/test/data/script_tests.json
  38565. @@ -1254,10 +1254,10 @@
  38566.  ["0x27 0x302402107777777777777777777777777777777702108777777777777777777777777777777701", "0 CHECKSIG NOT", "DERSIG", "SIG_DER", "Negative S is incorrectly encoded for DERSIG"],
  38567.  
  38568.  ["Some basic segwit checks"],
  38569. -[["00", 0.00000000 ], "", "0 0x206e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d", "P2SH,WITNESS", "EVAL_FALSE", "Invalid witness script"],
  38570. -[["51", 0.00000000 ], "", "0 0x206e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d", "P2SH,WITNESS", "WITNESS_PROGRAM_MISMATCH", "Witness script hash mismatch"],
  38571. -[["00", 0.00000000 ], "", "0 0x206e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d", "", "OK", "Invalid witness script without WITNESS"],
  38572. -[["51", 0.00000000 ], "", "0 0x206e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d", "", "OK", "Witness script hash mismatch without WITNESS"],
  38573. +[["00", 0.0000000 ], "", "0 0x206e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d", "P2SH,WITNESS", "EVAL_FALSE", "Invalid witness script"],
  38574. +[["51", 0.0000000 ], "", "0 0x206e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d", "P2SH,WITNESS", "WITNESS_PROGRAM_MISMATCH", "Witness script hash mismatch"],
  38575. +[["00", 0.0000000 ], "", "0 0x206e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d", "", "OK", "Invalid witness script without WITNESS"],
  38576. +[["51", 0.0000000 ], "", "0 0x206e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d", "", "OK", "Witness script hash mismatch without WITNESS"],
  38577.  
  38578.  ["Automatically generated test cases"],
  38579.  [
  38580. @@ -1861,7 +1861,7 @@
  38581.      [
  38582.          "304402200d461c140cfdfcf36b94961db57ae8c18d1cb80e9d95a9e47ac22470c1bf125502201c8dc1cbfef6a3ef90acbbb992ca22fe9466ee6f9d4898eda277a7ac3ab4b25101",
  38583.          "410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac",
  38584. -        0.00000001
  38585. +        0.0000001
  38586.      ],
  38587.      "",
  38588.      "0 0x20 0xb95237b48faaa69eb078e1170be3b5cbb3fddf16d0a991e14ad274f7b33a4f64",
  38589. @@ -1873,7 +1873,7 @@
  38590.      [
  38591.          "304402201e7216e5ccb3b61d46946ec6cc7e8c4e0117d13ac2fd4b152197e4805191c74202203e9903e33e84d9ee1dd13fb057afb7ccfb47006c23f6a067185efbc9dd780fc501",
  38592.          "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  38593. -        0.00000001
  38594. +        0.0000001
  38595.      ],
  38596.      "",
  38597.      "0 0x14 0x91b24bf9f5288532960ac687abb035127b1d28a5",
  38598. @@ -1885,7 +1885,7 @@
  38599.      [
  38600.          "3044022066e02c19a513049d49349cf5311a1b012b7c4fae023795a18ab1d91c23496c22022025e216342c8e07ce8ef51e8daee88f84306a9de66236cab230bb63067ded1ad301",
  38601.          "410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac",
  38602. -        0.00000001
  38603. +        0.0000001
  38604.      ],
  38605.      "0x22 0x0020b95237b48faaa69eb078e1170be3b5cbb3fddf16d0a991e14ad274f7b33a4f64",
  38606.      "HASH160 0x14 0xf386c2ba255cc56d20cfa6ea8b062f8b59945518 EQUAL",
  38607. @@ -1897,7 +1897,7 @@
  38608.      [
  38609.          "304402200929d11561cd958460371200f82e9cae64c727a495715a31828e27a7ad57b36d0220361732ced04a6f97351ecca21a56d0b8cd4932c1da1f8f569a2b68e5e48aed7801",
  38610.          "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  38611. -        0.00000001
  38612. +        0.0000001
  38613.      ],
  38614.      "0x16 0x001491b24bf9f5288532960ac687abb035127b1d28a5",
  38615.      "HASH160 0x14 0x17743beb429c55c942d2ec703b98c4d57c2df5c6 EQUAL",
  38616. @@ -1909,7 +1909,7 @@
  38617.      [
  38618.          "304402202589f0512cb2408fb08ed9bd24f85eb3059744d9e4f2262d0b7f1338cff6e8b902206c0978f449693e0578c71bc543b11079fd0baae700ee5e9a6bee94db490af9fc01",
  38619.          "41048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26cafac",
  38620. -        0.00000000
  38621. +        0.0000000
  38622.      ],
  38623.      "",
  38624.      "0 0x20 0xac8ebd9e52c17619a381fa4f71aebb696087c6ef17c960fd0587addad99c0610",
  38625. @@ -1921,7 +1921,7 @@
  38626.      [
  38627.          "304402206ef7fdb2986325d37c6eb1a8bb24aeb46dede112ed8fc76c7d7500b9b83c0d3d02201edc2322c794fe2d6b0bd73ed319e714aa9b86d8891961530d5c9b7156b60d4e01",
  38628.          "048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf",
  38629. -        0.00000000
  38630. +        0.0000000
  38631.      ],
  38632.      "",
  38633.      "0 0x14 0x7cf9c846cd4882efec4bf07e44ebdad495c94f4b",
  38634. @@ -1933,7 +1933,7 @@
  38635.      [
  38636.          "30440220069ea3581afaf8187f63feee1fd2bd1f9c0dc71ea7d6e8a8b07ee2ebcf824bf402201a4fdef4c532eae59223be1eda6a397fc835142d4ddc6c74f4aa85b766a5c16f01",
  38637.          "41048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26cafac",
  38638. -        0.00000000
  38639. +        0.0000000
  38640.      ],
  38641.      "0x22 0x0020ac8ebd9e52c17619a381fa4f71aebb696087c6ef17c960fd0587addad99c0610",
  38642.      "HASH160 0x14 0x61039a003883787c0d6ebc66d97fdabe8e31449d EQUAL",
  38643. @@ -1945,7 +1945,7 @@
  38644.      [
  38645.          "304402204209e49457c2358f80d0256bc24535b8754c14d08840fc4be762d6f5a0aed80b02202eaf7d8fc8d62f60c67adcd99295528d0e491ae93c195cec5a67e7a09532a88001",
  38646.          "048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf",
  38647. -        0.00000000
  38648. +        0.0000000
  38649.      ],
  38650.      "0x16 0x00147cf9c846cd4882efec4bf07e44ebdad495c94f4b",
  38651.      "HASH160 0x14 0x4e0c2aed91315303fc6a1dc4c7bc21c88f75402e EQUAL",
  38652. @@ -1957,7 +1957,7 @@
  38653.      [
  38654.          "304402202589f0512cb2408fb08ed9bd24f85eb3059744d9e4f2262d0b7f1338cff6e8b902206c0978f449693e0578c71bc543b11079fd0baae700ee5e9a6bee94db490af9fc01",
  38655.          "41048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26cafac",
  38656. -        0.00000000
  38657. +        0.0000000
  38658.      ],
  38659.      "",
  38660.      "0 0x20 0xac8ebd9e52c17619a381fa4f71aebb696087c6ef17c960fd0587addad99c0610",
  38661. @@ -1969,7 +1969,7 @@
  38662.      [
  38663.          "304402206ef7fdb2986325d37c6eb1a8bb24aeb46dede112ed8fc76c7d7500b9b83c0d3d02201edc2322c794fe2d6b0bd73ed319e714aa9b86d8891961530d5c9b7156b60d4e01",
  38664.          "048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf",
  38665. -        0.00000000
  38666. +        0.0000000
  38667.      ],
  38668.      "",
  38669.      "0 0x14 0x7cf9c846cd4882efec4bf07e44ebdad495c94f4b",
  38670. @@ -1981,7 +1981,7 @@
  38671.      [
  38672.          "30440220069ea3581afaf8187f63feee1fd2bd1f9c0dc71ea7d6e8a8b07ee2ebcf824bf402201a4fdef4c532eae59223be1eda6a397fc835142d4ddc6c74f4aa85b766a5c16f01",
  38673.          "41048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26cafac",
  38674. -        0.00000000
  38675. +        0.0000000
  38676.      ],
  38677.      "0x22 0x0020ac8ebd9e52c17619a381fa4f71aebb696087c6ef17c960fd0587addad99c0610",
  38678.      "HASH160 0x14 0x61039a003883787c0d6ebc66d97fdabe8e31449d EQUAL",
  38679. @@ -1993,7 +1993,7 @@
  38680.      [
  38681.          "304402204209e49457c2358f80d0256bc24535b8754c14d08840fc4be762d6f5a0aed80b02202eaf7d8fc8d62f60c67adcd99295528d0e491ae93c195cec5a67e7a09532a88001",
  38682.          "048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf",
  38683. -        0.00000000
  38684. +        0.0000000
  38685.      ],
  38686.      "0x16 0x00147cf9c846cd4882efec4bf07e44ebdad495c94f4b",
  38687.      "HASH160 0x14 0x4e0c2aed91315303fc6a1dc4c7bc21c88f75402e EQUAL",
  38688. @@ -2005,7 +2005,7 @@
  38689.      [
  38690.          "3044022066faa86e74e8b30e82691b985b373de4f9e26dc144ec399c4f066aa59308e7c202204712b86f28c32503faa051dbeabff2c238ece861abc36c5e0b40b1139ca222f001",
  38691.          "410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac",
  38692. -        0.00000000
  38693. +        0.0000000
  38694.      ],
  38695.      "",
  38696.      "0 0x20 0xb95237b48faaa69eb078e1170be3b5cbb3fddf16d0a991e14ad274f7b33a4f64",
  38697. @@ -2017,7 +2017,7 @@
  38698.      [
  38699.          "304402203b3389b87448d7dfdb5e82fb854fcf92d7925f9938ea5444e36abef02c3d6a9602202410bc3265049abb07fd2e252c65ab7034d95c9d5acccabe9fadbdc63a52712601",
  38700.          "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  38701. -        0.00000000
  38702. +        0.0000000
  38703.      ],
  38704.      "",
  38705.      "0 0x14 0x91b24bf9f5288532960ac687abb035127b1d28a5",
  38706. @@ -2029,7 +2029,7 @@
  38707.      [
  38708.          "3044022000a30c4cfc10e4387be528613575434826ad3c15587475e0df8ce3b1746aa210022008149265e4f8e9dafe1f3ea50d90cb425e9e40ea7ebdd383069a7cfa2b77004701",
  38709.          "410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac",
  38710. -        0.00000000
  38711. +        0.0000000
  38712.      ],
  38713.      "0x22 0x0020b95237b48faaa69eb078e1170be3b5cbb3fddf16d0a991e14ad274f7b33a4f64",
  38714.      "HASH160 0x14 0xf386c2ba255cc56d20cfa6ea8b062f8b59945518 EQUAL",
  38715. @@ -2041,7 +2041,7 @@
  38716.      [
  38717.          "304402204fc3a2cd61a47913f2a5f9107d0ad4a504c7b31ee2d6b3b2f38c2b10ee031e940220055d58b7c3c281aaa381d8f486ac0f3e361939acfd568046cb6a311cdfa974cf01",
  38718.          "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  38719. -        0.00000000
  38720. +        0.0000000
  38721.      ],
  38722.      "0x16 0x001491b24bf9f5288532960ac687abb035127b1d28a5",
  38723.      "HASH160 0x14 0x17743beb429c55c942d2ec703b98c4d57c2df5c6 EQUAL",
  38724. @@ -2053,7 +2053,7 @@
  38725.      [
  38726.          "304402205ae57ae0534c05ca9981c8a6cdf353b505eaacb7375f96681a2d1a4ba6f02f84022056248e68643b7d8ce7c7d128c9f1f348bcab8be15d094ad5cadd24251a28df8001",
  38727.          "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  38728. -        0.00000000
  38729. +        0.0000000
  38730.      ],
  38731.      "",
  38732.      "1 0x14 0x91b24bf9f5288532960ac687abb035127b1d28a5",
  38733. @@ -2065,7 +2065,7 @@
  38734.      [
  38735.          "3044022064100ca0e2a33332136775a86cd83d0230e58b9aebb889c5ac952abff79a46ef02205f1bf900e022039ad3091bdaf27ac2aef3eae9ed9f190d821d3e508405b9513101",
  38736.          "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  38737. -        0.00000000
  38738. +        0.0000000
  38739.      ],
  38740.      "",
  38741.      "0 0x1f 0xb34b78da162751647974d5cb7410aa428ad339dbf7d1e16e833f68a0cbf1c3",
  38742. @@ -2084,7 +2084,7 @@
  38743.      [
  38744.          "3044022039105b995a5f448639a997a5c90fda06f50b49df30c3bdb6663217bf79323db002206fecd54269dec569fcc517178880eb58bb40f381a282bb75766ff3637d5f4b4301",
  38745.          "400479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac",
  38746. -        0.00000000
  38747. +        0.0000000
  38748.      ],
  38749.      "",
  38750.      "0 0x20 0xb95237b48faaa69eb078e1170be3b5cbb3fddf16d0a991e14ad274f7b33a4f64",
  38751. @@ -2097,7 +2097,7 @@
  38752.          "304402201a96950593cb0af32d080b0f193517f4559241a8ebd1e95e414533ad64a3f423022047f4f6d3095c23235bdff3aeff480d0529c027a3f093cb265b7cbf148553b85101",
  38753.          "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  38754.          "",
  38755. -        0.00000000
  38756. +        0.0000000
  38757.      ],
  38758.      "",
  38759.      "0 0x14 0x91b24bf9f5288532960ac687abb035127b1d28a5",
  38760. @@ -2109,7 +2109,7 @@
  38761.      [
  38762.          "304402201a96950593cb0af32d080b0f193517f4559241a8ebd1e95e414533ad64a3f423022047f4f6d3095c23235bdff3aeff480d0529c027a3f093cb265b7cbf148553b85101",
  38763.          "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  38764. -        0.00000000
  38765. +        0.0000000
  38766.      ],
  38767.      "11",
  38768.      "0 0x14 0x91b24bf9f5288532960ac687abb035127b1d28a5",
  38769. @@ -2121,7 +2121,7 @@
  38770.      [
  38771.          "304402204209e49457c2358f80d0256bc24535b8754c14d08840fc4be762d6f5a0aed80b02202eaf7d8fc8d62f60c67adcd99295528d0e491ae93c195cec5a67e7a09532a88001",
  38772.          "048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf",
  38773. -        0.00000000
  38774. +        0.0000000
  38775.      ],
  38776.      "11 0x16 0x00147cf9c846cd4882efec4bf07e44ebdad495c94f4b",
  38777.      "HASH160 0x14 0x4e0c2aed91315303fc6a1dc4c7bc21c88f75402e EQUAL",
  38778. @@ -2132,7 +2132,7 @@
  38779.  [
  38780.      [
  38781.          "",
  38782. -        0.00000000
  38783. +        0.0000000
  38784.      ],
  38785.      "0x47 0x304402200a5c6163f07b8d3b013c4d1d6dba25e780b39658d79ba37af7057a3b7f15ffa102201fd9b4eaa9943f734928b99a83592c2e7bf342ea2680f6a2bb705167966b742001",
  38786.      "0x41 0x0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 CHECKSIG",
  38787. @@ -2146,7 +2146,7 @@
  38788.      [
  38789.          "304402204256146fcf8e73b0fd817ffa2a4e408ff0418ff987dd08a4f485b62546f6c43c02203f3c8c3e2febc051e1222867f5f9d0eaf039d6792911c10940aa3cc74123378e01",
  38790.          "210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798ac",
  38791. -        0.00000001
  38792. +        0.0000001
  38793.      ],
  38794.      "",
  38795.      "0 0x20 0x1863143c14c5166804bd19203356da136c985678cd4d27a1b8c6329604903262",
  38796. @@ -2158,7 +2158,7 @@
  38797.      [
  38798.          "304402204edf27486f11432466b744df533e1acac727e0c83e5f912eb289a3df5bf8035f022075809fdd876ede40ad21667eba8b7e96394938f9c9c50f11b6a1280cce2cea8601",
  38799.          "0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
  38800. -        0.00000001
  38801. +        0.0000001
  38802.      ],
  38803.      "",
  38804.      "0 0x14 0x751e76e8199196d454941c45d1b3a323f1433bd6",
  38805. @@ -2170,7 +2170,7 @@
  38806.      [
  38807.          "304402203a549090cc46bce1e5e95c4922ea2c12747988e0207b04c42f81cdbe87bb1539022050f57a245b875fd5119c419aaf050bcdf41384f0765f04b809e5bced1fe7093d01",
  38808.          "210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798ac",
  38809. -        0.00000001
  38810. +        0.0000001
  38811.      ],
  38812.      "0x22 0x00201863143c14c5166804bd19203356da136c985678cd4d27a1b8c6329604903262",
  38813.      "HASH160 0x14 0xe4300531190587e3880d4c3004f5355d88ff928d EQUAL",
  38814. @@ -2182,7 +2182,7 @@
  38815.      [
  38816.          "304402201bc0d53046827f4a35a3166e33e3b3366c4085540dc383b95d21ed2ab11e368a0220333e78c6231214f5f8e59621e15d7eeab0d4e4d0796437e00bfbd2680c5f9c1701",
  38817.          "0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
  38818. -        0.00000001
  38819. +        0.0000001
  38820.      ],
  38821.      "0x16 0x0014751e76e8199196d454941c45d1b3a323f1433bd6",
  38822.      "HASH160 0x14 0xbcfeb728b584253d5f3f70bcb780e9ef218a68f4 EQUAL",
  38823. @@ -2196,7 +2196,7 @@
  38824.      [
  38825.          "304402200d461c140cfdfcf36b94961db57ae8c18d1cb80e9d95a9e47ac22470c1bf125502201c8dc1cbfef6a3ef90acbbb992ca22fe9466ee6f9d4898eda277a7ac3ab4b25101",
  38826.          "410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac",
  38827. -        0.00000001
  38828. +        0.0000001
  38829.      ],
  38830.      "",
  38831.      "0 0x20 0xb95237b48faaa69eb078e1170be3b5cbb3fddf16d0a991e14ad274f7b33a4f64",
  38832. @@ -2208,7 +2208,7 @@
  38833.      [
  38834.          "304402201e7216e5ccb3b61d46946ec6cc7e8c4e0117d13ac2fd4b152197e4805191c74202203e9903e33e84d9ee1dd13fb057afb7ccfb47006c23f6a067185efbc9dd780fc501",
  38835.          "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  38836. -        0.00000001
  38837. +        0.0000001
  38838.      ],
  38839.      "",
  38840.      "0 0x14 0x91b24bf9f5288532960ac687abb035127b1d28a5",
  38841. @@ -2220,7 +2220,7 @@
  38842.      [
  38843.          "3044022066e02c19a513049d49349cf5311a1b012b7c4fae023795a18ab1d91c23496c22022025e216342c8e07ce8ef51e8daee88f84306a9de66236cab230bb63067ded1ad301",
  38844.          "410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac",
  38845. -        0.00000001
  38846. +        0.0000001
  38847.      ],
  38848.      "0x22 0x0020b95237b48faaa69eb078e1170be3b5cbb3fddf16d0a991e14ad274f7b33a4f64",
  38849.      "HASH160 0x14 0xf386c2ba255cc56d20cfa6ea8b062f8b59945518 EQUAL",
  38850. @@ -2232,7 +2232,7 @@
  38851.      [
  38852.          "304402200929d11561cd958460371200f82e9cae64c727a495715a31828e27a7ad57b36d0220361732ced04a6f97351ecca21a56d0b8cd4932c1da1f8f569a2b68e5e48aed7801",
  38853.          "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
  38854. -        0.00000001
  38855. +        0.0000001
  38856.      ],
  38857.      "0x16 0x001491b24bf9f5288532960ac687abb035127b1d28a5",
  38858.      "HASH160 0x14 0x17743beb429c55c942d2ec703b98c4d57c2df5c6 EQUAL",
  38859. @@ -2247,7 +2247,7 @@
  38860.          "",
  38861.          "304402207eb8a59b5c65fc3f6aeef77066556ed5c541948a53a3ba7f7c375b8eed76ee7502201e036a7a9a98ff919ff94dc905d67a1ec006f79ef7cff0708485c8bb79dce38e01",
  38862.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  38863. -        0.00000001
  38864. +        0.0000001
  38865.      ],
  38866.      "",
  38867.      "0 0x20 0x06c24420938f0fa3c1cb2707d867154220dca365cdbfa0dd2a83854730221460",
  38868. @@ -2260,7 +2260,7 @@
  38869.          "",
  38870.          "3044022033706aed33b8155d5486df3b9bca8cdd3bd4bdb5436dce46d72cdaba51d22b4002203626e94fe53a178af46624f17315c6931f20a30b103f5e044e1eda0c3fe185c601",
  38871.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  38872. -        0.00000001
  38873. +        0.0000001
  38874.      ],
  38875.      "0x22 0x002006c24420938f0fa3c1cb2707d867154220dca365cdbfa0dd2a83854730221460",
  38876.      "HASH160 0x14 0x26282aad7c29369d15fed062a778b6100d31a340 EQUAL",
  38877. @@ -2273,7 +2273,7 @@
  38878.          "",
  38879.          "304402204048b7371ab1c544362efb89af0c80154747d665aa4fcfb2edfd2d161e57b42e02207e043748e96637080ffc3acbd4dcc6fee1e58d30f6d1269535f32188e5ddae7301",
  38880.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  38881. -        0.00000001
  38882. +        0.0000001
  38883.      ],
  38884.      "",
  38885.      "0 0x20 0x06c24420938f0fa3c1cb2707d867154220dca365cdbfa0dd2a83854730221460",
  38886. @@ -2286,7 +2286,7 @@
  38887.          "",
  38888.          "3044022073902ef0b8a554c36c44cc03c1b64df96ce2914ebcf946f5bb36078fd5245cdf02205b148f1ba127065fb8c83a5a9576f2dcd111739788ed4bb3ee08b2bd3860c91c01",
  38889.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  38890. -        0.00000001
  38891. +        0.0000001
  38892.      ],
  38893.      "0x22 0x002006c24420938f0fa3c1cb2707d867154220dca365cdbfa0dd2a83854730221460",
  38894.      "HASH160 0x14 0x26282aad7c29369d15fed062a778b6100d31a340 EQUAL",
  38895. @@ -2301,7 +2301,7 @@
  38896.          "",
  38897.          "304402202d092ededd1f060609dbf8cb76950634ff42b3e62cf4adb69ab92397b07d742302204ff886f8d0817491a96d1daccdcc820f6feb122ee6230143303100db37dfa79f01",
  38898.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b852ae",
  38899. -        0.00000001
  38900. +        0.0000001
  38901.      ],
  38902.      "",
  38903.      "0 0x20 0x08a6665ebfd43b02323423e764e185d98d1587f903b81507dbb69bfc41005efa",
  38904. @@ -2314,7 +2314,7 @@
  38905.          "",
  38906.          "304402202dd7e91243f2235481ffb626c3b7baf2c859ae3a5a77fb750ef97b99a8125dc002204960de3d3c3ab9496e218ec57e5240e0e10a6f9546316fe240c216d45116d29301",
  38907.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b852ae",
  38908. -        0.00000001
  38909. +        0.0000001
  38910.      ],
  38911.      "0x22 0x002008a6665ebfd43b02323423e764e185d98d1587f903b81507dbb69bfc41005efa",
  38912.      "HASH160 0x14 0x6f5ecd4b83b77f3c438f5214eff96454934fc5d1 EQUAL",
  38913. @@ -2327,7 +2327,7 @@
  38914.          "",
  38915.          "304402202d092ededd1f060609dbf8cb76950634ff42b3e62cf4adb69ab92397b07d742302204ff886f8d0817491a96d1daccdcc820f6feb122ee6230143303100db37dfa79f01",
  38916.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b852ae",
  38917. -        0.00000001
  38918. +        0.0000001
  38919.      ],
  38920.      "",
  38921.      "0 0x20 0x08a6665ebfd43b02323423e764e185d98d1587f903b81507dbb69bfc41005efa",
  38922. @@ -2340,7 +2340,7 @@
  38923.          "",
  38924.          "304402202dd7e91243f2235481ffb626c3b7baf2c859ae3a5a77fb750ef97b99a8125dc002204960de3d3c3ab9496e218ec57e5240e0e10a6f9546316fe240c216d45116d29301",
  38925.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b852ae",
  38926. -        0.00000001
  38927. +        0.0000001
  38928.      ],
  38929.      "0x22 0x002008a6665ebfd43b02323423e764e185d98d1587f903b81507dbb69bfc41005efa",
  38930.      "HASH160 0x14 0x6f5ecd4b83b77f3c438f5214eff96454934fc5d1 EQUAL",
  38931. @@ -2353,7 +2353,7 @@
  38932.          "",
  38933.          "304402201e9e6f7deef5b2f21d8223c5189b7d5e82d237c10e97165dd08f547c4e5ce6ed02206796372eb1cc6acb52e13ee2d7f45807780bf96b132cb6697f69434be74b1af901",
  38934.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b852ae",
  38935. -        0.00000001
  38936. +        0.0000001
  38937.      ],
  38938.      "",
  38939.      "0 0x20 0x08a6665ebfd43b02323423e764e185d98d1587f903b81507dbb69bfc41005efa",
  38940. @@ -2366,7 +2366,7 @@
  38941.          "",
  38942.          "3044022045e667f3f0f3147b95597a24babe9afecea1f649fd23637dfa7ed7e9f3ac18440220295748e81005231135289fe3a88338dabba55afa1bdb4478691337009d82b68d01",
  38943.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b852ae",
  38944. -        0.00000001
  38945. +        0.0000001
  38946.      ],
  38947.      "0x22 0x002008a6665ebfd43b02323423e764e185d98d1587f903b81507dbb69bfc41005efa",
  38948.      "HASH160 0x14 0x6f5ecd4b83b77f3c438f5214eff96454934fc5d1 EQUAL",
  38949. @@ -2379,7 +2379,7 @@
  38950.          "",
  38951.          "304402201e9e6f7deef5b2f21d8223c5189b7d5e82d237c10e97165dd08f547c4e5ce6ed02206796372eb1cc6acb52e13ee2d7f45807780bf96b132cb6697f69434be74b1af901",
  38952.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b852ae",
  38953. -        0.00000001
  38954. +        0.0000001
  38955.      ],
  38956.      "",
  38957.      "0 0x20 0x08a6665ebfd43b02323423e764e185d98d1587f903b81507dbb69bfc41005efa",
  38958. @@ -2392,7 +2392,7 @@
  38959.          "",
  38960.          "3044022045e667f3f0f3147b95597a24babe9afecea1f649fd23637dfa7ed7e9f3ac18440220295748e81005231135289fe3a88338dabba55afa1bdb4478691337009d82b68d01",
  38961.          "5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b852ae",
  38962. -        0.00000001
  38963. +        0.0000001
  38964.      ],
  38965.      "0x22 0x002008a6665ebfd43b02323423e764e185d98d1587f903b81507dbb69bfc41005efa",
  38966.      "HASH160 0x14 0x6f5ecd4b83b77f3c438f5214eff96454934fc5d1 EQUAL",
  38967. @@ -2405,7 +2405,7 @@
  38968.          "",
  38969.          "3044022046f5367a261fd8f8d7de6eb390491344f8ec2501638fb9a1095a0599a21d3f4c02205c1b3b51d20091c5f1020841bbca87b44ebe25405c64e4acf758f2eae8665f8401",
  38970.          "5141048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  38971. -        0.00000001
  38972. +        0.0000001
  38973.      ],
  38974.      "",
  38975.      "0 0x20 0x230828ed48871f0f362ce9432aa52f620f442cc8d9ce7a8b5e798365595a38bb",
  38976. @@ -2418,7 +2418,7 @@
  38977.          "",
  38978.          "3044022053e210e4fb1881e6092fd75c3efc5163105599e246ded661c0ee2b5682cc2d6c02203a26b7ada8682a095b84c6d1b881637000b47d761fc837c4cee33555296d63f101",
  38979.          "5141048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  38980. -        0.00000001
  38981. +        0.0000001
  38982.      ],
  38983.      "0x22 0x0020230828ed48871f0f362ce9432aa52f620f442cc8d9ce7a8b5e798365595a38bb",
  38984.      "HASH160 0x14 0x3478e7019ce61a68148f87549579b704cbe4c393 EQUAL",
  38985. @@ -2431,7 +2431,7 @@
  38986.          "",
  38987.          "3044022046f5367a261fd8f8d7de6eb390491344f8ec2501638fb9a1095a0599a21d3f4c02205c1b3b51d20091c5f1020841bbca87b44ebe25405c64e4acf758f2eae8665f8401",
  38988.          "5141048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  38989. -        0.00000001
  38990. +        0.0000001
  38991.      ],
  38992.      "",
  38993.      "0 0x20 0x230828ed48871f0f362ce9432aa52f620f442cc8d9ce7a8b5e798365595a38bb",
  38994. @@ -2444,7 +2444,7 @@
  38995.          "",
  38996.          "3044022053e210e4fb1881e6092fd75c3efc5163105599e246ded661c0ee2b5682cc2d6c02203a26b7ada8682a095b84c6d1b881637000b47d761fc837c4cee33555296d63f101",
  38997.          "5141048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  38998. -        0.00000001
  38999. +        0.0000001
  39000.      ],
  39001.      "0x22 0x0020230828ed48871f0f362ce9432aa52f620f442cc8d9ce7a8b5e798365595a38bb",
  39002.      "HASH160 0x14 0x3478e7019ce61a68148f87549579b704cbe4c393 EQUAL",
  39003. @@ -2457,7 +2457,7 @@
  39004.          "",
  39005.          "304402206c6d9f5daf85b54af2a93ec38b15ab27f205dbf5c735365ff12451e43613d1f40220736a44be63423ed5ebf53491618b7cc3d8a5093861908da853739c73717938b701",
  39006.          "5141048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  39007. -        0.00000001
  39008. +        0.0000001
  39009.      ],
  39010.      "",
  39011.      "0 0x20 0x230828ed48871f0f362ce9432aa52f620f442cc8d9ce7a8b5e798365595a38bb",
  39012. @@ -2470,7 +2470,7 @@
  39013.          "",
  39014.          "30440220687871bc6144012d75baf585bb26ce13997f7d8c626f4d8825b069c3b2d064470220108936fe1c57327764782253e99090b09c203ec400ed35ce9e026ce2ecf842a001",
  39015.          "5141048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  39016. -        0.00000001
  39017. +        0.0000001
  39018.      ],
  39019.      "0x22 0x0020230828ed48871f0f362ce9432aa52f620f442cc8d9ce7a8b5e798365595a38bb",
  39020.      "HASH160 0x14 0x3478e7019ce61a68148f87549579b704cbe4c393 EQUAL",
  39021. @@ -2483,7 +2483,7 @@
  39022.          "",
  39023.          "304402206c6d9f5daf85b54af2a93ec38b15ab27f205dbf5c735365ff12451e43613d1f40220736a44be63423ed5ebf53491618b7cc3d8a5093861908da853739c73717938b701",
  39024.          "5141048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  39025. -        0.00000001
  39026. +        0.0000001
  39027.      ],
  39028.      "",
  39029.      "0 0x20 0x230828ed48871f0f362ce9432aa52f620f442cc8d9ce7a8b5e798365595a38bb",
  39030. @@ -2496,7 +2496,7 @@
  39031.          "",
  39032.          "30440220687871bc6144012d75baf585bb26ce13997f7d8c626f4d8825b069c3b2d064470220108936fe1c57327764782253e99090b09c203ec400ed35ce9e026ce2ecf842a001",
  39033.          "5141048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179852ae",
  39034. -        0.00000001
  39035. +        0.0000001
  39036.      ],
  39037.      "0x22 0x0020230828ed48871f0f362ce9432aa52f620f442cc8d9ce7a8b5e798365595a38bb",
  39038.      "HASH160 0x14 0x3478e7019ce61a68148f87549579b704cbe4c393 EQUAL",
  39039. @@ -2540,60 +2540,60 @@
  39040.  ["0x01 0x00 0x03 0x645168", "HASH160 0x14 0x0c3f8fe3d6ca266e76311ecda544c67d15fdd5b0 EQUAL", "P2SH,WITNESS,MINIMALIF", "OK"],
  39041.  ["0x03 0x645168", "HASH160 0x14 0x0c3f8fe3d6ca266e76311ecda544c67d15fdd5b0 EQUAL", "P2SH,WITNESS,MINIMALIF", "UNBALANCED_CONDITIONAL"],
  39042.  ["P2WSH IF 1 ENDIF"],
  39043. -[["01", "635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "OK"],
  39044. -[["02", "635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "OK"],
  39045. -[["0100", "635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "OK"],
  39046. -[["", "635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "EVAL_FALSE"],
  39047. -[["00", "635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "EVAL_FALSE"],
  39048. -[["01", "635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "OK"],
  39049. -[["02", "635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39050. -[["0100", "635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39051. -[["", "635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "EVAL_FALSE"],
  39052. -[["00", "635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39053. -[["635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "UNBALANCED_CONDITIONAL"],
  39054. -[["635168", 0.00000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "UNBALANCED_CONDITIONAL"],
  39055. +[["01", "635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "OK"],
  39056. +[["02", "635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "OK"],
  39057. +[["0100", "635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "OK"],
  39058. +[["", "635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "EVAL_FALSE"],
  39059. +[["00", "635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "EVAL_FALSE"],
  39060. +[["01", "635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "OK"],
  39061. +[["02", "635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39062. +[["0100", "635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39063. +[["", "635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "EVAL_FALSE"],
  39064. +[["00", "635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39065. +[["635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS", "UNBALANCED_CONDITIONAL"],
  39066. +[["635168", 0.0000001], "", "0 0x20 0xc7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "P2SH,WITNESS,MINIMALIF", "UNBALANCED_CONDITIONAL"],
  39067.  ["P2WSH NOTIF 1 ENDIF"],
  39068. -[["01", "645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "EVAL_FALSE"],
  39069. -[["02", "645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "EVAL_FALSE"],
  39070. -[["0100", "645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "EVAL_FALSE"],
  39071. -[["", "645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "OK"],
  39072. -[["00", "645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "OK"],
  39073. -[["01", "645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "EVAL_FALSE"],
  39074. -[["02", "645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39075. -[["0100", "645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39076. -[["", "645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "OK"],
  39077. -[["00", "645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39078. -[["645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "UNBALANCED_CONDITIONAL"],
  39079. -[["645168", 0.00000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "UNBALANCED_CONDITIONAL"],
  39080. +[["01", "645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "EVAL_FALSE"],
  39081. +[["02", "645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "EVAL_FALSE"],
  39082. +[["0100", "645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "EVAL_FALSE"],
  39083. +[["", "645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "OK"],
  39084. +[["00", "645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "OK"],
  39085. +[["01", "645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "EVAL_FALSE"],
  39086. +[["02", "645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39087. +[["0100", "645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39088. +[["", "645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "OK"],
  39089. +[["00", "645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39090. +[["645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS", "UNBALANCED_CONDITIONAL"],
  39091. +[["645168", 0.0000001], "", "0 0x20 0xf913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "P2SH,WITNESS,MINIMALIF", "UNBALANCED_CONDITIONAL"],
  39092.  
  39093.  
  39094.  
  39095.  ["P2SH-P2WSH IF 1 ENDIF"],
  39096. -[["01", "635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "OK"],
  39097. -[["02", "635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "OK"],
  39098. -[["0100", "635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "OK"],
  39099. -[["", "635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "EVAL_FALSE"],
  39100. -[["00", "635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "EVAL_FALSE"],
  39101. -[["01", "635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "OK"],
  39102. -[["02", "635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39103. -[["0100", "635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39104. -[["", "635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "EVAL_FALSE"],
  39105. -[["00", "635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39106. -[["635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "UNBALANCED_CONDITIONAL"],
  39107. -[["635168", 0.00000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "UNBALANCED_CONDITIONAL"],
  39108. +[["01", "635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "OK"],
  39109. +[["02", "635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "OK"],
  39110. +[["0100", "635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "OK"],
  39111. +[["", "635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "EVAL_FALSE"],
  39112. +[["00", "635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "EVAL_FALSE"],
  39113. +[["01", "635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "OK"],
  39114. +[["02", "635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39115. +[["0100", "635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39116. +[["", "635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "EVAL_FALSE"],
  39117. +[["00", "635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39118. +[["635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS", "UNBALANCED_CONDITIONAL"],
  39119. +[["635168", 0.0000001], "0x22 0x0020c7eaf06d5ae01a58e376e126eb1e6fab2036076922b96b2711ffbec1e590665d", "HASH160 0x14 0x9b27ee6d9010c21bf837b334d043be5d150e7ba7 EQUAL", "P2SH,WITNESS,MINIMALIF", "UNBALANCED_CONDITIONAL"],
  39120.  ["P2SH-P2WSH NOTIF 1 ENDIF"],
  39121. -[["01", "645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "EVAL_FALSE"],
  39122. -[["02", "645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "EVAL_FALSE"],
  39123. -[["0100", "645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "EVAL_FALSE"],
  39124. -[["", "645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "OK"],
  39125. -[["00", "645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "OK"],
  39126. -[["01", "645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "EVAL_FALSE"],
  39127. -[["02", "645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39128. -[["0100", "645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39129. -[["", "645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "OK"],
  39130. -[["00", "645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39131. -[["645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "UNBALANCED_CONDITIONAL"],
  39132. -[["645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "UNBALANCED_CONDITIONAL"],
  39133. +[["01", "645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "EVAL_FALSE"],
  39134. +[["02", "645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "EVAL_FALSE"],
  39135. +[["0100", "645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "EVAL_FALSE"],
  39136. +[["", "645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "OK"],
  39137. +[["00", "645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "OK"],
  39138. +[["01", "645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "EVAL_FALSE"],
  39139. +[["02", "645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39140. +[["0100", "645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39141. +[["", "645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "OK"],
  39142. +[["00", "645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "MINIMALIF"],
  39143. +[["645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "UNBALANCED_CONDITIONAL"],
  39144. +[["645168", 0.0000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "UNBALANCED_CONDITIONAL"],
  39145.  
  39146.  ["NULLFAIL should cover all signatures and signatures only"],
  39147.  ["0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", "0x01 0x14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0x01 0x14 CHECKMULTISIG NOT", "DERSIG", "OK", "BIP66 and NULLFAIL-compliant"],
  39148. diff --git a/src/test/dbwrapper_tests.cpp b/src/test/dbwrapper_tests.cpp
  39149. index d90fe50..6ed6e77 100644
  39150. --- a/src/test/dbwrapper_tests.cpp
  39151. +++ b/src/test/dbwrapper_tests.cpp
  39152. @@ -204,31 +204,19 @@ BOOST_AUTO_TEST_CASE(iterator_ordering)
  39153.      for (int x=0x00; x<256; ++x) {
  39154.          uint8_t key = x;
  39155.          uint32_t value = x*x;
  39156. -        if (!(x & 1)) BOOST_CHECK(dbw.Write(key, value));
  39157. +        BOOST_CHECK(dbw.Write(key, value));
  39158.      }
  39159.  
  39160. -    // Check that creating an iterator creates a snapshot
  39161.      std::unique_ptr<CDBIterator> it(const_cast<CDBWrapper&>(dbw).NewIterator());
  39162. -
  39163. -    for (int x=0x00; x<256; ++x) {
  39164. -        uint8_t key = x;
  39165. -        uint32_t value = x*x;
  39166. -        if (x & 1) BOOST_CHECK(dbw.Write(key, value));
  39167. -    }
  39168. -
  39169.      for (int seek_start : {0x00, 0x80}) {
  39170.          it->Seek((uint8_t)seek_start);
  39171. -        for (int x=seek_start; x<255; ++x) {
  39172. +        for (int x=seek_start; x<256; ++x) {
  39173.              uint8_t key;
  39174.              uint32_t value;
  39175.              BOOST_CHECK(it->Valid());
  39176.              if (!it->Valid()) // Avoid spurious errors about invalid iterator's key and value in case of failure
  39177.                  break;
  39178.              BOOST_CHECK(it->GetKey(key));
  39179. -            if (x & 1) {
  39180. -                BOOST_CHECK_EQUAL(key, x + 1);
  39181. -                continue;
  39182. -            }
  39183.              BOOST_CHECK(it->GetValue(value));
  39184.              BOOST_CHECK_EQUAL(key, x);
  39185.              BOOST_CHECK_EQUAL(value, x*x);
  39186. diff --git a/src/test/key_tests.cpp b/src/test/key_tests.cpp
  39187. index 9b83b9e..98ea849 100644
  39188. --- a/src/test/key_tests.cpp
  39189. +++ b/src/test/key_tests.cpp
  39190. @@ -20,10 +20,10 @@ static const std::string strSecret1     ("6uGFQ4DSW7zh1viHZi6iiVT17CncvoaV4MHvGv
  39191.  static const std::string strSecret2     ("6vVo7sPkeLTwVdAntrv4Gbnsyr75H8ChD3P5iyHziwaqe8mCYR5");
  39192.  static const std::string strSecret1C    ("T3gJYmBuZXsdd65E7NQF88ZmUP2MaUanqnZg9GFS94W7kND4Ebjq");
  39193.  static const std::string strSecret2C    ("T986ZKRRdnuuXLeDZuKBRrZW1ujotAncU9WTrFU1n7vMgRW75ZtF");
  39194. -static const CBitcoinAddress addr1 ("LiUo6Zn39joYJBzPUhssbDwAywhjFcoHE3");
  39195. -static const CBitcoinAddress addr2 ("LZJvLSP5SGKcFS13MHgdrVhpFUbEMB5XVC");
  39196. -static const CBitcoinAddress addr1C("Lh2G82Bi33RNuzz4UfSMZbh54jnWHVnmw8");
  39197. -static const CBitcoinAddress addr2C("LWegHWHB5rmaF5rgWYt1YN3StapRdnGJfU");
  39198. +static const CBitcoinAddress addr1 ("CfijQPpGx8Y1wXCezKDVtiVSPrYs1TqKcS");
  39199. +static const CBitcoinAddress addr2 ("CWYreGRKEf45tmDJru2G9zG5fPSN7JN6T1");
  39200. +static const CBitcoinAddress addr1C("CeGCRrDwqS9rZLCKzGmys6FLUede24ZV4o");
  39201. +static const CBitcoinAddress addr2C("CTtcbLKQtFW3tR4x2ADdqrbiJVfZQD9cFm");
  39202.  
  39203.  
  39204.  static const std::string strAddressBad("Lbi6bpMhSwp2CXkivEeUK9wzyQEFzHDfSr");
  39205. diff --git a/src/test/main_tests.cpp b/src/test/main_tests.cpp
  39206. index 721f0d7..c19832c 100644
  39207. --- a/src/test/main_tests.cpp
  39208. +++ b/src/test/main_tests.cpp
  39209. @@ -16,24 +16,32 @@ BOOST_FIXTURE_TEST_SUITE(main_tests, TestingSetup)
  39210.  static void TestBlockSubsidyHalvings(const Consensus::Params& consensusParams)
  39211.  {
  39212.      int maxHalvings = 64;
  39213. -    CAmount nInitialSubsidy = 50 * COIN;
  39214. +    CAmount nInitialSubsidy = 50 * COIN * COIN_SCALE;
  39215.  
  39216.      CAmount nPreviousSubsidy = nInitialSubsidy * 2; // for height == 0
  39217.      BOOST_CHECK_EQUAL(nPreviousSubsidy, nInitialSubsidy * 2);
  39218.      for (int nHalvings = 0; nHalvings < maxHalvings; nHalvings++) {
  39219.          int nHeight = nHalvings * consensusParams.nSubsidyHalvingInterval;
  39220.          CAmount nSubsidy = GetBlockSubsidy(nHeight, consensusParams);
  39221. -        BOOST_CHECK(nSubsidy <= nInitialSubsidy);
  39222. -        BOOST_CHECK_EQUAL(nSubsidy, nPreviousSubsidy / 2);
  39223. -        nPreviousSubsidy = nSubsidy;
  39224. +        if(nHeight >= 6164768) {   // LitecoinCash: Money issue has finished by this point
  39225. +           BOOST_CHECK(nSubsidy == 0);
  39226. +       } else {
  39227. +           BOOST_CHECK(nSubsidy <= nInitialSubsidy);
  39228. +           BOOST_CHECK_EQUAL(nSubsidy, nPreviousSubsidy / 2);
  39229. +           nPreviousSubsidy = nSubsidy;
  39230. +        }
  39231.      }
  39232.      BOOST_CHECK_EQUAL(GetBlockSubsidy(maxHalvings * consensusParams.nSubsidyHalvingInterval, consensusParams), 0);
  39233.  }
  39234.  
  39235.  static void TestBlockSubsidyHalvings(int nSubsidyHalvingInterval)
  39236.  {
  39237. +   const auto chainParams = CreateChainParams(CBaseChainParams::MAIN);
  39238. +   const Consensus::Params mainConsensusParams = chainParams->GetConsensus();  // Get Litecoin Cash extra params
  39239.      Consensus::Params consensusParams;
  39240.      consensusParams.nSubsidyHalvingInterval = nSubsidyHalvingInterval;
  39241. +    consensusParams.lastScryptBlock = mainConsensusParams.lastScryptBlock;     // Set Litecoin Cash extra params
  39242. +    consensusParams.slowStartBlocks = mainConsensusParams.slowStartBlocks;     // Set Litecoin Cash extra params
  39243.      TestBlockSubsidyHalvings(consensusParams);
  39244.  }
  39245.  
  39246. @@ -45,19 +53,44 @@ BOOST_AUTO_TEST_CASE(block_subsidy_test)
  39247.      TestBlockSubsidyHalvings(1000); // Just another interval
  39248.  }
  39249.  
  39250. -BOOST_AUTO_TEST_CASE(subsidy_limit_test)
  39251. +BOOST_AUTO_TEST_CASE(block_subsidy_slowstart_test) // LitecoinCash
  39252.  {
  39253.      const auto chainParams = CreateChainParams(CBaseChainParams::MAIN);
  39254. -    CAmount nSum = 0;
  39255. -    for (int nHeight = 0; nHeight < 56000000; nHeight += 1000) {
  39256. +    const Consensus::Params consensusParams = chainParams->GetConsensus();
  39257. +
  39258. +   int slowStart = consensusParams.lastScryptBlock + 1;
  39259. +   int slowEnd = consensusParams.lastScryptBlock + consensusParams.slowStartBlocks + 3;
  39260. +
  39261. +   CAmount nSum = 0;
  39262. +    for (int nHeight = slowStart; nHeight < slowEnd; nHeight += 1) {
  39263.          CAmount nSubsidy = GetBlockSubsidy(nHeight, chainParams->GetConsensus());
  39264. -        BOOST_CHECK(nSubsidy <= 50 * COIN);
  39265. -        nSum += nSubsidy * 1000;
  39266. +        if(nHeight == slowStart)
  39267. +           BOOST_CHECK(nSubsidy == 550000 * COIN * COIN_SCALE);
  39268. +
  39269. +       if(nHeight >= slowEnd)
  39270. +           BOOST_CHECK(nSubsidy == 25 * COIN * COIN_SCALE);    // First halvening happenned
  39271. +
  39272. +        nSum += nSubsidy;
  39273. +
  39274.          BOOST_CHECK(MoneyRange(nSum));
  39275. -    }
  39276. -    BOOST_CHECK_EQUAL(nSum, 8399999990760000ULL);
  39277. +   }
  39278. +    BOOST_CHECK_EQUAL(nSum, 57506248750000ULL);
  39279.  }
  39280.  
  39281. +BOOST_AUTO_TEST_CASE(block_subsidy_money_limit)    // LitecoinCash
  39282. +{
  39283. +    const auto chainParams = CreateChainParams(CBaseChainParams::MAIN);
  39284. +    const Consensus::Params consensusParams = chainParams->GetConsensus();
  39285. +   CAmount nSum = 0;
  39286. +    for (int nHeight = 0; nHeight < 6215971; nHeight += 1) {   // Test a few blocks past money limit block
  39287. +        CAmount nSubsidy = GetBlockSubsidy(nHeight, chainParams->GetConsensus());
  39288. +        nSum += nSubsidy;
  39289. +        BOOST_CHECK(MoneyRange(nSum));
  39290. +   }
  39291. +    BOOST_CHECK_EQUAL(nSum, 8399999998750000ULL);
  39292. +}
  39293. +
  39294. +
  39295.  bool ReturnFalse() { return false; }
  39296.  bool ReturnTrue() { return true; }
  39297.  
  39298. diff --git a/src/test/miner_tests.cpp b/src/test/miner_tests.cpp
  39299. index 999a7e9..2d38ef8 100644
  39300. --- a/src/test/miner_tests.cpp
  39301. +++ b/src/test/miner_tests.cpp
  39302. @@ -243,10 +243,10 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
  39303.      // Just to make sure we can still make simple blocks
  39304.      BOOST_CHECK(pblocktemplate = AssemblerForTest(chainparams).CreateNewBlock(scriptPubKey));
  39305.  
  39306. -    const CAmount BLOCKSUBSIDY = 50*COIN;
  39307. -    const CAmount LOWFEE = CENT;
  39308. -    const CAmount HIGHFEE = COIN;
  39309. -    const CAmount HIGHERFEE = 4*COIN;
  39310. +    const CAmount BLOCKSUBSIDY = 50*COIN*COIN_SCALE;
  39311. +    const CAmount LOWFEE = CENT*COIN_SCALE;
  39312. +    const CAmount HIGHFEE = COIN*COIN_SCALE;
  39313. +    const CAmount HIGHERFEE = 4*COIN*COIN_SCALE;
  39314.  
  39315.      // block sigops > limit: 1000 CHECKMULTISIG + 1
  39316.      tx.vin.resize(1);
  39317. diff --git a/src/test/multisig_tests.cpp b/src/test/multisig_tests.cpp
  39318. index de7f3b4..9d0aee5 100644
  39319. --- a/src/test/multisig_tests.cpp
  39320. +++ b/src/test/multisig_tests.cpp
  39321. @@ -16,12 +16,14 @@
  39322.  
  39323.  #include <boost/test/unit_test.hpp>
  39324.  
  39325. +typedef std::vector<unsigned char> valtype;
  39326. +
  39327.  BOOST_FIXTURE_TEST_SUITE(multisig_tests, BasicTestingSetup)
  39328.  
  39329.  CScript
  39330.  sign_multisig(CScript scriptPubKey, std::vector<CKey> keys, CTransaction transaction, int whichIn)
  39331.  {
  39332. -    uint256 hash = SignatureHash(scriptPubKey, transaction, whichIn, SIGHASH_ALL, 0, SIGVERSION_BASE);
  39333. +    uint256 hash = SignatureHash(scriptPubKey, transaction, whichIn, SIGHASH_ALL | SIGHASH_FORKID, 0, SIGVERSION_BASE);        // LitecoinCash: Replay attack protection
  39334.  
  39335.      CScript result;
  39336.      result << OP_0; // CHECKMULTISIG bug workaround
  39337. @@ -29,7 +31,7 @@ sign_multisig(CScript scriptPubKey, std::vector<CKey> keys, CTransaction transac
  39338.      {
  39339.          std::vector<unsigned char> vchSig;
  39340.          BOOST_CHECK(key.Sign(hash, vchSig));
  39341. -        vchSig.push_back((unsigned char)SIGHASH_ALL);
  39342. +        vchSig.push_back((unsigned char)SIGHASH_ALL | SIGHASH_FORKID); // LitecoinCash: Replay attack protection
  39343.          result << vchSig;
  39344.      }
  39345.      return result;
  39346. @@ -37,7 +39,7 @@ sign_multisig(CScript scriptPubKey, std::vector<CKey> keys, CTransaction transac
  39347.  
  39348.  BOOST_AUTO_TEST_CASE(multisig_verify)
  39349.  {
  39350. -    unsigned int flags = SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_STRICTENC;
  39351. +    unsigned int flags = SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_STRICTENC  | SCRIPT_ENABLE_SIGHASH_FORKID; // LitecoinCash: Replay attack protection
  39352.  
  39353.      ScriptError err;
  39354.      CKey key[4];
  39355. @@ -171,6 +173,95 @@ BOOST_AUTO_TEST_CASE(multisig_IsStandard)
  39356.          BOOST_CHECK(!::IsStandard(malformed[i], whichType));
  39357.  }
  39358.  
  39359. +BOOST_AUTO_TEST_CASE(multisig_Solver1)
  39360. +{
  39361. +    // Tests Solver() that returns lists of keys that are
  39362. +    // required to satisfy a ScriptPubKey
  39363. +    //
  39364. +    // Also tests IsMine() and ExtractDestination()
  39365. +    //
  39366. +    // Note: ExtractDestination for the multisignature transactions
  39367. +    // always returns false for this release, even if you have
  39368. +    // one key that would satisfy an (a|b) or 2-of-3 keys needed
  39369. +    // to spend an escrow transaction.
  39370. +    //
  39371. +    CBasicKeyStore keystore, emptykeystore, partialkeystore;
  39372. +    CKey key[3];
  39373. +    CTxDestination keyaddr[3];
  39374. +    for (int i = 0; i < 3; i++)
  39375. +    {
  39376. +        key[i].MakeNewKey(true);
  39377. +        keystore.AddKey(key[i]);
  39378. +        keyaddr[i] = key[i].GetPubKey().GetID();
  39379. +    }
  39380. +    partialkeystore.AddKey(key[0]);
  39381. +
  39382. +    {
  39383. +        std::vector<valtype> solutions;
  39384. +        txnouttype whichType;
  39385. +        CScript s;
  39386. +        s << ToByteVector(key[0].GetPubKey()) << OP_CHECKSIG;
  39387. +        BOOST_CHECK(Solver(s, whichType, solutions));
  39388. +        BOOST_CHECK(solutions.size() == 1);
  39389. +        CTxDestination addr;
  39390. +        BOOST_CHECK(ExtractDestination(s, addr));
  39391. +        BOOST_CHECK(addr == keyaddr[0]);
  39392. +        BOOST_CHECK(IsMine(keystore, s));
  39393. +        BOOST_CHECK(!IsMine(emptykeystore, s));
  39394. +    }
  39395. +    {
  39396. +        std::vector<valtype> solutions;
  39397. +        txnouttype whichType;
  39398. +        CScript s;
  39399. +        s << OP_DUP << OP_HASH160 << ToByteVector(key[0].GetPubKey().GetID()) << OP_EQUALVERIFY << OP_CHECKSIG;
  39400. +        BOOST_CHECK(Solver(s, whichType, solutions));
  39401. +        BOOST_CHECK(solutions.size() == 1);
  39402. +        CTxDestination addr;
  39403. +        BOOST_CHECK(ExtractDestination(s, addr));
  39404. +        BOOST_CHECK(addr == keyaddr[0]);
  39405. +        BOOST_CHECK(IsMine(keystore, s));
  39406. +        BOOST_CHECK(!IsMine(emptykeystore, s));
  39407. +    }
  39408. +    {
  39409. +        std::vector<valtype> solutions;
  39410. +        txnouttype whichType;
  39411. +        CScript s;
  39412. +        s << OP_2 << ToByteVector(key[0].GetPubKey()) << ToByteVector(key[1].GetPubKey()) << OP_2 << OP_CHECKMULTISIG;
  39413. +        BOOST_CHECK(Solver(s, whichType, solutions));
  39414. +        BOOST_CHECK_EQUAL(solutions.size(), 4U);
  39415. +        CTxDestination addr;
  39416. +        BOOST_CHECK(!ExtractDestination(s, addr));
  39417. +        BOOST_CHECK(IsMine(keystore, s));
  39418. +        BOOST_CHECK(!IsMine(emptykeystore, s));
  39419. +        BOOST_CHECK(!IsMine(partialkeystore, s));
  39420. +    }
  39421. +    {
  39422. +        std::vector<valtype> solutions;
  39423. +        txnouttype whichType;
  39424. +        CScript s;
  39425. +        s << OP_1 << ToByteVector(key[0].GetPubKey()) << ToByteVector(key[1].GetPubKey()) << OP_2 << OP_CHECKMULTISIG;
  39426. +        BOOST_CHECK(Solver(s, whichType, solutions));
  39427. +        BOOST_CHECK_EQUAL(solutions.size(), 4U);
  39428. +        std::vector<CTxDestination> addrs;
  39429. +        int nRequired;
  39430. +        BOOST_CHECK(ExtractDestinations(s, whichType, addrs, nRequired));
  39431. +        BOOST_CHECK(addrs[0] == keyaddr[0]);
  39432. +        BOOST_CHECK(addrs[1] == keyaddr[1]);
  39433. +        BOOST_CHECK(nRequired == 1);
  39434. +        BOOST_CHECK(IsMine(keystore, s));
  39435. +        BOOST_CHECK(!IsMine(emptykeystore, s));
  39436. +        BOOST_CHECK(!IsMine(partialkeystore, s));
  39437. +    }
  39438. +    {
  39439. +        std::vector<valtype> solutions;
  39440. +        txnouttype whichType;
  39441. +        CScript s;
  39442. +        s << OP_2 << ToByteVector(key[0].GetPubKey()) << ToByteVector(key[1].GetPubKey()) << ToByteVector(key[2].GetPubKey()) << OP_3 << OP_CHECKMULTISIG;
  39443. +        BOOST_CHECK(Solver(s, whichType, solutions));
  39444. +        BOOST_CHECK(solutions.size() == 5);
  39445. +    }
  39446. +}
  39447. +
  39448.  BOOST_AUTO_TEST_CASE(multisig_Sign)
  39449.  {
  39450.      // Test SignSignature() (and therefore the version of Solver() that signs transactions)
  39451. @@ -209,7 +300,7 @@ BOOST_AUTO_TEST_CASE(multisig_Sign)
  39452.  
  39453.      for (int i = 0; i < 3; i++)
  39454.      {
  39455. -        BOOST_CHECK_MESSAGE(SignSignature(keystore, txFrom, txTo[i], 0, SIGHASH_ALL), strprintf("SignSignature %d", i));
  39456. +        BOOST_CHECK_MESSAGE(SignSignature(keystore, txFrom, txTo[i], 0, SIGHASH_ALL | SIGHASH_FORKID), strprintf("SignSignature %d", i));  // LitecoinCash: Replay attack protection
  39457.      }
  39458.  }
  39459.  
  39460. diff --git a/src/test/net_tests.cpp b/src/test/net_tests.cpp
  39461. index 31b05d8..9bb37a0 100644
  39462. --- a/src/test/net_tests.cpp
  39463. +++ b/src/test/net_tests.cpp
  39464. @@ -91,13 +91,13 @@ BOOST_AUTO_TEST_CASE(caddrdb_read)
  39465.      addrmanUncorrupted.MakeDeterministic();
  39466.  
  39467.      CService addr1, addr2, addr3;
  39468. -    Lookup("250.7.1.1", addr1, 8333, false);
  39469. +    Lookup("250.7.1.1", addr1, 62458, false);
  39470.      Lookup("250.7.2.2", addr2, 9999, false);
  39471.      Lookup("250.7.3.3", addr3, 9999, false);
  39472.  
  39473.      // Add three addresses to new table.
  39474.      CService source;
  39475. -    Lookup("252.5.1.1", source, 8333, false);
  39476. +    Lookup("252.5.1.1", source, 62458, false);
  39477.      addrmanUncorrupted.Add(CAddress(addr1, NODE_NONE), source);
  39478.      addrmanUncorrupted.Add(CAddress(addr2, NODE_NONE), source);
  39479.      addrmanUncorrupted.Add(CAddress(addr3, NODE_NONE), source);
  39480. diff --git a/src/test/netbase_tests.cpp b/src/test/netbase_tests.cpp
  39481. index 1baf764..8aceaff 100644
  39482. --- a/src/test/netbase_tests.cpp
  39483. +++ b/src/test/netbase_tests.cpp
  39484. @@ -87,15 +87,15 @@ BOOST_AUTO_TEST_CASE(netbase_splithost)
  39485.      BOOST_CHECK(TestSplitHost("www.bitcoin.org:80", "www.bitcoin.org", 80));
  39486.      BOOST_CHECK(TestSplitHost("[www.bitcoin.org]:80", "www.bitcoin.org", 80));
  39487.      BOOST_CHECK(TestSplitHost("127.0.0.1", "127.0.0.1", -1));
  39488. -    BOOST_CHECK(TestSplitHost("127.0.0.1:8333", "127.0.0.1", 8333));
  39489. +    BOOST_CHECK(TestSplitHost("127.0.0.1:62458", "127.0.0.1", 62458));
  39490.      BOOST_CHECK(TestSplitHost("[127.0.0.1]", "127.0.0.1", -1));
  39491. -    BOOST_CHECK(TestSplitHost("[127.0.0.1]:8333", "127.0.0.1", 8333));
  39492. +    BOOST_CHECK(TestSplitHost("[127.0.0.1]:62458", "127.0.0.1", 62458));
  39493.      BOOST_CHECK(TestSplitHost("::ffff:127.0.0.1", "::ffff:127.0.0.1", -1));
  39494. -    BOOST_CHECK(TestSplitHost("[::ffff:127.0.0.1]:8333", "::ffff:127.0.0.1", 8333));
  39495. -    BOOST_CHECK(TestSplitHost("[::]:8333", "::", 8333));
  39496. -    BOOST_CHECK(TestSplitHost("::8333", "::8333", -1));
  39497. -    BOOST_CHECK(TestSplitHost(":8333", "", 8333));
  39498. -    BOOST_CHECK(TestSplitHost("[]:8333", "", 8333));
  39499. +    BOOST_CHECK(TestSplitHost("[::ffff:127.0.0.1]:62458", "::ffff:127.0.0.1", 62458));
  39500. +    BOOST_CHECK(TestSplitHost("[::]:62458", "::", 62458));
  39501. +    BOOST_CHECK(TestSplitHost("::62458", "::62458", -1));
  39502. +    BOOST_CHECK(TestSplitHost(":62458", "", 62458));
  39503. +    BOOST_CHECK(TestSplitHost("[]:62458", "", 62458));
  39504.      BOOST_CHECK(TestSplitHost("", "", -1));
  39505.  }
  39506.  
  39507. @@ -108,10 +108,10 @@ bool static TestParse(std::string src, std::string canon)
  39508.  BOOST_AUTO_TEST_CASE(netbase_lookupnumeric)
  39509.  {
  39510.      BOOST_CHECK(TestParse("127.0.0.1", "127.0.0.1:65535"));
  39511. -    BOOST_CHECK(TestParse("127.0.0.1:8333", "127.0.0.1:8333"));
  39512. +    BOOST_CHECK(TestParse("127.0.0.1:62458", "127.0.0.1:62458"));
  39513.      BOOST_CHECK(TestParse("::ffff:127.0.0.1", "127.0.0.1:65535"));
  39514.      BOOST_CHECK(TestParse("::", "[::]:65535"));
  39515. -    BOOST_CHECK(TestParse("[::]:8333", "[::]:8333"));
  39516. +    BOOST_CHECK(TestParse("[::]:62458", "[::]:62458"));
  39517.      BOOST_CHECK(TestParse("[127.0.0.1]", "127.0.0.1:65535"));
  39518.      BOOST_CHECK(TestParse(":::", "[::]:0"));
  39519.  
  39520. diff --git a/src/test/rpc_tests.cpp b/src/test/rpc_tests.cpp
  39521. index 7b60221..5bac2ad 100644
  39522. --- a/src/test/rpc_tests.cpp
  39523. +++ b/src/test/rpc_tests.cpp
  39524. @@ -143,37 +143,36 @@ BOOST_AUTO_TEST_CASE(rpc_createraw_op_return)
  39525.  
  39526.  BOOST_AUTO_TEST_CASE(rpc_format_monetary_values)
  39527.  {
  39528. -    BOOST_CHECK(ValueFromAmount(0LL).write() == "0.00000000");
  39529. -    BOOST_CHECK(ValueFromAmount(1LL).write() == "0.00000001");
  39530. -    BOOST_CHECK(ValueFromAmount(17622195LL).write() == "0.17622195");
  39531. -    BOOST_CHECK(ValueFromAmount(50000000LL).write() == "0.50000000");
  39532. -    BOOST_CHECK(ValueFromAmount(89898989LL).write() == "0.89898989");
  39533. -    BOOST_CHECK(ValueFromAmount(100000000LL).write() == "1.00000000");
  39534. -    BOOST_CHECK(ValueFromAmount(2099999999999990LL).write() == "20999999.99999990");
  39535. -    BOOST_CHECK(ValueFromAmount(2099999999999999LL).write() == "20999999.99999999");
  39536. -
  39537. -    BOOST_CHECK_EQUAL(ValueFromAmount(0).write(), "0.00000000");
  39538. -    BOOST_CHECK_EQUAL(ValueFromAmount((COIN/10000)*123456789).write(), "12345.67890000");
  39539. -    BOOST_CHECK_EQUAL(ValueFromAmount(-COIN).write(), "-1.00000000");
  39540. -    BOOST_CHECK_EQUAL(ValueFromAmount(-COIN/10).write(), "-0.10000000");
  39541. -
  39542. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*100000000).write(), "100000000.00000000");
  39543. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*10000000).write(), "10000000.00000000");
  39544. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*1000000).write(), "1000000.00000000");
  39545. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*100000).write(), "100000.00000000");
  39546. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*10000).write(), "10000.00000000");
  39547. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*1000).write(), "1000.00000000");
  39548. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*100).write(), "100.00000000");
  39549. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*10).write(), "10.00000000");
  39550. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN).write(), "1.00000000");
  39551. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/10).write(), "0.10000000");
  39552. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/100).write(), "0.01000000");
  39553. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/1000).write(), "0.00100000");
  39554. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/10000).write(), "0.00010000");
  39555. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/100000).write(), "0.00001000");
  39556. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/1000000).write(), "0.00000100");
  39557. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/10000000).write(), "0.00000010");
  39558. -    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/100000000).write(), "0.00000001");
  39559. +    BOOST_CHECK(ValueFromAmount(0LL).write() == "0.0000000");
  39560. +    BOOST_CHECK(ValueFromAmount(1LL).write() == "0.0000001");
  39561. +    BOOST_CHECK(ValueFromAmount(17622195LL).write() == "1.7622195");
  39562. +    BOOST_CHECK(ValueFromAmount(50000000LL).write() == "5.0000000");
  39563. +    BOOST_CHECK(ValueFromAmount(89898989LL).write() == "8.9898989");
  39564. +    BOOST_CHECK(ValueFromAmount(100000000LL).write() == "10.0000000");
  39565. +    BOOST_CHECK(ValueFromAmount(2099999999999990LL).write() == "209999999.9999990");
  39566. +    BOOST_CHECK(ValueFromAmount(2099999999999999LL).write() == "209999999.9999999");
  39567. +
  39568. +    BOOST_CHECK_EQUAL(ValueFromAmount(0).write(), "0.0000000");
  39569. +    BOOST_CHECK_EQUAL(ValueFromAmount((COIN/10000)*123456789).write(), "12345.6789000");
  39570. +    BOOST_CHECK_EQUAL(ValueFromAmount(-COIN).write(), "-1.0000000");
  39571. +    BOOST_CHECK_EQUAL(ValueFromAmount(-COIN/10).write(), "-0.1000000");
  39572. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*100000000).write(), "100000000.0000000");
  39573. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*10000000).write(), "10000000.0000000");
  39574. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*1000000).write(), "1000000.0000000");
  39575. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*100000).write(), "100000.0000000");
  39576. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*10000).write(), "10000.0000000");
  39577. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*1000).write(), "1000.0000000");
  39578. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*100).write(), "100.0000000");
  39579. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN*10).write(), "10.0000000");
  39580. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN).write(), "1.0000000");
  39581. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/10).write(), "0.1000000");
  39582. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/100).write(), "0.0100000");
  39583. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/1000).write(), "0.0010000");
  39584. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/10000).write(), "0.0001000");
  39585. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/100000).write(), "0.0000100");
  39586. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/1000000).write(), "0.0000010");
  39587. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/10000000).write(), "0.0000001");
  39588. +    BOOST_CHECK_EQUAL(ValueFromAmount(COIN/100000000).write(), "0.0000000");
  39589.  }
  39590.  
  39591.  static UniValue ValueFromString(const std::string &str)
  39592. @@ -185,30 +184,34 @@ static UniValue ValueFromString(const std::string &str)
  39593.  
  39594.  BOOST_AUTO_TEST_CASE(rpc_parse_monetary_values)
  39595.  {
  39596. -    BOOST_CHECK_THROW(AmountFromValue(ValueFromString("-0.00000001")), UniValue);
  39597. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0")), 0LL);
  39598. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.00000000")), 0LL);
  39599. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.00000001")), 1LL);
  39600. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.17622195")), 17622195LL);
  39601. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.5")), 50000000LL);
  39602. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.50000000")), 50000000LL);
  39603. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.89898989")), 89898989LL);
  39604. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("1.00000000")), 100000000LL);
  39605. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("20999999.9999999")), 2099999999999990LL);
  39606. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("20999999.99999999")), 2099999999999999LL);
  39607. -
  39608. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("1e-8")), COIN/100000000);
  39609. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.1e-7")), COIN/100000000);
  39610. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.01e-6")), COIN/100000000);
  39611. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.0000000000000000000000000000000000000000000000000000000000000000000000000001e+68")), COIN/100000000);
  39612. +
  39613. +    BOOST_CHECK_THROW(AmountFromValue(ValueFromString("-0.0000001")), UniValue);                   // LitecoinCash: Coinscale
  39614. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0")), 0LL);                                 // LitecoinCash: Coinscale
  39615. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.0000000")), 0LL);                         // LitecoinCash: Coinscale
  39616. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.0000001")), 1LL);                         // LitecoinCash: Coinscale
  39617. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.1762219")), 1762219LL);                   // LitecoinCash: Coinscale
  39618. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.5")), 5000000LL);                         // LitecoinCash: Coinscale
  39619. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.5000000")), 5000000LL);                   // LitecoinCash: Coinscale
  39620. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.8989898")), 8989898LL);                   // LitecoinCash: Coinscale
  39621. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("1.0000000")), 10000000LL);                  // LitecoinCash: Coinscale
  39622. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("20999999.999999")), 209999999999990LL);     // LitecoinCash: Coinscale
  39623. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("20999999.9999999")), 209999999999999LL);        // LitecoinCash: Coinscale
  39624. +
  39625. +
  39626. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("1e-7")), COIN/10000000);        // LitecoinCash: Coinscale
  39627. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.1e-6")), COIN/10000000);  // LitecoinCash: Coinscale
  39628. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.01e-5")), COIN/10000000); // LitecoinCash: Coinscale
  39629. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.000000000000000000000000000000000000000000000000000000000000000000000000001e+68")), COIN/10000000);   // LitecoinCash: Coinscale
  39630. +
  39631.      BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("10000000000000000000000000000000000000000000000000000000000000000e-64")), COIN);
  39632.      BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000e64")), COIN);
  39633.  
  39634. +
  39635.      BOOST_CHECK_THROW(AmountFromValue(ValueFromString("1e-9")), UniValue); //should fail
  39636.      BOOST_CHECK_THROW(AmountFromValue(ValueFromString("0.000000019")), UniValue); //should fail
  39637. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.00000001000000")), 1LL); //should pass, cut trailing 0
  39638. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.0000001000000")), 1LL); //should pass, cut trailing 0     // LitecoinCash: Coinscale
  39639.      BOOST_CHECK_THROW(AmountFromValue(ValueFromString("19e-9")), UniValue); //should fail
  39640. -    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.19e-6")), 19); //should pass, leading 0 is present
  39641. +    BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.19e-5")), 19); //should pass, leading 0 is present        // LiteconCash: Coinscale
  39642.  
  39643.      BOOST_CHECK_THROW(AmountFromValue(ValueFromString("92233720368.54775808")), UniValue); //overflow error
  39644.      BOOST_CHECK_THROW(AmountFromValue(ValueFromString("1e+11")), UniValue); //overflow error
  39645. @@ -223,9 +226,8 @@ BOOST_AUTO_TEST_CASE(json_parse_errors)
  39646.      // Valid, with leading or trailing whitespace
  39647.      BOOST_CHECK_EQUAL(ParseNonRFCJSONValue(" 1.0").get_real(), 1.0);
  39648.      BOOST_CHECK_EQUAL(ParseNonRFCJSONValue("1.0 ").get_real(), 1.0);
  39649. -
  39650.      BOOST_CHECK_THROW(AmountFromValue(ParseNonRFCJSONValue(".19e-6")), std::runtime_error); //should fail, missing leading 0, therefore invalid JSON
  39651. -    BOOST_CHECK_EQUAL(AmountFromValue(ParseNonRFCJSONValue("0.00000000000000000000000000000000000001e+30 ")), 1);
  39652. +    BOOST_CHECK_EQUAL(AmountFromValue(ParseNonRFCJSONValue("0.0000000000000000000000000000000000001e+30 ")), 1);   // LitecoinCash: Coinscale
  39653.      // Invalid, initial garbage
  39654.      BOOST_CHECK_THROW(ParseNonRFCJSONValue("[1.0"), std::runtime_error);
  39655.      BOOST_CHECK_THROW(ParseNonRFCJSONValue("a1.0"), std::runtime_error);
  39656. diff --git a/src/test/script_P2SH_tests.cpp b/src/test/script_P2SH_tests.cpp
  39657. index efd0f77..1ea04c2 100644
  39658. --- a/src/test/script_P2SH_tests.cpp
  39659. +++ b/src/test/script_P2SH_tests.cpp
  39660. @@ -102,7 +102,7 @@ BOOST_AUTO_TEST_CASE(sign)
  39661.      }
  39662.      for (int i = 0; i < 8; i++)
  39663.      {
  39664. -        BOOST_CHECK_MESSAGE(SignSignature(keystore, txFrom, txTo[i], 0, SIGHASH_ALL), strprintf("SignSignature %d", i));
  39665. +        BOOST_CHECK_MESSAGE(SignSignature(keystore, txFrom, txTo[i], 0, SIGHASH_ALL | SIGHASH_FORKID), strprintf("SignSignature %d", i));  // LitecoinCash: Replay attack protection
  39666.      }
  39667.      // All of the above should be OK, and the txTos have valid signatures
  39668.      // Check to make sure signature verification fails if we use the wrong ScriptSig:
  39669. @@ -113,7 +113,7 @@ BOOST_AUTO_TEST_CASE(sign)
  39670.              CScript sigSave = txTo[i].vin[0].scriptSig;
  39671.              txTo[i].vin[0].scriptSig = txTo[j].vin[0].scriptSig;
  39672.              const CTxOut& output = txFrom.vout[txTo[i].vin[0].prevout.n];
  39673. -            bool sigOK = CScriptCheck(output.scriptPubKey, output.nValue, txTo[i], 0, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_STRICTENC, false, &txdata)();
  39674. +            bool sigOK = CScriptCheck(output.scriptPubKey, output.nValue, txTo[i], 0, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_STRICTENC | SCRIPT_ENABLE_SIGHASH_FORKID, false, &txdata)();  // LitecoinCash: Replay attack protection
  39675.              if (i == j)
  39676.                  BOOST_CHECK_MESSAGE(sigOK, strprintf("VerifySignature %d %d", i, j));
  39677.              else
  39678. @@ -200,7 +200,7 @@ BOOST_AUTO_TEST_CASE(set)
  39679.      }
  39680.      for (int i = 0; i < 4; i++)
  39681.      {
  39682. -        BOOST_CHECK_MESSAGE(SignSignature(keystore, txFrom, txTo[i], 0, SIGHASH_ALL), strprintf("SignSignature %d", i));
  39683. +        BOOST_CHECK_MESSAGE(SignSignature(keystore, txFrom, txTo[i], 0, SIGHASH_ALL | SIGHASH_FORKID), strprintf("SignSignature %d", i));  // LitecoinCash: Replay attack protection
  39684.          BOOST_CHECK_MESSAGE(IsStandardTx(txTo[i], reason), strprintf("txTo[%d].IsStandard", i));
  39685.      }
  39686.  }
  39687. @@ -329,9 +329,9 @@ BOOST_AUTO_TEST_CASE(AreInputsStandard)
  39688.          txTo.vin[i].prevout.n = i;
  39689.          txTo.vin[i].prevout.hash = txFrom.GetHash();
  39690.      }
  39691. -    BOOST_CHECK(SignSignature(keystore, txFrom, txTo, 0, SIGHASH_ALL));
  39692. -    BOOST_CHECK(SignSignature(keystore, txFrom, txTo, 1, SIGHASH_ALL));
  39693. -    BOOST_CHECK(SignSignature(keystore, txFrom, txTo, 2, SIGHASH_ALL));
  39694. +    BOOST_CHECK(SignSignature(keystore, txFrom, txTo, 0, SIGHASH_ALL | SIGHASH_FORKID));   // LitecoinCash: Replay attack protection
  39695. +    BOOST_CHECK(SignSignature(keystore, txFrom, txTo, 1, SIGHASH_ALL | SIGHASH_FORKID));   // LitecoinCash: Replay attack protection
  39696. +    BOOST_CHECK(SignSignature(keystore, txFrom, txTo, 2, SIGHASH_ALL | SIGHASH_FORKID));   // LitecoinCash: Replay attack protection
  39697.      // SignSignature doesn't know how to sign these. We're
  39698.      // not testing validating signatures, so just create
  39699.      // dummy signatures that DO include the correct P2SH scripts:
  39700. diff --git a/src/test/script_standard_tests.cpp b/src/test/script_standard_tests.cpp
  39701. deleted file mode 100644
  39702. index 3d17a0d..0000000
  39703. --- a/src/test/script_standard_tests.cpp
  39704. +++ /dev/null
  39705. @@ -1,740 +0,0 @@
  39706. -// Copyright (c) 2017 The Bitcoin Core developers
  39707. -// Distributed under the MIT software license, see the accompanying
  39708. -// file COPYING or http://www.opensource.org/licenses/mit-license.php.
  39709. -
  39710. -#include "key.h"
  39711. -#include "keystore.h"
  39712. -#include "script/ismine.h"
  39713. -#include "script/script.h"
  39714. -#include "script/script_error.h"
  39715. -#include "script/standard.h"
  39716. -#include "test/test_bitcoin.h"
  39717. -
  39718. -#include <boost/test/unit_test.hpp>
  39719. -
  39720. -
  39721. -BOOST_FIXTURE_TEST_SUITE(script_standard_tests, BasicTestingSetup)
  39722. -
  39723. -BOOST_AUTO_TEST_CASE(script_standard_Solver_success)
  39724. -{
  39725. -    CKey keys[3];
  39726. -    CPubKey pubkeys[3];
  39727. -    for (int i = 0; i < 3; i++) {
  39728. -        keys[i].MakeNewKey(true);
  39729. -        pubkeys[i] = keys[i].GetPubKey();
  39730. -    }
  39731. -
  39732. -    CScript s;
  39733. -    txnouttype whichType;
  39734. -    std::vector<std::vector<unsigned char> > solutions;
  39735. -
  39736. -    // TX_PUBKEY
  39737. -    s.clear();
  39738. -    s << ToByteVector(pubkeys[0]) << OP_CHECKSIG;
  39739. -    BOOST_CHECK(Solver(s, whichType, solutions));
  39740. -    BOOST_CHECK_EQUAL(whichType, TX_PUBKEY);
  39741. -    BOOST_CHECK_EQUAL(solutions.size(), 1);
  39742. -    BOOST_CHECK(solutions[0] == ToByteVector(pubkeys[0]));
  39743. -
  39744. -    // TX_PUBKEYHASH
  39745. -    s.clear();
  39746. -    s << OP_DUP << OP_HASH160 << ToByteVector(pubkeys[0].GetID()) << OP_EQUALVERIFY << OP_CHECKSIG;
  39747. -    BOOST_CHECK(Solver(s, whichType, solutions));
  39748. -    BOOST_CHECK_EQUAL(whichType, TX_PUBKEYHASH);
  39749. -    BOOST_CHECK_EQUAL(solutions.size(), 1);
  39750. -    BOOST_CHECK(solutions[0] == ToByteVector(pubkeys[0].GetID()));
  39751. -
  39752. -    // TX_SCRIPTHASH
  39753. -    CScript redeemScript(s); // initialize with leftover P2PKH script
  39754. -    s.clear();
  39755. -    s << OP_HASH160 << ToByteVector(CScriptID(redeemScript)) << OP_EQUAL;
  39756. -    BOOST_CHECK(Solver(s, whichType, solutions));
  39757. -    BOOST_CHECK_EQUAL(whichType, TX_SCRIPTHASH);
  39758. -    BOOST_CHECK_EQUAL(solutions.size(), 1);
  39759. -    BOOST_CHECK(solutions[0] == ToByteVector(CScriptID(redeemScript)));
  39760. -
  39761. -    // TX_MULTISIG
  39762. -    s.clear();
  39763. -    s << OP_1 <<
  39764. -        ToByteVector(pubkeys[0]) <<
  39765. -        ToByteVector(pubkeys[1]) <<
  39766. -        OP_2 << OP_CHECKMULTISIG;
  39767. -    BOOST_CHECK(Solver(s, whichType, solutions));
  39768. -    BOOST_CHECK_EQUAL(whichType, TX_MULTISIG);
  39769. -    BOOST_CHECK_EQUAL(solutions.size(), 4);
  39770. -    BOOST_CHECK(solutions[0] == std::vector<unsigned char>({1}));
  39771. -    BOOST_CHECK(solutions[1] == ToByteVector(pubkeys[0]));
  39772. -    BOOST_CHECK(solutions[2] == ToByteVector(pubkeys[1]));
  39773. -    BOOST_CHECK(solutions[3] == std::vector<unsigned char>({2}));
  39774. -
  39775. -    s.clear();
  39776. -    s << OP_2 <<
  39777. -        ToByteVector(pubkeys[0]) <<
  39778. -        ToByteVector(pubkeys[1]) <<
  39779. -        ToByteVector(pubkeys[2]) <<
  39780. -        OP_3 << OP_CHECKMULTISIG;
  39781. -    BOOST_CHECK(Solver(s, whichType, solutions));
  39782. -    BOOST_CHECK_EQUAL(whichType, TX_MULTISIG);
  39783. -    BOOST_CHECK_EQUAL(solutions.size(), 5);
  39784. -    BOOST_CHECK(solutions[0] == std::vector<unsigned char>({2}));
  39785. -    BOOST_CHECK(solutions[1] == ToByteVector(pubkeys[0]));
  39786. -    BOOST_CHECK(solutions[2] == ToByteVector(pubkeys[1]));
  39787. -    BOOST_CHECK(solutions[3] == ToByteVector(pubkeys[2]));
  39788. -    BOOST_CHECK(solutions[4] == std::vector<unsigned char>({3}));
  39789. -
  39790. -    // TX_NULL_DATA
  39791. -    s.clear();
  39792. -    s << OP_RETURN <<
  39793. -        std::vector<unsigned char>({0}) <<
  39794. -        std::vector<unsigned char>({75}) <<
  39795. -        std::vector<unsigned char>({255});
  39796. -    BOOST_CHECK(Solver(s, whichType, solutions));
  39797. -    BOOST_CHECK_EQUAL(whichType, TX_NULL_DATA);
  39798. -    BOOST_CHECK_EQUAL(solutions.size(), 0);
  39799. -
  39800. -    // TX_WITNESS_V0_KEYHASH
  39801. -    s.clear();
  39802. -    s << OP_0 << ToByteVector(pubkeys[0].GetID());
  39803. -    BOOST_CHECK(Solver(s, whichType, solutions));
  39804. -    BOOST_CHECK_EQUAL(whichType, TX_WITNESS_V0_KEYHASH);
  39805. -    BOOST_CHECK_EQUAL(solutions.size(), 1);
  39806. -    BOOST_CHECK(solutions[0] == ToByteVector(pubkeys[0].GetID()));
  39807. -
  39808. -    // TX_WITNESS_V0_SCRIPTHASH
  39809. -    uint256 scriptHash;
  39810. -    CSHA256().Write(&redeemScript[0], redeemScript.size())
  39811. -        .Finalize(scriptHash.begin());
  39812. -
  39813. -    s.clear();
  39814. -    s << OP_0 << ToByteVector(scriptHash);
  39815. -    BOOST_CHECK(Solver(s, whichType, solutions));
  39816. -    BOOST_CHECK_EQUAL(whichType, TX_WITNESS_V0_SCRIPTHASH);
  39817. -    BOOST_CHECK_EQUAL(solutions.size(), 1);
  39818. -    BOOST_CHECK(solutions[0] == ToByteVector(scriptHash));
  39819. -
  39820. -    // TX_NONSTANDARD
  39821. -    s.clear();
  39822. -    s << OP_9 << OP_ADD << OP_11 << OP_EQUAL;
  39823. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39824. -    BOOST_CHECK_EQUAL(whichType, TX_NONSTANDARD);
  39825. -}
  39826. -
  39827. -BOOST_AUTO_TEST_CASE(script_standard_Solver_failure)
  39828. -{
  39829. -    CKey key;
  39830. -    CPubKey pubkey;
  39831. -    key.MakeNewKey(true);
  39832. -    pubkey = key.GetPubKey();
  39833. -
  39834. -    CScript s;
  39835. -    txnouttype whichType;
  39836. -    std::vector<std::vector<unsigned char> > solutions;
  39837. -
  39838. -    // TX_PUBKEY with incorrectly sized pubkey
  39839. -    s.clear();
  39840. -    s << std::vector<unsigned char>(30, 0x01) << OP_CHECKSIG;
  39841. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39842. -
  39843. -    // TX_PUBKEYHASH with incorrectly sized key hash
  39844. -    s.clear();
  39845. -    s << OP_DUP << OP_HASH160 << ToByteVector(pubkey) << OP_EQUALVERIFY << OP_CHECKSIG;
  39846. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39847. -
  39848. -    // TX_SCRIPTHASH with incorrectly sized script hash
  39849. -    s.clear();
  39850. -    s << OP_HASH160 << std::vector<unsigned char>(21, 0x01) << OP_EQUAL;
  39851. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39852. -
  39853. -    // TX_MULTISIG 0/2
  39854. -    s.clear();
  39855. -    s << OP_0 << ToByteVector(pubkey) << OP_1 << OP_CHECKMULTISIG;
  39856. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39857. -
  39858. -    // TX_MULTISIG 2/1
  39859. -    s.clear();
  39860. -    s << OP_2 << ToByteVector(pubkey) << OP_1 << OP_CHECKMULTISIG;
  39861. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39862. -
  39863. -    // TX_MULTISIG n = 2 with 1 pubkey
  39864. -    s.clear();
  39865. -    s << OP_1 << ToByteVector(pubkey) << OP_2 << OP_CHECKMULTISIG;
  39866. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39867. -
  39868. -    // TX_MULTISIG n = 1 with 0 pubkeys
  39869. -    s.clear();
  39870. -    s << OP_1 << OP_1 << OP_CHECKMULTISIG;
  39871. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39872. -
  39873. -    // TX_NULL_DATA with other opcodes
  39874. -    s.clear();
  39875. -    s << OP_RETURN << std::vector<unsigned char>({75}) << OP_ADD;
  39876. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39877. -
  39878. -    // TX_WITNESS with unknown version
  39879. -    s.clear();
  39880. -    s << OP_1 << ToByteVector(pubkey);
  39881. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39882. -
  39883. -    // TX_WITNESS with incorrect program size
  39884. -    s.clear();
  39885. -    s << OP_0 << std::vector<unsigned char>(19, 0x01);
  39886. -    BOOST_CHECK(!Solver(s, whichType, solutions));
  39887. -}
  39888. -
  39889. -BOOST_AUTO_TEST_CASE(script_standard_ExtractDestination)
  39890. -{
  39891. -    CKey key;
  39892. -    CPubKey pubkey;
  39893. -    key.MakeNewKey(true);
  39894. -    pubkey = key.GetPubKey();
  39895. -
  39896. -    CScript s;
  39897. -    CTxDestination address;
  39898. -
  39899. -    // TX_PUBKEY
  39900. -    s.clear();
  39901. -    s << ToByteVector(pubkey) << OP_CHECKSIG;
  39902. -    BOOST_CHECK(ExtractDestination(s, address));
  39903. -    BOOST_CHECK(boost::get<CKeyID>(&address) &&
  39904. -                *boost::get<CKeyID>(&address) == pubkey.GetID());
  39905. -
  39906. -    // TX_PUBKEYHASH
  39907. -    s.clear();
  39908. -    s << OP_DUP << OP_HASH160 << ToByteVector(pubkey.GetID()) << OP_EQUALVERIFY << OP_CHECKSIG;
  39909. -    BOOST_CHECK(ExtractDestination(s, address));
  39910. -    BOOST_CHECK(boost::get<CKeyID>(&address) &&
  39911. -                *boost::get<CKeyID>(&address) == pubkey.GetID());
  39912. -
  39913. -    // TX_SCRIPTHASH
  39914. -    CScript redeemScript(s); // initialize with leftover P2PKH script
  39915. -    s.clear();
  39916. -    s << OP_HASH160 << ToByteVector(CScriptID(redeemScript)) << OP_EQUAL;
  39917. -    BOOST_CHECK(ExtractDestination(s, address));
  39918. -    BOOST_CHECK(boost::get<CScriptID>(&address) &&
  39919. -                *boost::get<CScriptID>(&address) == CScriptID(redeemScript));
  39920. -
  39921. -    // TX_MULTISIG
  39922. -    s.clear();
  39923. -    s << OP_1 << ToByteVector(pubkey) << OP_1 << OP_CHECKMULTISIG;
  39924. -    BOOST_CHECK(!ExtractDestination(s, address));
  39925. -
  39926. -    // TX_NULL_DATA
  39927. -    s.clear();
  39928. -    s << OP_RETURN << std::vector<unsigned char>({75});
  39929. -    BOOST_CHECK(!ExtractDestination(s, address));
  39930. -
  39931. -    // TX_WITNESS_V0_KEYHASH
  39932. -    s.clear();
  39933. -    s << OP_0 << ToByteVector(pubkey);
  39934. -    BOOST_CHECK(!ExtractDestination(s, address));
  39935. -
  39936. -    // TX_WITNESS_V0_SCRIPTHASH
  39937. -    s.clear();
  39938. -    s << OP_0 << ToByteVector(CScriptID(redeemScript));
  39939. -    BOOST_CHECK(!ExtractDestination(s, address));
  39940. -}
  39941. -
  39942. -BOOST_AUTO_TEST_CASE(script_standard_ExtractDestinations)
  39943. -{
  39944. -    CKey keys[3];
  39945. -    CPubKey pubkeys[3];
  39946. -    for (int i = 0; i < 3; i++) {
  39947. -        keys[i].MakeNewKey(true);
  39948. -        pubkeys[i] = keys[i].GetPubKey();
  39949. -    }
  39950. -
  39951. -    CScript s;
  39952. -    txnouttype whichType;
  39953. -    std::vector<CTxDestination> addresses;
  39954. -    int nRequired;
  39955. -
  39956. -    // TX_PUBKEY
  39957. -    s.clear();
  39958. -    s << ToByteVector(pubkeys[0]) << OP_CHECKSIG;
  39959. -    BOOST_CHECK(ExtractDestinations(s, whichType, addresses, nRequired));
  39960. -    BOOST_CHECK_EQUAL(whichType, TX_PUBKEY);
  39961. -    BOOST_CHECK_EQUAL(addresses.size(), 1);
  39962. -    BOOST_CHECK_EQUAL(nRequired, 1);
  39963. -    BOOST_CHECK(boost::get<CKeyID>(&addresses[0]) &&
  39964. -                *boost::get<CKeyID>(&addresses[0]) == pubkeys[0].GetID());
  39965. -
  39966. -    // TX_PUBKEYHASH
  39967. -    s.clear();
  39968. -    s << OP_DUP << OP_HASH160 << ToByteVector(pubkeys[0].GetID()) << OP_EQUALVERIFY << OP_CHECKSIG;
  39969. -    BOOST_CHECK(ExtractDestinations(s, whichType, addresses, nRequired));
  39970. -    BOOST_CHECK_EQUAL(whichType, TX_PUBKEYHASH);
  39971. -    BOOST_CHECK_EQUAL(addresses.size(), 1);
  39972. -    BOOST_CHECK_EQUAL(nRequired, 1);
  39973. -    BOOST_CHECK(boost::get<CKeyID>(&addresses[0]) &&
  39974. -                *boost::get<CKeyID>(&addresses[0]) == pubkeys[0].GetID());
  39975. -
  39976. -    // TX_SCRIPTHASH
  39977. -    CScript redeemScript(s); // initialize with leftover P2PKH script
  39978. -    s.clear();
  39979. -    s << OP_HASH160 << ToByteVector(CScriptID(redeemScript)) << OP_EQUAL;
  39980. -    BOOST_CHECK(ExtractDestinations(s, whichType, addresses, nRequired));
  39981. -    BOOST_CHECK_EQUAL(whichType, TX_SCRIPTHASH);
  39982. -    BOOST_CHECK_EQUAL(addresses.size(), 1);
  39983. -    BOOST_CHECK_EQUAL(nRequired, 1);
  39984. -    BOOST_CHECK(boost::get<CScriptID>(&addresses[0]) &&
  39985. -                *boost::get<CScriptID>(&addresses[0]) == CScriptID(redeemScript));
  39986. -
  39987. -    // TX_MULTISIG
  39988. -    s.clear();
  39989. -    s << OP_2 <<
  39990. -        ToByteVector(pubkeys[0]) <<
  39991. -        ToByteVector(pubkeys[1]) <<
  39992. -        OP_2 << OP_CHECKMULTISIG;
  39993. -    BOOST_CHECK(ExtractDestinations(s, whichType, addresses, nRequired));
  39994. -    BOOST_CHECK_EQUAL(whichType, TX_MULTISIG);
  39995. -    BOOST_CHECK_EQUAL(addresses.size(), 2);
  39996. -    BOOST_CHECK_EQUAL(nRequired, 2);
  39997. -    BOOST_CHECK(boost::get<CKeyID>(&addresses[0]) &&
  39998. -                *boost::get<CKeyID>(&addresses[0]) == pubkeys[0].GetID());
  39999. -    BOOST_CHECK(boost::get<CKeyID>(&addresses[1]) &&
  40000. -                *boost::get<CKeyID>(&addresses[1]) == pubkeys[1].GetID());
  40001. -
  40002. -    // TX_NULL_DATA
  40003. -    s.clear();
  40004. -    s << OP_RETURN << std::vector<unsigned char>({75});
  40005. -    BOOST_CHECK(!ExtractDestinations(s, whichType, addresses, nRequired));
  40006. -
  40007. -    // TX_WITNESS_V0_KEYHASH
  40008. -    s.clear();
  40009. -    s << OP_0 << ToByteVector(pubkeys[0].GetID());
  40010. -    BOOST_CHECK(!ExtractDestinations(s, whichType, addresses, nRequired));
  40011. -
  40012. -    // TX_WITNESS_V0_SCRIPTHASH
  40013. -    s.clear();
  40014. -    s << OP_0 << ToByteVector(CScriptID(redeemScript));
  40015. -    BOOST_CHECK(!ExtractDestinations(s, whichType, addresses, nRequired));
  40016. -}
  40017. -
  40018. -BOOST_AUTO_TEST_CASE(script_standard_GetScriptFor_)
  40019. -{
  40020. -    CKey keys[3];
  40021. -    CPubKey pubkeys[3];
  40022. -    for (int i = 0; i < 3; i++) {
  40023. -        keys[i].MakeNewKey(true);
  40024. -        pubkeys[i] = keys[i].GetPubKey();
  40025. -    }
  40026. -
  40027. -    CScript expected, result;
  40028. -
  40029. -    // CKeyID
  40030. -    expected.clear();
  40031. -    expected << OP_DUP << OP_HASH160 << ToByteVector(pubkeys[0].GetID()) << OP_EQUALVERIFY << OP_CHECKSIG;
  40032. -    result = GetScriptForDestination(pubkeys[0].GetID());
  40033. -    BOOST_CHECK(result == expected);
  40034. -
  40035. -    // CScriptID
  40036. -    CScript redeemScript(result);
  40037. -    expected.clear();
  40038. -    expected << OP_HASH160 << ToByteVector(CScriptID(redeemScript)) << OP_EQUAL;
  40039. -    result = GetScriptForDestination(CScriptID(redeemScript));
  40040. -    BOOST_CHECK(result == expected);
  40041. -
  40042. -    // CNoDestination
  40043. -    expected.clear();
  40044. -    result = GetScriptForDestination(CNoDestination());
  40045. -    BOOST_CHECK(result == expected);
  40046. -
  40047. -    // GetScriptForRawPubKey
  40048. -    expected.clear();
  40049. -    expected << ToByteVector(pubkeys[0]) << OP_CHECKSIG;
  40050. -    result = GetScriptForRawPubKey(pubkeys[0]);
  40051. -    BOOST_CHECK(result == expected);
  40052. -
  40053. -    // GetScriptForMultisig
  40054. -    expected.clear();
  40055. -    expected << OP_2 <<
  40056. -        ToByteVector(pubkeys[0]) <<
  40057. -        ToByteVector(pubkeys[1]) <<
  40058. -        ToByteVector(pubkeys[2]) <<
  40059. -        OP_3 << OP_CHECKMULTISIG;
  40060. -    result = GetScriptForMultisig(2, std::vector<CPubKey>(pubkeys, pubkeys + 3));
  40061. -    BOOST_CHECK(result == expected);
  40062. -
  40063. -    // GetScriptForWitness
  40064. -    CScript witnessScript;
  40065. -
  40066. -    witnessScript << ToByteVector(pubkeys[0]) << OP_CHECKSIG;
  40067. -    expected.clear();
  40068. -    expected << OP_0 << ToByteVector(pubkeys[0].GetID());
  40069. -    result = GetScriptForWitness(witnessScript);
  40070. -    BOOST_CHECK(result == expected);
  40071. -
  40072. -    witnessScript.clear();
  40073. -    witnessScript << OP_DUP << OP_HASH160 << ToByteVector(pubkeys[0].GetID()) << OP_EQUALVERIFY << OP_CHECKSIG;
  40074. -    result = GetScriptForWitness(witnessScript);
  40075. -    BOOST_CHECK(result == expected);
  40076. -
  40077. -    witnessScript.clear();
  40078. -    witnessScript << OP_1 << ToByteVector(pubkeys[0]) << OP_1 << OP_CHECKMULTISIG;
  40079. -
  40080. -    uint256 scriptHash;
  40081. -    CSHA256().Write(&witnessScript[0], witnessScript.size())
  40082. -        .Finalize(scriptHash.begin());
  40083. -
  40084. -    expected.clear();
  40085. -    expected << OP_0 << ToByteVector(scriptHash);
  40086. -    result = GetScriptForWitness(witnessScript);
  40087. -    BOOST_CHECK(result == expected);
  40088. -}
  40089. -
  40090. -BOOST_AUTO_TEST_CASE(script_standard_IsMine)
  40091. -{
  40092. -    CKey keys[2];
  40093. -    CPubKey pubkeys[2];
  40094. -    for (int i = 0; i < 2; i++) {
  40095. -        keys[i].MakeNewKey(true);
  40096. -        pubkeys[i] = keys[i].GetPubKey();
  40097. -    }
  40098. -
  40099. -    CKey uncompressedKey;
  40100. -    uncompressedKey.MakeNewKey(false);
  40101. -    CPubKey uncompressedPubkey = uncompressedKey.GetPubKey();
  40102. -
  40103. -    CScript scriptPubKey;
  40104. -    isminetype result;
  40105. -    bool isInvalid;
  40106. -
  40107. -    // P2PK compressed
  40108. -    {
  40109. -        CBasicKeyStore keystore;
  40110. -        scriptPubKey.clear();
  40111. -        scriptPubKey << ToByteVector(pubkeys[0]) << OP_CHECKSIG;
  40112. -
  40113. -        // Keystore does not have key
  40114. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40115. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40116. -        BOOST_CHECK(!isInvalid);
  40117. -
  40118. -        // Keystore has key
  40119. -        keystore.AddKey(keys[0]);
  40120. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40121. -        BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
  40122. -        BOOST_CHECK(!isInvalid);
  40123. -    }
  40124. -
  40125. -    // P2PK uncompressed
  40126. -    {
  40127. -        CBasicKeyStore keystore;
  40128. -        scriptPubKey.clear();
  40129. -        scriptPubKey << ToByteVector(uncompressedPubkey) << OP_CHECKSIG;
  40130. -
  40131. -        // Keystore does not have key
  40132. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40133. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40134. -        BOOST_CHECK(!isInvalid);
  40135. -
  40136. -        // Keystore has key
  40137. -        keystore.AddKey(uncompressedKey);
  40138. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40139. -        BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
  40140. -        BOOST_CHECK(!isInvalid);
  40141. -    }
  40142. -
  40143. -    // P2PKH compressed
  40144. -    {
  40145. -        CBasicKeyStore keystore;
  40146. -        scriptPubKey.clear();
  40147. -        scriptPubKey << OP_DUP << OP_HASH160 << ToByteVector(pubkeys[0].GetID()) << OP_EQUALVERIFY << OP_CHECKSIG;
  40148. -
  40149. -        // Keystore does not have key
  40150. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40151. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40152. -        BOOST_CHECK(!isInvalid);
  40153. -
  40154. -        // Keystore has key
  40155. -        keystore.AddKey(keys[0]);
  40156. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40157. -        BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
  40158. -        BOOST_CHECK(!isInvalid);
  40159. -    }
  40160. -
  40161. -    // P2PKH uncompressed
  40162. -    {
  40163. -        CBasicKeyStore keystore;
  40164. -        scriptPubKey.clear();
  40165. -        scriptPubKey << OP_DUP << OP_HASH160 << ToByteVector(uncompressedPubkey.GetID()) << OP_EQUALVERIFY << OP_CHECKSIG;
  40166. -
  40167. -        // Keystore does not have key
  40168. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40169. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40170. -        BOOST_CHECK(!isInvalid);
  40171. -
  40172. -        // Keystore has key
  40173. -        keystore.AddKey(uncompressedKey);
  40174. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40175. -        BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
  40176. -        BOOST_CHECK(!isInvalid);
  40177. -    }
  40178. -
  40179. -    // P2SH
  40180. -    {
  40181. -        CBasicKeyStore keystore;
  40182. -
  40183. -        CScript redeemScript;
  40184. -        redeemScript << OP_DUP << OP_HASH160 << ToByteVector(pubkeys[0].GetID()) << OP_EQUALVERIFY << OP_CHECKSIG;
  40185. -
  40186. -        scriptPubKey.clear();
  40187. -        scriptPubKey << OP_HASH160 << ToByteVector(CScriptID(redeemScript)) << OP_EQUAL;
  40188. -
  40189. -        // Keystore does not have redeemScript or key
  40190. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40191. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40192. -        BOOST_CHECK(!isInvalid);
  40193. -
  40194. -        // Keystore has redeemScript but no key
  40195. -        keystore.AddCScript(redeemScript);
  40196. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40197. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40198. -        BOOST_CHECK(!isInvalid);
  40199. -
  40200. -        // Keystore has redeemScript and key
  40201. -        keystore.AddKey(keys[0]);
  40202. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40203. -        BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
  40204. -        BOOST_CHECK(!isInvalid);
  40205. -    }
  40206. -
  40207. -    // P2WPKH compressed
  40208. -    {
  40209. -        CBasicKeyStore keystore;
  40210. -        keystore.AddKey(keys[0]);
  40211. -
  40212. -        scriptPubKey.clear();
  40213. -        scriptPubKey << OP_0 << ToByteVector(pubkeys[0].GetID());
  40214. -
  40215. -        // Keystore has key, but no P2SH redeemScript
  40216. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40217. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40218. -        BOOST_CHECK(!isInvalid);
  40219. -
  40220. -        // Keystore has key and P2SH redeemScript
  40221. -        keystore.AddCScript(scriptPubKey);
  40222. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40223. -        BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
  40224. -        BOOST_CHECK(!isInvalid);
  40225. -    }
  40226. -
  40227. -    // P2WPKH uncompressed
  40228. -    {
  40229. -        CBasicKeyStore keystore;
  40230. -        keystore.AddKey(uncompressedKey);
  40231. -
  40232. -        scriptPubKey.clear();
  40233. -        scriptPubKey << OP_0 << ToByteVector(uncompressedPubkey.GetID());
  40234. -
  40235. -        // Keystore has key, but no P2SH redeemScript
  40236. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40237. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40238. -        BOOST_CHECK(!isInvalid);
  40239. -
  40240. -        // Keystore has key and P2SH redeemScript
  40241. -        keystore.AddCScript(scriptPubKey);
  40242. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40243. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40244. -        BOOST_CHECK(isInvalid);
  40245. -    }
  40246. -
  40247. -    // scriptPubKey multisig
  40248. -    {
  40249. -        CBasicKeyStore keystore;
  40250. -
  40251. -        scriptPubKey.clear();
  40252. -        scriptPubKey << OP_2 <<
  40253. -            ToByteVector(uncompressedPubkey) <<
  40254. -            ToByteVector(pubkeys[1]) <<
  40255. -            OP_2 << OP_CHECKMULTISIG;
  40256. -
  40257. -        // Keystore does not have any keys
  40258. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40259. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40260. -        BOOST_CHECK(!isInvalid);
  40261. -
  40262. -        // Keystore has 1/2 keys
  40263. -        keystore.AddKey(uncompressedKey);
  40264. -
  40265. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40266. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40267. -        BOOST_CHECK(!isInvalid);
  40268. -
  40269. -        // Keystore has 2/2 keys
  40270. -        keystore.AddKey(keys[1]);
  40271. -
  40272. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40273. -        BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
  40274. -        BOOST_CHECK(!isInvalid);
  40275. -    }
  40276. -
  40277. -    // P2SH multisig
  40278. -    {
  40279. -        CBasicKeyStore keystore;
  40280. -        keystore.AddKey(uncompressedKey);
  40281. -        keystore.AddKey(keys[1]);
  40282. -
  40283. -        CScript redeemScript;
  40284. -        redeemScript << OP_2 <<
  40285. -            ToByteVector(uncompressedPubkey) <<
  40286. -            ToByteVector(pubkeys[1]) <<
  40287. -            OP_2 << OP_CHECKMULTISIG;
  40288. -
  40289. -        scriptPubKey.clear();
  40290. -        scriptPubKey << OP_HASH160 << ToByteVector(CScriptID(redeemScript)) << OP_EQUAL;
  40291. -
  40292. -        // Keystore has no redeemScript
  40293. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40294. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40295. -        BOOST_CHECK(!isInvalid);
  40296. -
  40297. -        // Keystore has redeemScript
  40298. -        keystore.AddCScript(redeemScript);
  40299. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40300. -        BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
  40301. -        BOOST_CHECK(!isInvalid);
  40302. -    }
  40303. -
  40304. -    // P2WSH multisig with compressed keys
  40305. -    {
  40306. -        CBasicKeyStore keystore;
  40307. -        keystore.AddKey(keys[0]);
  40308. -        keystore.AddKey(keys[1]);
  40309. -
  40310. -        CScript witnessScript;
  40311. -        witnessScript << OP_2 <<
  40312. -            ToByteVector(pubkeys[0]) <<
  40313. -            ToByteVector(pubkeys[1]) <<
  40314. -            OP_2 << OP_CHECKMULTISIG;
  40315. -
  40316. -        uint256 scriptHash;
  40317. -        CSHA256().Write(&witnessScript[0], witnessScript.size())
  40318. -            .Finalize(scriptHash.begin());
  40319. -
  40320. -        scriptPubKey.clear();
  40321. -        scriptPubKey << OP_0 << ToByteVector(scriptHash);
  40322. -
  40323. -        // Keystore has keys, but no witnessScript or P2SH redeemScript
  40324. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40325. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40326. -        BOOST_CHECK(!isInvalid);
  40327. -
  40328. -        // Keystore has keys and witnessScript, but no P2SH redeemScript
  40329. -        keystore.AddCScript(witnessScript);
  40330. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40331. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40332. -        BOOST_CHECK(!isInvalid);
  40333. -
  40334. -        // Keystore has keys, witnessScript, P2SH redeemScript
  40335. -        keystore.AddCScript(scriptPubKey);
  40336. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40337. -        BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
  40338. -        BOOST_CHECK(!isInvalid);
  40339. -    }
  40340. -
  40341. -    // P2WSH multisig with uncompressed key
  40342. -    {
  40343. -        CBasicKeyStore keystore;
  40344. -        keystore.AddKey(uncompressedKey);
  40345. -        keystore.AddKey(keys[1]);
  40346. -
  40347. -        CScript witnessScript;
  40348. -        witnessScript << OP_2 <<
  40349. -            ToByteVector(uncompressedPubkey) <<
  40350. -            ToByteVector(pubkeys[1]) <<
  40351. -            OP_2 << OP_CHECKMULTISIG;
  40352. -
  40353. -        uint256 scriptHash;
  40354. -        CSHA256().Write(&witnessScript[0], witnessScript.size())
  40355. -            .Finalize(scriptHash.begin());
  40356. -
  40357. -        scriptPubKey.clear();
  40358. -        scriptPubKey << OP_0 << ToByteVector(scriptHash);
  40359. -
  40360. -        // Keystore has keys, but no witnessScript or P2SH redeemScript
  40361. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40362. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40363. -        BOOST_CHECK(!isInvalid);
  40364. -
  40365. -        // Keystore has keys and witnessScript, but no P2SH redeemScript
  40366. -        keystore.AddCScript(witnessScript);
  40367. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40368. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40369. -        BOOST_CHECK(!isInvalid);
  40370. -
  40371. -        // Keystore has keys, witnessScript, P2SH redeemScript
  40372. -        keystore.AddCScript(scriptPubKey);
  40373. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40374. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40375. -        BOOST_CHECK(isInvalid);
  40376. -    }
  40377. -
  40378. -    // P2WSH multisig wrapped in P2SH
  40379. -    {
  40380. -        CBasicKeyStore keystore;
  40381. -
  40382. -        CScript witnessScript;
  40383. -        witnessScript << OP_2 <<
  40384. -            ToByteVector(pubkeys[0]) <<
  40385. -            ToByteVector(pubkeys[1]) <<
  40386. -            OP_2 << OP_CHECKMULTISIG;
  40387. -
  40388. -        uint256 scriptHash;
  40389. -        CSHA256().Write(&witnessScript[0], witnessScript.size())
  40390. -            .Finalize(scriptHash.begin());
  40391. -
  40392. -        CScript redeemScript;
  40393. -        redeemScript << OP_0 << ToByteVector(scriptHash);
  40394. -
  40395. -        scriptPubKey.clear();
  40396. -        scriptPubKey << OP_HASH160 << ToByteVector(CScriptID(redeemScript)) << OP_EQUAL;
  40397. -
  40398. -        // Keystore has no witnessScript, P2SH redeemScript, or keys
  40399. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40400. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40401. -        BOOST_CHECK(!isInvalid);
  40402. -
  40403. -        // Keystore has witnessScript and P2SH redeemScript, but no keys
  40404. -        keystore.AddCScript(redeemScript);
  40405. -        keystore.AddCScript(witnessScript);
  40406. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40407. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40408. -        BOOST_CHECK(!isInvalid);
  40409. -
  40410. -        // Keystore has keys, witnessScript, P2SH redeemScript
  40411. -        keystore.AddKey(keys[0]);
  40412. -        keystore.AddKey(keys[1]);
  40413. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40414. -        BOOST_CHECK_EQUAL(result, ISMINE_SPENDABLE);
  40415. -        BOOST_CHECK(!isInvalid);
  40416. -    }
  40417. -
  40418. -    // OP_RETURN
  40419. -    {
  40420. -        CBasicKeyStore keystore;
  40421. -        keystore.AddKey(keys[0]);
  40422. -
  40423. -        scriptPubKey.clear();
  40424. -        scriptPubKey << OP_RETURN << ToByteVector(pubkeys[0]);
  40425. -
  40426. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40427. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40428. -        BOOST_CHECK(!isInvalid);
  40429. -    }
  40430. -
  40431. -    // Nonstandard
  40432. -    {
  40433. -        CBasicKeyStore keystore;
  40434. -        keystore.AddKey(keys[0]);
  40435. -
  40436. -        scriptPubKey.clear();
  40437. -        scriptPubKey << OP_9 << OP_ADD << OP_11 << OP_EQUAL;
  40438. -
  40439. -        result = IsMine(keystore, scriptPubKey, isInvalid);
  40440. -        BOOST_CHECK_EQUAL(result, ISMINE_NO);
  40441. -        BOOST_CHECK(!isInvalid);
  40442. -    }
  40443. -}
  40444. -
  40445. -BOOST_AUTO_TEST_SUITE_END()
  40446. diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp
  40447. index 06b8274..8365d25 100644
  40448. --- a/src/test/script_tests.cpp
  40449. +++ b/src/test/script_tests.cpp
  40450. @@ -502,7 +502,7 @@ BOOST_AUTO_TEST_CASE(script_build)
  40451.      tests.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey0C) << OP_CHECKSIG,
  40452.                                  "P2SH(P2PK), bad redeemscript", SCRIPT_VERIFY_P2SH, true
  40453.                                 ).PushSig(keys.key0).PushRedeem().DamagePush(10).ScriptError(SCRIPT_ERR_EVAL_FALSE));
  40454. -    
  40455. +
  40456.      tests.push_back(TestBuilder(CScript() << OP_DUP << OP_HASH160 << ToByteVector(keys.pubkey0.GetID()) << OP_EQUALVERIFY << OP_CHECKSIG,
  40457.                                  "P2SH(P2PKH)", SCRIPT_VERIFY_P2SH, true
  40458.                                 ).PushSig(keys.key0).Push(keys.pubkey0).PushRedeem());
  40459. @@ -969,6 +969,7 @@ BOOST_AUTO_TEST_CASE(script_json_test)
  40460.              nValue = AmountFromValue(test[pos][i]);
  40461.              pos++;
  40462.          }
  40463. +
  40464.          if (test.size() < 4 + pos) // Allow size > 3; extra stuff ignored (useful for comments)
  40465.          {
  40466.              if (test.size() != 1) {
  40467. @@ -982,7 +983,6 @@ BOOST_AUTO_TEST_CASE(script_json_test)
  40468.          CScript scriptPubKey = ParseScript(scriptPubKeyString);
  40469.          unsigned int scriptflags = ParseScriptFlags(test[pos++].get_str());
  40470.          int scriptError = ParseScriptError(test[pos++].get_str());
  40471. -
  40472.          DoTest(scriptPubKey, scriptSig, witness, scriptflags, strTest, scriptError, nValue);
  40473.      }
  40474.  }
  40475. @@ -1303,12 +1303,12 @@ BOOST_AUTO_TEST_CASE(script_GetScriptAsm)
  40476.  
  40477.      BOOST_CHECK_EQUAL(derSig + "00 " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "00")) << vchPubKey, true));
  40478.      BOOST_CHECK_EQUAL(derSig + "80 " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "80")) << vchPubKey, true));
  40479. -    BOOST_CHECK_EQUAL(derSig + "[ALL] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "01")) << vchPubKey, true));
  40480. -    BOOST_CHECK_EQUAL(derSig + "[NONE] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "02")) << vchPubKey, true));
  40481. -    BOOST_CHECK_EQUAL(derSig + "[SINGLE] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "03")) << vchPubKey, true));
  40482. -    BOOST_CHECK_EQUAL(derSig + "[ALL|ANYONECANPAY] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "81")) << vchPubKey, true));
  40483. -    BOOST_CHECK_EQUAL(derSig + "[NONE|ANYONECANPAY] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "82")) << vchPubKey, true));
  40484. -    BOOST_CHECK_EQUAL(derSig + "[SINGLE|ANYONECANPAY] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "83")) << vchPubKey, true));
  40485. +    BOOST_CHECK_EQUAL(derSig + "[ALL|FORKID] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "41")) << vchPubKey, true));                   // LitecoinCash: Replay attack protection
  40486. +    BOOST_CHECK_EQUAL(derSig + "[NONE|FORKID] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "42")) << vchPubKey, true));                  // LitecoinCash: Replay attack protection
  40487. +    BOOST_CHECK_EQUAL(derSig + "[SINGLE|FORKID] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "43")) << vchPubKey, true));                    // LitecoinCash: Replay attack protection
  40488. +    BOOST_CHECK_EQUAL(derSig + "[ALL|FORKID|ANYONECANPAY] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "C1")) << vchPubKey, true));      // LitecoinCash: Replay attack protection
  40489. +    BOOST_CHECK_EQUAL(derSig + "[NONE|FORKID|ANYONECANPAY] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "C2")) << vchPubKey, true));     // LitecoinCash: Replay attack protection
  40490. +    BOOST_CHECK_EQUAL(derSig + "[SINGLE|FORKID|ANYONECANPAY] " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "C3")) << vchPubKey, true));   // LitecoinCash: Replay attack protection
  40491.  
  40492.      BOOST_CHECK_EQUAL(derSig + "00 " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "00")) << vchPubKey));
  40493.      BOOST_CHECK_EQUAL(derSig + "80 " + pubKey, ScriptToAsmStr(CScript() << ToByteVector(ParseHex(derSig + "80")) << vchPubKey));
  40494. diff --git a/src/test/sighash_tests.cpp b/src/test/sighash_tests.cpp
  40495. index 1ca83a7..e852458 100644
  40496. --- a/src/test/sighash_tests.cpp
  40497. +++ b/src/test/sighash_tests.cpp
  40498. @@ -192,13 +192,13 @@ BOOST_AUTO_TEST_CASE(sighash_from_data)
  40499.            nHashType = test[3].get_int();
  40500.            sigHashHex = test[4].get_str();
  40501.  
  40502. +
  40503.            CDataStream stream(ParseHex(raw_tx), SER_NETWORK, PROTOCOL_VERSION);
  40504.            stream >> tx;
  40505.  
  40506.            CValidationState state;
  40507.            BOOST_CHECK_MESSAGE(CheckTransaction(*tx, state), strTest);
  40508.            BOOST_CHECK(state.IsValid());
  40509. -
  40510.            std::vector<unsigned char> raw = ParseHex(raw_script);
  40511.            scriptCode.insert(scriptCode.end(), raw.begin(), raw.end());
  40512.          } catch (...) {
  40513. diff --git a/src/test/test_bitcoin.cpp b/src/test/test_bitcoin.cpp
  40514. index e778652..d24b336 100644
  40515. --- a/src/test/test_bitcoin.cpp
  40516. +++ b/src/test/test_bitcoin.cpp
  40517. @@ -22,19 +22,9 @@
  40518.  #include "rpc/register.h"
  40519.  #include "script/sigcache.h"
  40520.  
  40521. -#include <memory>
  40522. +#include "test/testutil.h"
  40523.  
  40524. -void CConnmanTest::AddNode(CNode& node)
  40525. -{
  40526. -    LOCK(g_connman->cs_vNodes);
  40527. -    g_connman->vNodes.push_back(&node);
  40528. -}
  40529. -
  40530. -void CConnmanTest::ClearNodes()
  40531. -{
  40532. -    LOCK(g_connman->cs_vNodes);
  40533. -    g_connman->vNodes.clear();
  40534. -}
  40535. +#include <memory>
  40536.  
  40537.  uint256 insecure_rand_seed = GetRandHash();
  40538.  FastRandomContext insecure_rand_ctx(insecure_rand_seed);
  40539. @@ -60,6 +50,7 @@ BasicTestingSetup::BasicTestingSetup(const std::string& chainName)
  40540.  BasicTestingSetup::~BasicTestingSetup()
  40541.  {
  40542.          ECC_Stop();
  40543. +        g_connman.reset();
  40544.  }
  40545.  
  40546.  TestingSetup::TestingSetup(const std::string& chainName) : BasicTestingSetup(chainName)
  40547. @@ -70,7 +61,7 @@ TestingSetup::TestingSetup(const std::string& chainName) : BasicTestingSetup(cha
  40548.  
  40549.          RegisterAllCoreRPCCommands(tableRPC);
  40550.          ClearDatadirCache();
  40551. -        pathTemp = fs::temp_directory_path() / strprintf("test_litecoin_%lu_%i", (unsigned long)GetTime(), (int)(InsecureRandRange(100000)));
  40552. +        pathTemp = GetTempPath() / strprintf("test_litecoincash_%lu_%i", (unsigned long)GetTime(), (int)(InsecureRandRange(100000)));
  40553.          fs::create_directories(pathTemp);
  40554.          gArgs.ForceSetArg("-datadir", pathTemp.string());
  40555.  
  40556. @@ -97,17 +88,16 @@ TestingSetup::TestingSetup(const std::string& chainName) : BasicTestingSetup(cha
  40557.              threadGroup.create_thread(&ThreadScriptCheck);
  40558.          g_connman = std::unique_ptr<CConnman>(new CConnman(0x1337, 0x1337)); // Deterministic randomness for tests.
  40559.          connman = g_connman.get();
  40560. -        peerLogic.reset(new PeerLogicValidation(connman, scheduler));
  40561. +        RegisterNodeSignals(GetNodeSignals());
  40562.  }
  40563.  
  40564.  TestingSetup::~TestingSetup()
  40565.  {
  40566. +        UnregisterNodeSignals(GetNodeSignals());
  40567.          threadGroup.interrupt_all();
  40568.          threadGroup.join_all();
  40569.          GetMainSignals().FlushBackgroundCallbacks();
  40570.          GetMainSignals().UnregisterBackgroundSignalScheduler();
  40571. -        g_connman.reset();
  40572. -        peerLogic.reset();
  40573.          UnloadBlockIndex();
  40574.          delete pcoinsTip;
  40575.          delete pcoinsdbview;
  40576. diff --git a/src/test/test_bitcoin.h b/src/test/test_bitcoin.h
  40577. index 642be47..dd3b13c 100644
  40578. --- a/src/test/test_bitcoin.h
  40579. +++ b/src/test/test_bitcoin.h
  40580. @@ -49,20 +49,12 @@ struct BasicTestingSetup {
  40581.   * Included are data directory, coins database, script check threads setup.
  40582.   */
  40583.  class CConnman;
  40584. -class CNode;
  40585. -struct CConnmanTest {
  40586. -    static void AddNode(CNode& node);
  40587. -    static void ClearNodes();
  40588. -};
  40589. -
  40590. -class PeerLogicValidation;
  40591.  struct TestingSetup: public BasicTestingSetup {
  40592.      CCoinsViewDB *pcoinsdbview;
  40593.      fs::path pathTemp;
  40594.      boost::thread_group threadGroup;
  40595.      CConnman* connman;
  40596.      CScheduler scheduler;
  40597. -    std::unique_ptr<PeerLogicValidation> peerLogic;
  40598.  
  40599.      TestingSetup(const std::string& chainName = CBaseChainParams::MAIN);
  40600.      ~TestingSetup();
  40601. diff --git a/src/test/test_bitcoin_main.cpp b/src/test/test_bitcoin_main.cpp
  40602. index a2c73bb..34beef5 100644
  40603. --- a/src/test/test_bitcoin_main.cpp
  40604. +++ b/src/test/test_bitcoin_main.cpp
  40605. @@ -2,7 +2,7 @@
  40606.  // Distributed under the MIT software license, see the accompanying
  40607.  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
  40608.  
  40609. -#define BOOST_TEST_MODULE Litecoin Test Suite
  40610. +#define BOOST_TEST_MODULE Bitcoin Test Suite
  40611.  
  40612.  #include "net.h"
  40613.  
  40614. diff --git a/src/test/testutil.cpp b/src/test/testutil.cpp
  40615. new file mode 100644
  40616. index 0000000..591d0bf
  40617. --- /dev/null
  40618. +++ b/src/test/testutil.cpp
  40619. @@ -0,0 +1,15 @@
  40620. +// Copyright (c) 2009-2016 The Bitcoin Core developers
  40621. +// Distributed under the MIT software license, see the accompanying
  40622. +// file COPYING or http://www.opensource.org/licenses/mit-license.php.
  40623. +
  40624. +#include "testutil.h"
  40625. +
  40626. +#ifdef WIN32
  40627. +#include <shlobj.h>
  40628. +#endif
  40629. +
  40630. +#include "fs.h"
  40631. +
  40632. +fs::path GetTempPath() {
  40633. +    return fs::temp_directory_path();
  40634. +}
  40635. diff --git a/src/test/testutil.h b/src/test/testutil.h
  40636. new file mode 100644
  40637. index 0000000..cbe784d
  40638. --- /dev/null
  40639. +++ b/src/test/testutil.h
  40640. @@ -0,0 +1,15 @@
  40641. +// Copyright (c) 2009-2016 The Bitcoin Core developers
  40642. +// Distributed under the MIT software license, see the accompanying
  40643. +// file COPYING or http://www.opensource.org/licenses/mit-license.php.
  40644. +
  40645. +/**
  40646. + * Utility functions shared by unit tests
  40647. + */
  40648. +#ifndef BITCOIN_TEST_TESTUTIL_H
  40649. +#define BITCOIN_TEST_TESTUTIL_H
  40650. +
  40651. +#include "fs.h"
  40652. +
  40653. +fs::path GetTempPath();
  40654. +
  40655. +#endif // BITCOIN_TEST_TESTUTIL_H
  40656. diff --git a/src/test/transaction_tests.cpp b/src/test/transaction_tests.cpp
  40657. index 543e5ad..068dd77 100644
  40658. --- a/src/test/transaction_tests.cpp
  40659. +++ b/src/test/transaction_tests.cpp
  40660. @@ -53,6 +53,7 @@ static std::map<std::string, unsigned int> mapFlagNames = {
  40661.      {std::string("WITNESS"), (unsigned int)SCRIPT_VERIFY_WITNESS},
  40662.      {std::string("DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM"), (unsigned int)SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM},
  40663.      {std::string("WITNESS_PUBKEYTYPE"), (unsigned int)SCRIPT_VERIFY_WITNESS_PUBKEYTYPE},
  40664. +    {std::string("ENABLE_SIGHASH_FORKID"), (unsigned int)SCRIPT_ENABLE_SIGHASH_FORKID},            // LitecoinCash: Replay attack protection
  40665.  };
  40666.  
  40667.  unsigned int ParseScriptFlags(std::string strFlags)
  40668. @@ -166,7 +167,7 @@ BOOST_AUTO_TEST_CASE(tx_valid)
  40669.                  if (mapprevOutValues.count(tx.vin[i].prevout)) {
  40670.                      amount = mapprevOutValues[tx.vin[i].prevout];
  40671.                  }
  40672. -                unsigned int verify_flags = ParseScriptFlags(test[2].get_str());
  40673. +                unsigned int verify_flags = ParseScriptFlags(test[2].get_str()) | SCRIPT_ENABLE_SIGHASH_FORKID;        // LitecoinCash: Replay attack protection
  40674.                  const CScriptWitness *witness = &tx.vin[i].scriptWitness;
  40675.                  BOOST_CHECK_MESSAGE(VerifyScript(tx.vin[i].scriptSig, mapprevOutScriptPubKeys[tx.vin[i].prevout],
  40676.                                                   witness, verify_flags, TransactionSignatureChecker(&tx, i, amount, txdata), &err),
  40677. @@ -369,7 +370,7 @@ void CreateCreditAndSpend(const CKeyStore& keystore, const CScript& outscript, C
  40678.      inputm.vout.resize(1);
  40679.      inputm.vout[0].nValue = 1;
  40680.      inputm.vout[0].scriptPubKey = CScript();
  40681. -    bool ret = SignSignature(keystore, *output, inputm, 0, SIGHASH_ALL);
  40682. +    bool ret = SignSignature(keystore, *output, inputm, 0, SIGHASH_ALL | SIGHASH_FORKID);
  40683.      assert(ret == success);
  40684.      CDataStream ssin(SER_NETWORK, PROTOCOL_VERSION);
  40685.      ssin << inputm;
  40686. @@ -425,12 +426,12 @@ BOOST_AUTO_TEST_CASE(test_big_witness_transaction) {
  40687.      CScript scriptPubKey = CScript() << OP_0 << std::vector<unsigned char>(hash.begin(), hash.end());
  40688.  
  40689.      std::vector<int> sigHashes;
  40690. -    sigHashes.push_back(SIGHASH_NONE | SIGHASH_ANYONECANPAY);
  40691. -    sigHashes.push_back(SIGHASH_SINGLE | SIGHASH_ANYONECANPAY);
  40692. -    sigHashes.push_back(SIGHASH_ALL | SIGHASH_ANYONECANPAY);
  40693. -    sigHashes.push_back(SIGHASH_NONE);
  40694. -    sigHashes.push_back(SIGHASH_SINGLE);
  40695. -    sigHashes.push_back(SIGHASH_ALL);
  40696. +    sigHashes.push_back(SIGHASH_NONE | SIGHASH_FORKID | SIGHASH_ANYONECANPAY);         // LitecoinCash: Replay attack protection
  40697. +    sigHashes.push_back(SIGHASH_SINGLE | SIGHASH_FORKID | SIGHASH_ANYONECANPAY);       // LitecoinCash: Replay attack protection
  40698. +    sigHashes.push_back(SIGHASH_ALL | SIGHASH_FORKID | SIGHASH_ANYONECANPAY);          // LitecoinCash: Replay attack protection
  40699. +    sigHashes.push_back(SIGHASH_NONE | SIGHASH_FORKID);                                    // LitecoinCash: Replay attack protection
  40700. +    sigHashes.push_back(SIGHASH_SINGLE | SIGHASH_FORKID);                              // LitecoinCash: Replay attack protection
  40701. +    sigHashes.push_back(SIGHASH_ALL | SIGHASH_FORKID);                                 // LitecoinCash: Replay attack protection
  40702.  
  40703.      // create a big transaction of 4500 inputs signed by the same key
  40704.      for(uint32_t ij = 0; ij < 4500; ij++) {
  40705. diff --git a/src/test/txvalidationcache_tests.cpp b/src/test/txvalidationcache_tests.cpp
  40706. index 2d25cb9..5018de0 100644
  40707. --- a/src/test/txvalidationcache_tests.cpp
  40708. +++ b/src/test/txvalidationcache_tests.cpp
  40709. @@ -55,9 +55,9 @@ BOOST_FIXTURE_TEST_CASE(tx_mempool_block_doublespend, TestChain100Setup)
  40710.  
  40711.          // Sign:
  40712.          std::vector<unsigned char> vchSig;
  40713. -        uint256 hash = SignatureHash(scriptPubKey, spends[i], 0, SIGHASH_ALL, 0, SIGVERSION_BASE);
  40714. +        uint256 hash = SignatureHash(scriptPubKey, spends[i], 0, SIGHASH_ALL | SIGHASH_FORKID, 0, SIGVERSION_BASE);            // LitecoinCash: Replay attack protection
  40715.          BOOST_CHECK(coinbaseKey.Sign(hash, vchSig));
  40716. -        vchSig.push_back((unsigned char)SIGHASH_ALL);
  40717. +        vchSig.push_back((unsigned char)SIGHASH_ALL | SIGHASH_FORKID); // LitecoinCash: Replay attack protection
  40718.          spends[i].vin[0].scriptSig << vchSig;
  40719.      }
  40720.  
  40721. @@ -109,6 +109,7 @@ void ValidateCheckInputsForAllFlags(CMutableTransaction &tx, uint32_t failing_fl
  40722.      for (uint32_t test_flags=0; test_flags < (1U << 16); test_flags += 1) {
  40723.          CValidationState state;
  40724.          // Filter out incompatible flag choices
  40725. +        test_flags |= SCRIPT_ENABLE_SIGHASH_FORKID;
  40726.          if ((test_flags & SCRIPT_VERIFY_CLEANSTACK)) {
  40727.              // CLEANSTACK requires P2SH and WITNESS, see VerifyScript() in
  40728.              // script/interpreter.cpp
  40729. @@ -184,10 +185,10 @@ BOOST_FIXTURE_TEST_CASE(checkinputs_test, TestChain100Setup)
  40730.      // Sign, with a non-DER signature
  40731.      {
  40732.          std::vector<unsigned char> vchSig;
  40733. -        uint256 hash = SignatureHash(p2pk_scriptPubKey, spend_tx, 0, SIGHASH_ALL, 0, SIGVERSION_BASE);
  40734. +        uint256 hash = SignatureHash(p2pk_scriptPubKey, spend_tx, 0, SIGHASH_ALL | SIGHASH_FORKID, 0, SIGVERSION_BASE);            // LitecoinCash: Replay attack protection
  40735.          BOOST_CHECK(coinbaseKey.Sign(hash, vchSig));
  40736.          vchSig.push_back((unsigned char) 0); // padding byte makes this non-DER
  40737. -        vchSig.push_back((unsigned char)SIGHASH_ALL);
  40738. +        vchSig.push_back((unsigned char)SIGHASH_ALL | SIGHASH_FORKID);  // LitecoinCash: Replay attack protection
  40739.          spend_tx.vin[0].scriptSig << vchSig;
  40740.      }
  40741.  
  40742. @@ -256,9 +257,9 @@ BOOST_FIXTURE_TEST_CASE(checkinputs_test, TestChain100Setup)
  40743.  
  40744.          // Sign
  40745.          std::vector<unsigned char> vchSig;
  40746. -        uint256 hash = SignatureHash(spend_tx.vout[2].scriptPubKey, invalid_with_cltv_tx, 0, SIGHASH_ALL, 0, SIGVERSION_BASE);
  40747. +        uint256 hash = SignatureHash(spend_tx.vout[2].scriptPubKey, invalid_with_cltv_tx, 0, SIGHASH_ALL | SIGHASH_FORKID, 0, SIGVERSION_BASE);        // LitecoinCash: Replay attack protection
  40748.          BOOST_CHECK(coinbaseKey.Sign(hash, vchSig));
  40749. -        vchSig.push_back((unsigned char)SIGHASH_ALL);
  40750. +        vchSig.push_back((unsigned char)SIGHASH_ALL | SIGHASH_FORKID); // LitecoinCash: Replay attack protection
  40751.          invalid_with_cltv_tx.vin[0].scriptSig = CScript() << vchSig << 101;
  40752.  
  40753.          ValidateCheckInputsForAllFlags(invalid_with_cltv_tx, SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY, true, true);
  40754. @@ -284,9 +285,9 @@ BOOST_FIXTURE_TEST_CASE(checkinputs_test, TestChain100Setup)
  40755.  
  40756.          // Sign
  40757.          std::vector<unsigned char> vchSig;
  40758. -        uint256 hash = SignatureHash(spend_tx.vout[3].scriptPubKey, invalid_with_csv_tx, 0, SIGHASH_ALL, 0, SIGVERSION_BASE);
  40759. +        uint256 hash = SignatureHash(spend_tx.vout[3].scriptPubKey, invalid_with_csv_tx, 0, SIGHASH_ALL | SIGHASH_FORKID, 0, SIGVERSION_BASE); // LitecoinCash: Replay attack protection
  40760.          BOOST_CHECK(coinbaseKey.Sign(hash, vchSig));
  40761. -        vchSig.push_back((unsigned char)SIGHASH_ALL);
  40762. +        vchSig.push_back((unsigned char)SIGHASH_ALL | SIGHASH_FORKID); // LitecoinCash: Replay attack protection
  40763.          invalid_with_csv_tx.vin[0].scriptSig = CScript() << vchSig << 101;
  40764.  
  40765.          ValidateCheckInputsForAllFlags(invalid_with_csv_tx, SCRIPT_VERIFY_CHECKSEQUENCEVERIFY, true, true);
  40766. @@ -314,7 +315,7 @@ BOOST_FIXTURE_TEST_CASE(checkinputs_test, TestChain100Setup)
  40767.  
  40768.          // Sign
  40769.          SignatureData sigdata;
  40770. -        ProduceSignature(MutableTransactionSignatureCreator(&keystore, &valid_with_witness_tx, 0, 11*CENT, SIGHASH_ALL), spend_tx.vout[1].scriptPubKey, sigdata);
  40771. +        ProduceSignature(MutableTransactionSignatureCreator(&keystore, &valid_with_witness_tx, 0, 11*CENT, SIGHASH_ALL | SIGHASH_FORKID), spend_tx.vout[1].scriptPubKey, sigdata); // LitecoinCash: Replay attack protection
  40772.          UpdateTransaction(valid_with_witness_tx, 0, sigdata);
  40773.  
  40774.          // This should be valid under all script flags.
  40775. @@ -342,7 +343,7 @@ BOOST_FIXTURE_TEST_CASE(checkinputs_test, TestChain100Setup)
  40776.          // Sign
  40777.          for (int i=0; i<2; ++i) {
  40778.              SignatureData sigdata;
  40779. -            ProduceSignature(MutableTransactionSignatureCreator(&keystore, &tx, i, 11*CENT, SIGHASH_ALL), spend_tx.vout[i].scriptPubKey, sigdata);
  40780. +            ProduceSignature(MutableTransactionSignatureCreator(&keystore, &tx, i, 11*CENT, SIGHASH_ALL | SIGHASH_FORKID), spend_tx.vout[i].scriptPubKey, sigdata);        // LitecoinCash: Replay attack protection
  40781.              UpdateTransaction(tx, i, sigdata);
  40782.          }
  40783.  
  40784. diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp
  40785. index 6ec5442..dab5c99 100644
  40786. --- a/src/test/util_tests.cpp
  40787. +++ b/src/test/util_tests.cpp
  40788. @@ -182,7 +182,7 @@ BOOST_AUTO_TEST_CASE(util_FormatMoney)
  40789.      BOOST_CHECK_EQUAL(FormatMoney(COIN/100000), "0.00001");
  40790.      BOOST_CHECK_EQUAL(FormatMoney(COIN/1000000), "0.000001");
  40791.      BOOST_CHECK_EQUAL(FormatMoney(COIN/10000000), "0.0000001");
  40792. -    BOOST_CHECK_EQUAL(FormatMoney(COIN/100000000), "0.00000001");
  40793. +    BOOST_CHECK_EQUAL(FormatMoney(COIN/100000000), "0.00");
  40794.  }
  40795.  
  40796.  BOOST_AUTO_TEST_CASE(util_ParseMoney)
  40797. @@ -228,8 +228,9 @@ BOOST_AUTO_TEST_CASE(util_ParseMoney)
  40798.      BOOST_CHECK_EQUAL(ret, COIN/1000000);
  40799.      BOOST_CHECK(ParseMoney("0.0000001", ret));
  40800.      BOOST_CHECK_EQUAL(ret, COIN/10000000);
  40801. -    BOOST_CHECK(ParseMoney("0.00000001", ret));
  40802. -    BOOST_CHECK_EQUAL(ret, COIN/100000000);
  40803. +    BOOST_CHECK(!ParseMoney("0.00000001", ret));       // LitecoinCash: Coinscale - Test should fail
  40804. +    //BOOST_CHECK_EQUAL(ret, COIN/100000000);          // LitecoinCash: Coinscale - (Commented this line)
  40805. +
  40806.  
  40807.      // Attempted 63 bit overflow should fail
  40808.      BOOST_CHECK(!ParseMoney("92233720368.54775808", ret));
  40809. @@ -253,31 +254,6 @@ BOOST_AUTO_TEST_CASE(util_IsHex)
  40810.      BOOST_CHECK(!IsHex("0x0000"));
  40811.  }
  40812.  
  40813. -BOOST_AUTO_TEST_CASE(util_IsHexNumber)
  40814. -{
  40815. -    BOOST_CHECK(IsHexNumber("0x0"));
  40816. -    BOOST_CHECK(IsHexNumber("0"));
  40817. -    BOOST_CHECK(IsHexNumber("0x10"));
  40818. -    BOOST_CHECK(IsHexNumber("10"));
  40819. -    BOOST_CHECK(IsHexNumber("0xff"));
  40820. -    BOOST_CHECK(IsHexNumber("ff"));
  40821. -    BOOST_CHECK(IsHexNumber("0xFfa"));
  40822. -    BOOST_CHECK(IsHexNumber("Ffa"));
  40823. -    BOOST_CHECK(IsHexNumber("0x00112233445566778899aabbccddeeffAABBCCDDEEFF"));
  40824. -    BOOST_CHECK(IsHexNumber("00112233445566778899aabbccddeeffAABBCCDDEEFF"));
  40825. -
  40826. -    BOOST_CHECK(!IsHexNumber(""));   // empty string not allowed
  40827. -    BOOST_CHECK(!IsHexNumber("0x")); // empty string after prefix not allowed
  40828. -    BOOST_CHECK(!IsHexNumber("0x0 ")); // no spaces at end,
  40829. -    BOOST_CHECK(!IsHexNumber(" 0x0")); // or beginning,
  40830. -    BOOST_CHECK(!IsHexNumber("0x 0")); // or middle,
  40831. -    BOOST_CHECK(!IsHexNumber(" "));    // etc.
  40832. -    BOOST_CHECK(!IsHexNumber("0x0ga")); // invalid character
  40833. -    BOOST_CHECK(!IsHexNumber("x0"));    // broken prefix
  40834. -    BOOST_CHECK(!IsHexNumber("0x0x00")); // two prefixes not allowed
  40835. -
  40836. -}
  40837. -
  40838.  BOOST_AUTO_TEST_CASE(util_seed_insecure_rand)
  40839.  {
  40840.      SeedInsecureRand(true);
  40841. diff --git a/src/univalue/autogen.sh b/src/univalue/autogen.sh
  40842. old mode 100755
  40843. new mode 100644
  40844. diff --git a/src/util.cpp b/src/util.cpp
  40845. index 487009e..5d8ef98 100644
  40846. --- a/src/util.cpp
  40847. +++ b/src/util.cpp
  40848. @@ -87,8 +87,8 @@
  40849.  // Application startup time (used for uptime calculation)
  40850.  const int64_t nStartupTime = GetTime();
  40851.  
  40852. -const char * const BITCOIN_CONF_FILENAME = "litecoin.conf";
  40853. -const char * const BITCOIN_PID_FILENAME = "litecoin.pid";
  40854. +const char * const BITCOIN_CONF_FILENAME = "litecoincash.conf";
  40855. +const char * const BITCOIN_PID_FILENAME = "litecoincash.pid";
  40856.  
  40857.  ArgsManager gArgs;
  40858.  bool fPrintToConsole = false;
  40859. @@ -505,7 +505,7 @@ static std::string FormatException(const std::exception* pex, const char* pszThr
  40860.      char pszModule[MAX_PATH] = "";
  40861.      GetModuleFileNameA(nullptr, pszModule, sizeof(pszModule));
  40862.  #else
  40863. -    const char* pszModule = "litecoin";
  40864. +    const char* pszModule = "litecoincash";
  40865.  #endif
  40866.      if (pex)
  40867.          return strprintf(
  40868. @@ -530,7 +530,7 @@ fs::path GetDefaultDataDir()
  40869.      // Unix: ~/.bitcoin
  40870.  #ifdef WIN32
  40871.      // Windows
  40872. -    return GetSpecialFolderPath(CSIDL_APPDATA) / "Litecoin";
  40873. +    return GetSpecialFolderPath(CSIDL_APPDATA) / "LitecoinCash";
  40874.  #else
  40875.      fs::path pathRet;
  40876.      char* pszHome = getenv("HOME");
  40877. @@ -540,10 +540,10 @@ fs::path GetDefaultDataDir()
  40878.          pathRet = fs::path(pszHome);
  40879.  #ifdef MAC_OSX
  40880.      // Mac
  40881. -    return pathRet / "Library/Application Support/Litecoin";
  40882. +    return pathRet / "Library/Application Support/LitecoinCash";
  40883.  #else
  40884.      // Unix
  40885. -    return pathRet / ".litecoin";
  40886. +    return pathRet / ".litecoincash";
  40887.  #endif
  40888.  #endif
  40889.  }
  40890. @@ -885,7 +885,13 @@ int GetNumCores()
  40891.  
  40892.  std::string CopyrightHolders(const std::string& strPrefix)
  40893.  {
  40894. -    std::string strCopyrightHolders = strPrefix + strprintf(_(COPYRIGHT_HOLDERS), _(COPYRIGHT_HOLDERS_SUBSTITUTION));
  40895. +    std::string strFirstPrefix = strPrefix;    
  40896. +    strFirstPrefix.replace(strFirstPrefix.find("2011-"), sizeof("2011-")-1, "");        
  40897. +    std::string strCopyrightHolders = strFirstPrefix + strprintf(_(COPYRIGHT_HOLDERS), _(COPYRIGHT_HOLDERS_SUBSTITUTION));
  40898. +    
  40899. +    // Check for untranslated substitution to make sure Litecion Core copyright is not removed by accident
  40900. +    if (strprintf(COPYRIGHT_HOLDERS, COPYRIGHT_HOLDERS_SUBSTITUTION).find("Litecoin Core") == std::string::npos)
  40901. +        strCopyrightHolders += "\n" + strPrefix + "The Litecoin Core developers";
  40902.  
  40903.      // Check for untranslated substitution to make sure Bitcoin Core copyright is not removed by accident
  40904.      if (strprintf(COPYRIGHT_HOLDERS, COPYRIGHT_HOLDERS_SUBSTITUTION).find("Bitcoin Core") == std::string::npos) {
  40905. diff --git a/src/utilmoneystr.cpp b/src/utilmoneystr.cpp
  40906. index 6e6e331..d93ceba 100644
  40907. --- a/src/utilmoneystr.cpp
  40908. +++ b/src/utilmoneystr.cpp
  40909. @@ -16,7 +16,7 @@ std::string FormatMoney(const CAmount& n)
  40910.      int64_t n_abs = (n > 0 ? n : -n);
  40911.      int64_t quotient = n_abs/COIN;
  40912.      int64_t remainder = n_abs%COIN;
  40913. -    std::string str = strprintf("%d.%08d", quotient, remainder);
  40914. +    std::string str = strprintf("%d.%07d", quotient, remainder);   // LitecoinCash: Updated num decimals
  40915.  
  40916.      // Right-trim excess zeros before the decimal point:
  40917.      int nTrim = 0;
  40918. diff --git a/src/utilstrencodings.cpp b/src/utilstrencodings.cpp
  40919. index 741680e..fd233f6 100644
  40920. --- a/src/utilstrencodings.cpp
  40921. +++ b/src/utilstrencodings.cpp
  40922. @@ -65,19 +65,6 @@ bool IsHex(const std::string& str)
  40923.      return (str.size() > 0) && (str.size()%2 == 0);
  40924.  }
  40925.  
  40926. -bool IsHexNumber(const std::string& str)
  40927. -{
  40928. -    size_t starting_location = 0;
  40929. -    if (str.size() > 2 && *str.begin() == '0' && *(str.begin()+1) == 'x') {
  40930. -        starting_location = 2;
  40931. -    }
  40932. -    for (auto c : str.substr(starting_location)) {
  40933. -        if (HexDigit(c) < 0) return false;
  40934. -    }
  40935. -    // Return false for empty string or "0x".
  40936. -    return (str.size() > starting_location);
  40937. -}
  40938. -
  40939.  std::vector<unsigned char> ParseHex(const char* psz)
  40940.  {
  40941.      // convert hex dump to vector
  40942. diff --git a/src/utilstrencodings.h b/src/utilstrencodings.h
  40943. index 192f33f..53da60e 100644
  40944. --- a/src/utilstrencodings.h
  40945. +++ b/src/utilstrencodings.h
  40946. @@ -38,13 +38,7 @@ std::string SanitizeString(const std::string& str, int rule = SAFE_CHARS_DEFAULT
  40947.  std::vector<unsigned char> ParseHex(const char* psz);
  40948.  std::vector<unsigned char> ParseHex(const std::string& str);
  40949.  signed char HexDigit(char c);
  40950. -/* Returns true if each character in str is a hex character, and has an even
  40951. - * number of hex digits.*/
  40952.  bool IsHex(const std::string& str);
  40953. -/**
  40954. -* Return true if the string is a hex number, optionally prefixed with "0x"
  40955. -*/
  40956. -bool IsHexNumber(const std::string& str);
  40957.  std::vector<unsigned char> DecodeBase64(const char* p, bool* pfInvalid = nullptr);
  40958.  std::string DecodeBase64(const std::string& str);
  40959.  std::string EncodeBase64(const unsigned char* pch, size_t len);
  40960. diff --git a/src/validation.cpp b/src/validation.cpp
  40961. index 32604ee..0f96db9 100644
  40962. --- a/src/validation.cpp
  40963. +++ b/src/validation.cpp
  40964. @@ -50,7 +50,7 @@
  40965.  #include <boost/thread.hpp>
  40966.  
  40967.  #if defined(NDEBUG)
  40968. -# error "Litecoin cannot be compiled without assertions."
  40969. +# error "LitecoinCash cannot be compiled without assertions."
  40970.  #endif
  40971.  
  40972.  /**
  40973. @@ -80,7 +80,6 @@ int64_t nMaxTipAge = DEFAULT_MAX_TIP_AGE;
  40974.  bool fEnableReplacement = DEFAULT_ENABLE_REPLACEMENT;
  40975.  
  40976.  uint256 hashAssumeValid;
  40977. -arith_uint256 nMinimumChainWork;
  40978.  
  40979.  CFeeRate minRelayTxFee = CFeeRate(DEFAULT_MIN_RELAY_TX_FEE);
  40980.  CAmount maxTxFee = DEFAULT_TRANSACTION_MAXFEE;
  40981. @@ -153,26 +152,6 @@ namespace {
  40982.      /** chainwork for the last block that preciousblock has been applied to. */
  40983.      arith_uint256 nLastPreciousChainwork = 0;
  40984.  
  40985. -    /** In order to efficiently track invalidity of headers, we keep the set of
  40986. -      * blocks which we tried to connect and found to be invalid here (ie which
  40987. -      * were set to BLOCK_FAILED_VALID since the last restart). We can then
  40988. -      * walk this set and check if a new header is a descendant of something in
  40989. -      * this set, preventing us from having to walk mapBlockIndex when we try
  40990. -      * to connect a bad block and fail.
  40991. -      *
  40992. -      * While this is more complicated than marking everything which descends
  40993. -      * from an invalid block as invalid at the time we discover it to be
  40994. -      * invalid, doing so would require walking all of mapBlockIndex to find all
  40995. -      * descendants. Since this case should be very rare, keeping track of all
  40996. -      * BLOCK_FAILED_VALID blocks in a set should be just fine and work just as
  40997. -      * well.
  40998. -      *
  40999. -      * Because we alreardy walk mapBlockIndex in height-order at startup, we go
  41000. -      * ahead and mark descendants of invalid blocks as FAILED_CHILD at that time,
  41001. -      * instead of putting things in this set.
  41002. -      */
  41003. -    std::set<CBlockIndex*> g_failed_blocks;
  41004. -
  41005.      /** Dirty block index entries. */
  41006.      std::set<CBlockIndex*> setDirtyBlockIndex;
  41007.  
  41008. @@ -860,7 +839,7 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
  41009.          // Remove conflicting transactions from the mempool
  41010.          for (const CTxMemPool::txiter it : allConflicting)
  41011.          {
  41012. -            LogPrint(BCLog::MEMPOOL, "replacing tx %s with %s for %s LTC additional fees, %d delta bytes\n",
  41013. +            LogPrint(BCLog::MEMPOOL, "replacing tx %s with %s for %s LCC additional fees, %d delta bytes\n",
  41014.                      it->GetTx().GetHash().ToString(),
  41015.                      hash.ToString(),
  41016.                      FormatMoney(nModifiedFees - nConflictingFees),
  41017. @@ -1040,19 +1019,33 @@ bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex, const Consensus
  41018.  
  41019.  CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
  41020.  {
  41021. +    // LitecoinCash: Issue premine on 1st post-fork block
  41022. +    if (nHeight == consensusParams.lastScryptBlock+1)
  41023. +        return consensusParams.premineAmount * COIN * COIN_SCALE;
  41024. +
  41025.      int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
  41026. -    // Force block reward to zero when right shift is undefined.
  41027. -    if (halvings >= 64)
  41028. +    // LitecoinCash: Force block reward to zero when right shift is undefined, and don't attempt to issue past total money supply
  41029. +    if (halvings >= 64 || nHeight >= 6215968)
  41030.          return 0;
  41031.  
  41032. -    CAmount nSubsidy = 50 * COIN;
  41033. +    CAmount nSubsidy = 50 * COIN * COIN_SCALE;
  41034.      // Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
  41035.      nSubsidy >>= halvings;
  41036. +
  41037. +    // LitecoinCash: Slow-start the first n blocks to prevent early miners having an unfair advantage
  41038. +    int64_t blocksSinceFork = nHeight - consensusParams.lastScryptBlock;
  41039. +    if (blocksSinceFork > 0 && blocksSinceFork < consensusParams.slowStartBlocks) {
  41040. +        CAmount incrementPerBlock = nSubsidy / consensusParams.slowStartBlocks;
  41041. +        nSubsidy = blocksSinceFork * incrementPerBlock;
  41042. +    }
  41043. +
  41044.      return nSubsidy;
  41045.  }
  41046.  
  41047.  bool IsInitialBlockDownload()
  41048.  {
  41049. +    const CChainParams& chainParams = Params();
  41050. +
  41051.      // Once this function has returned false, it must remain false.
  41052.      static std::atomic<bool> latchToFalse{false};
  41053.      // Optimization: pre-test latch before taking the lock.
  41054. @@ -1066,7 +1059,7 @@ bool IsInitialBlockDownload()
  41055.          return true;
  41056.      if (chainActive.Tip() == nullptr)
  41057.          return true;
  41058. -    if (chainActive.Tip()->nChainWork < nMinimumChainWork)
  41059. +    if (chainActive.Tip()->nChainWork < UintToArith256(chainParams.GetConsensus().nMinimumChainWork))
  41060.          return true;
  41061.      if (chainActive.Tip()->GetBlockTime() < (GetTime() - nMaxTipAge))
  41062.          return true;
  41063. @@ -1188,7 +1181,6 @@ void static InvalidChainFound(CBlockIndex* pindexNew)
  41064.  void static InvalidBlockFound(CBlockIndex *pindex, const CValidationState &state) {
  41065.      if (!state.CorruptionPossible()) {
  41066.          pindex->nStatus |= BLOCK_FAILED_VALID;
  41067. -        g_failed_blocks.insert(pindex);
  41068.          setDirtyBlockIndex.insert(pindex);
  41069.          setBlockIndexCandidates.erase(pindex);
  41070.          InvalidChainFound(pindex);
  41071. @@ -1631,6 +1623,11 @@ static unsigned int GetBlockScriptFlags(const CBlockIndex* pindex, const Consens
  41072.          flags |= SCRIPT_VERIFY_NULLDUMMY;
  41073.      }
  41074.  
  41075. +    // LitecoinCash: Enforce use of correct fork ID
  41076. +    if (pindex->nHeight > consensusparams.lastScryptBlock) {
  41077. +        flags |= SCRIPT_VERIFY_STRICTENC;
  41078. +        flags |= SCRIPT_ENABLE_SIGHASH_FORKID;
  41079. +    }
  41080.      return flags;
  41081.  }
  41082.  
  41083. @@ -1684,7 +1681,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd
  41084.          if (it != mapBlockIndex.end()) {
  41085.              if (it->second->GetAncestor(pindex->nHeight) == pindex &&
  41086.                  pindexBestHeader->GetAncestor(pindex->nHeight) == pindex &&
  41087. -                pindexBestHeader->nChainWork >= nMinimumChainWork) {
  41088. +                pindexBestHeader->nChainWork >= UintToArith256(chainparams.GetConsensus().nMinimumChainWork)) {
  41089.                  // This block is a member of the assumed verified chain and an ancestor of the best header.
  41090.                  // The equivalent time check discourages hash power from extorting the network via DOS attack
  41091.                  //  into accepting an invalid block through telling users they must manually set assumevalid.
  41092. @@ -1833,6 +1830,19 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd
  41093.                                 block.vtx[0]->GetValueOut(), blockReward),
  41094.                                 REJECT_INVALID, "bad-cb-amount");
  41095.  
  41096. +    // LitecoinCash: Ensure that lastScryptBlock+1 coinbase TX pays to the premine address
  41097. +    if (pindex->nHeight == chainparams.GetConsensus().lastScryptBlock+1) {
  41098. +        if (block.vtx[0]->vout[0].scriptPubKey.size() == 1) {
  41099. +            LogPrintf("ConnectBlock(): allowing mine\n");
  41100. +        } else if (block.vtx[0]->vout[0].scriptPubKey != chainparams.GetConsensus().premineOutputScript) {
  41101. +            return state.DoS(100,
  41102. +                error("ConnectBlock(): incorrect pubkey on pm coinbase TX (Got %s, expected %s)",
  41103. +                    HexStr(block.vtx[0]->vout[0].scriptPubKey),
  41104. +                    HexStr(chainparams.GetConsensus().premineOutputScript)),
  41105. +                REJECT_INVALID, "bad-pm-script");
  41106. +        }
  41107. +    }
  41108. +
  41109.      if (!control.Wait())
  41110.          return state.DoS(100, error("%s: CheckQueue failed", __func__), REJECT_INVALID, "block-validation-failed");
  41111.      int64_t nTime4 = GetTimeMicros(); nTimeVerify += nTime4 - nTime2;
  41112. @@ -2539,18 +2549,17 @@ bool InvalidateBlock(CValidationState& state, const CChainParams& chainparams, C
  41113.  {
  41114.      AssertLockHeld(cs_main);
  41115.  
  41116. -    // We first disconnect backwards and then mark the blocks as invalid.
  41117. -    // This prevents a case where pruned nodes may fail to invalidateblock
  41118. -    // and be left unable to start as they have no tip candidates (as there
  41119. -    // are no blocks that meet the "have data and are not invalid per
  41120. -    // nStatus" criteria for inclusion in setBlockIndexCandidates).
  41121. -
  41122. -    bool pindex_was_in_chain = false;
  41123. -    CBlockIndex *invalid_walk_tip = chainActive.Tip();
  41124. +    // Mark the block itself as invalid.
  41125. +    pindex->nStatus |= BLOCK_FAILED_VALID;
  41126. +    setDirtyBlockIndex.insert(pindex);
  41127. +    setBlockIndexCandidates.erase(pindex);
  41128.  
  41129.      DisconnectedBlockTransactions disconnectpool;
  41130.      while (chainActive.Contains(pindex)) {
  41131. -        pindex_was_in_chain = true;
  41132. +        CBlockIndex *pindexWalk = chainActive.Tip();
  41133. +        pindexWalk->nStatus |= BLOCK_FAILED_CHILD;
  41134. +        setDirtyBlockIndex.insert(pindexWalk);
  41135. +        setBlockIndexCandidates.erase(pindexWalk);
  41136.          // ActivateBestChain considers blocks already in chainActive
  41137.          // unconditionally valid already, so force disconnect away from it.
  41138.          if (!DisconnectTip(state, chainparams, &disconnectpool)) {
  41139. @@ -2561,21 +2570,6 @@ bool InvalidateBlock(CValidationState& state, const CChainParams& chainparams, C
  41140.          }
  41141.      }
  41142.  
  41143. -    // Now mark the blocks we just disconnected as descendants invalid
  41144. -    // (note this may not be all descendants).
  41145. -    while (pindex_was_in_chain && invalid_walk_tip != pindex) {
  41146. -        invalid_walk_tip->nStatus |= BLOCK_FAILED_CHILD;
  41147. -        setDirtyBlockIndex.insert(invalid_walk_tip);
  41148. -        setBlockIndexCandidates.erase(invalid_walk_tip);
  41149. -        invalid_walk_tip = invalid_walk_tip->pprev;
  41150. -    }
  41151. -
  41152. -    // Mark the block itself as invalid.
  41153. -    pindex->nStatus |= BLOCK_FAILED_VALID;
  41154. -    setDirtyBlockIndex.insert(pindex);
  41155. -    setBlockIndexCandidates.erase(pindex);
  41156. -    g_failed_blocks.insert(pindex);
  41157. -
  41158.      // DisconnectTip will add transactions to disconnectpool; try to add these
  41159.      // back to the mempool.
  41160.      UpdateMempoolForReorg(disconnectpool, true);
  41161. @@ -2613,7 +2607,6 @@ bool ResetBlockFailureFlags(CBlockIndex *pindex) {
  41162.                  // Reset invalid block marker if it was pointing to one of those.
  41163.                  pindexBestInvalid = nullptr;
  41164.              }
  41165. -            g_failed_blocks.erase(it->second);
  41166.          }
  41167.          it++;
  41168.      }
  41169. @@ -3094,21 +3087,6 @@ static bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state
  41170.              return state.DoS(100, error("%s: prev block invalid", __func__), REJECT_INVALID, "bad-prevblk");
  41171.          if (!ContextualCheckBlockHeader(block, state, chainparams, pindexPrev, GetAdjustedTime()))
  41172.              return error("%s: Consensus::ContextualCheckBlockHeader: %s, %s", __func__, hash.ToString(), FormatStateMessage(state));
  41173. -
  41174. -        if (!pindexPrev->IsValid(BLOCK_VALID_SCRIPTS)) {
  41175. -            for (const CBlockIndex* failedit : g_failed_blocks) {
  41176. -                if (pindexPrev->GetAncestor(failedit->nHeight) == failedit) {
  41177. -                    assert(failedit->nStatus & BLOCK_FAILED_VALID);
  41178. -                    CBlockIndex* invalid_walk = pindexPrev;
  41179. -                    while (invalid_walk != failedit) {
  41180. -                        invalid_walk->nStatus |= BLOCK_FAILED_CHILD;
  41181. -                        setDirtyBlockIndex.insert(invalid_walk);
  41182. -                        invalid_walk = invalid_walk->pprev;
  41183. -                    }
  41184. -                    return state.DoS(100, error("%s: prev block invalid", __func__), REJECT_INVALID, "bad-prevblk");
  41185. -                }
  41186. -            }
  41187. -        }
  41188.      }
  41189.      if (pindex == nullptr)
  41190.          pindex = AddToBlockIndex(block);
  41191. @@ -3122,15 +3100,13 @@ static bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state
  41192.  }
  41193.  
  41194.  // Exposed wrapper for AcceptBlockHeader
  41195. -bool ProcessNewBlockHeaders(const std::vector<CBlockHeader>& headers, CValidationState& state, const CChainParams& chainparams, const CBlockIndex** ppindex, CBlockHeader *first_invalid)
  41196. +bool ProcessNewBlockHeaders(const std::vector<CBlockHeader>& headers, CValidationState& state, const CChainParams& chainparams, const CBlockIndex** ppindex)
  41197.  {
  41198. -    if (first_invalid != nullptr) first_invalid->SetNull();
  41199.      {
  41200.          LOCK(cs_main);
  41201.          for (const CBlockHeader& header : headers) {
  41202.              CBlockIndex *pindex = nullptr; // Use a temp pindex instead of ppindex to avoid a const_cast
  41203.              if (!AcceptBlockHeader(header, state, chainparams, &pindex)) {
  41204. -                if (first_invalid) *first_invalid = header;
  41205.                  return false;
  41206.              }
  41207.              if (ppindex) {
  41208. @@ -3160,7 +3136,7 @@ static bool AcceptBlock(const std::shared_ptr<const CBlock>& pblock, CValidation
  41209.      // process an unrequested block if it's new and has enough work to
  41210.      // advance our tip, and isn't too many blocks ahead.
  41211.      bool fAlreadyHave = pindex->nStatus & BLOCK_HAVE_DATA;
  41212. -    bool fHasMoreOrSameWork = (chainActive.Tip() ? pindex->nChainWork >= chainActive.Tip()->nChainWork : true);
  41213. +    bool fHasMoreWork = (chainActive.Tip() ? pindex->nChainWork > chainActive.Tip()->nChainWork : true);
  41214.      // Blocks that are too out-of-order needlessly limit the effectiveness of
  41215.      // pruning, because pruning will not delete block files that contain any
  41216.      // blocks which are too close in height to the tip.  Apply this test
  41217. @@ -3177,15 +3153,9 @@ static bool AcceptBlock(const std::shared_ptr<const CBlock>& pblock, CValidation
  41218.      // and unrequested blocks.
  41219.      if (fAlreadyHave) return true;
  41220.      if (!fRequested) {  // If we didn't ask for it:
  41221. -        if (pindex->nTx != 0) return true;    // This is a previously-processed block that was pruned
  41222. -        if (!fHasMoreOrSameWork) return true; // Don't process less-work chains
  41223. -        if (fTooFarAhead) return true;        // Block height is too high
  41224. -
  41225. -        // Protect against DoS attacks from low-work chains.
  41226. -        // If our tip is behind, a peer could try to send us
  41227. -        // low-work blocks on a fake chain that we would never
  41228. -        // request; don't process these.
  41229. -        if (pindex->nChainWork < nMinimumChainWork) return true;
  41230. +        if (pindex->nTx != 0) return true;  // This is a previously-processed block that was pruned
  41231. +        if (!fHasMoreWork) return true;     // Don't process less-work chains
  41232. +        if (fTooFarAhead) return true;      // Block height is too high
  41233.      }
  41234.      if (fNewBlock) *fNewBlock = true;
  41235.  
  41236. @@ -3535,10 +3505,6 @@ bool static LoadBlockIndexDB(const CChainParams& chainparams)
  41237.                  pindex->nChainTx = pindex->nTx;
  41238.              }
  41239.          }
  41240. -        if (!(pindex->nStatus & BLOCK_FAILED_MASK) && pindex->pprev && (pindex->pprev->nStatus & BLOCK_FAILED_MASK)) {
  41241. -            pindex->nStatus |= BLOCK_FAILED_CHILD;
  41242. -            setDirtyBlockIndex.insert(pindex);
  41243. -        }
  41244.          if (pindex->IsValid(BLOCK_VALID_TRANSACTIONS) && (pindex->nChainTx || pindex->pprev == nullptr))
  41245.              setBlockIndexCandidates.insert(pindex);
  41246.          if (pindex->nStatus & BLOCK_FAILED_MASK && (!pindexBestInvalid || pindex->nChainWork > pindexBestInvalid->nChainWork))
  41247. @@ -3929,7 +3895,6 @@ void UnloadBlockIndex()
  41248.      nLastBlockFile = 0;
  41249.      nBlockSequenceId = 1;
  41250.      setDirtyBlockIndex.clear();
  41251. -    g_failed_blocks.clear();
  41252.      setDirtyFileInfo.clear();
  41253.      versionbitscache.Clear();
  41254.      for (int b = 0; b < VERSIONBITS_NUM_BITS; b++) {
  41255. diff --git a/src/validation.h b/src/validation.h
  41256. index a02e1a8..22c4d41 100644
  41257. --- a/src/validation.h
  41258. +++ b/src/validation.h
  41259. @@ -10,7 +10,6 @@
  41260.  #include "config/bitcoin-config.h"
  41261.  #endif
  41262.  
  41263. -#include "amount.h"
  41264.  #include "coins.h"
  41265.  #include "fs.h"
  41266.  #include "protocol.h" // For CMessageHeader::MessageStartChars
  41267. @@ -50,11 +49,11 @@ static const bool DEFAULT_WHITELISTRELAY = true;
  41268.  /** Default for DEFAULT_WHITELISTFORCERELAY. */
  41269.  static const bool DEFAULT_WHITELISTFORCERELAY = true;
  41270.  /** Default for -minrelaytxfee, minimum relay fee for transactions */
  41271. -static const unsigned int DEFAULT_MIN_RELAY_TX_FEE = 1000;
  41272. +static const unsigned int DEFAULT_MIN_RELAY_TX_FEE = 100000 / COIN_SCALE / 10;     // Litecoin Cash: Lowered fees
  41273.  //! -maxtxfee default
  41274. -static const CAmount DEFAULT_TRANSACTION_MAXFEE = 0.1 * COIN;
  41275. +static const CAmount DEFAULT_TRANSACTION_MAXFEE = 0.1 * COIN * COIN_SCALE;
  41276.  //! Discourage users to set fees higher than this amount (in satoshis) per kB
  41277. -static const CAmount HIGH_TX_FEE_PER_KB = 0.01 * COIN;
  41278. +static const CAmount HIGH_TX_FEE_PER_KB = 0.01 * COIN * COIN_SCALE;
  41279.  //! -maxtxfee will warn if called with a higher fee than this amount (in satoshis)
  41280.  static const CAmount HIGH_MAX_TX_FEE = 100 * HIGH_TX_FEE_PER_KB;
  41281.  /** Default for -limitancestorcount, max number of in-mempool ancestors */
  41282. @@ -134,7 +133,7 @@ static const unsigned int DEFAULT_BANSCORE_THRESHOLD = 100;
  41283.  /** Default for -persistmempool */
  41284.  static const bool DEFAULT_PERSIST_MEMPOOL = true;
  41285.  /** Default for -mempoolreplacement */
  41286. -static const bool DEFAULT_ENABLE_REPLACEMENT = false;
  41287. +static const bool DEFAULT_ENABLE_REPLACEMENT = true;
  41288.  /** Default for using fee filter */
  41289.  static const bool DEFAULT_FEEFILTER = true;
  41290.  
  41291. @@ -161,6 +160,7 @@ extern CTxMemPool mempool;
  41292.  typedef std::unordered_map<uint256, CBlockIndex*, BlockHasher> BlockMap;
  41293.  extern BlockMap mapBlockIndex;
  41294.  extern uint64_t nLastBlockTx;
  41295. +extern uint64_t nLastBlockSize;
  41296.  extern uint64_t nLastBlockWeight;
  41297.  extern const std::string strMessageMagic;
  41298.  extern CWaitableCriticalSection csBestBlock;
  41299. @@ -185,9 +185,6 @@ extern bool fEnableReplacement;
  41300.  /** Block hash whose ancestors we will assume to have valid scripts without checking them. */
  41301.  extern uint256 hashAssumeValid;
  41302.  
  41303. -/** Minimum work we will assume exists on some valid chain. */
  41304. -extern arith_uint256 nMinimumChainWork;
  41305. -
  41306.  /** Best header we've seen so far (used for getheaders queries' starting points). */
  41307.  extern CBlockIndex *pindexBestHeader;
  41308.  
  41309. @@ -217,7 +214,7 @@ static const unsigned int DEFAULT_CHECKLEVEL = 3;
  41310.  // Setting the target to > than 550MB will make it likely we can respect the target.
  41311.  static const uint64_t MIN_DISK_SPACE_FOR_BLOCK_FILES = 550 * 1024 * 1024;
  41312.  
  41313. -/**
  41314. +/**
  41315.   * Process an incoming block. This only returns after the best known valid
  41316.   * block is made active. Note that it does not, however, guarantee that the
  41317.   * specific block passed to it has been checked for validity!
  41318. @@ -228,7 +225,7 @@ static const uint64_t MIN_DISK_SPACE_FOR_BLOCK_FILES = 550 * 1024 * 1024;
  41319.   *
  41320.   * Note that we guarantee that either the proof-of-work is valid on pblock, or
  41321.   * (and possibly also) BlockChecked will have been called.
  41322. - *
  41323. + *
  41324.   * Call without cs_main held.
  41325.   *
  41326.   * @param[in]   pblock  The block we want to process.
  41327. @@ -247,9 +244,8 @@ bool ProcessNewBlock(const CChainParams& chainparams, const std::shared_ptr<cons
  41328.   * @param[out] state This may be set to an Error state if any error occurred processing them
  41329.   * @param[in]  chainparams The params for the chain we want to connect to
  41330.   * @param[out] ppindex If set, the pointer will be set to point to the last new block index object for the given headers
  41331. - * @param[out] first_invalid First header that fails validation, if one exists
  41332.   */
  41333. -bool ProcessNewBlockHeaders(const std::vector<CBlockHeader>& block, CValidationState& state, const CChainParams& chainparams, const CBlockIndex** ppindex=nullptr, CBlockHeader *first_invalid=nullptr);
  41334. +bool ProcessNewBlockHeaders(const std::vector<CBlockHeader>& block, CValidationState& state, const CChainParams& chainparams, const CBlockIndex** ppindex=nullptr);
  41335.  
  41336.  /** Check whether enough disk space is available for an incoming block */
  41337.  bool CheckDiskSpace(uint64_t nAdditionalBytes = 0);
  41338. @@ -353,7 +349,7 @@ bool CheckSequenceLocks(const CTransaction &tx, int flags, LockPoints* lp = null
  41339.  
  41340.  /**
  41341.   * Closure representing one script verification
  41342. - * Note that this stores references to the spending transaction
  41343. + * Note that this stores references to the spending transaction
  41344.   */
  41345.  class CScriptCheck
  41346.  {
  41347. diff --git a/src/validationinterface.cpp b/src/validationinterface.cpp
  41348. index cd2fecd..bf20d60 100644
  41349. --- a/src/validationinterface.cpp
  41350. +++ b/src/validationinterface.cpp
  41351. @@ -4,9 +4,7 @@
  41352.  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
  41353.  
  41354.  #include "validationinterface.h"
  41355. -
  41356.  #include "init.h"
  41357. -#include "primitives/block.h"
  41358.  #include "scheduler.h"
  41359.  #include "sync.h"
  41360.  #include "util.h"
  41361. diff --git a/src/versionbits.cpp b/src/versionbits.cpp
  41362. index 5958802..04a692d 100644
  41363. --- a/src/versionbits.cpp
  41364. +++ b/src/versionbits.cpp
  41365. @@ -107,7 +107,7 @@ ThresholdState AbstractThresholdConditionChecker::GetStateFor(const CBlockIndex*
  41366.  // return the numerical statistics of blocks signalling the specified BIP9 condition in this current period
  41367.  BIP9Stats AbstractThresholdConditionChecker::GetStateStatisticsFor(const CBlockIndex* pindex, const Consensus::Params& params) const
  41368.  {
  41369. -    BIP9Stats stats = {};
  41370. +    BIP9Stats stats;
  41371.  
  41372.      stats.period = Period(params);
  41373.      stats.threshold = Threshold(params);
  41374. diff --git a/src/wallet/db.cpp b/src/wallet/db.cpp
  41375. index fb6e576..b12d46e 100644
  41376. --- a/src/wallet/db.cpp
  41377. +++ b/src/wallet/db.cpp
  41378. @@ -20,40 +20,6 @@
  41379.  
  41380.  #include <boost/thread.hpp>
  41381.  
  41382. -namespace {
  41383. -//! Make sure database has a unique fileid within the environment. If it
  41384. -//! doesn't, throw an error. BDB caches do not work properly when more than one
  41385. -//! open database has the same fileid (values written to one database may show
  41386. -//! up in reads to other databases).
  41387. -//!
  41388. -//! BerkeleyDB generates unique fileids by default
  41389. -//! (https://docs.oracle.com/cd/E17275_01/html/programmer_reference/program_copy.html),
  41390. -//! so bitcoin should never create different databases with the same fileid, but
  41391. -//! this error can be triggered if users manually copy database files.
  41392. -void CheckUniqueFileid(const CDBEnv& env, const std::string& filename, Db& db)
  41393. -{
  41394. -    if (env.IsMock()) return;
  41395. -
  41396. -    u_int8_t fileid[DB_FILE_ID_LEN];
  41397. -    int ret = db.get_mpf()->get_fileid(fileid);
  41398. -    if (ret != 0) {
  41399. -        throw std::runtime_error(strprintf("CDB: Can't open database %s (get_fileid failed with %d)", filename, ret));
  41400. -    }
  41401. -
  41402. -    for (const auto& item : env.mapDb) {
  41403. -        u_int8_t item_fileid[DB_FILE_ID_LEN];
  41404. -        if (item.second && item.second->get_mpf()->get_fileid(item_fileid) == 0 &&
  41405. -            memcmp(fileid, item_fileid, sizeof(fileid)) == 0) {
  41406. -            const char* item_filename = nullptr;
  41407. -            item.second->get_dbname(&item_filename, nullptr);
  41408. -            throw std::runtime_error(strprintf("CDB: Can't open database %s (duplicates fileid %s from %s)", filename,
  41409. -                HexStr(std::begin(item_fileid), std::end(item_fileid)),
  41410. -                item_filename ? item_filename : "(unknown database)"));
  41411. -        }
  41412. -    }
  41413. -}
  41414. -} // namespace
  41415. -
  41416.  //
  41417.  // CDB
  41418.  //
  41419. @@ -135,10 +101,8 @@ bool CDBEnv::Open(const fs::path& pathIn)
  41420.                               DB_RECOVER |
  41421.                               nEnvFlags,
  41422.                           S_IRUSR | S_IWUSR);
  41423. -    if (ret != 0) {
  41424. -        dbenv->close(0);
  41425. +    if (ret != 0)
  41426.          return error("CDBEnv::Open: Error %d opening database environment: %s\n", ret, DbEnv::strerror(ret));
  41427. -    }
  41428.  
  41429.      fDbEnvInit = true;
  41430.      fMockDb = false;
  41431. @@ -232,9 +196,9 @@ bool CDB::Recover(const std::string& filename, void *callbackDataIn, bool (*reco
  41432.                              DB_BTREE,           // Database type
  41433.                              DB_CREATE,          // Flags
  41434.                              0);
  41435. -    if (ret > 0) {
  41436. +    if (ret > 0)
  41437. +    {
  41438.          LogPrintf("Cannot create database file %s\n", filename);
  41439. -        pdbCopy->close(0);
  41440.          return false;
  41441.      }
  41442.  
  41443. @@ -413,34 +377,35 @@ CDB::CDB(CWalletDBWrapper& dbw, const char* pszMode, bool fFlushOnCloseIn) : pdb
  41444.          if (!env->Open(GetDataDir()))
  41445.              throw std::runtime_error("CDB: Failed to open database environment.");
  41446.  
  41447. -        pdb = env->mapDb[strFilename];
  41448. +        strFile = strFilename;
  41449. +        ++env->mapFileUseCount[strFile];
  41450. +        pdb = env->mapDb[strFile];
  41451.          if (pdb == nullptr) {
  41452.              int ret;
  41453. -            std::unique_ptr<Db> pdb_temp(new Db(env->dbenv, 0));
  41454. +            pdb = new Db(env->dbenv, 0);
  41455.  
  41456.              bool fMockDb = env->IsMock();
  41457.              if (fMockDb) {
  41458. -                DbMpoolFile* mpf = pdb_temp->get_mpf();
  41459. +                DbMpoolFile* mpf = pdb->get_mpf();
  41460.                  ret = mpf->set_flags(DB_MPOOL_NOFILE, 1);
  41461. -                if (ret != 0) {
  41462. -                    throw std::runtime_error(strprintf("CDB: Failed to configure for no temp file backing for database %s", strFilename));
  41463. -                }
  41464. +                if (ret != 0)
  41465. +                    throw std::runtime_error(strprintf("CDB: Failed to configure for no temp file backing for database %s", strFile));
  41466.              }
  41467.  
  41468. -            ret = pdb_temp->open(nullptr,                             // Txn pointer
  41469. -                            fMockDb ? nullptr : strFilename.c_str(),  // Filename
  41470. -                            fMockDb ? strFilename.c_str() : "main",   // Logical db name
  41471. -                            DB_BTREE,                                 // Database type
  41472. -                            nFlags,                                   // Flags
  41473. +            ret = pdb->open(nullptr,                               // Txn pointer
  41474. +                            fMockDb ? nullptr : strFile.c_str(),   // Filename
  41475. +                            fMockDb ? strFile.c_str() : "main", // Logical db name
  41476. +                            DB_BTREE,                           // Database type
  41477. +                            nFlags,                             // Flags
  41478.                              0);
  41479.  
  41480.              if (ret != 0) {
  41481. +                delete pdb;
  41482. +                pdb = nullptr;
  41483. +                --env->mapFileUseCount[strFile];
  41484. +                strFile = "";
  41485.                  throw std::runtime_error(strprintf("CDB: Error %d, can't open database %s", ret, strFilename));
  41486.              }
  41487. -            CheckUniqueFileid(*env, strFilename, *pdb_temp);
  41488. -
  41489. -            pdb = pdb_temp.release();
  41490. -            env->mapDb[strFilename] = pdb;
  41491.  
  41492.              if (fCreate && !Exists(std::string("version"))) {
  41493.                  bool fTmp = fReadOnly;
  41494. @@ -448,9 +413,9 @@ CDB::CDB(CWalletDBWrapper& dbw, const char* pszMode, bool fFlushOnCloseIn) : pdb
  41495.                  WriteVersion(CLIENT_VERSION);
  41496.                  fReadOnly = fTmp;
  41497.              }
  41498. +
  41499. +            env->mapDb[strFile] = pdb;
  41500.          }
  41501. -        ++env->mapFileUseCount[strFilename];
  41502. -        strFile = strFilename;
  41503.      }
  41504.  }
  41505.  
  41506. @@ -571,10 +536,8 @@ bool CDB::Rewrite(CWalletDBWrapper& dbw, const char* pszSkip)
  41507.                          env->CloseDb(strFile);
  41508.                          if (pdbCopy->close(0))
  41509.                              fSuccess = false;
  41510. -                    } else {
  41511. -                        pdbCopy->close(0);
  41512. +                        delete pdbCopy;
  41513.                      }
  41514. -                    delete pdbCopy;
  41515.                  }
  41516.                  if (fSuccess) {
  41517.                      Db dbA(env->dbenv, 0);
  41518. @@ -706,11 +669,6 @@ bool CWalletDBWrapper::Backup(const std::string& strDest)
  41519.                      pathDest /= strFile;
  41520.  
  41521.                  try {
  41522. -                    if (fs::equivalent(pathSrc, pathDest)) {
  41523. -                        LogPrintf("cannot backup to wallet source file %s\n", pathDest.string());
  41524. -                        return false;
  41525. -                    }
  41526. -
  41527.                      fs::copy_file(pathSrc, pathDest, fs::copy_option::overwrite_if_exists);
  41528.                      LogPrintf("copied %s to %s\n", strFile, pathDest.string());
  41529.                      return true;
  41530. diff --git a/src/wallet/db.h b/src/wallet/db.h
  41531. index 6f3cfe9..3614e34 100644
  41532. --- a/src/wallet/db.h
  41533. +++ b/src/wallet/db.h
  41534. @@ -45,7 +45,7 @@ public:
  41535.      void Reset();
  41536.  
  41537.      void MakeMock();
  41538. -    bool IsMock() const { return fMockDb; }
  41539. +    bool IsMock() { return fMockDb; }
  41540.  
  41541.      /**
  41542.       * Verify that database file strFile is OK. If it is not,
  41543. diff --git a/src/wallet/rpcdump.cpp b/src/wallet/rpcdump.cpp
  41544. index 2be8baf..c5fd9a6 100644
  41545. --- a/src/wallet/rpcdump.cpp
  41546. +++ b/src/wallet/rpcdump.cpp
  41547. @@ -79,10 +79,10 @@ UniValue importprivkey(const JSONRPCRequest& request)
  41548.  
  41549.      if (request.fHelp || request.params.size() < 1 || request.params.size() > 3)
  41550.          throw std::runtime_error(
  41551. -            "importprivkey \"privkey\" ( \"label\" ) ( rescan )\n"
  41552. +            "importprivkey \"litecoincashprivkey\" ( \"label\" ) ( rescan )\n"
  41553.              "\nAdds a private key (as returned by dumpprivkey) to your wallet.\n"
  41554.              "\nArguments:\n"
  41555. -            "1. \"privkey\"          (string, required) The private key (see dumpprivkey)\n"
  41556. +            "1. \"litecoincashprivkey\"   (string, required) The private key (see dumpprivkey)\n"
  41557.              "2. \"label\"            (string, optional, default=\"\") An optional label\n"
  41558.              "3. rescan               (boolean, optional, default=true) Rescan the wallet for transactions\n"
  41559.              "\nNote: This call can take minutes to complete if rescan is true.\n"
  41560. @@ -272,7 +272,7 @@ UniValue importaddress(const JSONRPCRequest& request)
  41561.          std::vector<unsigned char> data(ParseHex(request.params[0].get_str()));
  41562.          ImportScript(pwallet, CScript(data.begin(), data.end()), strLabel, fP2SH);
  41563.      } else {
  41564. -        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Litecoin address or script");
  41565. +        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid LitecoinCash address or script");
  41566.      }
  41567.  
  41568.      if (fRescan)
  41569. @@ -557,7 +557,7 @@ UniValue dumpprivkey(const JSONRPCRequest& request)
  41570.              "\nReveals the private key corresponding to 'address'.\n"
  41571.              "Then the importprivkey can be used with this output\n"
  41572.              "\nArguments:\n"
  41573. -            "1. \"address\"   (string, required) The litecoin address for the private key\n"
  41574. +            "1. \"address\"   (string, required) The litecoincash address for the private key\n"
  41575.              "\nResult:\n"
  41576.              "\"key\"                (string) The private key\n"
  41577.              "\nExamples:\n"
  41578. @@ -573,7 +573,7 @@ UniValue dumpprivkey(const JSONRPCRequest& request)
  41579.      std::string strAddress = request.params[0].get_str();
  41580.      CBitcoinAddress address;
  41581.      if (!address.SetString(strAddress))
  41582. -        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Litecoin address");
  41583. +        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid LitecoinCash address");
  41584.      CKeyID keyID;
  41585.      if (!address.GetKeyID(keyID))
  41586.          throw JSONRPCError(RPC_TYPE_ERROR, "Address does not refer to a key");
  41587. @@ -595,9 +595,9 @@ UniValue dumpwallet(const JSONRPCRequest& request)
  41588.      if (request.fHelp || request.params.size() != 1)
  41589.          throw std::runtime_error(
  41590.              "dumpwallet \"filename\"\n"
  41591. -            "\nDumps all wallet keys in a human-readable format to a server-side file. This does not allow overwriting existing files.\n"
  41592. +            "\nDumps all wallet keys in a human-readable format.\n"
  41593.              "\nArguments:\n"
  41594. -            "1. \"filename\"    (string, required) The filename with path (either absolute or relative to litecoind)\n"
  41595. +            "1. \"filename\"    (string, required) The filename with path (either absolute or relative to litecoincashd)\n"
  41596.              "\nResult:\n"
  41597.              "{                           (json object)\n"
  41598.              "  \"filename\" : {        (string) The filename with full absolute path\n"
  41599. @@ -611,19 +611,9 @@ UniValue dumpwallet(const JSONRPCRequest& request)
  41600.  
  41601.      EnsureWalletIsUnlocked(pwallet);
  41602.  
  41603. +    std::ofstream file;
  41604.      boost::filesystem::path filepath = request.params[0].get_str();
  41605.      filepath = boost::filesystem::absolute(filepath);
  41606. -
  41607. -    /* Prevent arbitrary files from being overwritten. There have been reports
  41608. -     * that users have overwritten wallet files this way:
  41609. -     * https://github.com/bitcoin/bitcoin/issues/9934
  41610. -     * It may also avoid other security issues.
  41611. -     */
  41612. -    if (boost::filesystem::exists(filepath)) {
  41613. -        throw JSONRPCError(RPC_INVALID_PARAMETER, filepath.string() + " already exists. If you are sure this is what you want, move it out of the way first");
  41614. -    }
  41615. -
  41616. -    std::ofstream file;
  41617.      file.open(filepath.string().c_str());
  41618.      if (!file.is_open())
  41619.          throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot open wallet dump file");
  41620. @@ -643,7 +633,7 @@ UniValue dumpwallet(const JSONRPCRequest& request)
  41621.      std::sort(vKeyBirth.begin(), vKeyBirth.end());
  41622.  
  41623.      // produce output
  41624. -    file << strprintf("# Wallet dump created by Litecoin %s\n", CLIENT_BUILD);
  41625. +    file << strprintf("# Wallet dump created by LitecoinCash %s\n", CLIENT_BUILD);
  41626.      file << strprintf("# * Created on %s\n", EncodeDumpTime(GetTime()));
  41627.      file << strprintf("# * Best block at time of backup was %i (%s),\n", chainActive.Height(), chainActive.Tip()->GetBlockHash().ToString());
  41628.      file << strprintf("#   mined on %s\n", EncodeDumpTime(chainActive.Tip()->GetBlockTime()));
  41629. @@ -960,7 +950,7 @@ UniValue ProcessImport(CWallet * const pwallet, const UniValue& data, const int6
  41630.                  pwallet->SetAddressBook(vchAddress, label, "receive");
  41631.  
  41632.                  if (pwallet->HaveKey(vchAddress)) {
  41633. -                    throw JSONRPCError(RPC_WALLET_ERROR, "The wallet already contains the private key for this address or script");
  41634. +                    return false;
  41635.                  }
  41636.  
  41637.                  pwallet->mapKeyMetadata[vchAddress].nCreateTime = timestamp;
  41638. diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp
  41639. index 0e4291a..8fd1b35 100644
  41640. --- a/src/wallet/rpcwallet.cpp
  41641. +++ b/src/wallet/rpcwallet.cpp
  41642. @@ -48,6 +48,11 @@ CWallet *GetWalletForJSONRPCRequest(const JSONRPCRequest& request)
  41643.      return ::vpwallets.size() == 1 || (request.fHelp && ::vpwallets.size() > 0) ? ::vpwallets[0] : nullptr;
  41644.  }
  41645.  
  41646. +CWallet *GetWalletForQTKeyImport()
  41647. +{
  41648. +    return ::vpwallets.size() > 0 ? ::vpwallets[0] : nullptr;
  41649. +}
  41650. +
  41651.  std::string HelpRequiringPassphrase(CWallet * const pwallet)
  41652.  {
  41653.      return pwallet && pwallet->IsCrypted()
  41654. @@ -136,13 +141,13 @@ UniValue getnewaddress(const JSONRPCRequest& request)
  41655.      if (request.fHelp || request.params.size() > 1)
  41656.          throw std::runtime_error(
  41657.              "getnewaddress ( \"account\" )\n"
  41658. -            "\nReturns a new Litecoin address for receiving payments.\n"
  41659. +            "\nReturns a new LitecoinCash address for receiving payments.\n"
  41660.              "If 'account' is specified (DEPRECATED), it is added to the address book \n"
  41661.              "so payments received with the address will be credited to 'account'.\n"
  41662.              "\nArguments:\n"
  41663.              "1. \"account\"        (string, optional) DEPRECATED. 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"
  41664.              "\nResult:\n"
  41665. -            "\"address\"    (string) The new litecoin address\n"
  41666. +            "\"address\"    (string) The new litecoincash address\n"
  41667.              "\nExamples:\n"
  41668.              + HelpExampleCli("getnewaddress", "")
  41669.              + HelpExampleRpc("getnewaddress", "")
  41670. @@ -192,11 +197,11 @@ UniValue getaccountaddress(const JSONRPCRequest& request)
  41671.      if (request.fHelp || request.params.size() != 1)
  41672.          throw std::runtime_error(
  41673.              "getaccountaddress \"account\"\n"
  41674. -            "\nDEPRECATED. Returns the current Litecoin address for receiving payments to this account.\n"
  41675. +            "\nDEPRECATED. Returns the current LitecoinCash address for receiving payments to this account.\n"
  41676.              "\nArguments:\n"
  41677.              "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"
  41678.              "\nResult:\n"
  41679. -            "\"address\"          (string) The account litecoin address\n"
  41680. +            "\"address\"          (string) The account litecoincash address\n"
  41681.              "\nExamples:\n"
  41682.              + HelpExampleCli("getaccountaddress", "")
  41683.              + HelpExampleCli("getaccountaddress", "\"\"")
  41684. @@ -226,7 +231,7 @@ UniValue getrawchangeaddress(const JSONRPCRequest& request)
  41685.      if (request.fHelp || request.params.size() > 0)
  41686.          throw std::runtime_error(
  41687.              "getrawchangeaddress\n"
  41688. -            "\nReturns a new Litecoin address, for receiving change.\n"
  41689. +            "\nReturns a new LitecoinCash address, for receiving change.\n"
  41690.              "This is for use with raw transactions, NOT normal use.\n"
  41691.              "\nResult:\n"
  41692.              "\"address\"    (string) The address\n"
  41693. @@ -266,7 +271,7 @@ UniValue setaccount(const JSONRPCRequest& request)
  41694.              "setaccount \"address\" \"account\"\n"
  41695.              "\nDEPRECATED. Sets the account associated with the given address.\n"
  41696.              "\nArguments:\n"
  41697. -            "1. \"address\"         (string, required) The litecoin address to be associated with an account.\n"
  41698. +            "1. \"address\"         (string, required) The litecoincash address to be associated with an account.\n"
  41699.              "2. \"account\"         (string, required) The account to assign the address to.\n"
  41700.              "\nExamples:\n"
  41701.              + HelpExampleCli("setaccount", "\"LEr4hNAefWYhBMgxCFP2Po1NPrUeiK8kM2\" \"tabby\"")
  41702. @@ -277,7 +282,7 @@ UniValue setaccount(const JSONRPCRequest& request)
  41703.  
  41704.      CBitcoinAddress address(request.params[0].get_str());
  41705.      if (!address.IsValid())
  41706. -        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Litecoin address");
  41707. +        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid LitecoinCash address");
  41708.  
  41709.      std::string strAccount;
  41710.      if (request.params.size() > 1)
  41711. @@ -313,7 +318,7 @@ UniValue getaccount(const JSONRPCRequest& request)
  41712.              "getaccount \"address\"\n"
  41713.              "\nDEPRECATED. Returns the account associated with the given address.\n"
  41714.              "\nArguments:\n"
  41715. -            "1. \"address\"         (string, required) The litecoin address for account lookup.\n"
  41716. +            "1. \"address\"         (string, required) The litecoincash address for account lookup.\n"
  41717.              "\nResult:\n"
  41718.              "\"accountname\"        (string) the account address\n"
  41719.              "\nExamples:\n"
  41720. @@ -325,7 +330,7 @@ UniValue getaccount(const JSONRPCRequest& request)
  41721.  
  41722.      CBitcoinAddress address(request.params[0].get_str());
  41723.      if (!address.IsValid())
  41724. -        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Litecoin address");
  41725. +        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid LitecoinCash address");
  41726.  
  41727.      std::string strAccount;
  41728.      std::map<CTxDestination, CAddressBookData>::iterator mi = pwallet->mapAddressBook.find(address.Get());
  41729. @@ -351,7 +356,7 @@ UniValue getaddressesbyaccount(const JSONRPCRequest& request)
  41730.              "1. \"account\"        (string, required) The account name.\n"
  41731.              "\nResult:\n"
  41732.              "[                     (json array of string)\n"
  41733. -            "  \"address\"         (string) a litecoin address associated with the given account\n"
  41734. +            "  \"address\"         (string) a litecoincash address associated with the given account\n"
  41735.              "  ,...\n"
  41736.              "]\n"
  41737.              "\nExamples:\n"
  41738. @@ -425,7 +430,7 @@ UniValue sendtoaddress(const JSONRPCRequest& request)
  41739.              "\nSend an amount to a given address.\n"
  41740.              + HelpRequiringPassphrase(pwallet) +
  41741.              "\nArguments:\n"
  41742. -            "1. \"address\"            (string, required) The litecoin address to send to.\n"
  41743. +            "1. \"address\"            (string, required) The litecoincash address to send to.\n"
  41744.              "2. \"amount\"             (numeric or string, required) The amount in " + CURRENCY_UNIT + " to send. eg 0.1\n"
  41745.              "3. \"comment\"            (string, optional) A comment used to store what the transaction is for. \n"
  41746.              "                             This is not part of the transaction, just kept in your wallet.\n"
  41747. @@ -433,7 +438,7 @@ UniValue sendtoaddress(const JSONRPCRequest& request)
  41748.              "                             to which you're sending the transaction. This is not part of the \n"
  41749.              "                             transaction, just kept in your wallet.\n"
  41750.              "5. subtractfeefromamount  (boolean, optional, default=false) The fee will be deducted from the amount being sent.\n"
  41751. -            "                             The recipient will receive less litecoins than you enter in the amount field.\n"
  41752. +            "                             The recipient will receive less coins than you enter in the amount field.\n"
  41753.              "6. replaceable            (boolean, optional) Allow this transaction to be replaced by a transaction with higher fees via BIP 125\n"
  41754.              "7. conf_target            (numeric, optional) Confirmation target (in blocks)\n"
  41755.              "8. \"estimate_mode\"      (string, optional, default=UNSET) The fee estimate mode, must be one of:\n"
  41756. @@ -453,7 +458,7 @@ UniValue sendtoaddress(const JSONRPCRequest& request)
  41757.  
  41758.      CBitcoinAddress address(request.params[0].get_str());
  41759.      if (!address.IsValid())
  41760. -        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Litecoin address");
  41761. +        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid LitecoinCash address");
  41762.  
  41763.      // Amount
  41764.      CAmount nAmount = AmountFromValue(request.params[1]);
  41765. @@ -512,7 +517,7 @@ UniValue listaddressgroupings(const JSONRPCRequest& request)
  41766.              "[\n"
  41767.              "  [\n"
  41768.              "    [\n"
  41769. -            "      \"address\",            (string) The litecoin address\n"
  41770. +            "      \"address\",            (string) The litecoincash address\n"
  41771.              "      amount,                 (numeric) The amount in " + CURRENCY_UNIT + "\n"
  41772.              "      \"account\"             (string, optional) DEPRECATED. The account\n"
  41773.              "    ]\n"
  41774. @@ -561,7 +566,7 @@ UniValue signmessage(const JSONRPCRequest& request)
  41775.              "\nSign a message with the private key of an address"
  41776.              + HelpRequiringPassphrase(pwallet) + "\n"
  41777.              "\nArguments:\n"
  41778. -            "1. \"address\"         (string, required) The litecoin address to use for the private key.\n"
  41779. +            "1. \"address\"         (string, required) The litecoincash address to use for the private key.\n"
  41780.              "2. \"message\"         (string, required) The message to create a signature of.\n"
  41781.              "\nResult:\n"
  41782.              "\"signature\"          (string) The signature of the message encoded in base 64\n"
  41783. @@ -619,7 +624,7 @@ UniValue getreceivedbyaddress(const JSONRPCRequest& request)
  41784.              "getreceivedbyaddress \"address\" ( minconf )\n"
  41785.              "\nReturns the total amount received by the given address in transactions with at least minconf confirmations.\n"
  41786.              "\nArguments:\n"
  41787. -            "1. \"address\"         (string, required) The litecoin address for transactions.\n"
  41788. +            "1. \"address\"         (string, required) The litecoincash address for transactions.\n"
  41789.              "2. minconf             (numeric, optional, default=1) Only include transactions confirmed at least this many times.\n"
  41790.              "\nResult:\n"
  41791.              "amount   (numeric) The total amount in " + CURRENCY_UNIT + " received at this address.\n"
  41792. @@ -639,7 +644,7 @@ UniValue getreceivedbyaddress(const JSONRPCRequest& request)
  41793.      // Bitcoin address
  41794.      CBitcoinAddress address = CBitcoinAddress(request.params[0].get_str());
  41795.      if (!address.IsValid())
  41796. -        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Litecoin address");
  41797. +        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid LitecoinCash address");
  41798.      CScript scriptPubKey = GetScriptForDestination(address.Get());
  41799.      if (!IsMine(*pwallet, scriptPubKey)) {
  41800.          return ValueFromAmount(0);
  41801. @@ -863,14 +868,14 @@ UniValue sendfrom(const JSONRPCRequest& request)
  41802.      if (request.fHelp || request.params.size() < 3 || request.params.size() > 6)
  41803.          throw std::runtime_error(
  41804.              "sendfrom \"fromaccount\" \"toaddress\" amount ( minconf \"comment\" \"comment_to\" )\n"
  41805. -            "\nDEPRECATED (use sendtoaddress). Sent an amount from an account to a litecoin address."
  41806. +            "\nDEPRECATED (use sendtoaddress). Sent an amount from an account to a litecoincash address."
  41807.              + HelpRequiringPassphrase(pwallet) + "\n"
  41808.              "\nArguments:\n"
  41809.              "1. \"fromaccount\"       (string, required) The name of the account to send funds from. May be the default account using \"\".\n"
  41810.              "                       Specifying an account does not influence coin selection, but it does associate the newly created\n"
  41811.              "                       transaction with the account, so the account's balance computation and transaction history can reflect\n"
  41812.              "                       the spend.\n"
  41813. -            "2. \"toaddress\"         (string, required) The litecoin address to send funds to.\n"
  41814. +            "2. \"toaddress\"         (string, required) The litecoincash address to send funds to.\n"
  41815.              "3. amount                (numeric or string, required) The amount in " + CURRENCY_UNIT + " (transaction fee is added on top).\n"
  41816.              "4. minconf               (numeric, optional, default=1) Only use funds with at least this many confirmations.\n"
  41817.              "5. \"comment\"           (string, optional) A comment used to store what the transaction is for. \n"
  41818. @@ -894,7 +899,7 @@ UniValue sendfrom(const JSONRPCRequest& request)
  41819.      std::string strAccount = AccountFromValue(request.params[0]);
  41820.      CBitcoinAddress address(request.params[1].get_str());
  41821.      if (!address.IsValid())
  41822. -        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Litecoin address");
  41823. +        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid LitecoinCash address");
  41824.      CAmount nAmount = AmountFromValue(request.params[2]);
  41825.      if (nAmount <= 0)
  41826.          throw JSONRPCError(RPC_TYPE_ERROR, "Invalid amount for send");
  41827. @@ -939,14 +944,14 @@ UniValue sendmany(const JSONRPCRequest& request)
  41828.              "1. \"fromaccount\"         (string, required) DEPRECATED. The account to send the funds from. Should be \"\" for the default account\n"
  41829.              "2. \"amounts\"             (string, required) A json object with addresses and amounts\n"
  41830.              "    {\n"
  41831. -            "      \"address\":amount   (numeric or string) The litecoin address is the key, the numeric amount (can be string) in " + CURRENCY_UNIT + " is the value\n"
  41832. +            "      \"address\":amount   (numeric or string) The litecoincash address is the key, the numeric amount (can be string) in " + CURRENCY_UNIT + " is the value\n"
  41833.              "      ,...\n"
  41834.              "    }\n"
  41835.              "3. minconf                 (numeric, optional, default=1) Only use the balance confirmed at least this many times.\n"
  41836.              "4. \"comment\"             (string, optional) A comment\n"
  41837.              "5. subtractfeefrom         (array, optional) A json array with addresses.\n"
  41838.              "                           The fee will be equally deducted from the amount of each selected address.\n"
  41839. -            "                           Those recipients will receive less litecoins than you enter in their corresponding amount field.\n"
  41840. +            "                           Those recipients will receive less coins than you enter in their corresponding amount field.\n"
  41841.              "                           If no addresses are specified here, the sender pays the fee.\n"
  41842.              "    [\n"
  41843.              "      \"address\"          (string) Subtract fee from this address\n"
  41844. @@ -1017,7 +1022,7 @@ UniValue sendmany(const JSONRPCRequest& request)
  41845.      {
  41846.          CBitcoinAddress address(name_);
  41847.          if (!address.IsValid())
  41848. -            throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid Litecoin address: ")+name_);
  41849. +            throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid LitecoinCash address: ")+name_);
  41850.  
  41851.          if (setAddress.count(address))
  41852.              throw JSONRPCError(RPC_INVALID_PARAMETER, std::string("Invalid parameter, duplicated address: ")+name_);
  41853. @@ -1078,20 +1083,20 @@ UniValue addmultisigaddress(const JSONRPCRequest& request)
  41854.      {
  41855.          std::string msg = "addmultisigaddress nrequired [\"key\",...] ( \"account\" )\n"
  41856.              "\nAdd a nrequired-to-sign multisignature address to the wallet.\n"
  41857. -            "Each key is a Litecoin address or hex-encoded public key.\n"
  41858. +            "Each key is a LitecoinCash address or hex-encoded public key.\n"
  41859.              "If 'account' is specified (DEPRECATED), assign address to that account.\n"
  41860.  
  41861.              "\nArguments:\n"
  41862.              "1. nrequired        (numeric, required) The number of required signatures out of the n keys or addresses.\n"
  41863. -            "2. \"keys\"         (string, required) A json array of litecoin addresses or hex-encoded public keys\n"
  41864. +            "2. \"keys\"         (string, required) A json array of litecoincash addresses or hex-encoded public keys\n"
  41865.              "     [\n"
  41866. -            "       \"address\"  (string) litecoin address or hex-encoded public key\n"
  41867. +            "       \"address\"  (string) litecoincash address or hex-encoded public key\n"
  41868.              "       ...,\n"
  41869.              "     ]\n"
  41870.              "3. \"account\"      (string, optional) DEPRECATED. An account to assign the addresses to.\n"
  41871.  
  41872.              "\nResult:\n"
  41873. -            "\"address\"         (string) A litecoin address associated with the keys.\n"
  41874. +            "\"address\"         (string) A litecoincash address associated with the keys.\n"
  41875.  
  41876.              "\nExamples:\n"
  41877.              "\nAdd a multisig address from 2 addresses\n"
  41878. @@ -1204,7 +1209,7 @@ UniValue addwitnessaddress(const JSONRPCRequest& request)
  41879.  
  41880.      CBitcoinAddress address(request.params[0].get_str());
  41881.      if (!address.IsValid())
  41882. -        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Litecoin address");
  41883. +        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid LitecoinCash address");
  41884.  
  41885.      Witnessifier w(pwallet);
  41886.      CTxDestination dest = address.Get();
  41887. @@ -1569,7 +1574,7 @@ UniValue listtransactions(const JSONRPCRequest& request)
  41888.              "  {\n"
  41889.              "    \"account\":\"accountname\",       (string) DEPRECATED. The account name associated with the transaction. \n"
  41890.              "                                                It will be \"\" for the default account.\n"
  41891. -            "    \"address\":\"address\",    (string) The litecoin address of the transaction. Not present for \n"
  41892. +            "    \"address\":\"address\",    (string) The litecoincash address of the transaction. Not present for \n"
  41893.              "                                                move transactions (category = move).\n"
  41894.              "    \"category\":\"send|receive|move\", (string) The transaction category. 'move' is a local (off blockchain)\n"
  41895.              "                                                transaction between accounts, and not associated with an address,\n"
  41896. @@ -1783,7 +1788,7 @@ UniValue listsinceblock(const JSONRPCRequest& request)
  41897.              "{\n"
  41898.              "  \"transactions\": [\n"
  41899.              "    \"account\":\"accountname\",       (string) DEPRECATED. The account name associated with the transaction. Will be \"\" for the default account.\n"
  41900. -            "    \"address\":\"address\",    (string) The litecoin address of the transaction. Not present for move transactions (category = move).\n"
  41901. +            "    \"address\":\"address\",    (string) The litecoincash address of the transaction. Not present for move transactions (category = move).\n"
  41902.              "    \"category\":\"send|receive\",     (string) The transaction category. 'send' has negative amounts, 'receive' has positive amounts.\n"
  41903.              "    \"amount\": x.xxx,          (numeric) The amount in " + CURRENCY_UNIT + ". This is negative for the 'send' category, and for the 'move' category for moves \n"
  41904.              "                                          outbound. It is positive for the 'receive' category, and for the 'move' category for inbound funds.\n"
  41905. @@ -1823,20 +1828,19 @@ UniValue listsinceblock(const JSONRPCRequest& request)
  41906.      int target_confirms = 1;
  41907.      isminefilter filter = ISMINE_SPENDABLE;
  41908.  
  41909. -    if (!request.params[0].isNull() && !request.params[0].get_str().empty()) {
  41910. +    if (!request.params[0].isNull()) {
  41911.          uint256 blockId;
  41912.  
  41913.          blockId.SetHex(request.params[0].get_str());
  41914.          BlockMap::iterator it = mapBlockIndex.find(blockId);
  41915. -        if (it == mapBlockIndex.end()) {
  41916. -            throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
  41917. -        }
  41918. -        paltindex = pindex = it->second;
  41919. -        if (chainActive[pindex->nHeight] != pindex) {
  41920. -            // the block being asked for is a part of a deactivated chain;
  41921. -            // we don't want to depend on its perceived height in the block
  41922. -            // chain, we want to instead use the last common ancestor
  41923. -            pindex = chainActive.FindFork(pindex);
  41924. +        if (it != mapBlockIndex.end()) {
  41925. +            paltindex = pindex = it->second;
  41926. +            if (chainActive[pindex->nHeight] != pindex) {
  41927. +                // the block being asked for is a part of a deactivated chain;
  41928. +                // we don't want to depend on its perceived height in the block
  41929. +                // chain, we want to instead use the last common ancestor
  41930. +                pindex = chainActive.FindFork(pindex);
  41931. +            }
  41932.          }
  41933.      }
  41934.  
  41935. @@ -1926,7 +1930,7 @@ UniValue gettransaction(const JSONRPCRequest& request)
  41936.              "  \"details\" : [\n"
  41937.              "    {\n"
  41938.              "      \"account\" : \"accountname\",      (string) DEPRECATED. The account name involved in the transaction, can be \"\" for the default account.\n"
  41939. -            "      \"address\" : \"address\",          (string) The litecoin address involved in the transaction\n"
  41940. +            "      \"address\" : \"address\",          (string) The litecoincash address involved in the transaction\n"
  41941.              "      \"category\" : \"send|receive\",    (string) The category, either 'send' or 'receive'\n"
  41942.              "      \"amount\" : x.xxx,                 (numeric) The amount in " + CURRENCY_UNIT + "\n"
  41943.              "      \"label\" : \"label\",              (string) A comment for the address/transaction, if any\n"
  41944. @@ -2110,7 +2114,7 @@ UniValue walletpassphrase(const JSONRPCRequest& request)
  41945.          throw std::runtime_error(
  41946.              "walletpassphrase \"passphrase\" timeout\n"
  41947.              "\nStores the wallet decryption key in memory for 'timeout' seconds.\n"
  41948. -            "This is needed prior to performing transactions related to private keys such as sending litecoins\n"
  41949. +            "This is needed prior to performing transactions related to private keys such as sending coins\n"
  41950.              "\nArguments:\n"
  41951.              "1. \"passphrase\"     (string, required) The wallet passphrase\n"
  41952.              "2. timeout            (numeric, required) The time to keep the decryption key in seconds.\n"
  41953. @@ -2275,7 +2279,7 @@ UniValue encryptwallet(const JSONRPCRequest& request)
  41954.              "\nExamples:\n"
  41955.              "\nEncrypt your wallet\n"
  41956.              + HelpExampleCli("encryptwallet", "\"my pass phrase\"") +
  41957. -            "\nNow set the passphrase to use the wallet, such as for signing or sending litecoin\n"
  41958. +            "\nNow set the passphrase to use the wallet, such as for signing or sending litecoincash\n"
  41959.              + HelpExampleCli("walletpassphrase", "\"my pass phrase\"") +
  41960.              "\nNow we can do something like sign\n"
  41961.              + HelpExampleCli("signmessage", "\"address\" \"test message\"") +
  41962. @@ -2313,7 +2317,7 @@ UniValue encryptwallet(const JSONRPCRequest& request)
  41963.      // slack space in .dat files; that is bad if the old data is
  41964.      // unencrypted private keys. So:
  41965.      StartShutdown();
  41966. -    return "wallet encrypted; Litecoin server stopping, restart to run with encrypted wallet. The keypool has been flushed and a new HD seed was generated (if you are using HD). You need to make a new backup.";
  41967. +    return "wallet encrypted; LitecoinCash server stopping, restart to run with encrypted wallet. The keypool has been flushed and a new HD seed was generated (if you are using HD). You need to make a new backup.";
  41968.  }
  41969.  
  41970.  UniValue lockunspent(const JSONRPCRequest& request)
  41971. @@ -2329,7 +2333,7 @@ UniValue lockunspent(const JSONRPCRequest& request)
  41972.              "\nUpdates list of temporarily unspendable outputs.\n"
  41973.              "Temporarily lock (unlock=false) or unlock (unlock=true) specified transaction outputs.\n"
  41974.              "If no transaction outputs are specified when unlocking then all current locked transaction outputs are unlocked.\n"
  41975. -            "A locked transaction output will not be chosen by automatic coin selection, when spending litecoins.\n"
  41976. +            "A locked transaction output will not be chosen by automatic coin selection, when spending coins.\n"
  41977.              "Locks are stored in memory only. Nodes start with zero locked outputs, and the locked output list\n"
  41978.              "is always cleared (by virtue of process exit) when a node stops or fails.\n"
  41979.              "Also see the listunspent call\n"
  41980. @@ -2628,9 +2632,9 @@ UniValue listunspent(const JSONRPCRequest& request)
  41981.              "\nArguments:\n"
  41982.              "1. minconf          (numeric, optional, default=1) The minimum confirmations to filter\n"
  41983.              "2. maxconf          (numeric, optional, default=9999999) The maximum confirmations to filter\n"
  41984. -            "3. \"addresses\"      (string) A json array of litecoin addresses to filter\n"
  41985. +            "3. \"addresses\"      (string) A json array of litecoincash addresses to filter\n"
  41986.              "    [\n"
  41987. -            "      \"address\"     (string) litecoin address\n"
  41988. +            "      \"address\"     (string) litecoincash address\n"
  41989.              "      ,...\n"
  41990.              "    ]\n"
  41991.              "4. include_unsafe (bool, optional, default=true) Include outputs that are not safe to spend\n"
  41992. @@ -2647,7 +2651,7 @@ UniValue listunspent(const JSONRPCRequest& request)
  41993.              "  {\n"
  41994.              "    \"txid\" : \"txid\",          (string) the transaction id \n"
  41995.              "    \"vout\" : n,               (numeric) the vout value\n"
  41996. -            "    \"address\" : \"address\",    (string) the litecoin address\n"
  41997. +            "    \"address\" : \"address\",    (string) the litecoincash address\n"
  41998.              "    \"account\" : \"account\",    (string) DEPRECATED. The associated account, or \"\" for the default account\n"
  41999.              "    \"scriptPubKey\" : \"key\",   (string) the script key\n"
  42000.              "    \"amount\" : x.xxx,         (numeric) the transaction output amount in " + CURRENCY_UNIT + "\n"
  42001. @@ -2690,7 +2694,7 @@ UniValue listunspent(const JSONRPCRequest& request)
  42002.              const UniValue& input = inputs[idx];
  42003.              CBitcoinAddress address(input.get_str());
  42004.              if (!address.IsValid())
  42005. -                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid Litecoin address: ")+input.get_str());
  42006. +                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid LitecoinCash address: ")+input.get_str());
  42007.              if (setAddress.count(address))
  42008.                  throw JSONRPCError(RPC_INVALID_PARAMETER, std::string("Invalid parameter, duplicated address: ")+input.get_str());
  42009.             setAddress.insert(address);
  42010. @@ -2794,7 +2798,7 @@ UniValue fundrawtransaction(const JSONRPCRequest& request)
  42011.                              "1. \"hexstring\"           (string, required) The hex string of the raw transaction\n"
  42012.                              "2. options                 (object, optional)\n"
  42013.                              "   {\n"
  42014. -                            "     \"changeAddress\"          (string, optional, default pool address) The litecoin address to receive the change\n"
  42015. +                            "     \"changeAddress\"          (string, optional, default pool address) The litecoincash address to receive the change\n"
  42016.                              "     \"changePosition\"         (numeric, optional, default random) The index of the change output\n"
  42017.                              "     \"includeWatching\"        (boolean, optional, default false) Also select inputs which are watch only\n"
  42018.                              "     \"lockUnspents\"           (boolean, optional, default false) Lock selected unspent outputs\n"
  42019. @@ -2802,7 +2806,7 @@ UniValue fundrawtransaction(const JSONRPCRequest& request)
  42020.                              "     \"subtractFeeFromOutputs\" (array, optional) A json array of integers.\n"
  42021.                              "                              The fee will be equally deducted from the amount of each specified output.\n"
  42022.                              "                              The outputs are specified by their zero-based index, before any change output is added.\n"
  42023. -                            "                              Those recipients will receive less litecoins than you enter in their corresponding amount field.\n"
  42024. +                            "                              Those recipients will receive less coins than you enter in their corresponding amount field.\n"
  42025.                              "                              If no outputs are specified here, the sender pays the fee.\n"
  42026.                              "                                  [vout_index,...]\n"
  42027.                              "     \"replaceable\"            (boolean, optional) Marks this transaction as BIP125 replaceable.\n"
  42028. @@ -2868,7 +2872,7 @@ UniValue fundrawtransaction(const JSONRPCRequest& request)
  42029.              CBitcoinAddress address(options["changeAddress"].get_str());
  42030.  
  42031.              if (!address.IsValid())
  42032. -                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "changeAddress must be a valid litecoin address");
  42033. +                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "changeAddress must be a valid litecoincash address");
  42034.  
  42035.              coinControl.destChange = address.Get();
  42036.          }
  42037. diff --git a/src/wallet/rpcwallet.h b/src/wallet/rpcwallet.h
  42038. index db0808b..249a123 100644
  42039. --- a/src/wallet/rpcwallet.h
  42040. +++ b/src/wallet/rpcwallet.h
  42041. @@ -18,6 +18,8 @@ void RegisterWalletRPCCommands(CRPCTable &t);
  42042.   */
  42043.  CWallet *GetWalletForJSONRPCRequest(const JSONRPCRequest& request);
  42044.  
  42045. +CWallet *GetWalletForQTKeyImport();
  42046. +
  42047.  std::string HelpRequiringPassphrase(CWallet *);
  42048.  void EnsureWalletIsUnlocked(CWallet *);
  42049.  bool EnsureWalletIsAvailable(CWallet *, bool avoidException);
  42050. diff --git a/src/wallet/test/wallet_tests.cpp b/src/wallet/test/wallet_tests.cpp
  42051. index 5ebacd5..be07daa 100644
  42052. --- a/src/wallet/test/wallet_tests.cpp
  42053. +++ b/src/wallet/test/wallet_tests.cpp
  42054. @@ -364,12 +364,6 @@ BOOST_AUTO_TEST_CASE(ApproximateBestSubset)
  42055.      empty_wallet();
  42056.  }
  42057.  
  42058. -static void AddKey(CWallet& wallet, const CKey& key)
  42059. -{
  42060. -    LOCK(wallet.cs_wallet);
  42061. -    wallet.AddKeyPubKey(key, key.GetPubKey());
  42062. -}
  42063. -
  42064.  BOOST_FIXTURE_TEST_CASE(rescan, TestChain100Setup)
  42065.  {
  42066.      LOCK(cs_main);
  42067. @@ -385,9 +379,10 @@ BOOST_FIXTURE_TEST_CASE(rescan, TestChain100Setup)
  42068.      // and new block files.
  42069.      {
  42070.          CWallet wallet;
  42071. -        AddKey(wallet, coinbaseKey);
  42072. +        LOCK(wallet.cs_wallet);
  42073. +        wallet.AddKeyPubKey(coinbaseKey, coinbaseKey.GetPubKey());
  42074.          BOOST_CHECK_EQUAL(nullBlock, wallet.ScanForWalletTransactions(oldTip));
  42075. -        BOOST_CHECK_EQUAL(wallet.GetImmatureBalance(), 100 * COIN);
  42076. +        BOOST_CHECK_EQUAL(wallet.GetImmatureBalance(), 1000 * COIN);   // LitecoinCash: Coinscale
  42077.      }
  42078.  
  42079.      // Prune the older block file.
  42080. @@ -398,9 +393,10 @@ BOOST_FIXTURE_TEST_CASE(rescan, TestChain100Setup)
  42081.      // file.
  42082.      {
  42083.          CWallet wallet;
  42084. -        AddKey(wallet, coinbaseKey);
  42085. +        LOCK(wallet.cs_wallet);
  42086. +        wallet.AddKeyPubKey(coinbaseKey, coinbaseKey.GetPubKey());
  42087.          BOOST_CHECK_EQUAL(oldTip, wallet.ScanForWalletTransactions(oldTip));
  42088. -        BOOST_CHECK_EQUAL(wallet.GetImmatureBalance(), 50 * COIN);
  42089. +        BOOST_CHECK_EQUAL(wallet.GetImmatureBalance(), 500 * COIN);    // LitecoinCash: Coinscale
  42090.      }
  42091.  
  42092.      // Verify importmulti RPC returns failure for a key whose creation time is
  42093. @@ -524,7 +520,7 @@ BOOST_FIXTURE_TEST_CASE(coin_mark_dirty_immature_credit, TestChain100Setup)
  42094.      // credit amount is calculated.
  42095.      wtx.MarkDirty();
  42096.      wallet.AddKeyPubKey(coinbaseKey, coinbaseKey.GetPubKey());
  42097. -    BOOST_CHECK_EQUAL(wtx.GetImmatureCredit(), 50*COIN);
  42098. +    BOOST_CHECK_EQUAL(wtx.GetImmatureCredit(), 500*COIN);  // LitecoinCash: Coinscale
  42099.  }
  42100.  
  42101.  static int64_t AddTx(CWallet& wallet, uint32_t lockTime, int64_t mockTime, int64_t blockTime)
  42102. @@ -603,7 +599,8 @@ public:
  42103.          wallet.reset(new CWallet(std::unique_ptr<CWalletDBWrapper>(new CWalletDBWrapper(&bitdb, "wallet_test.dat"))));
  42104.          bool firstRun;
  42105.          wallet->LoadWallet(firstRun);
  42106. -        AddKey(*wallet, coinbaseKey);
  42107. +        LOCK(wallet->cs_wallet);
  42108. +        wallet->AddKeyPubKey(coinbaseKey, coinbaseKey.GetPubKey());
  42109.          wallet->ScanForWalletTransactions(chainActive.Genesis());
  42110.      }
  42111.  
  42112. @@ -638,7 +635,7 @@ public:
  42113.  BOOST_FIXTURE_TEST_CASE(ListCoins, ListCoinsTestingSetup)
  42114.  {
  42115.      std::string coinbaseAddress = coinbaseKey.GetPubKey().GetID().ToString();
  42116. -    LOCK2(cs_main, wallet->cs_wallet);
  42117. +    LOCK(wallet->cs_wallet);
  42118.  
  42119.      // Confirm ListCoins initially returns 1 coin grouped under coinbaseKey
  42120.      // address.
  42121. @@ -648,7 +645,7 @@ BOOST_FIXTURE_TEST_CASE(ListCoins, ListCoinsTestingSetup)
  42122.      BOOST_CHECK_EQUAL(list.begin()->second.size(), 1);
  42123.  
  42124.      // Check initial balance from one mature coinbase transaction.
  42125. -    BOOST_CHECK_EQUAL(50 * COIN, wallet->GetAvailableBalance());
  42126. +    BOOST_CHECK_EQUAL(500 * COIN, wallet->GetAvailableBalance());  // LitecoinCash: Coinscale
  42127.  
  42128.      // Add a transaction creating a change address, and confirm ListCoins still
  42129.      // returns the coin associated with the change address underneath the
  42130. diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp
  42131. index 5e833eb..9bb545d 100644
  42132. --- a/src/wallet/wallet.cpp
  42133. +++ b/src/wallet/wallet.cpp
  42134. @@ -969,15 +969,6 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn, bool fFlushOnClose)
  42135.              wtx.fFromMe = wtxIn.fFromMe;
  42136.              fUpdated = true;
  42137.          }
  42138. -        // If we have a witness-stripped version of this transaction, and we
  42139. -        // see a new version with a witness, then we must be upgrading a pre-segwit
  42140. -        // wallet.  Store the new version of the transaction with the witness,
  42141. -        // as the stripped-version must be invalid.
  42142. -        // TODO: Store all versions of the transaction, instead of just one.
  42143. -        if (wtxIn.tx->HasWitness() && !wtx.tx->HasWitness()) {
  42144. -            wtx.SetTx(wtxIn.tx);
  42145. -            fUpdated = true;
  42146. -        }
  42147.      }
  42148.  
  42149.      //// debug print
  42150. @@ -2546,7 +2537,7 @@ bool CWallet::SignTransaction(CMutableTransaction &tx)
  42151.          const CScript& scriptPubKey = mi->second.tx->vout[input.prevout.n].scriptPubKey;
  42152.          const CAmount& amount = mi->second.tx->vout[input.prevout.n].nValue;
  42153.          SignatureData sigdata;
  42154. -        if (!ProduceSignature(TransactionSignatureCreator(this, &txNewConst, nIn, amount, SIGHASH_ALL), scriptPubKey, sigdata)) {
  42155. +        if (!ProduceSignature(TransactionSignatureCreator(this, &txNewConst, nIn, amount, SIGHASH_ALL | SIGHASH_FORKID), scriptPubKey, sigdata)) { // LitecoinCash: Replay attack protection
  42156.              return false;
  42157.          }
  42158.          UpdateTransaction(tx, nIn, sigdata);
  42159. @@ -2926,7 +2917,8 @@ bool CWallet::CreateTransaction(const std::vector<CRecipient>& vecSend, CWalletT
  42160.                  const CScript& scriptPubKey = coin.txout.scriptPubKey;
  42161.                  SignatureData sigdata;
  42162.  
  42163. -                if (!ProduceSignature(TransactionSignatureCreator(this, &txNewConst, nIn, coin.txout.nValue, SIGHASH_ALL), scriptPubKey, sigdata))
  42164. +                // LitecoinCash: Include fork ID in the signature
  42165. +                if (!ProduceSignature(TransactionSignatureCreator(this, &txNewConst, nIn, coin.txout.nValue, SIGHASH_ALL | SIGHASH_FORKID), scriptPubKey, sigdata))
  42166.                  {
  42167.                      strFailReason = _("Signing transaction failed");
  42168.                      return false;
  42169. @@ -3110,14 +3102,13 @@ CAmount CWallet::GetMinimumFee(unsigned int nTxBytes, const CCoinControl& coin_c
  42170.  
  42171.  DBErrors CWallet::LoadWallet(bool& fFirstRunRet)
  42172.  {
  42173. -    LOCK2(cs_main, cs_wallet);
  42174. -
  42175.      fFirstRunRet = false;
  42176.      DBErrors nLoadWalletRet = CWalletDB(*dbw,"cr+").LoadWallet(this);
  42177.      if (nLoadWalletRet == DB_NEED_REWRITE)
  42178.      {
  42179.          if (dbw->Rewrite("\x04pool"))
  42180.          {
  42181. +            LOCK(cs_wallet);
  42182.              setInternalKeyPool.clear();
  42183.              setExternalKeyPool.clear();
  42184.              m_pool_key_to_index.clear();
  42185. diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h
  42186. index 34472b4..271ea0e 100644
  42187. --- a/src/wallet/wallet.h
  42188. +++ b/src/wallet/wallet.h
  42189. @@ -43,14 +43,16 @@ extern bool fWalletRbf;
  42190.  static const unsigned int DEFAULT_KEYPOOL_SIZE = 1000;
  42191.  //! -paytxfee default
  42192.  static const CAmount DEFAULT_TRANSACTION_FEE = 0;
  42193. +// LitecoinCash: 10X cheaper fees. Note these constants much also account for the 10X coinscale.
  42194.  //! -fallbackfee default
  42195. -static const CAmount DEFAULT_FALLBACK_FEE = 2000000;
  42196. +static const CAmount DEFAULT_FALLBACK_FEE = 2000000 / COIN_SCALE / 10;
  42197.  //! -m_discard_rate default
  42198. -static const CAmount DEFAULT_DISCARD_FEE = 10000;
  42199. +static const CAmount DEFAULT_DISCARD_FEE = 10000 / COIN_SCALE / 10;
  42200.  //! -mintxfee default
  42201. -static const CAmount DEFAULT_TRANSACTION_MINFEE = 100000;
  42202. +static const CAmount DEFAULT_TRANSACTION_MINFEE = 100000 / COIN_SCALE / 10;
  42203.  //! minimum recommended increment for BIP 125 replacement txs
  42204. -static const CAmount WALLET_INCREMENTAL_RELAY_FEE = 5000;
  42205. +static const CAmount WALLET_INCREMENTAL_RELAY_FEE = 5000 / COIN_SCALE / 10;
  42206. +
  42207.  //! target minimum change amount
  42208.  static const CAmount MIN_CHANGE = CENT;
  42209.  //! final minimum change amount after paying for fees
  42210. @@ -262,7 +264,7 @@ public:
  42211.      bool IsCoinBase() const { return tx->IsCoinBase(); }
  42212.  };
  42213.  
  42214. -/**
  42215. +/**
  42216.   * A transaction with a bunch of additional info that only the owner cares about.
  42217.   * It includes any unrecorded transactions needed to link it back to the block chain.
  42218.   */
  42219. @@ -647,7 +649,7 @@ private:
  42220.  };
  42221.  
  42222.  
  42223. -/**
  42224. +/**
  42225.   * A CWallet is an extension of a keystore, which also maintains a set of transactions and balances,
  42226.   * and provides the ability to create new transactions.
  42227.   */
  42228. @@ -904,7 +906,7 @@ public:
  42229.      void GetKeyBirthTimes(std::map<CTxDestination, int64_t> &mapKeyBirth) const;
  42230.      unsigned int ComputeTimeSmart(const CWalletTx& wtx) const;
  42231.  
  42232. -    /**
  42233. +    /**
  42234.       * Increment the next transaction order id
  42235.       * @return next transaction order id
  42236.       */
  42237. @@ -1031,7 +1033,7 @@ public:
  42238.      }
  42239.  
  42240.      void GetScriptForMining(std::shared_ptr<CReserveScript> &script);
  42241. -    
  42242. +
  42243.      unsigned int GetKeyPoolSize()
  42244.      {
  42245.          AssertLockHeld(cs_wallet); // set{Ex,In}ternalKeyPool
  42246. @@ -1062,8 +1064,8 @@ public:
  42247.      //  This function will perform salvage on the wallet if requested, as long as only one wallet is
  42248.      //  being loaded (CWallet::ParameterInteraction forbids -salvagewallet, -zapwallettxes or -upgradewallet with multiwallet).
  42249.      static bool Verify();
  42250. -    
  42251. -    /**
  42252. +
  42253. +    /**
  42254.       * Address book entry changed.
  42255.       * @note called with lock cs_wallet held.
  42256.       */
  42257. @@ -1072,7 +1074,7 @@ public:
  42258.              const std::string &purpose,
  42259.              ChangeType status)> NotifyAddressBookChanged;
  42260.  
  42261. -    /**
  42262. +    /**
  42263.       * Wallet transaction added, removed or updated.
  42264.       * @note called with lock cs_wallet held.
  42265.       */
  42266. @@ -1126,7 +1128,7 @@ public:
  42267.  
  42268.      /* Generates a new HD master key (will not be activated) */
  42269.      CPubKey GenerateNewHDMasterKey();
  42270. -    
  42271. +
  42272.      /* Set the current HD master key (will reset the chain child index counters)
  42273.         Sets the master key's version based on the current wallet version (so the
  42274.         caller must ensure the current wallet version is correct before calling
  42275. @@ -1166,7 +1168,7 @@ public:
  42276.  };
  42277.  
  42278.  
  42279. -/**
  42280. +/**
  42281.   * Account information.
  42282.   * Stored in wallet with key "acc"+string account name.
  42283.   */
  42284. diff --git a/test/functional/README.md b/test/functional/README.md
  42285. index 2558bd0..44efda3 100644
  42286. --- a/test/functional/README.md
  42287. +++ b/test/functional/README.md
  42288. @@ -24,8 +24,8 @@ don't have test cases for.
  42289.  - Use a module-level docstring to describe what the test is testing, and how it
  42290.    is testing it.
  42291.  - When subclassing the BitcoinTestFramwork, place overrides for the
  42292. -  `set_test_params()`, `add_options()` and `setup_xxxx()` methods at the top of
  42293. -  the subclass, then locally-defined helper methods, then the `run_test()` method.
  42294. +  `__init__()`, and `setup_xxxx()` methods at the top of the subclass, then
  42295. +  locally-defined helper methods, then the `run_test()` method.
  42296.  
  42297.  #### General test-writing advice
  42298.  
  42299. @@ -36,7 +36,7 @@ don't have test cases for.
  42300.  - Avoid stop-starting the nodes multiple times during the test if possible. A
  42301.    stop-start takes several seconds, so doing it several times blows up the
  42302.    runtime of the test.
  42303. -- Set the `self.setup_clean_chain` variable in `set_test_params()` to control whether
  42304. +- Set the `self.setup_clean_chain` variable in `__init__()` to control whether
  42305.    or not to use the cached data directories. The cached data directories
  42306.    contain a 200-block pre-mined blockchain and wallets for four nodes. Each node
  42307.    has 25 mature blocks (25x50=1250 BTC) in its wallet.
  42308. diff --git a/test/functional/abandonconflict.py b/test/functional/abandonconflict.py
  42309. old mode 100755
  42310. new mode 100644
  42311. index b8940ec..52ed773
  42312. --- a/test/functional/abandonconflict.py
  42313. +++ b/test/functional/abandonconflict.py
  42314. @@ -14,8 +14,10 @@ from test_framework.test_framework import BitcoinTestFramework
  42315.  from test_framework.util import *
  42316.  
  42317.  class AbandonConflictTest(BitcoinTestFramework):
  42318. -    def set_test_params(self):
  42319. +    def __init__(self):
  42320. +        super().__init__()
  42321.          self.num_nodes = 2
  42322. +        self.setup_clean_chain = False
  42323.          self.extra_args = [["-minrelaytxfee=0.00001"], []]
  42324.  
  42325.      def run_test(self):
  42326. @@ -72,7 +74,7 @@ class AbandonConflictTest(BitcoinTestFramework):
  42327.          # Restart the node with a higher min relay fee so the parent tx is no longer in mempool
  42328.          # TODO: redo with eviction
  42329.          self.stop_node(0)
  42330. -        self.start_node(0, extra_args=["-minrelaytxfee=0.01"])
  42331. +        self.nodes[0] = self.start_node(0, self.options.tmpdir, ["-minrelaytxfee=0.01"])
  42332.  
  42333.          # Verify txs no longer in either node's mempool
  42334.          assert_equal(len(self.nodes[0].getrawmempool()), 0)
  42335. @@ -99,7 +101,7 @@ class AbandonConflictTest(BitcoinTestFramework):
  42336.  
  42337.          # Verify that even with a low min relay fee, the tx is not reaccepted from wallet on startup once abandoned
  42338.          self.stop_node(0)
  42339. -        self.start_node(0, extra_args=["-minrelaytxfee=0.001"])
  42340. +        self.nodes[0] = self.start_node(0, self.options.tmpdir, ["-minrelaytxfee=0.001"])
  42341.          assert_equal(len(self.nodes[0].getrawmempool()), 0)
  42342.          assert_equal(self.nodes[0].getbalance(), balance)
  42343.  
  42344. @@ -119,7 +121,7 @@ class AbandonConflictTest(BitcoinTestFramework):
  42345.  
  42346.          # Remove using high relay fee again
  42347.          self.stop_node(0)
  42348. -        self.start_node(0, extra_args=["-minrelaytxfee=0.01"])
  42349. +        self.nodes[0] = self.start_node(0, self.options.tmpdir, ["-minrelaytxfee=0.01"])
  42350.          assert_equal(len(self.nodes[0].getrawmempool()), 0)
  42351.          newbalance = self.nodes[0].getbalance()
  42352.          assert_equal(newbalance, balance - Decimal("24.96"))
  42353. diff --git a/test/functional/assumevalid.py b/test/functional/assumevalid.py
  42354. old mode 100755
  42355. new mode 100644
  42356. index 65685c4..9d17faa
  42357. --- a/test/functional/assumevalid.py
  42358. +++ b/test/functional/assumevalid.py
  42359. @@ -54,22 +54,20 @@ class BaseNode(NodeConnCB):
  42360.          self.send_message(headers_message)
  42361.  
  42362.  class AssumeValidTest(BitcoinTestFramework):
  42363. -    def set_test_params(self):
  42364. +    def __init__(self):
  42365. +        super().__init__()
  42366.          self.setup_clean_chain = True
  42367.          self.num_nodes = 3
  42368.  
  42369.      def setup_network(self):
  42370. -        self.add_nodes(3)
  42371.          # Start node0. We don't start the other nodes yet since
  42372.          # we need to pre-mine a block with an invalid transaction
  42373.          # signature so we can pass in the block hash as assumevalid.
  42374. -        self.start_node(0)
  42375. +        self.nodes = [self.start_node(0, self.options.tmpdir)]
  42376.  
  42377.      def send_blocks_until_disconnected(self, node):
  42378.          """Keep sending blocks to the node until we're disconnected."""
  42379.          for i in range(len(self.blocks)):
  42380. -            if not node.connection:
  42381. -                break
  42382.              try:
  42383.                  node.send_message(msg_block(self.blocks[i]))
  42384.              except IOError as e:
  42385. @@ -164,13 +162,15 @@ class AssumeValidTest(BitcoinTestFramework):
  42386.              height += 1
  42387.  
  42388.          # Start node1 and node2 with assumevalid so they accept a block with a bad signature.
  42389. -        self.start_node(1, extra_args=["-assumevalid=" + hex(block102.sha256)])
  42390. +        self.nodes.append(self.start_node(1, self.options.tmpdir,
  42391. +                                     ["-assumevalid=" + hex(block102.sha256)]))
  42392.          node1 = BaseNode()  # connects to node1
  42393.          connections.append(NodeConn('127.0.0.1', p2p_port(1), self.nodes[1], node1))
  42394.          node1.add_connection(connections[1])
  42395.          node1.wait_for_verack()
  42396.  
  42397. -        self.start_node(2, extra_args=["-assumevalid=" + hex(block102.sha256)])
  42398. +        self.nodes.append(self.start_node(2, self.options.tmpdir,
  42399. +                                     ["-assumevalid=" + hex(block102.sha256)]))
  42400.          node2 = BaseNode()  # connects to node2
  42401.          connections.append(NodeConn('127.0.0.1', p2p_port(2), self.nodes[2], node2))
  42402.          node2.add_connection(connections[2])
  42403. diff --git a/test/functional/bip65-cltv-p2p.py b/test/functional/bip65-cltv-p2p.py
  42404. old mode 100755
  42405. new mode 100644
  42406. index 6b7f792..fb3e43f
  42407. --- a/test/functional/bip65-cltv-p2p.py
  42408. +++ b/test/functional/bip65-cltv-p2p.py
  42409. @@ -61,7 +61,9 @@ def create_transaction(node, coinbase, to_address, amount):
  42410.      return tx
  42411.  
  42412.  class BIP65Test(BitcoinTestFramework):
  42413. -    def set_test_params(self):
  42414. +
  42415. +    def __init__(self):
  42416. +        super().__init__()
  42417.          self.num_nodes = 1
  42418.          self.extra_args = [['-promiscuousmempoolflags=1', '-whitelist=127.0.0.1']]
  42419.          self.setup_clean_chain = True
  42420. @@ -108,7 +110,7 @@ class BIP65Test(BitcoinTestFramework):
  42421.          node0.send_and_ping(msg_block(block))
  42422.          assert_equal(int(self.nodes[0].getbestblockhash(), 16), tip)
  42423.  
  42424. -        wait_until(lambda: "reject" in node0.last_message.keys(), lock=mininode_lock)
  42425. +        assert wait_until(lambda: "reject" in node0.last_message.keys())
  42426.          with mininode_lock:
  42427.              assert_equal(node0.last_message["reject"].code, REJECT_OBSOLETE)
  42428.              assert_equal(node0.last_message["reject"].reason, b'bad-version(0x00000003)')
  42429. @@ -137,7 +139,7 @@ class BIP65Test(BitcoinTestFramework):
  42430.          node0.send_and_ping(msg_block(block))
  42431.          assert_equal(int(self.nodes[0].getbestblockhash(), 16), tip)
  42432.  
  42433. -        wait_until(lambda: "reject" in node0.last_message.keys(), lock=mininode_lock)
  42434. +        assert wait_until (lambda: "reject" in node0.last_message.keys())
  42435.          with mininode_lock:
  42436.              assert node0.last_message["reject"].code in [REJECT_INVALID, REJECT_NONSTANDARD]
  42437.              assert_equal(node0.last_message["reject"].data, block.sha256)
  42438. diff --git a/test/functional/bip68-112-113-p2p.py b/test/functional/bip68-112-113-p2p.py
  42439. old mode 100755
  42440. new mode 100644
  42441. index 7e6a4f4..5a322e8
  42442. --- a/test/functional/bip68-112-113-p2p.py
  42443. +++ b/test/functional/bip68-112-113-p2p.py
  42444. @@ -92,9 +92,9 @@ def all_rlt_txs(txarray):
  42445.      return txs
  42446.  
  42447.  class BIP68_112_113Test(ComparisonTestFramework):
  42448. -    def set_test_params(self):
  42449. +    def __init__(self):
  42450. +        super().__init__()
  42451.          self.num_nodes = 1
  42452. -        self.setup_clean_chain = True
  42453.          self.extra_args = [['-whitelist=127.0.0.1', '-blockversion=4']]
  42454.  
  42455.      def run_test(self):
  42456. diff --git a/test/functional/bip68-sequence.py b/test/functional/bip68-sequence.py
  42457. old mode 100755
  42458. new mode 100644
  42459. index b3b5adf..87a5069
  42460. --- a/test/functional/bip68-sequence.py
  42461. +++ b/test/functional/bip68-sequence.py
  42462. @@ -17,8 +17,10 @@ SEQUENCE_LOCKTIME_MASK = 0x0000ffff
  42463.  NOT_FINAL_ERROR = "64: non-BIP68-final"
  42464.  
  42465.  class BIP68Test(BitcoinTestFramework):
  42466. -    def set_test_params(self):
  42467. +    def __init__(self):
  42468. +        super().__init__()
  42469.          self.num_nodes = 2
  42470. +        self.setup_clean_chain = False
  42471.          self.extra_args = [[], ["-acceptnonstdtxn=0"]]
  42472.  
  42473.      def run_test(self):
  42474. @@ -83,7 +85,7 @@ class BIP68Test(BitcoinTestFramework):
  42475.          tx2.vout = [CTxOut(int(value-self.relayfee*COIN), CScript([b'a']))]
  42476.          tx2.rehash()
  42477.  
  42478. -        assert_raises_rpc_error(-26, NOT_FINAL_ERROR, self.nodes[0].sendrawtransaction, ToHex(tx2))
  42479. +        assert_raises_jsonrpc(-26, NOT_FINAL_ERROR, self.nodes[0].sendrawtransaction, ToHex(tx2))
  42480.  
  42481.          # Setting the version back down to 1 should disable the sequence lock,
  42482.          # so this should be accepted.
  42483. @@ -180,7 +182,7 @@ class BIP68Test(BitcoinTestFramework):
  42484.  
  42485.              if (using_sequence_locks and not should_pass):
  42486.                  # This transaction should be rejected
  42487. -                assert_raises_rpc_error(-26, NOT_FINAL_ERROR, self.nodes[0].sendrawtransaction, rawtx)
  42488. +                assert_raises_jsonrpc(-26, NOT_FINAL_ERROR, self.nodes[0].sendrawtransaction, rawtx)
  42489.              else:
  42490.                  # This raw transaction should be accepted
  42491.                  self.nodes[0].sendrawtransaction(rawtx)
  42492. @@ -227,7 +229,7 @@ class BIP68Test(BitcoinTestFramework):
  42493.  
  42494.              if (orig_tx.hash in node.getrawmempool()):
  42495.                  # sendrawtransaction should fail if the tx is in the mempool
  42496. -                assert_raises_rpc_error(-26, NOT_FINAL_ERROR, node.sendrawtransaction, ToHex(tx))
  42497. +                assert_raises_jsonrpc(-26, NOT_FINAL_ERROR, node.sendrawtransaction, ToHex(tx))
  42498.              else:
  42499.                  # sendrawtransaction should succeed if the tx is not in the mempool
  42500.                  node.sendrawtransaction(ToHex(tx))
  42501. @@ -280,7 +282,7 @@ class BIP68Test(BitcoinTestFramework):
  42502.          tx5.vout[0].nValue += int(utxos[0]["amount"]*COIN)
  42503.          raw_tx5 = self.nodes[0].signrawtransaction(ToHex(tx5))["hex"]
  42504.  
  42505. -        assert_raises_rpc_error(-26, NOT_FINAL_ERROR, self.nodes[0].sendrawtransaction, raw_tx5)
  42506. +        assert_raises_jsonrpc(-26, NOT_FINAL_ERROR, self.nodes[0].sendrawtransaction, raw_tx5)
  42507.  
  42508.          # Test mempool-BIP68 consistency after reorg
  42509.          #
  42510. @@ -353,7 +355,7 @@ class BIP68Test(BitcoinTestFramework):
  42511.          tx3.vout = [CTxOut(int(tx2.vout[0].nValue - self.relayfee*COIN), CScript([b'a']))]
  42512.          tx3.rehash()
  42513.  
  42514. -        assert_raises_rpc_error(-26, NOT_FINAL_ERROR, self.nodes[0].sendrawtransaction, ToHex(tx3))
  42515. +        assert_raises_jsonrpc(-26, NOT_FINAL_ERROR, self.nodes[0].sendrawtransaction, ToHex(tx3))
  42516.  
  42517.          # make a block that violates bip68; ensure that the tip updates
  42518.          tip = int(self.nodes[0].getbestblockhash(), 16)
  42519. @@ -369,14 +371,11 @@ class BIP68Test(BitcoinTestFramework):
  42520.  
  42521.      def activateCSV(self):
  42522.          # activation should happen at block height 432 (3 periods)
  42523. -        # getblockchaininfo will show CSV as active at block 431 (144 * 3 -1) since it's returning whether CSV is active for the next block.
  42524.          min_activation_height = 432
  42525.          height = self.nodes[0].getblockcount()
  42526. -        assert_greater_than(min_activation_height - height, 2)
  42527. -        self.nodes[0].generate(min_activation_height - height - 2)
  42528. -        assert_equal(get_bip9_status(self.nodes[0], 'csv')['status'], "locked_in")
  42529. -        self.nodes[0].generate(1)
  42530. -        assert_equal(get_bip9_status(self.nodes[0], 'csv')['status'], "active")
  42531. +        assert(height < min_activation_height)
  42532. +        self.nodes[0].generate(min_activation_height-height)
  42533. +        assert(get_bip9_status(self.nodes[0], 'csv')['status'] == 'active')
  42534.          sync_blocks(self.nodes)
  42535.  
  42536.      # Use self.nodes[1] to test that version 2 transactions are standard.
  42537. diff --git a/test/functional/bip9-softforks.py b/test/functional/bip9-softforks.py
  42538. old mode 100755
  42539. new mode 100644
  42540. index 9047893..f00232c
  42541. --- a/test/functional/bip9-softforks.py
  42542. +++ b/test/functional/bip9-softforks.py
  42543. @@ -28,10 +28,11 @@ from test_framework.comptool import TestInstance, TestManager
  42544.  from test_framework.script import CScript, OP_1NEGATE, OP_CHECKSEQUENCEVERIFY, OP_DROP
  42545.  
  42546.  class BIP9SoftForksTest(ComparisonTestFramework):
  42547. -    def set_test_params(self):
  42548. +
  42549. +    def __init__(self):
  42550. +        super().__init__()
  42551.          self.num_nodes = 1
  42552.          self.extra_args = [['-whitelist=127.0.0.1']]
  42553. -        self.setup_clean_chain = True
  42554.  
  42555.      def run_test(self):
  42556.          self.test = TestManager(self, self.options.tmpdir)
  42557. @@ -240,7 +241,6 @@ class BIP9SoftForksTest(ComparisonTestFramework):
  42558.          # Restart all
  42559.          self.test.clear_all_connections()
  42560.          self.stop_nodes()
  42561. -        self.nodes = []
  42562.          shutil.rmtree(self.options.tmpdir + "/node0")
  42563.          self.setup_chain()
  42564.          self.setup_network()
  42565. diff --git a/test/functional/bipdersig-p2p.py b/test/functional/bipdersig-p2p.py
  42566. old mode 100755
  42567. new mode 100644
  42568. index 1e9828d..ffc0e61
  42569. --- a/test/functional/bipdersig-p2p.py
  42570. +++ b/test/functional/bipdersig-p2p.py
  42571. @@ -49,7 +49,9 @@ def create_transaction(node, coinbase, to_address, amount):
  42572.      return tx
  42573.  
  42574.  class BIP66Test(BitcoinTestFramework):
  42575. -    def set_test_params(self):
  42576. +
  42577. +    def __init__(self):
  42578. +        super().__init__()
  42579.          self.num_nodes = 1
  42580.          self.extra_args = [['-promiscuousmempoolflags=1', '-whitelist=127.0.0.1']]
  42581.          self.setup_clean_chain = True
  42582. @@ -97,7 +99,7 @@ class BIP66Test(BitcoinTestFramework):
  42583.          node0.send_and_ping(msg_block(block))
  42584.          assert_equal(int(self.nodes[0].getbestblockhash(), 16), tip)
  42585.  
  42586. -        wait_until(lambda: "reject" in node0.last_message.keys(), lock=mininode_lock)
  42587. +        assert wait_until(lambda: "reject" in node0.last_message.keys())
  42588.          with mininode_lock:
  42589.              assert_equal(node0.last_message["reject"].code, REJECT_OBSOLETE)
  42590.              assert_equal(node0.last_message["reject"].reason, b'bad-version(0x00000002)')
  42591. @@ -127,7 +129,7 @@ class BIP66Test(BitcoinTestFramework):
  42592.          node0.send_and_ping(msg_block(block))
  42593.          assert_equal(int(self.nodes[0].getbestblockhash(), 16), tip)
  42594.  
  42595. -        wait_until(lambda: "reject" in node0.last_message.keys(), lock=mininode_lock)
  42596. +        assert wait_until (lambda: "reject" in node0.last_message.keys())
  42597.          with mininode_lock:
  42598.              # We can receive different reject messages depending on whether
  42599.              # bitcoind is running with multiple script check threads. If script
  42600. diff --git a/test/functional/bitcoin_cli.py b/test/functional/bitcoin_cli.py
  42601. deleted file mode 100755
  42602. index 7acfede..0000000
  42603. --- a/test/functional/bitcoin_cli.py
  42604. +++ /dev/null
  42605. @@ -1,25 +0,0 @@
  42606. -#!/usr/bin/env python3
  42607. -# Copyright (c) 2017 The Bitcoin Core developers
  42608. -# Distributed under the MIT software license, see the accompanying
  42609. -# file COPYING or http://www.opensource.org/licenses/mit-license.php.
  42610. -"""Test bitcoin-cli"""
  42611. -from test_framework.test_framework import BitcoinTestFramework
  42612. -from test_framework.util import assert_equal
  42613. -
  42614. -class TestBitcoinCli(BitcoinTestFramework):
  42615. -
  42616. -    def set_test_params(self):
  42617. -        self.setup_clean_chain = True
  42618. -        self.num_nodes = 1
  42619. -
  42620. -    def run_test(self):
  42621. -        """Main test logic"""
  42622. -
  42623. -        self.log.info("Compare responses from getinfo RPC and `bitcoin-cli getinfo`")
  42624. -        cli_get_info = self.nodes[0].cli.getinfo()
  42625. -        rpc_get_info = self.nodes[0].getinfo()
  42626. -
  42627. -        assert_equal(cli_get_info, rpc_get_info)
  42628. -
  42629. -if __name__ == '__main__':
  42630. -    TestBitcoinCli().main()
  42631. diff --git a/test/functional/blockchain.py b/test/functional/blockchain.py
  42632. old mode 100755
  42633. new mode 100644
  42634. index 4c2997f..a7034e6
  42635. --- a/test/functional/blockchain.py
  42636. +++ b/test/functional/blockchain.py
  42637. @@ -21,17 +21,21 @@ from decimal import Decimal
  42638.  import http.client
  42639.  import subprocess
  42640.  
  42641. -from test_framework.test_framework import BitcoinTestFramework
  42642. +from test_framework.test_framework import (BitcoinTestFramework, BITCOIND_PROC_WAIT_TIMEOUT)
  42643.  from test_framework.util import (
  42644.      assert_equal,
  42645.      assert_raises,
  42646. -    assert_raises_rpc_error,
  42647. +    assert_raises_jsonrpc,
  42648.      assert_is_hex_string,
  42649.      assert_is_hash_string,
  42650.  )
  42651.  
  42652. +
  42653.  class BlockchainTest(BitcoinTestFramework):
  42654. -    def set_test_params(self):
  42655. +
  42656. +    def __init__(self):
  42657. +        super().__init__()
  42658. +        self.setup_clean_chain = False
  42659.          self.num_nodes = 1
  42660.          self.extra_args = [['-stopatheight=207']]
  42661.  
  42662. @@ -96,7 +100,7 @@ class BlockchainTest(BitcoinTestFramework):
  42663.      def _test_getblockheader(self):
  42664.          node = self.nodes[0]
  42665.  
  42666. -        assert_raises_rpc_error(-5, "Block not found",
  42667. +        assert_raises_jsonrpc(-5, "Block not found",
  42668.                                node.getblockheader, "nonsense")
  42669.  
  42670.          besthash = node.getbestblockhash()
  42671. @@ -135,14 +139,14 @@ class BlockchainTest(BitcoinTestFramework):
  42672.          self.nodes[0].generate(6)
  42673.          assert_equal(self.nodes[0].getblockcount(), 206)
  42674.          self.log.debug('Node should not stop at this height')
  42675. -        assert_raises(subprocess.TimeoutExpired, lambda: self.nodes[0].process.wait(timeout=3))
  42676. +        assert_raises(subprocess.TimeoutExpired, lambda: self.bitcoind_processes[0].wait(timeout=3))
  42677.          try:
  42678.              self.nodes[0].generate(1)
  42679.          except (ConnectionError, http.client.BadStatusLine):
  42680.              pass  # The node already shut down before response
  42681.          self.log.debug('Node should stop at this height...')
  42682. -        self.nodes[0].wait_until_stopped()
  42683. -        self.start_node(0)
  42684. +        self.bitcoind_processes[0].wait(timeout=BITCOIND_PROC_WAIT_TIMEOUT)
  42685. +        self.nodes[0] = self.start_node(0, self.options.tmpdir)
  42686.          assert_equal(self.nodes[0].getblockcount(), 207)
  42687.  
  42688.  
  42689. diff --git a/test/functional/bumpfee.py b/test/functional/bumpfee.py
  42690. old mode 100755
  42691. new mode 100644
  42692. index 5d4cc2f..110a044
  42693. --- a/test/functional/bumpfee.py
  42694. +++ b/test/functional/bumpfee.py
  42695. @@ -15,7 +15,7 @@ make assumptions about execution order.
  42696.  """
  42697.  
  42698.  from segwit import send_to_witness
  42699. -from test_framework.test_framework import BitcoinTestFramework, SkipTest
  42700. +from test_framework.test_framework import BitcoinTestFramework
  42701.  from test_framework import blocktools
  42702.  from test_framework.mininode import CTransaction
  42703.  from test_framework.util import *
  42704. @@ -30,27 +30,30 @@ WALLET_PASSPHRASE_TIMEOUT = 3600
  42705.  
  42706.  
  42707.  class BumpFeeTest(BitcoinTestFramework):
  42708. -    def set_test_params(self):
  42709. +    def __init__(self):
  42710. +        super().__init__()
  42711.          self.num_nodes = 2
  42712.          self.setup_clean_chain = True
  42713. -        self.extra_args = [["-prematurewitness", "-walletprematurewitness", "-walletrbf={}".format(i)]
  42714. -                           for i in range(self.num_nodes)]
  42715.  
  42716. -    def run_test(self):
  42717. -        raise SkipTest("Litecoin doesn't support RBF.")
  42718. +    def setup_network(self, split=False):
  42719. +        extra_args = [["-prematurewitness", "-walletprematurewitness", "-walletrbf={}".format(i)]
  42720. +                      for i in range(self.num_nodes)]
  42721. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, extra_args)
  42722.  
  42723.          # Encrypt wallet for test_locked_wallet_fails test
  42724. -        self.nodes[1].node_encrypt_wallet(WALLET_PASSPHRASE)
  42725. -        self.start_node(1)
  42726. +        self.nodes[1].encryptwallet(WALLET_PASSPHRASE)
  42727. +        self.bitcoind_processes[1].wait()
  42728. +        self.nodes[1] = self.start_node(1, self.options.tmpdir, extra_args[1])
  42729.          self.nodes[1].walletpassphrase(WALLET_PASSPHRASE, WALLET_PASSPHRASE_TIMEOUT)
  42730.  
  42731.          connect_nodes_bi(self.nodes, 0, 1)
  42732.          self.sync_all()
  42733.  
  42734. +    def run_test(self):
  42735.          peer_node, rbf_node = self.nodes
  42736.          rbf_node_address = rbf_node.getnewaddress()
  42737.  
  42738. -        # fund rbf node with 10 coins of 0.1 ltc (10,000,000 satoshis)
  42739. +        # fund rbf node with 10 coins of 0.1 LCC (10,000,000 satoshis)
  42740.          self.log.info("Mining blocks...")
  42741.          peer_node.generate(110)
  42742.          self.sync_all()
  42743. @@ -135,7 +138,7 @@ def test_segwit_bumpfee_succeeds(rbf_node, dest_address):
  42744.  def test_nonrbf_bumpfee_fails(peer_node, dest_address):
  42745.      # cannot replace a non RBF transaction (from node which did not enable RBF)
  42746.      not_rbfid = peer_node.sendtoaddress(dest_address, Decimal("0.090000"))
  42747. -    assert_raises_rpc_error(-4, "not BIP 125 replaceable", peer_node.bumpfee, not_rbfid)
  42748. +    assert_raises_jsonrpc(-4, "not BIP 125 replaceable", peer_node.bumpfee, not_rbfid)
  42749.  
  42750.  
  42751.  def test_notmine_bumpfee_fails(rbf_node, peer_node, dest_address):
  42752. @@ -155,7 +158,7 @@ def test_notmine_bumpfee_fails(rbf_node, peer_node, dest_address):
  42753.      signedtx = rbf_node.signrawtransaction(rawtx)
  42754.      signedtx = peer_node.signrawtransaction(signedtx["hex"])
  42755.      rbfid = rbf_node.sendrawtransaction(signedtx["hex"])
  42756. -    assert_raises_rpc_error(-4, "Transaction contains inputs that don't belong to this wallet",
  42757. +    assert_raises_jsonrpc(-4, "Transaction contains inputs that don't belong to this wallet",
  42758.                            rbf_node.bumpfee, rbfid)
  42759.  
  42760.  
  42761. @@ -166,7 +169,7 @@ def test_bumpfee_with_descendant_fails(rbf_node, rbf_node_address, dest_address)
  42762.      tx = rbf_node.createrawtransaction([{"txid": parent_id, "vout": 0}], {dest_address: 0.020000})
  42763.      tx = rbf_node.signrawtransaction(tx)
  42764.      txid = rbf_node.sendrawtransaction(tx["hex"])
  42765. -    assert_raises_rpc_error(-8, "Transaction has descendants in the wallet", rbf_node.bumpfee, parent_id)
  42766. +    assert_raises_jsonrpc(-8, "Transaction has descendants in the wallet", rbf_node.bumpfee, parent_id)
  42767.  
  42768.  
  42769.  def test_small_output_fails(rbf_node, dest_address):
  42770. @@ -175,7 +178,7 @@ def test_small_output_fails(rbf_node, dest_address):
  42771.      rbf_node.bumpfee(rbfid, {"totalFee": 5000000})
  42772.  
  42773.      rbfid = spend_one_input(rbf_node, dest_address)
  42774. -    assert_raises_rpc_error(-4, "Change output is too small", rbf_node.bumpfee, rbfid, {"totalFee": 5000001})
  42775. +    assert_raises_jsonrpc(-4, "Change output is too small", rbf_node.bumpfee, rbfid, {"totalFee": 5000001})
  42776.  
  42777.  
  42778.  def test_dust_to_fee(rbf_node, dest_address):
  42779. @@ -207,7 +210,7 @@ def test_rebumping(rbf_node, dest_address):
  42780.      # check that re-bumping the original tx fails, but bumping the bumper succeeds
  42781.      rbfid = spend_one_input(rbf_node, dest_address)
  42782.      bumped = rbf_node.bumpfee(rbfid, {"totalFee": 200000})
  42783. -    assert_raises_rpc_error(-4, "already bumped", rbf_node.bumpfee, rbfid, {"totalFee": 300000})
  42784. +    assert_raises_jsonrpc(-4, "already bumped", rbf_node.bumpfee, rbfid, {"totalFee": 300000})
  42785.      rbf_node.bumpfee(bumped["txid"], {"totalFee": 300000})
  42786.  
  42787.  
  42788. @@ -215,7 +218,7 @@ def test_rebumping_not_replaceable(rbf_node, dest_address):
  42789.      # check that re-bumping a non-replaceable bump tx fails
  42790.      rbfid = spend_one_input(rbf_node, dest_address)
  42791.      bumped = rbf_node.bumpfee(rbfid, {"totalFee": 1000000, "replaceable": False})
  42792. -    assert_raises_rpc_error(-4, "Transaction is not BIP 125 replaceable", rbf_node.bumpfee, bumped["txid"],
  42793. +    assert_raises_jsonrpc(-4, "Transaction is not BIP 125 replaceable", rbf_node.bumpfee, bumped["txid"],
  42794.                            {"totalFee": 2000000})
  42795.  
  42796.  
  42797. @@ -266,7 +269,7 @@ def test_bumpfee_metadata(rbf_node, dest_address):
  42798.  def test_locked_wallet_fails(rbf_node, dest_address):
  42799.      rbfid = spend_one_input(rbf_node, dest_address)
  42800.      rbf_node.walletlock()
  42801. -    assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first.",
  42802. +    assert_raises_jsonrpc(-13, "Please enter the wallet passphrase with walletpassphrase first.",
  42803.                            rbf_node.bumpfee, rbfid)
  42804.  
  42805.  
  42806. diff --git a/test/functional/combine_logs.py b/test/functional/combine_logs.py
  42807. old mode 100755
  42808. new mode 100644
  42809. diff --git a/test/functional/create_cache.py b/test/functional/create_cache.py
  42810. old mode 100755
  42811. new mode 100644
  42812. index 7d4d1a5..39c4c0f
  42813. --- a/test/functional/create_cache.py
  42814. +++ b/test/functional/create_cache.py
  42815. @@ -12,10 +12,13 @@ tests are being run in parallel.
  42816.  from test_framework.test_framework import BitcoinTestFramework
  42817.  
  42818.  class CreateCache(BitcoinTestFramework):
  42819. -    # Test network and test nodes are not required:
  42820.  
  42821. -    def set_test_params(self):
  42822. +    def __init__(self):
  42823. +        super().__init__()
  42824. +
  42825. +        # Test network and test nodes are not required:
  42826.          self.num_nodes = 0
  42827. +        self.nodes = []
  42828.  
  42829.      def setup_network(self):
  42830.          pass
  42831. diff --git a/test/functional/dbcrash.py b/test/functional/dbcrash.py
  42832. old mode 100755
  42833. new mode 100644
  42834. index 24b9765..8339305
  42835. --- a/test/functional/dbcrash.py
  42836. +++ b/test/functional/dbcrash.py
  42837. @@ -43,7 +43,8 @@ except AttributeError:
  42838.      pass
  42839.  
  42840.  class ChainstateWriteCrashTest(BitcoinTestFramework):
  42841. -    def set_test_params(self):
  42842. +    def __init__(self):
  42843. +        super().__init__()
  42844.          self.num_nodes = 4
  42845.          self.setup_clean_chain = False
  42846.  
  42847. @@ -63,9 +64,7 @@ class ChainstateWriteCrashTest(BitcoinTestFramework):
  42848.          self.extra_args = [self.node0_args, self.node1_args, self.node2_args, self.node3_args]
  42849.  
  42850.      def setup_network(self):
  42851. -        # Need a bit of extra time for the nodes to start up for this test
  42852. -        self.add_nodes(self.num_nodes, extra_args=self.extra_args, timewait=90)
  42853. -        self.start_nodes()
  42854. +        self.setup_nodes()
  42855.          # Leave them unconnected, we'll use submitblock directly in this test
  42856.  
  42857.      def restart_node(self, node_index, expected_tip):
  42858. @@ -75,10 +74,10 @@ class ChainstateWriteCrashTest(BitcoinTestFramework):
  42859.          after 60 seconds. Returns the utxo hash of the given node."""
  42860.  
  42861.          time_start = time.time()
  42862. -        while time.time() - time_start < 120:
  42863. +        while time.time() - time_start < 60:
  42864.              try:
  42865.                  # Any of these RPC calls could throw due to node crash
  42866. -                self.start_node(node_index)
  42867. +                self.nodes[node_index] = self.start_node(node_index, self.options.tmpdir, self.extra_args[node_index])
  42868.                  self.nodes[node_index].waitforblock(expected_tip)
  42869.                  utxo_hash = self.nodes[node_index].gettxoutsetinfo()['hash_serialized_2']
  42870.                  return utxo_hash
  42871. diff --git a/test/functional/decodescript.py b/test/functional/decodescript.py
  42872. old mode 100755
  42873. new mode 100644
  42874. index 6611da8..21a9f12
  42875. --- a/test/functional/decodescript.py
  42876. +++ b/test/functional/decodescript.py
  42877. @@ -10,7 +10,9 @@ from test_framework.mininode import *
  42878.  from io import BytesIO
  42879.  
  42880.  class DecodeScriptTest(BitcoinTestFramework):
  42881. -    def set_test_params(self):
  42882. +
  42883. +    def __init__(self):
  42884. +        super().__init__()
  42885.          self.setup_clean_chain = True
  42886.          self.num_nodes = 1
  42887.  
  42888. diff --git a/test/functional/disablewallet.py b/test/functional/disablewallet.py
  42889. old mode 100755
  42890. new mode 100644
  42891. index c75ef9b..d344513
  42892. --- a/test/functional/disablewallet.py
  42893. +++ b/test/functional/disablewallet.py
  42894. @@ -11,15 +11,18 @@
  42895.  from test_framework.test_framework import BitcoinTestFramework
  42896.  from test_framework.util import *
  42897.  
  42898. +
  42899.  class DisableWalletTest (BitcoinTestFramework):
  42900. -    def set_test_params(self):
  42901. +
  42902. +    def __init__(self):
  42903. +        super().__init__()
  42904.          self.setup_clean_chain = True
  42905.          self.num_nodes = 1
  42906.          self.extra_args = [["-disablewallet"]]
  42907.  
  42908.      def run_test (self):
  42909.          # Make sure wallet is really disabled
  42910. -        assert_raises_rpc_error(-32601, 'Method not found', self.nodes[0].getwalletinfo)
  42911. +        assert_raises_jsonrpc(-32601, 'Method not found', self.nodes[0].getwalletinfo)
  42912.          x = self.nodes[0].validateaddress('3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy')
  42913.          assert(x['isvalid'] == False)
  42914.          x = self.nodes[0].validateaddress('mneYUmWYsuk7kySiURxCi3AGxrAqZxLgPZ')
  42915. @@ -28,7 +31,7 @@ class DisableWalletTest (BitcoinTestFramework):
  42916.          # Checking mining to an address without a wallet. Generating to a valid address should succeed
  42917.          # but generating to an invalid address will fail.
  42918.          self.nodes[0].generatetoaddress(1, 'mneYUmWYsuk7kySiURxCi3AGxrAqZxLgPZ')
  42919. -        assert_raises_rpc_error(-5, "Invalid address", self.nodes[0].generatetoaddress, 1, '3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy')
  42920. +        assert_raises_jsonrpc(-5, "Invalid address", self.nodes[0].generatetoaddress, 1, '3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy')
  42921.  
  42922.  if __name__ == '__main__':
  42923.      DisableWalletTest ().main ()
  42924. diff --git a/test/functional/disconnect_ban.py b/test/functional/disconnect_ban.py
  42925. old mode 100755
  42926. new mode 100644
  42927. index 59655d3..89b68ae
  42928. --- a/test/functional/disconnect_ban.py
  42929. +++ b/test/functional/disconnect_ban.py
  42930. @@ -5,17 +5,18 @@
  42931.  """Test node disconnect and ban behavior"""
  42932.  import time
  42933.  
  42934. +from test_framework.mininode import wait_until
  42935.  from test_framework.test_framework import BitcoinTestFramework
  42936. -from test_framework.util import (
  42937. -    assert_equal,
  42938. -    assert_raises_rpc_error,
  42939. -    connect_nodes_bi,
  42940. -    wait_until,
  42941. -)
  42942. +from test_framework.util import (assert_equal,
  42943. +                                 assert_raises_jsonrpc,
  42944. +                                 connect_nodes_bi)
  42945.  
  42946.  class DisconnectBanTest(BitcoinTestFramework):
  42947. -    def set_test_params(self):
  42948. +
  42949. +    def __init__(self):
  42950. +        super().__init__()
  42951.          self.num_nodes = 2
  42952. +        self.setup_clean_chain = False
  42953.  
  42954.      def run_test(self):
  42955.          self.log.info("Test setban and listbanned RPCs")
  42956. @@ -23,7 +24,7 @@ class DisconnectBanTest(BitcoinTestFramework):
  42957.          self.log.info("setban: successfully ban single IP address")
  42958.          assert_equal(len(self.nodes[1].getpeerinfo()), 2)  # node1 should have 2 connections to node0 at this point
  42959.          self.nodes[1].setban("127.0.0.1", "add")
  42960. -        wait_until(lambda: len(self.nodes[1].getpeerinfo()) == 0, timeout=10)
  42961. +        assert wait_until(lambda: len(self.nodes[1].getpeerinfo()) == 0, timeout=10)
  42962.          assert_equal(len(self.nodes[1].getpeerinfo()), 0)  # all nodes must be disconnected at this point
  42963.          assert_equal(len(self.nodes[1].listbanned()), 1)
  42964.  
  42965. @@ -34,14 +35,14 @@ class DisconnectBanTest(BitcoinTestFramework):
  42966.  
  42967.          self.log.info("setban: fail to ban an already banned subnet")
  42968.          assert_equal(len(self.nodes[1].listbanned()), 1)
  42969. -        assert_raises_rpc_error(-23, "IP/Subnet already banned", self.nodes[1].setban, "127.0.0.1", "add")
  42970. +        assert_raises_jsonrpc(-23, "IP/Subnet already banned", self.nodes[1].setban, "127.0.0.1", "add")
  42971.  
  42972.          self.log.info("setban: fail to ban an invalid subnet")
  42973. -        assert_raises_rpc_error(-30, "Error: Invalid IP/Subnet", self.nodes[1].setban, "127.0.0.1/42", "add")
  42974. +        assert_raises_jsonrpc(-30, "Error: Invalid IP/Subnet", self.nodes[1].setban, "127.0.0.1/42", "add")
  42975.          assert_equal(len(self.nodes[1].listbanned()), 1)  # still only one banned ip because 127.0.0.1 is within the range of 127.0.0.0/24
  42976.  
  42977.          self.log.info("setban remove: fail to unban a non-banned subnet")
  42978. -        assert_raises_rpc_error(-30, "Error: Unban failed", self.nodes[1].setban, "127.0.0.1", "remove")
  42979. +        assert_raises_jsonrpc(-30, "Error: Unban failed", self.nodes[1].setban, "127.0.0.1", "remove")
  42980.          assert_equal(len(self.nodes[1].listbanned()), 1)
  42981.  
  42982.          self.log.info("setban remove: successfully unban subnet")
  42983. @@ -65,8 +66,8 @@ class DisconnectBanTest(BitcoinTestFramework):
  42984.          assert_equal(len(self.nodes[1].listbanned()), 3)
  42985.  
  42986.          self.stop_node(1)
  42987. -        self.start_node(1)
  42988.  
  42989. +        self.nodes[1] = self.start_node(1, self.options.tmpdir)
  42990.          listAfterShutdown = self.nodes[1].listbanned()
  42991.          assert_equal("127.0.0.0/24", listAfterShutdown[0]['address'])
  42992.          assert_equal("127.0.0.0/32", listAfterShutdown[1]['address'])
  42993. @@ -81,15 +82,15 @@ class DisconnectBanTest(BitcoinTestFramework):
  42994.          self.log.info("disconnectnode: fail to disconnect when calling with address and nodeid")
  42995.          address1 = self.nodes[0].getpeerinfo()[0]['addr']
  42996.          node1 = self.nodes[0].getpeerinfo()[0]['addr']
  42997. -        assert_raises_rpc_error(-32602, "Only one of address and nodeid should be provided.", self.nodes[0].disconnectnode, address=address1, nodeid=node1)
  42998. +        assert_raises_jsonrpc(-32602, "Only one of address and nodeid should be provided.", self.nodes[0].disconnectnode, address=address1, nodeid=node1)
  42999.  
  43000.          self.log.info("disconnectnode: fail to disconnect when calling with junk address")
  43001. -        assert_raises_rpc_error(-29, "Node not found in connected nodes", self.nodes[0].disconnectnode, address="221B Baker Street")
  43002. +        assert_raises_jsonrpc(-29, "Node not found in connected nodes", self.nodes[0].disconnectnode, address="221B Baker Street")
  43003.  
  43004.          self.log.info("disconnectnode: successfully disconnect node by address")
  43005.          address1 = self.nodes[0].getpeerinfo()[0]['addr']
  43006.          self.nodes[0].disconnectnode(address=address1)
  43007. -        wait_until(lambda: len(self.nodes[0].getpeerinfo()) == 1, timeout=10)
  43008. +        assert wait_until(lambda: len(self.nodes[0].getpeerinfo()) == 1, timeout=10)
  43009.          assert not [node for node in self.nodes[0].getpeerinfo() if node['addr'] == address1]
  43010.  
  43011.          self.log.info("disconnectnode: successfully reconnect node")
  43012. @@ -100,7 +101,7 @@ class DisconnectBanTest(BitcoinTestFramework):
  43013.          self.log.info("disconnectnode: successfully disconnect node by node id")
  43014.          id1 = self.nodes[0].getpeerinfo()[0]['id']
  43015.          self.nodes[0].disconnectnode(nodeid=id1)
  43016. -        wait_until(lambda: len(self.nodes[0].getpeerinfo()) == 1, timeout=10)
  43017. +        assert wait_until(lambda: len(self.nodes[0].getpeerinfo()) == 1, timeout=10)
  43018.          assert not [node for node in self.nodes[0].getpeerinfo() if node['id'] == id1]
  43019.  
  43020.  if __name__ == '__main__':
  43021. diff --git a/test/functional/example_test.py b/test/functional/example_test.py
  43022. old mode 100755
  43023. new mode 100644
  43024. index 228e150..7709524
  43025. --- a/test/functional/example_test.py
  43026. +++ b/test/functional/example_test.py
  43027. @@ -23,13 +23,13 @@ from test_framework.mininode import (
  43028.      mininode_lock,
  43029.      msg_block,
  43030.      msg_getdata,
  43031. +    wait_until,
  43032.  )
  43033.  from test_framework.test_framework import BitcoinTestFramework
  43034.  from test_framework.util import (
  43035.      assert_equal,
  43036.      connect_nodes,
  43037.      p2p_port,
  43038. -    wait_until,
  43039.  )
  43040.  
  43041.  # NodeConnCB is a class containing callbacks to be executed when a P2P
  43042. @@ -73,19 +73,21 @@ def custom_function():
  43043.  class ExampleTest(BitcoinTestFramework):
  43044.      # Each functional test is a subclass of the BitcoinTestFramework class.
  43045.  
  43046. -    # Override the set_test_params(), add_options(), setup_chain(), setup_network()
  43047. +    # Override the __init__(), add_options(), setup_chain(), setup_network()
  43048.      # and setup_nodes() methods to customize the test setup as required.
  43049.  
  43050. -    def set_test_params(self):
  43051. -        """Override test parameters for your individual test.
  43052. +    def __init__(self):
  43053. +        """Initialize the test
  43054.  
  43055. -        This method must be overridden and num_nodes must be exlicitly set."""
  43056. +        Call super().__init__() first, and then override any test parameters
  43057. +        for your individual test."""
  43058. +        super().__init__()
  43059.          self.setup_clean_chain = True
  43060.          self.num_nodes = 3
  43061.          # Use self.extra_args to change command-line arguments for the nodes
  43062.          self.extra_args = [[], ["-logips"], []]
  43063.  
  43064. -        # self.log.info("I've finished set_test_params")  # Oops! Can't run self.log before run_test()
  43065. +        # self.log.info("I've finished __init__")  # Oops! Can't run self.log before run_test()
  43066.  
  43067.      # Use add_options() to add specific command-line options for your test.
  43068.      # In practice this is not used very much, since the tests are mostly written
  43069. @@ -207,7 +209,7 @@ class ExampleTest(BitcoinTestFramework):
  43070.  
  43071.          # wait_until() will loop until a predicate condition is met. Use it to test properties of the
  43072.          # NodeConnCB objects.
  43073. -        wait_until(lambda: sorted(blocks) == sorted(list(node2.block_receive_map.keys())), timeout=5, lock=mininode_lock)
  43074. +        assert wait_until(lambda: sorted(blocks) == sorted(list(node2.block_receive_map.keys())), timeout=5)
  43075.  
  43076.          self.log.info("Check that each block was received only once")
  43077.          # The network thread uses a global lock on data access to the NodeConn objects when sending and receiving
  43078. diff --git a/test/functional/forknotify.py b/test/functional/forknotify.py
  43079. old mode 100755
  43080. new mode 100644
  43081. index afcad1f..3bcf0a6
  43082. --- a/test/functional/forknotify.py
  43083. +++ b/test/functional/forknotify.py
  43084. @@ -7,18 +7,28 @@ import os
  43085.  import time
  43086.  
  43087.  from test_framework.test_framework import BitcoinTestFramework
  43088. +from test_framework.util import *
  43089.  
  43090.  class ForkNotifyTest(BitcoinTestFramework):
  43091. -    def set_test_params(self):
  43092. +
  43093. +    def __init__(self):
  43094. +        super().__init__()
  43095.          self.num_nodes = 2
  43096. +        self.setup_clean_chain = False
  43097.  
  43098.      def setup_network(self):
  43099. +        self.nodes = []
  43100.          self.alert_filename = os.path.join(self.options.tmpdir, "alert.txt")
  43101.          with open(self.alert_filename, 'w', encoding='utf8'):
  43102.              pass  # Just open then close to create zero-length file
  43103. -        self.extra_args = [["-blockversion=2", "-alertnotify=echo %s >> \"" + self.alert_filename + "\""],
  43104. -                           ["-blockversion=211"]]
  43105. -        super().setup_network()
  43106. +        self.nodes.append(self.start_node(0, self.options.tmpdir,
  43107. +                            ["-blockversion=2", "-alertnotify=echo %s >> \"" + self.alert_filename + "\""]))
  43108. +        # Node1 mines block.version=211 blocks
  43109. +        self.nodes.append(self.start_node(1, self.options.tmpdir,
  43110. +                                ["-blockversion=211"]))
  43111. +        connect_nodes(self.nodes[1], 0)
  43112. +
  43113. +        self.sync_all()
  43114.  
  43115.      def run_test(self):
  43116.          # Mine 51 up-version blocks
  43117. diff --git a/test/functional/fundrawtransaction.py b/test/functional/fundrawtransaction.py
  43118. old mode 100755
  43119. new mode 100644
  43120. index 1c9598f..07c0d7b
  43121. --- a/test/functional/fundrawtransaction.py
  43122. +++ b/test/functional/fundrawtransaction.py
  43123. @@ -4,7 +4,7 @@
  43124.  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
  43125.  """Test the fundrawtransaction RPC."""
  43126.  
  43127. -from test_framework.test_framework import BitcoinTestFramework
  43128. +from test_framework.test_framework import BitcoinTestFramework, BITCOIND_PROC_WAIT_TIMEOUT
  43129.  from test_framework.util import *
  43130.  
  43131.  
  43132. @@ -14,10 +14,13 @@ def get_unspent(listunspent, amount):
  43133.              return utx
  43134.      raise AssertionError('Could not find unspent with amount={}'.format(amount))
  43135.  
  43136. +
  43137.  class RawTransactionsTest(BitcoinTestFramework):
  43138. -    def set_test_params(self):
  43139. -        self.num_nodes = 4
  43140. +
  43141. +    def __init__(self):
  43142. +        super().__init__()
  43143.          self.setup_clean_chain = True
  43144. +        self.num_nodes = 4
  43145.  
  43146.      def setup_network(self, split=False):
  43147.          self.setup_nodes()
  43148. @@ -179,7 +182,7 @@ class RawTransactionsTest(BitcoinTestFramework):
  43149.          dec_tx  = self.nodes[2].decoderawtransaction(rawtx)
  43150.          assert_equal(utx['txid'], dec_tx['vin'][0]['txid'])
  43151.  
  43152. -        assert_raises_rpc_error(-3, "Unexpected key foo", self.nodes[2].fundrawtransaction, rawtx, {'foo':'bar'})
  43153. +        assert_raises_jsonrpc(-3, "Unexpected key foo", self.nodes[2].fundrawtransaction, rawtx, {'foo':'bar'})
  43154.  
  43155.          ############################################################
  43156.          # test a fundrawtransaction with an invalid change address #
  43157. @@ -192,7 +195,7 @@ class RawTransactionsTest(BitcoinTestFramework):
  43158.          dec_tx  = self.nodes[2].decoderawtransaction(rawtx)
  43159.          assert_equal(utx['txid'], dec_tx['vin'][0]['txid'])
  43160.  
  43161. -        assert_raises_rpc_error(-5, "changeAddress must be a valid litecoin address", self.nodes[2].fundrawtransaction, rawtx, {'changeAddress':'foobar'})
  43162. +        assert_raises_jsonrpc(-5, "changeAddress must be a valid litecoincash address", self.nodes[2].fundrawtransaction, rawtx, {'changeAddress':'foobar'})
  43163.  
  43164.          ############################################################
  43165.          # test a fundrawtransaction with a provided change address #
  43166. @@ -206,7 +209,7 @@ class RawTransactionsTest(BitcoinTestFramework):
  43167.          assert_equal(utx['txid'], dec_tx['vin'][0]['txid'])
  43168.  
  43169.          change = self.nodes[2].getnewaddress()
  43170. -        assert_raises_rpc_error(-8, "changePosition out of bounds", self.nodes[2].fundrawtransaction, rawtx, {'changeAddress':change, 'changePosition':2})
  43171. +        assert_raises_jsonrpc(-8, "changePosition out of bounds", self.nodes[2].fundrawtransaction, rawtx, {'changeAddress':change, 'changePosition':2})
  43172.          rawtxfund = self.nodes[2].fundrawtransaction(rawtx, {'changeAddress': change, 'changePosition': 0})
  43173.          dec_tx  = self.nodes[2].decoderawtransaction(rawtxfund['hex'])
  43174.          out = dec_tx['vout'][0]
  43175. @@ -315,7 +318,7 @@ class RawTransactionsTest(BitcoinTestFramework):
  43176.          rawtx   = self.nodes[2].createrawtransaction(inputs, outputs)
  43177.          dec_tx  = self.nodes[2].decoderawtransaction(rawtx)
  43178.  
  43179. -        assert_raises_rpc_error(-4, "Insufficient funds", self.nodes[2].fundrawtransaction, rawtx)
  43180. +        assert_raises_jsonrpc(-4, "Insufficient funds", self.nodes[2].fundrawtransaction, rawtx)
  43181.  
  43182.          ############################################################
  43183.          #compare fee of a standard pubkeyhash transaction
  43184. @@ -446,11 +449,12 @@ class RawTransactionsTest(BitcoinTestFramework):
  43185.          ############################################################
  43186.          # locked wallet test
  43187.          self.stop_node(0)
  43188. -        self.nodes[1].node_encrypt_wallet("test")
  43189.          self.stop_node(2)
  43190.          self.stop_node(3)
  43191. +        self.nodes[1].encryptwallet("test")
  43192. +        self.bitcoind_processes[1].wait(timeout=BITCOIND_PROC_WAIT_TIMEOUT)
  43193.  
  43194. -        self.start_nodes()
  43195. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir)
  43196.          # This test is not meant to test fee estimation and we'd like
  43197.          # to be sure all txs are sent at a consistent desired feerate
  43198.          for node in self.nodes:
  43199. @@ -470,14 +474,14 @@ class RawTransactionsTest(BitcoinTestFramework):
  43200.          rawtx = self.nodes[1].createrawtransaction(inputs, outputs)
  43201.          # fund a transaction that requires a new key for the change output
  43202.          # creating the key must be impossible because the wallet is locked
  43203. -        assert_raises_rpc_error(-4, "Keypool ran out, please call keypoolrefill first", self.nodes[1].fundrawtransaction, rawtx)
  43204. +        assert_raises_jsonrpc(-4, "Keypool ran out, please call keypoolrefill first", self.nodes[1].fundrawtransaction, rawtx)
  43205.  
  43206.          #refill the keypool
  43207.          self.nodes[1].walletpassphrase("test", 100)
  43208.          self.nodes[1].keypoolrefill(8) #need to refill the keypool to get an internal change address
  43209.          self.nodes[1].walletlock()
  43210.  
  43211. -        assert_raises_rpc_error(-13, "walletpassphrase", self.nodes[1].sendtoaddress, self.nodes[0].getnewaddress(), 1.2)
  43212. +        assert_raises_jsonrpc(-13, "walletpassphrase", self.nodes[1].sendtoaddress, self.nodes[0].getnewaddress(), 1.2)
  43213.  
  43214.          oldBalance = self.nodes[0].getbalance()
  43215.  
  43216. @@ -625,7 +629,7 @@ class RawTransactionsTest(BitcoinTestFramework):
  43217.          inputs = []
  43218.          outputs = {self.nodes[3].getnewaddress() : 1}
  43219.          rawtx = self.nodes[3].createrawtransaction(inputs, outputs)
  43220. -        result = self.nodes[3].fundrawtransaction(rawtx, {"feeRate": 1*min_relay_tx_fee}) # uses min_relay_tx_fee (set by settxfee)
  43221. +        result = self.nodes[3].fundrawtransaction(rawtx) # uses min_relay_tx_fee (set by settxfee)
  43222.          result2 = self.nodes[3].fundrawtransaction(rawtx, {"feeRate": 2*min_relay_tx_fee})
  43223.          result3 = self.nodes[3].fundrawtransaction(rawtx, {"feeRate": 10*min_relay_tx_fee})
  43224.          result_fee_rate = result['fee'] * 1000 / count_bytes(result['hex'])
  43225. diff --git a/test/functional/getblocktemplate_longpoll.py b/test/functional/getblocktemplate_longpoll.py
  43226. old mode 100755
  43227. new mode 100644
  43228. index 89768bd..bbe1dda
  43229. --- a/test/functional/getblocktemplate_longpoll.py
  43230. +++ b/test/functional/getblocktemplate_longpoll.py
  43231. @@ -17,14 +17,16 @@ class LongpollThread(threading.Thread):
  43232.          self.longpollid = templat['longpollid']
  43233.          # create a new connection to the node, we can't use the same
  43234.          # connection from two threads
  43235. -        self.node = get_rpc_proxy(node.url, 1, timeout=600, coveragedir=node.coverage_dir)
  43236. +        self.node = get_rpc_proxy(node.url, 1, timeout=600)
  43237.  
  43238.      def run(self):
  43239.          self.node.getblocktemplate({'longpollid':self.longpollid})
  43240.  
  43241.  class GetBlockTemplateLPTest(BitcoinTestFramework):
  43242. -    def set_test_params(self):
  43243. -        self.num_nodes = 2
  43244. +    def __init__(self):
  43245. +        super().__init__()
  43246. +        self.num_nodes = 4
  43247. +        self.setup_clean_chain = False
  43248.  
  43249.      def run_test(self):
  43250.          self.log.info("Warning: this test will take about 70 seconds in the best case. Be patient.")
  43251. diff --git a/test/functional/getchaintips.py b/test/functional/getchaintips.py
  43252. old mode 100755
  43253. new mode 100644
  43254. index 21b67bf..15f96c5
  43255. --- a/test/functional/getchaintips.py
  43256. +++ b/test/functional/getchaintips.py
  43257. @@ -14,10 +14,13 @@ from test_framework.test_framework import BitcoinTestFramework
  43258.  from test_framework.util import assert_equal
  43259.  
  43260.  class GetChainTipsTest (BitcoinTestFramework):
  43261. -    def set_test_params(self):
  43262. +    def __init__(self):
  43263. +        super().__init__()
  43264.          self.num_nodes = 4
  43265. +        self.setup_clean_chain = False
  43266.  
  43267.      def run_test (self):
  43268. +
  43269.          tips = self.nodes[0].getchaintips ()
  43270.          assert_equal (len (tips), 1)
  43271.          assert_equal (tips[0]['branchlen'], 0)
  43272. diff --git a/test/functional/httpbasics.py b/test/functional/httpbasics.py
  43273. old mode 100755
  43274. new mode 100644
  43275. index c7682cb..4b32e8d
  43276. --- a/test/functional/httpbasics.py
  43277. +++ b/test/functional/httpbasics.py
  43278. @@ -11,8 +11,10 @@ import http.client
  43279.  import urllib.parse
  43280.  
  43281.  class HTTPBasicsTest (BitcoinTestFramework):
  43282. -    def set_test_params(self):
  43283. +    def __init__(self):
  43284. +        super().__init__()
  43285.          self.num_nodes = 3
  43286. +        self.setup_clean_chain = False
  43287.  
  43288.      def setup_network(self):
  43289.          self.setup_nodes()
  43290. diff --git a/test/functional/import-rescan.py b/test/functional/import-rescan.py
  43291. old mode 100755
  43292. new mode 100644
  43293. index 9555542..4fc5078
  43294. --- a/test/functional/import-rescan.py
  43295. +++ b/test/functional/import-rescan.py
  43296. @@ -19,8 +19,9 @@ importing nodes pick up the new transactions regardless of whether rescans
  43297.  happened previously.
  43298.  """
  43299.  
  43300. +from test_framework.authproxy import JSONRPCException
  43301.  from test_framework.test_framework import BitcoinTestFramework
  43302. -from test_framework.util import (assert_raises_rpc_error, connect_nodes, sync_blocks, assert_equal, set_node_times)
  43303. +from test_framework.util import (connect_nodes, sync_blocks, assert_equal, set_node_times)
  43304.  
  43305.  import collections
  43306.  import enum
  43307. @@ -34,26 +35,21 @@ Rescan = enum.Enum("Rescan", "no yes late_timestamp")
  43308.  class Variant(collections.namedtuple("Variant", "call data rescan prune")):
  43309.      """Helper for importing one key and verifying scanned transactions."""
  43310.  
  43311. -    def try_rpc(self, func, *args, **kwargs):
  43312. -        if self.expect_disabled:
  43313. -            assert_raises_rpc_error(-4, "Rescan is disabled in pruned mode", func, *args, **kwargs)
  43314. -        else:
  43315. -            return func(*args, **kwargs)
  43316. -
  43317.      def do_import(self, timestamp):
  43318.          """Call one key import RPC."""
  43319.  
  43320.          if self.call == Call.single:
  43321.              if self.data == Data.address:
  43322. -                response = self.try_rpc(self.node.importaddress, self.address["address"], self.label,
  43323. -                                               self.rescan == Rescan.yes)
  43324. +                response, error = try_rpc(self.node.importaddress, self.address["address"], self.label,
  43325. +                                          self.rescan == Rescan.yes)
  43326.              elif self.data == Data.pub:
  43327. -                response = self.try_rpc(self.node.importpubkey, self.address["pubkey"], self.label,
  43328. -                                               self.rescan == Rescan.yes)
  43329. +                response, error = try_rpc(self.node.importpubkey, self.address["pubkey"], self.label,
  43330. +                                          self.rescan == Rescan.yes)
  43331.              elif self.data == Data.priv:
  43332. -                response = self.try_rpc(self.node.importprivkey, self.key, self.label, self.rescan == Rescan.yes)
  43333. +                response, error = try_rpc(self.node.importprivkey, self.key, self.label, self.rescan == Rescan.yes)
  43334.              assert_equal(response, None)
  43335. -
  43336. +            assert_equal(error, {'message': 'Rescan is disabled in pruned mode',
  43337. +                                 'code': -4} if self.expect_disabled else None)
  43338.          elif self.call == Call.multi:
  43339.              response = self.node.importmulti([{
  43340.                  "scriptPubKey": {
  43341. @@ -115,7 +111,8 @@ TIMESTAMP_WINDOW = 2 * 60 * 60
  43342.  
  43343.  
  43344.  class ImportRescanTest(BitcoinTestFramework):
  43345. -    def set_test_params(self):
  43346. +    def __init__(self):
  43347. +        super().__init__()
  43348.          self.num_nodes = 2 + len(IMPORT_NODES)
  43349.  
  43350.      def setup_network(self):
  43351. @@ -124,8 +121,7 @@ class ImportRescanTest(BitcoinTestFramework):
  43352.              if import_node.prune:
  43353.                  extra_args[i] += ["-prune=1"]
  43354.  
  43355. -        self.add_nodes(self.num_nodes, extra_args)
  43356. -        self.start_nodes()
  43357. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, extra_args)
  43358.          for i in range(1, self.num_nodes):
  43359.              connect_nodes(self.nodes[i], 0)
  43360.  
  43361. @@ -184,5 +180,13 @@ class ImportRescanTest(BitcoinTestFramework):
  43362.              else:
  43363.                  variant.check()
  43364.  
  43365. +
  43366. +def try_rpc(func, *args, **kwargs):
  43367. +    try:
  43368. +        return func(*args, **kwargs), None
  43369. +    except JSONRPCException as e:
  43370. +        return None, e.error
  43371. +
  43372. +
  43373.  if __name__ == "__main__":
  43374.      ImportRescanTest().main()
  43375. diff --git a/test/functional/importmulti.py b/test/functional/importmulti.py
  43376. old mode 100755
  43377. new mode 100644
  43378. index 324f645..e83e85d
  43379. --- a/test/functional/importmulti.py
  43380. +++ b/test/functional/importmulti.py
  43381. @@ -7,7 +7,8 @@ from test_framework.test_framework import BitcoinTestFramework
  43382.  from test_framework.util import *
  43383.  
  43384.  class ImportMultiTest (BitcoinTestFramework):
  43385. -    def set_test_params(self):
  43386. +    def __init__(self):
  43387. +        super().__init__()
  43388.          self.num_nodes = 2
  43389.          self.setup_clean_chain = True
  43390.  
  43391. @@ -169,18 +170,6 @@ class ImportMultiTest (BitcoinTestFramework):
  43392.          assert_equal(address_assert['ismine'], True)
  43393.          assert_equal(address_assert['timestamp'], timestamp)
  43394.  
  43395. -        self.log.info("Should not import an address with private key if is already imported")
  43396. -        result = self.nodes[1].importmulti([{
  43397. -            "scriptPubKey": {
  43398. -                "address": address['address']
  43399. -            },
  43400. -            "timestamp": "now",
  43401. -            "keys": [ self.nodes[0].dumpprivkey(address['address']) ]
  43402. -        }])
  43403. -        assert_equal(result[0]['success'], False)
  43404. -        assert_equal(result[0]['error']['code'], -4)
  43405. -        assert_equal(result[0]['error']['message'], 'The wallet already contains the private key for this address or script')
  43406. -
  43407.          # Address + Private key + watchonly
  43408.          self.log.info("Should not import an address with private key and with watchonly")
  43409.          address = self.nodes[0].validateaddress(self.nodes[0].getnewaddress())
  43410. @@ -440,7 +429,7 @@ class ImportMultiTest (BitcoinTestFramework):
  43411.  
  43412.          # restart nodes to check for proper serialization/deserialization of watch only address
  43413.          self.stop_nodes()
  43414. -        self.start_nodes()
  43415. +        self.nodes = self.start_nodes(2, self.options.tmpdir)
  43416.          address_assert = self.nodes[1].validateaddress(watchonly_address)
  43417.          assert_equal(address_assert['iswatchonly'], True)
  43418.          assert_equal(address_assert['ismine'], False)
  43419. @@ -448,11 +437,11 @@ class ImportMultiTest (BitcoinTestFramework):
  43420.  
  43421.          # Bad or missing timestamps
  43422.          self.log.info("Should throw on invalid or missing timestamp values")
  43423. -        assert_raises_rpc_error(-3, 'Missing required timestamp field for key',
  43424. +        assert_raises_message(JSONRPCException, 'Missing required timestamp field for key',
  43425.              self.nodes[1].importmulti, [{
  43426.                  "scriptPubKey": address['scriptPubKey'],
  43427.              }])
  43428. -        assert_raises_rpc_error(-3, 'Expected number or "now" timestamp value for key. got type string',
  43429. +        assert_raises_message(JSONRPCException, 'Expected number or "now" timestamp value for key. got type string',
  43430.              self.nodes[1].importmulti, [{
  43431.                  "scriptPubKey": address['scriptPubKey'],
  43432.                  "timestamp": "",
  43433. diff --git a/test/functional/importprunedfunds.py b/test/functional/importprunedfunds.py
  43434. old mode 100755
  43435. new mode 100644
  43436. index c445b66..94753fe
  43437. --- a/test/functional/importprunedfunds.py
  43438. +++ b/test/functional/importprunedfunds.py
  43439. @@ -6,8 +6,11 @@
  43440.  from test_framework.test_framework import BitcoinTestFramework
  43441.  from test_framework.util import *
  43442.  
  43443. +
  43444.  class ImportPrunedFundsTest(BitcoinTestFramework):
  43445. -    def set_test_params(self):
  43446. +
  43447. +    def __init__(self):
  43448. +        super().__init__()
  43449.          self.setup_clean_chain = True
  43450.          self.num_nodes = 2
  43451.  
  43452. @@ -67,7 +70,7 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
  43453.          self.sync_all()
  43454.  
  43455.          #Import with no affiliated address
  43456. -        assert_raises_rpc_error(-5, "No addresses", self.nodes[1].importprunedfunds, rawtxn1, proof1)
  43457. +        assert_raises_jsonrpc(-5, "No addresses", self.nodes[1].importprunedfunds, rawtxn1, proof1)
  43458.  
  43459.          balance1 = self.nodes[1].getbalance("", 0, True)
  43460.          assert_equal(balance1, Decimal(0))
  43461. @@ -79,8 +82,8 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
  43462.          assert_equal(balance2, Decimal('0.05'))
  43463.  
  43464.          #Import with private key with no rescan
  43465. -        self.nodes[1].importprivkey(privkey=address3_privkey, label="add3", rescan=False)
  43466. -        self.nodes[1].importprunedfunds(rawtxn3, proof3)
  43467. +        self.nodes[1].importprivkey(address3_privkey, "add3", False)
  43468. +        result3 = self.nodes[1].importprunedfunds(rawtxn3, proof3)
  43469.          balance3 = self.nodes[1].getbalance("add3", 0, False)
  43470.          assert_equal(balance3, Decimal('0.025'))
  43471.          balance3 = self.nodes[1].getbalance("*", 0, True)
  43472. @@ -98,7 +101,7 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
  43473.          assert_equal(address_info['ismine'], True)
  43474.  
  43475.          #Remove transactions
  43476. -        assert_raises_rpc_error(-8, "Transaction does not exist in wallet.", self.nodes[1].removeprunedfunds, txnid1)
  43477. +        assert_raises_jsonrpc(-8, "Transaction does not exist in wallet.", self.nodes[1].removeprunedfunds, txnid1)
  43478.  
  43479.          balance1 = self.nodes[1].getbalance("*", 0, True)
  43480.          assert_equal(balance1, Decimal('0.075'))
  43481. diff --git a/test/functional/invalidateblock.py b/test/functional/invalidateblock.py
  43482. old mode 100755
  43483. new mode 100644
  43484. index dd3daf1..c499d57
  43485. --- a/test/functional/invalidateblock.py
  43486. +++ b/test/functional/invalidateblock.py
  43487. @@ -8,7 +8,9 @@ from test_framework.test_framework import BitcoinTestFramework
  43488.  from test_framework.util import *
  43489.  
  43490.  class InvalidateTest(BitcoinTestFramework):
  43491. -    def set_test_params(self):
  43492. +
  43493. +    def __init__(self):
  43494. +        super().__init__()
  43495.          self.setup_clean_chain = True
  43496.          self.num_nodes = 3
  43497.  
  43498. diff --git a/test/functional/invalidblockrequest.py b/test/functional/invalidblockrequest.py
  43499. old mode 100755
  43500. new mode 100644
  43501. index 9f44b44..eabc0db
  43502. --- a/test/functional/invalidblockrequest.py
  43503. +++ b/test/functional/invalidblockrequest.py
  43504. @@ -23,9 +23,9 @@ class InvalidBlockRequestTest(ComparisonTestFramework):
  43505.  
  43506.      ''' Can either run this test as 1 node with expected answers, or two and compare them.
  43507.          Change the "outcome" variable from each TestInstance object to only do the comparison. '''
  43508. -    def set_test_params(self):
  43509. +    def __init__(self):
  43510. +        super().__init__()
  43511.          self.num_nodes = 1
  43512. -        self.setup_clean_chain = True
  43513.  
  43514.      def run_test(self):
  43515.          test = TestManager(self, self.options.tmpdir)
  43516. diff --git a/test/functional/invalidtxrequest.py b/test/functional/invalidtxrequest.py
  43517. old mode 100755
  43518. new mode 100644
  43519. index a22bd8f..a9ac231
  43520. --- a/test/functional/invalidtxrequest.py
  43521. +++ b/test/functional/invalidtxrequest.py
  43522. @@ -19,9 +19,9 @@ class InvalidTxRequestTest(ComparisonTestFramework):
  43523.  
  43524.      ''' Can either run this test as 1 node with expected answers, or two and compare them.
  43525.          Change the "outcome" variable from each TestInstance object to only do the comparison. '''
  43526. -    def set_test_params(self):
  43527. +    def __init__(self):
  43528. +        super().__init__()
  43529.          self.num_nodes = 1
  43530. -        self.setup_clean_chain = True
  43531.  
  43532.      def run_test(self):
  43533.          test = TestManager(self, self.options.tmpdir)
  43534. diff --git a/test/functional/keypool-topup.py b/test/functional/keypool-topup.py
  43535. old mode 100755
  43536. new mode 100644
  43537. index 8302e3e..0e0c0ea
  43538. --- a/test/functional/keypool-topup.py
  43539. +++ b/test/functional/keypool-topup.py
  43540. @@ -20,7 +20,8 @@ from test_framework.util import (
  43541.  )
  43542.  
  43543.  class KeypoolRestoreTest(BitcoinTestFramework):
  43544. -    def set_test_params(self):
  43545. +    def __init__(self):
  43546. +        super().__init__()
  43547.          self.setup_clean_chain = True
  43548.          self.num_nodes = 2
  43549.          self.extra_args = [['-usehd=0'], ['-usehd=1', '-keypool=100', '-keypoolmin=20']]
  43550. @@ -34,7 +35,7 @@ class KeypoolRestoreTest(BitcoinTestFramework):
  43551.          self.stop_node(1)
  43552.  
  43553.          shutil.copyfile(self.tmpdir + "/node1/regtest/wallet.dat", self.tmpdir + "/wallet.bak")
  43554. -        self.start_node(1, self.extra_args[1])
  43555. +        self.nodes[1] = self.start_node(1, self.tmpdir, self.extra_args[1])
  43556.          connect_nodes_bi(self.nodes, 0, 1)
  43557.  
  43558.          self.log.info("Generate keys for wallet")
  43559. @@ -60,7 +61,7 @@ class KeypoolRestoreTest(BitcoinTestFramework):
  43560.  
  43561.          self.log.info("Verify keypool is restored and balance is correct")
  43562.  
  43563. -        self.start_node(1, self.extra_args[1])
  43564. +        self.nodes[1] = self.start_node(1, self.tmpdir, self.extra_args[1])
  43565.          connect_nodes_bi(self.nodes, 0, 1)
  43566.          self.sync_all()
  43567.  
  43568. diff --git a/test/functional/keypool.py b/test/functional/keypool.py
  43569. old mode 100755
  43570. new mode 100644
  43571. index f2701c3..e8be559
  43572. --- a/test/functional/keypool.py
  43573. +++ b/test/functional/keypool.py
  43574. @@ -8,8 +8,6 @@ from test_framework.test_framework import BitcoinTestFramework
  43575.  from test_framework.util import *
  43576.  
  43577.  class KeyPoolTest(BitcoinTestFramework):
  43578. -    def set_test_params(self):
  43579. -        self.num_nodes = 1
  43580.  
  43581.      def run_test(self):
  43582.          nodes = self.nodes
  43583. @@ -19,16 +17,17 @@ class KeyPoolTest(BitcoinTestFramework):
  43584.          assert(addr_before_encrypting_data['hdmasterkeyid'] == wallet_info_old['hdmasterkeyid'])
  43585.          
  43586.          # Encrypt wallet and wait to terminate
  43587. -        nodes[0].node_encrypt_wallet('test')
  43588. +        nodes[0].encryptwallet('test')
  43589. +        self.bitcoind_processes[0].wait()
  43590.          # Restart node 0
  43591. -        self.start_node(0)
  43592. +        nodes[0] = self.start_node(0, self.options.tmpdir)
  43593.          # Keep creating keys
  43594.          addr = nodes[0].getnewaddress()
  43595.          addr_data = nodes[0].validateaddress(addr)
  43596.          wallet_info = nodes[0].getwalletinfo()
  43597.          assert(addr_before_encrypting_data['hdmasterkeyid'] != wallet_info['hdmasterkeyid'])
  43598.          assert(addr_data['hdmasterkeyid'] == wallet_info['hdmasterkeyid'])
  43599. -        assert_raises_rpc_error(-12, "Error: Keypool ran out, please call keypoolrefill first", nodes[0].getnewaddress)
  43600. +        assert_raises_jsonrpc(-12, "Error: Keypool ran out, please call keypoolrefill first", nodes[0].getnewaddress)
  43601.  
  43602.          # put six (plus 2) new keys in the keypool (100% external-, +100% internal-keys, 1 in min)
  43603.          nodes[0].walletpassphrase('test', 12000)
  43604. @@ -47,7 +46,7 @@ class KeyPoolTest(BitcoinTestFramework):
  43605.          nodes[0].getrawchangeaddress()
  43606.          addr = set()
  43607.          # the next one should fail
  43608. -        assert_raises_rpc_error(-12, "Keypool ran out", nodes[0].getrawchangeaddress)
  43609. +        assert_raises_jsonrpc(-12, "Keypool ran out", nodes[0].getrawchangeaddress)
  43610.  
  43611.          # drain the external keys
  43612.          addr.add(nodes[0].getnewaddress())
  43613. @@ -58,7 +57,7 @@ class KeyPoolTest(BitcoinTestFramework):
  43614.          addr.add(nodes[0].getnewaddress())
  43615.          assert(len(addr) == 6)
  43616.          # the next one should fail
  43617. -        assert_raises_rpc_error(-12, "Error: Keypool ran out, please call keypoolrefill first", nodes[0].getnewaddress)
  43618. +        assert_raises_jsonrpc(-12, "Error: Keypool ran out, please call keypoolrefill first", nodes[0].getnewaddress)
  43619.  
  43620.          # refill keypool with three new addresses
  43621.          nodes[0].walletpassphrase('test', 1)
  43622. @@ -72,7 +71,7 @@ class KeyPoolTest(BitcoinTestFramework):
  43623.          nodes[0].generate(1)
  43624.          nodes[0].generate(1)
  43625.          nodes[0].generate(1)
  43626. -        assert_raises_rpc_error(-12, "Keypool ran out", nodes[0].generate, 1)
  43627. +        assert_raises_jsonrpc(-12, "Keypool ran out", nodes[0].generate, 1)
  43628.  
  43629.          nodes[0].walletpassphrase('test', 100)
  43630.          nodes[0].keypoolrefill(100)
  43631. @@ -80,5 +79,10 @@ class KeyPoolTest(BitcoinTestFramework):
  43632.          assert_equal(wi['keypoolsize_hd_internal'], 100)
  43633.          assert_equal(wi['keypoolsize'], 100)
  43634.  
  43635. +    def __init__(self):
  43636. +        super().__init__()
  43637. +        self.setup_clean_chain = False
  43638. +        self.num_nodes = 1
  43639. +
  43640.  if __name__ == '__main__':
  43641.      KeyPoolTest().main()
  43642. diff --git a/test/functional/listsinceblock.py b/test/functional/listsinceblock.py
  43643. old mode 100755
  43644. new mode 100644
  43645. index 67e7744..ce2d556
  43646. --- a/test/functional/listsinceblock.py
  43647. +++ b/test/functional/listsinceblock.py
  43648. @@ -5,54 +5,23 @@
  43649.  """Test the listsincelast RPC."""
  43650.  
  43651.  from test_framework.test_framework import BitcoinTestFramework
  43652. -from test_framework.util import assert_equal, assert_array_result, assert_raises_rpc_error
  43653. +from test_framework.util import assert_equal
  43654.  
  43655.  class ListSinceBlockTest (BitcoinTestFramework):
  43656. -    def set_test_params(self):
  43657. -        self.num_nodes = 4
  43658. +
  43659. +    def __init__(self):
  43660. +        super().__init__()
  43661.          self.setup_clean_chain = True
  43662. +        self.num_nodes = 4
  43663.  
  43664.      def run_test(self):
  43665.          self.nodes[2].generate(101)
  43666.          self.sync_all()
  43667.  
  43668. -        self.test_no_blockhash()
  43669. -        self.test_invalid_blockhash()
  43670.          self.test_reorg()
  43671.          self.test_double_spend()
  43672.          self.test_double_send()
  43673.  
  43674. -    def test_no_blockhash(self):
  43675. -        txid = self.nodes[2].sendtoaddress(self.nodes[0].getnewaddress(), 1)
  43676. -        blockhash, = self.nodes[2].generate(1)
  43677. -        self.sync_all()
  43678. -
  43679. -        txs = self.nodes[0].listtransactions()
  43680. -        assert_array_result(txs, {"txid": txid}, {
  43681. -            "category": "receive",
  43682. -            "amount": 1,
  43683. -            "blockhash": blockhash,
  43684. -            "confirmations": 1,
  43685. -        })
  43686. -        assert_equal(
  43687. -            self.nodes[0].listsinceblock(),
  43688. -            {"lastblock": blockhash,
  43689. -             "removed": [],
  43690. -             "transactions": txs})
  43691. -        assert_equal(
  43692. -            self.nodes[0].listsinceblock(""),
  43693. -            {"lastblock": blockhash,
  43694. -             "removed": [],
  43695. -             "transactions": txs})
  43696. -
  43697. -    def test_invalid_blockhash(self):
  43698. -        assert_raises_rpc_error(-5, "Block not found", self.nodes[0].listsinceblock,
  43699. -                                "42759cde25462784395a337460bde75f58e73d3f08bd31fdc3507cbac856a2c4")
  43700. -        assert_raises_rpc_error(-5, "Block not found", self.nodes[0].listsinceblock,
  43701. -                                "0000000000000000000000000000000000000000000000000000000000000000")
  43702. -        assert_raises_rpc_error(-5, "Block not found", self.nodes[0].listsinceblock,
  43703. -                                "invalid-hex")
  43704. -
  43705.      def test_reorg(self):
  43706.          '''
  43707.          `listsinceblock` did not behave correctly when handed a block that was
  43708. diff --git a/test/functional/listtransactions.py b/test/functional/listtransactions.py
  43709. old mode 100755
  43710. new mode 100644
  43711. index 0dd838e..f75a8e2
  43712. --- a/test/functional/listtransactions.py
  43713. +++ b/test/functional/listtransactions.py
  43714. @@ -16,9 +16,15 @@ def txFromHex(hexstring):
  43715.      return tx
  43716.  
  43717.  class ListTransactionsTest(BitcoinTestFramework):
  43718. -    def set_test_params(self):
  43719. -        self.num_nodes = 2
  43720. +    def __init__(self):
  43721. +        super().__init__()
  43722. +        self.num_nodes = 4
  43723. +        self.setup_clean_chain = False
  43724. +
  43725. +    def setup_nodes(self):
  43726. +        #This test requires mocktime
  43727.          self.enable_mocktime()
  43728. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir)
  43729.  
  43730.      def run_test(self):
  43731.          # Simple send, 0 to 1:
  43732. @@ -90,8 +96,8 @@ class ListTransactionsTest(BitcoinTestFramework):
  43733.          assert_array_result(self.nodes[0].listtransactions("watchonly", 100, 0, True),
  43734.                             {"category":"receive","amount":Decimal("0.1")},
  43735.                             {"txid":txid, "account" : "watchonly"} )
  43736. -    # Litecoin has RBF disabled
  43737. -    #    self.run_rbf_opt_in_test()
  43738. +
  43739. +        self.run_rbf_opt_in_test()
  43740.  
  43741.      # Check that the opt-in-rbf flag works properly, for sent and received
  43742.      # transactions.
  43743. diff --git a/test/functional/maxuploadtarget.py b/test/functional/maxuploadtarget.py
  43744. old mode 100755
  43745. new mode 100644
  43746. index 1f40279..66e5bd2
  43747. --- a/test/functional/maxuploadtarget.py
  43748. +++ b/test/functional/maxuploadtarget.py
  43749. @@ -31,7 +31,8 @@ class TestNode(NodeConnCB):
  43750.  
  43751.  class MaxUploadTest(BitcoinTestFramework):
  43752.  
  43753. -    def set_test_params(self):
  43754. +    def __init__(self):
  43755. +        super().__init__()
  43756.          self.setup_clean_chain = True
  43757.          self.num_nodes = 1
  43758.          self.extra_args = [["-maxuploadtarget=800", "-blockmaxsize=999000"]]
  43759. @@ -146,7 +147,7 @@ class MaxUploadTest(BitcoinTestFramework):
  43760.          #stop and start node 0 with 1MB maxuploadtarget, whitelist 127.0.0.1
  43761.          self.log.info("Restarting nodes with -whitelist=127.0.0.1")
  43762.          self.stop_node(0)
  43763. -        self.start_node(0, ["-whitelist=127.0.0.1", "-maxuploadtarget=1", "-blockmaxsize=999000"])
  43764. +        self.nodes[0] = self.start_node(0, self.options.tmpdir, ["-whitelist=127.0.0.1", "-maxuploadtarget=1", "-blockmaxsize=999000"])
  43765.  
  43766.          #recreate/reconnect a test node
  43767.          test_nodes = [TestNode()]
  43768. diff --git a/test/functional/mempool_limit.py b/test/functional/mempool_limit.py
  43769. old mode 100755
  43770. new mode 100644
  43771. index ca7fb92..ae59eb6
  43772. --- a/test/functional/mempool_limit.py
  43773. +++ b/test/functional/mempool_limit.py
  43774. @@ -8,10 +8,12 @@ from test_framework.test_framework import BitcoinTestFramework
  43775.  from test_framework.util import *
  43776.  
  43777.  class MempoolLimitTest(BitcoinTestFramework):
  43778. -    def set_test_params(self):
  43779. +
  43780. +    def __init__(self):
  43781. +        super().__init__()
  43782.          self.setup_clean_chain = True
  43783.          self.num_nodes = 1
  43784. -        self.extra_args = [["-maxmempool=5", "-mintxfee=0.00001", "-spendzeroconfchange=0"]]
  43785. +        self.extra_args = [["-maxmempool=5", "-spendzeroconfchange=0"]]
  43786.  
  43787.      def run_test(self):
  43788.          txouts = gen_return_txouts()
  43789. diff --git a/test/functional/mempool_packages.py b/test/functional/mempool_packages.py
  43790. old mode 100755
  43791. new mode 100644
  43792. index 6d3849b..e225493
  43793. --- a/test/functional/mempool_packages.py
  43794. +++ b/test/functional/mempool_packages.py
  43795. @@ -12,8 +12,10 @@ MAX_ANCESTORS = 25
  43796.  MAX_DESCENDANTS = 25
  43797.  
  43798.  class MempoolPackagesTest(BitcoinTestFramework):
  43799. -    def set_test_params(self):
  43800. +    def __init__(self):
  43801. +        super().__init__()
  43802.          self.num_nodes = 2
  43803. +        self.setup_clean_chain = False
  43804.          self.extra_args = [["-maxorphantx=1000"], ["-maxorphantx=1000", "-limitancestorcount=5"]]
  43805.  
  43806.      # Build a transaction that spends parent_txid:vout
  43807. @@ -115,7 +117,7 @@ class MempoolPackagesTest(BitcoinTestFramework):
  43808.              assert_equal(mempool[x]['descendantfees'], descendant_fees * COIN + 1000)
  43809.  
  43810.          # Adding one more transaction on to the chain should fail.
  43811. -        assert_raises_rpc_error(-26, "too-long-mempool-chain", self.chain_transaction, self.nodes[0], txid, vout, value, fee, 1)
  43812. +        assert_raises_jsonrpc(-26, "too-long-mempool-chain", self.chain_transaction, self.nodes[0], txid, vout, value, fee, 1)
  43813.  
  43814.          # Check that prioritising a tx before it's added to the mempool works
  43815.          # First clear the mempool by mining a block.
  43816. @@ -167,7 +169,7 @@ class MempoolPackagesTest(BitcoinTestFramework):
  43817.  
  43818.          # Sending one more chained transaction will fail
  43819.          utxo = transaction_package.pop(0)
  43820. -        assert_raises_rpc_error(-26, "too-long-mempool-chain", self.chain_transaction, self.nodes[0], utxo['txid'], utxo['vout'], utxo['amount'], fee, 10)
  43821. +        assert_raises_jsonrpc(-26, "too-long-mempool-chain", self.chain_transaction, self.nodes[0], utxo['txid'], utxo['vout'], utxo['amount'], fee, 10)
  43822.  
  43823.          # TODO: check that node1's mempool is as expected
  43824.  
  43825. diff --git a/test/functional/mempool_persist.py b/test/functional/mempool_persist.py
  43826. old mode 100755
  43827. new mode 100644
  43828. index 01f65b1..e0889fd
  43829. --- a/test/functional/mempool_persist.py
  43830. +++ b/test/functional/mempool_persist.py
  43831. @@ -32,12 +32,17 @@ Test is as follows:
  43832.  """
  43833.  import time
  43834.  
  43835. +from test_framework.mininode import wait_until
  43836.  from test_framework.test_framework import BitcoinTestFramework
  43837.  from test_framework.util import *
  43838.  
  43839.  class MempoolPersistTest(BitcoinTestFramework):
  43840. -    def set_test_params(self):
  43841. +
  43842. +    def __init__(self):
  43843. +        super().__init__()
  43844. +        # We need 3 nodes for this test. Node1 does not have a persistent mempool.
  43845.          self.num_nodes = 3
  43846. +        self.setup_clean_chain = False
  43847.          self.extra_args = [[], ["-persistmempool=0"], []]
  43848.  
  43849.      def run_test(self):
  43850. @@ -59,24 +64,27 @@ class MempoolPersistTest(BitcoinTestFramework):
  43851.  
  43852.          self.log.debug("Stop-start node0 and node1. Verify that node0 has the transactions in its mempool and node1 does not.")
  43853.          self.stop_nodes()
  43854. -        self.start_node(0)
  43855. -        self.start_node(1)
  43856. +        self.nodes = []
  43857. +        self.nodes.append(self.start_node(0, self.options.tmpdir))
  43858. +        self.nodes.append(self.start_node(1, self.options.tmpdir))
  43859.          # Give bitcoind a second to reload the mempool
  43860.          time.sleep(1)
  43861. -        wait_until(lambda: len(self.nodes[0].getrawmempool()) == 5)
  43862. +        assert wait_until(lambda: len(self.nodes[0].getrawmempool()) == 5)
  43863.          assert_equal(len(self.nodes[1].getrawmempool()), 0)
  43864.  
  43865.          self.log.debug("Stop-start node0 with -persistmempool=0. Verify that it doesn't load its mempool.dat file.")
  43866.          self.stop_nodes()
  43867. -        self.start_node(0, extra_args=["-persistmempool=0"])
  43868. +        self.nodes = []
  43869. +        self.nodes.append(self.start_node(0, self.options.tmpdir, ["-persistmempool=0"]))
  43870.          # Give bitcoind a second to reload the mempool
  43871.          time.sleep(1)
  43872.          assert_equal(len(self.nodes[0].getrawmempool()), 0)
  43873.  
  43874.          self.log.debug("Stop-start node0. Verify that it has the transactions in its mempool.")
  43875.          self.stop_nodes()
  43876. -        self.start_node(0)
  43877. -        wait_until(lambda: len(self.nodes[0].getrawmempool()) == 5)
  43878. +        self.nodes = []
  43879. +        self.nodes.append(self.start_node(0, self.options.tmpdir))
  43880. +        assert wait_until(lambda: len(self.nodes[0].getrawmempool()) == 5)
  43881.  
  43882.  if __name__ == '__main__':
  43883.      MempoolPersistTest().main()
  43884. diff --git a/test/functional/mempool_reorg.py b/test/functional/mempool_reorg.py
  43885. old mode 100755
  43886. new mode 100644
  43887. index 2803371..937bf4b
  43888. --- a/test/functional/mempool_reorg.py
  43889. +++ b/test/functional/mempool_reorg.py
  43890. @@ -13,8 +13,10 @@ from test_framework.util import *
  43891.  
  43892.  # Create one-input, one-output, no-fee transaction:
  43893.  class MempoolCoinbaseTest(BitcoinTestFramework):
  43894. -    def set_test_params(self):
  43895. +    def __init__(self):
  43896. +        super().__init__()
  43897.          self.num_nodes = 2
  43898. +        self.setup_clean_chain = False
  43899.          self.extra_args = [["-checkmempool"]] * 2
  43900.  
  43901.      alert_filename = None  # Set by setup_network
  43902. @@ -50,14 +52,14 @@ class MempoolCoinbaseTest(BitcoinTestFramework):
  43903.          timelock_tx = timelock_tx[:-8] + hex(self.nodes[0].getblockcount() + 2)[2:] + "000000"
  43904.          timelock_tx = self.nodes[0].signrawtransaction(timelock_tx)["hex"]
  43905.          # This will raise an exception because the timelock transaction is too immature to spend
  43906. -        assert_raises_rpc_error(-26, "non-final", self.nodes[0].sendrawtransaction, timelock_tx)
  43907. +        assert_raises_jsonrpc(-26, "non-final", self.nodes[0].sendrawtransaction, timelock_tx)
  43908.  
  43909.          # Broadcast and mine spend_102 and 103:
  43910.          spend_102_id = self.nodes[0].sendrawtransaction(spend_102_raw)
  43911.          spend_103_id = self.nodes[0].sendrawtransaction(spend_103_raw)
  43912.          self.nodes[0].generate(1)
  43913.          # Time-locked transaction is still too immature to spend
  43914. -        assert_raises_rpc_error(-26,'non-final', self.nodes[0].sendrawtransaction, timelock_tx)
  43915. +        assert_raises_jsonrpc(-26,'non-final', self.nodes[0].sendrawtransaction, timelock_tx)
  43916.  
  43917.          # Create 102_1 and 103_1:
  43918.          spend_102_1_raw = create_tx(self.nodes[0], spend_102_id, node1_address, 49.98)
  43919. diff --git a/test/functional/mempool_resurrect_test.py b/test/functional/mempool_resurrect_test.py
  43920. old mode 100755
  43921. new mode 100644
  43922. index 1263c93..a2f6228
  43923. --- a/test/functional/mempool_resurrect_test.py
  43924. +++ b/test/functional/mempool_resurrect_test.py
  43925. @@ -9,8 +9,12 @@ from test_framework.util import *
  43926.  
  43927.  # Create one-input, one-output, no-fee transaction:
  43928.  class MempoolCoinbaseTest(BitcoinTestFramework):
  43929. -    def set_test_params(self):
  43930. +
  43931. +    def __init__(self):
  43932. +        super().__init__()
  43933.          self.num_nodes = 1
  43934. +        self.setup_clean_chain = False
  43935. +        # Just need one node for this test
  43936.          self.extra_args = [["-checkmempool"]]
  43937.  
  43938.      def run_test(self):
  43939. diff --git a/test/functional/mempool_spendcoinbase.py b/test/functional/mempool_spendcoinbase.py
  43940. old mode 100755
  43941. new mode 100644
  43942. index 6e8a635..277ea45
  43943. --- a/test/functional/mempool_spendcoinbase.py
  43944. +++ b/test/functional/mempool_spendcoinbase.py
  43945. @@ -17,8 +17,11 @@ from test_framework.util import *
  43946.  
  43947.  # Create one-input, one-output, no-fee transaction:
  43948.  class MempoolSpendCoinbaseTest(BitcoinTestFramework):
  43949. -    def set_test_params(self):
  43950. +
  43951. +    def __init__(self):
  43952. +        super().__init__()
  43953.          self.num_nodes = 1
  43954. +        self.setup_clean_chain = False
  43955.          self.extra_args = [["-checkmempool"]]
  43956.  
  43957.      def run_test(self):
  43958. @@ -36,7 +39,7 @@ class MempoolSpendCoinbaseTest(BitcoinTestFramework):
  43959.          spend_101_id = self.nodes[0].sendrawtransaction(spends_raw[0])
  43960.  
  43961.          # coinbase at height 102 should be too immature to spend
  43962. -        assert_raises_rpc_error(-26,"bad-txns-premature-spend-of-coinbase", self.nodes[0].sendrawtransaction, spends_raw[1])
  43963. +        assert_raises_jsonrpc(-26,"bad-txns-premature-spend-of-coinbase", self.nodes[0].sendrawtransaction, spends_raw[1])
  43964.  
  43965.          # mempool should have just spend_101:
  43966.          assert_equal(self.nodes[0].getrawmempool(), [ spend_101_id ])
  43967. diff --git a/test/functional/merkle_blocks.py b/test/functional/merkle_blocks.py
  43968. old mode 100755
  43969. new mode 100644
  43970. index b3989a4..bcc65c8
  43971. --- a/test/functional/merkle_blocks.py
  43972. +++ b/test/functional/merkle_blocks.py
  43973. @@ -8,9 +8,11 @@ from test_framework.test_framework import BitcoinTestFramework
  43974.  from test_framework.util import *
  43975.  
  43976.  class MerkleBlockTest(BitcoinTestFramework):
  43977. -    def set_test_params(self):
  43978. -        self.num_nodes = 4
  43979. +
  43980. +    def __init__(self):
  43981. +        super().__init__()
  43982.          self.setup_clean_chain = True
  43983. +        self.num_nodes = 4
  43984.          # Nodes 0/1 are "wallet" nodes, Nodes 2/3 are used for testing
  43985.          self.extra_args = [[], [], [], ["-txindex"]]
  43986.  
  43987. @@ -38,7 +40,7 @@ class MerkleBlockTest(BitcoinTestFramework):
  43988.          tx2 = self.nodes[0].createrawtransaction([node0utxos.pop()], {self.nodes[1].getnewaddress(): 49.99})
  43989.          txid2 = self.nodes[0].sendrawtransaction(self.nodes[0].signrawtransaction(tx2)["hex"])
  43990.          # This will raise an exception because the transaction is not yet in a block
  43991. -        assert_raises_rpc_error(-5, "Transaction not yet in block", self.nodes[0].gettxoutproof, [txid1])
  43992. +        assert_raises_jsonrpc(-5, "Transaction not yet in block", self.nodes[0].gettxoutproof, [txid1])
  43993.  
  43994.          self.nodes[0].generate(1)
  43995.          blockhash = self.nodes[0].getblockhash(chain_height + 1)
  43996. @@ -63,11 +65,11 @@ class MerkleBlockTest(BitcoinTestFramework):
  43997.          txid_unspent = txid1 if txin_spent["txid"] != txid1 else txid2
  43998.  
  43999.          # We can't find the block from a fully-spent tx
  44000. -        assert_raises_rpc_error(-5, "Transaction not yet in block", self.nodes[2].gettxoutproof, [txid_spent])
  44001. +        assert_raises_jsonrpc(-5, "Transaction not yet in block", self.nodes[2].gettxoutproof, [txid_spent])
  44002.          # We can get the proof if we specify the block
  44003.          assert_equal(self.nodes[2].verifytxoutproof(self.nodes[2].gettxoutproof([txid_spent], blockhash)), [txid_spent])
  44004.          # We can't get the proof if we specify a non-existent block
  44005. -        assert_raises_rpc_error(-5, "Block not found", self.nodes[2].gettxoutproof, [txid_spent], "00000000000000000000000000000000")
  44006. +        assert_raises_jsonrpc(-5, "Block not found", self.nodes[2].gettxoutproof, [txid_spent], "00000000000000000000000000000000")
  44007.          # We can get the proof if the transaction is unspent
  44008.          assert_equal(self.nodes[2].verifytxoutproof(self.nodes[2].gettxoutproof([txid_unspent])), [txid_unspent])
  44009.          # We can get the proof if we provide a list of transactions and one of them is unspent. The ordering of the list should not matter.
  44010. @@ -76,7 +78,7 @@ class MerkleBlockTest(BitcoinTestFramework):
  44011.          # We can always get a proof if we have a -txindex
  44012.          assert_equal(self.nodes[2].verifytxoutproof(self.nodes[3].gettxoutproof([txid_spent])), [txid_spent])
  44013.          # We can't get a proof if we specify transactions from different blocks
  44014. -        assert_raises_rpc_error(-5, "Not all transactions found in specified or retrieved block", self.nodes[2].gettxoutproof, [txid1, txid3])
  44015. +        assert_raises_jsonrpc(-5, "Not all transactions found in specified or retrieved block", self.nodes[2].gettxoutproof, [txid1, txid3])
  44016.  
  44017.  
  44018.  if __name__ == '__main__':
  44019. diff --git a/test/functional/minchainwork.py b/test/functional/minchainwork.py
  44020. deleted file mode 100755
  44021. index e136dc2..0000000
  44022. --- a/test/functional/minchainwork.py
  44023. +++ /dev/null
  44024. @@ -1,93 +0,0 @@
  44025. -#!/usr/bin/env python3
  44026. -# Copyright (c) 2017 The Bitcoin Core developers
  44027. -# Distributed under the MIT software license, see the accompanying
  44028. -# file COPYING or http://www.opensource.org/licenses/mit-license.php.
  44029. -"""Test logic for setting nMinimumChainWork on command line.
  44030. -
  44031. -Nodes don't consider themselves out of "initial block download" until
  44032. -their active chain has more work than nMinimumChainWork.
  44033. -
  44034. -Nodes don't download blocks from a peer unless the peer's best known block
  44035. -has more work than nMinimumChainWork.
  44036. -
  44037. -While in initial block download, nodes won't relay blocks to their peers, so
  44038. -test that this parameter functions as intended by verifying that block relay
  44039. -only succeeds past a given node once its nMinimumChainWork has been exceeded.
  44040. -"""
  44041. -
  44042. -import time
  44043. -
  44044. -from test_framework.test_framework import BitcoinTestFramework
  44045. -from test_framework.util import sync_blocks, connect_nodes, assert_equal
  44046. -
  44047. -# 2 hashes required per regtest block (with no difficulty adjustment)
  44048. -REGTEST_WORK_PER_BLOCK = 2
  44049. -
  44050. -class MinimumChainWorkTest(BitcoinTestFramework):
  44051. -    def set_test_params(self):
  44052. -        self.setup_clean_chain = True
  44053. -        self.num_nodes = 3
  44054. -
  44055. -        self.extra_args = [[], ["-minimumchainwork=0x65"], ["-minimumchainwork=0x65"]]
  44056. -        self.node_min_work = [0, 101, 101]
  44057. -
  44058. -    def setup_network(self):
  44059. -        # This test relies on the chain setup being:
  44060. -        # node0 <- node1 <- node2
  44061. -        # Before leaving IBD, nodes prefer to download blocks from outbound
  44062. -        # peers, so ensure that we're mining on an outbound peer and testing
  44063. -        # block relay to inbound peers.
  44064. -        self.setup_nodes()
  44065. -        for i in range(self.num_nodes-1):
  44066. -            connect_nodes(self.nodes[i+1], i)
  44067. -
  44068. -    def run_test(self):
  44069. -        # Start building a chain on node0.  node2 shouldn't be able to sync until node1's
  44070. -        # minchainwork is exceeded
  44071. -        starting_chain_work = REGTEST_WORK_PER_BLOCK # Genesis block's work
  44072. -        self.log.info("Testing relay across node %d (minChainWork = %d)", 1, self.node_min_work[1])
  44073. -
  44074. -        starting_blockcount = self.nodes[2].getblockcount()
  44075. -
  44076. -        num_blocks_to_generate = int((self.node_min_work[1] - starting_chain_work) / REGTEST_WORK_PER_BLOCK)
  44077. -        self.log.info("Generating %d blocks on node0", num_blocks_to_generate)
  44078. -        hashes = self.nodes[0].generate(num_blocks_to_generate)
  44079. -
  44080. -        self.log.info("Node0 current chain work: %s", self.nodes[0].getblockheader(hashes[-1])['chainwork'])
  44081. -
  44082. -        # Sleep a few seconds and verify that node2 didn't get any new blocks
  44083. -        # or headers.  We sleep, rather than sync_blocks(node0, node1) because
  44084. -        # it's reasonable either way for node1 to get the blocks, or not get
  44085. -        # them (since they're below node1's minchainwork).
  44086. -        time.sleep(3)
  44087. -
  44088. -        self.log.info("Verifying node 2 has no more blocks than before")
  44089. -        self.log.info("Blockcounts: %s", [n.getblockcount() for n in self.nodes])
  44090. -        # Node2 shouldn't have any new headers yet, because node1 should not
  44091. -        # have relayed anything.
  44092. -        assert_equal(len(self.nodes[2].getchaintips()), 1)
  44093. -        assert_equal(self.nodes[2].getchaintips()[0]['height'], 0)
  44094. -
  44095. -        assert self.nodes[1].getbestblockhash() != self.nodes[0].getbestblockhash()
  44096. -        assert_equal(self.nodes[2].getblockcount(), starting_blockcount)
  44097. -
  44098. -        self.log.info("Generating one more block")
  44099. -        self.nodes[0].generate(1)
  44100. -
  44101. -        self.log.info("Verifying nodes are all synced")
  44102. -
  44103. -        # Because nodes in regtest are all manual connections (eg using
  44104. -        # addnode), node1 should not have disconnected node0. If not for that,
  44105. -        # we'd expect node1 to have disconnected node0 for serving an
  44106. -        # insufficient work chain, in which case we'd need to reconnect them to
  44107. -        # continue the test.
  44108. -        # NOTE: before commit 44407100ff9b478d6131a1c38ee993b50b1830df, regtest
  44109. -        # connections were not manual, so the reconnect is necessary.
  44110. -        if (len(self.nodes[0].getpeerinfo()) == 0):
  44111. -            connect_nodes(self.nodes[1], 0)
  44112. -
  44113. -        self.sync_all()
  44114. -        self.log.info("Blockcounts: %s", [n.getblockcount() for n in self.nodes])
  44115. -
  44116. -if __name__ == '__main__':
  44117. -    MinimumChainWorkTest().main()
  44118. diff --git a/test/functional/mining.py b/test/functional/mining.py
  44119. old mode 100755
  44120. new mode 100644
  44121. index 9aee068..dbd4e29
  44122. --- a/test/functional/mining.py
  44123. +++ b/test/functional/mining.py
  44124. @@ -4,18 +4,16 @@
  44125.  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
  44126.  """Test mining RPCs
  44127.  
  44128. -- getmininginfo
  44129.  - getblocktemplate proposal mode
  44130.  - submitblock"""
  44131.  
  44132. -import copy
  44133.  from binascii import b2a_hex
  44134. -from decimal import Decimal
  44135. +import copy
  44136.  
  44137.  from test_framework.blocktools import create_coinbase
  44138. -from test_framework.mininode import CBlock
  44139.  from test_framework.test_framework import BitcoinTestFramework
  44140. -from test_framework.util import assert_equal, assert_raises_rpc_error
  44141. +from test_framework.mininode import CBlock
  44142. +from test_framework.util import *
  44143.  
  44144.  def b2x(b):
  44145.      return b2a_hex(b).decode('ascii')
  44146. @@ -27,23 +25,14 @@ def assert_template(node, block, expect, rehash=True):
  44147.      assert_equal(rsp, expect)
  44148.  
  44149.  class MiningTest(BitcoinTestFramework):
  44150. -    def set_test_params(self):
  44151. +
  44152. +    def __init__(self):
  44153. +        super().__init__()
  44154.          self.num_nodes = 2
  44155.          self.setup_clean_chain = False
  44156.  
  44157.      def run_test(self):
  44158.          node = self.nodes[0]
  44159. -
  44160. -        self.log.info('getmininginfo')
  44161. -        mining_info = node.getmininginfo()
  44162. -        assert_equal(mining_info['blocks'], 200)
  44163. -        assert_equal(mining_info['chain'], 'regtest')
  44164. -        assert_equal(mining_info['currentblocktx'], 0)
  44165. -        assert_equal(mining_info['currentblockweight'], 0)
  44166. -        assert_equal(mining_info['difficulty'], Decimal('4.656542373906925E-10'))
  44167. -        assert_equal(mining_info['networkhashps'], Decimal('0.003333333333333334'))
  44168. -        assert_equal(mining_info['pooledtx'], 0)
  44169. -
  44170.          # Mine a block to leave initial block download
  44171.          node.generate(1)
  44172.          tmpl = node.getblocktemplate()
  44173. @@ -68,7 +57,7 @@ class MiningTest(BitcoinTestFramework):
  44174.          assert_template(node, block, None)
  44175.  
  44176.          self.log.info("submitblock: Test block decode failure")
  44177. -        assert_raises_rpc_error(-22, "Block decode failed", node.submitblock, b2x(block.serialize()[:-15]))
  44178. +        assert_raises_jsonrpc(-22, "Block decode failed", node.submitblock, b2x(block.serialize()[:-15]))
  44179.  
  44180.          self.log.info("getblocktemplate: Test bad input hash for coinbase transaction")
  44181.          bad_block = copy.deepcopy(block)
  44182. @@ -77,10 +66,10 @@ class MiningTest(BitcoinTestFramework):
  44183.          assert_template(node, bad_block, 'bad-cb-missing')
  44184.  
  44185.          self.log.info("submitblock: Test invalid coinbase transaction")
  44186. -        assert_raises_rpc_error(-22, "Block does not start with a coinbase", node.submitblock, b2x(bad_block.serialize()))
  44187. +        assert_raises_jsonrpc(-22, "Block does not start with a coinbase", node.submitblock, b2x(bad_block.serialize()))
  44188.  
  44189.          self.log.info("getblocktemplate: Test truncated final transaction")
  44190. -        assert_raises_rpc_error(-22, "Block decode failed", node.getblocktemplate, {'data': b2x(block.serialize()[:-1]), 'mode': 'proposal'})
  44191. +        assert_raises_jsonrpc(-22, "Block decode failed", node.getblocktemplate, {'data': b2x(block.serialize()[:-1]), 'mode': 'proposal'})
  44192.  
  44193.          self.log.info("getblocktemplate: Test duplicate transaction")
  44194.          bad_block = copy.deepcopy(block)
  44195. @@ -107,7 +96,7 @@ class MiningTest(BitcoinTestFramework):
  44196.          bad_block_sn = bytearray(block.serialize())
  44197.          assert_equal(bad_block_sn[TX_COUNT_OFFSET], 1)
  44198.          bad_block_sn[TX_COUNT_OFFSET] += 1
  44199. -        assert_raises_rpc_error(-22, "Block decode failed", node.getblocktemplate, {'data': b2x(bad_block_sn), 'mode': 'proposal'})
  44200. +        assert_raises_jsonrpc(-22, "Block decode failed", node.getblocktemplate, {'data': b2x(bad_block_sn), 'mode': 'proposal'})
  44201.  
  44202.          self.log.info("getblocktemplate: Test bad bits")
  44203.          bad_block = copy.deepcopy(block)
  44204. diff --git a/test/functional/multi_rpc.py b/test/functional/multi_rpc.py
  44205. old mode 100755
  44206. new mode 100644
  44207. index 1acf358..209aa24
  44208. --- a/test/functional/multi_rpc.py
  44209. +++ b/test/functional/multi_rpc.py
  44210. @@ -12,7 +12,10 @@ import http.client
  44211.  import urllib.parse
  44212.  
  44213.  class HTTPBasicsTest (BitcoinTestFramework):
  44214. -    def set_test_params(self):
  44215. +
  44216. +    def __init__(self):
  44217. +        super().__init__()
  44218. +        self.setup_clean_chain = False
  44219.          self.num_nodes = 2
  44220.  
  44221.      def setup_chain(self):
  44222. @@ -22,10 +25,10 @@ class HTTPBasicsTest (BitcoinTestFramework):
  44223.          rpcauth2 = "rpcauth=rt2:f8607b1a88861fac29dfccf9b52ff9f$ff36a0c23c8c62b4846112e50fa888416e94c17bfd4c42f88fd8f55ec6a3137e"
  44224.          rpcuser = "rpcuser=rpcuser?"
  44225.          rpcpassword = "rpcpassword=rpcpassword?"
  44226. -        with open(os.path.join(self.options.tmpdir+"/node0", "litecoin.conf"), 'a', encoding='utf8') as f:
  44227. +        with open(os.path.join(self.options.tmpdir+"/node0", "litecoincash.conf"), 'a', encoding='utf8') as f:
  44228.              f.write(rpcauth+"\n")
  44229.              f.write(rpcauth2+"\n")
  44230. -        with open(os.path.join(self.options.tmpdir+"/node1", "litecoin.conf"), 'a', encoding='utf8') as f:
  44231. +        with open(os.path.join(self.options.tmpdir+"/node1", "litecoincash.conf"), 'a', encoding='utf8') as f:
  44232.              f.write(rpcuser+"\n")
  44233.              f.write(rpcpassword+"\n")
  44234.  
  44235. diff --git a/test/functional/multiwallet.py b/test/functional/multiwallet.py
  44236. old mode 100755
  44237. new mode 100644
  44238. index ba6b659..5679f40
  44239. --- a/test/functional/multiwallet.py
  44240. +++ b/test/functional/multiwallet.py
  44241. @@ -7,52 +7,42 @@
  44242.  Verify that a bitcoind node can load multiple wallet files
  44243.  """
  44244.  import os
  44245. -import shutil
  44246.  
  44247.  from test_framework.test_framework import BitcoinTestFramework
  44248. -from test_framework.util import assert_equal, assert_raises_rpc_error
  44249. +from test_framework.util import assert_equal, assert_raises_jsonrpc
  44250.  
  44251.  class MultiWalletTest(BitcoinTestFramework):
  44252. -    def set_test_params(self):
  44253. +
  44254. +    def __init__(self):
  44255. +        super().__init__()
  44256.          self.setup_clean_chain = True
  44257.          self.num_nodes = 1
  44258.          self.extra_args = [['-wallet=w1', '-wallet=w2', '-wallet=w3']]
  44259.  
  44260.      def run_test(self):
  44261. -        assert_equal(set(self.nodes[0].listwallets()), {"w1", "w2", "w3"})
  44262. -
  44263.          self.stop_node(0)
  44264.  
  44265.          # should not initialize if there are duplicate wallets
  44266. -        self.assert_start_raises_init_error(0, ['-wallet=w1', '-wallet=w1'], 'Error loading wallet w1. Duplicate -wallet filename specified.')
  44267. +        self.assert_start_raises_init_error(0, self.options.tmpdir, ['-wallet=w1', '-wallet=w1'], 'Error loading wallet w1. Duplicate -wallet filename specified.')
  44268.  
  44269.          # should not initialize if wallet file is a directory
  44270.          os.mkdir(os.path.join(self.options.tmpdir, 'node0', 'regtest', 'w11'))
  44271. -        self.assert_start_raises_init_error(0, ['-wallet=w11'], 'Error loading wallet w11. -wallet filename must be a regular file.')
  44272. -
  44273. -        # should not initialize if one wallet is a copy of another
  44274. -        shutil.copyfile(os.path.join(self.options.tmpdir, 'node0', 'regtest', 'w2'),
  44275. -                        os.path.join(self.options.tmpdir, 'node0', 'regtest', 'w22'))
  44276. -        self.assert_start_raises_init_error(0, ['-wallet=w2', '-wallet=w22'], 'duplicates fileid')
  44277. +        self.assert_start_raises_init_error(0, self.options.tmpdir, ['-wallet=w11'], 'Error loading wallet w11. -wallet filename must be a regular file.')
  44278.  
  44279.          # should not initialize if wallet file is a symlink
  44280.          os.symlink(os.path.join(self.options.tmpdir, 'node0', 'regtest', 'w1'), os.path.join(self.options.tmpdir, 'node0', 'regtest', 'w12'))
  44281. -        self.assert_start_raises_init_error(0, ['-wallet=w12'], 'Error loading wallet w12. -wallet filename must be a regular file.')
  44282. +        self.assert_start_raises_init_error(0, self.options.tmpdir, ['-wallet=w12'], 'Error loading wallet w12. -wallet filename must be a regular file.')
  44283.  
  44284. -        self.start_node(0, self.extra_args[0])
  44285. -
  44286. -        w1 = self.nodes[0].get_wallet_rpc("w1")
  44287. -        w2 = self.nodes[0].get_wallet_rpc("w2")
  44288. -        w3 = self.nodes[0].get_wallet_rpc("w3")
  44289. -        wallet_bad = self.nodes[0].get_wallet_rpc("bad")
  44290. +        self.nodes[0] = self.start_node(0, self.options.tmpdir, self.extra_args[0])
  44291.  
  44292. +        w1 = self.nodes[0] / "wallet/w1"
  44293.          w1.generate(1)
  44294.  
  44295.          # accessing invalid wallet fails
  44296. -        assert_raises_rpc_error(-18, "Requested wallet does not exist or is not loaded", wallet_bad.getwalletinfo)
  44297. +        assert_raises_jsonrpc(-18, "Requested wallet does not exist or is not loaded", (self.nodes[0] / "wallet/bad").getwalletinfo)
  44298.  
  44299.          # accessing wallet RPC without using wallet endpoint fails
  44300. -        assert_raises_rpc_error(-19, "Wallet file not specified", self.nodes[0].getwalletinfo)
  44301. +        assert_raises_jsonrpc(-19, "Wallet file not specified", self.nodes[0].getwalletinfo)
  44302.  
  44303.          # check w1 wallet balance
  44304.          w1_info = w1.getwalletinfo()
  44305. @@ -60,12 +50,14 @@ class MultiWalletTest(BitcoinTestFramework):
  44306.          w1_name = w1_info['walletname']
  44307.          assert_equal(w1_name, "w1")
  44308.  
  44309. -        # check w2 wallet balance
  44310. +        # check w1 wallet balance
  44311. +        w2 = self.nodes[0] / "wallet/w2"
  44312.          w2_info = w2.getwalletinfo()
  44313.          assert_equal(w2_info['immature_balance'], 0)
  44314.          w2_name = w2_info['walletname']
  44315.          assert_equal(w2_name, "w2")
  44316.  
  44317. +        w3 = self.nodes[0] / "wallet/w3"
  44318.          w3_name = w3.getwalletinfo()['walletname']
  44319.          assert_equal(w3_name, "w3")
  44320.  
  44321. diff --git a/test/functional/net.py b/test/functional/net.py
  44322. old mode 100755
  44323. new mode 100644
  44324. index 61a5e1f..3ba3764
  44325. --- a/test/functional/net.py
  44326. +++ b/test/functional/net.py
  44327. @@ -12,13 +12,15 @@ import time
  44328.  from test_framework.test_framework import BitcoinTestFramework
  44329.  from test_framework.util import (
  44330.      assert_equal,
  44331. -    assert_raises_rpc_error,
  44332. +    assert_raises_jsonrpc,
  44333.      connect_nodes_bi,
  44334.      p2p_port,
  44335.  )
  44336.  
  44337. +
  44338.  class NetTest(BitcoinTestFramework):
  44339. -    def set_test_params(self):
  44340. +    def __init__(self):
  44341. +        super().__init__()
  44342.          self.setup_clean_chain = True
  44343.          self.num_nodes = 2
  44344.  
  44345. @@ -84,7 +86,7 @@ class NetTest(BitcoinTestFramework):
  44346.          assert_equal(len(added_nodes), 1)
  44347.          assert_equal(added_nodes[0]['addednode'], ip_port)
  44348.          # check that a non-existant node returns an error
  44349. -        assert_raises_rpc_error(-24, "Node has not been added",
  44350. +        assert_raises_jsonrpc(-24, "Node has not been added",
  44351.                                self.nodes[0].getaddednodeinfo, '1.1.1.1')
  44352.  
  44353.      def _test_getpeerinfo(self):
  44354. diff --git a/test/functional/nulldummy.py b/test/functional/nulldummy.py
  44355. old mode 100755
  44356. new mode 100644
  44357. index 2b13a47..80c61a3
  44358. --- a/test/functional/nulldummy.py
  44359. +++ b/test/functional/nulldummy.py
  44360. @@ -38,7 +38,8 @@ def trueDummy(tx):
  44361.  
  44362.  class NULLDUMMYTest(BitcoinTestFramework):
  44363.  
  44364. -    def set_test_params(self):
  44365. +    def __init__(self):
  44366. +        super().__init__()
  44367.          self.num_nodes = 1
  44368.          self.setup_clean_chain = True
  44369.          self.extra_args = [['-whitelist=127.0.0.1', '-walletprematurewitness']]
  44370. @@ -72,7 +73,7 @@ class NULLDUMMYTest(BitcoinTestFramework):
  44371.          self.log.info("Test 2: Non-NULLDUMMY base multisig transaction should not be accepted to mempool before activation")
  44372.          test2tx = self.create_transaction(self.nodes[0], txid2, self.ms_address, 47)
  44373.          trueDummy(test2tx)
  44374. -        assert_raises_rpc_error(-26, NULLDUMMY_ERROR, self.nodes[0].sendrawtransaction, bytes_to_hex_str(test2tx.serialize_with_witness()), True)
  44375. +        assert_raises_jsonrpc(-26, NULLDUMMY_ERROR, self.nodes[0].sendrawtransaction, bytes_to_hex_str(test2tx.serialize_with_witness()), True)
  44376.  
  44377.          self.log.info("Test 3: Non-NULLDUMMY base transactions should be accepted in a block before activation [431]")
  44378.          self.block_submit(self.nodes[0], [test2tx], False, True)
  44379. @@ -81,14 +82,14 @@ class NULLDUMMYTest(BitcoinTestFramework):
  44380.          test4tx = self.create_transaction(self.nodes[0], test2tx.hash, self.address, 46)
  44381.          test6txs=[CTransaction(test4tx)]
  44382.          trueDummy(test4tx)
  44383. -        assert_raises_rpc_error(-26, NULLDUMMY_ERROR, self.nodes[0].sendrawtransaction, bytes_to_hex_str(test4tx.serialize_with_witness()), True)
  44384. +        assert_raises_jsonrpc(-26, NULLDUMMY_ERROR, self.nodes[0].sendrawtransaction, bytes_to_hex_str(test4tx.serialize_with_witness()), True)
  44385.          self.block_submit(self.nodes[0], [test4tx])
  44386.  
  44387.          self.log.info("Test 5: Non-NULLDUMMY P2WSH multisig transaction invalid after activation")
  44388.          test5tx = self.create_transaction(self.nodes[0], txid3, self.wit_address, 48)
  44389.          test6txs.append(CTransaction(test5tx))
  44390.          test5tx.wit.vtxinwit[0].scriptWitness.stack[0] = b'\x01'
  44391. -        assert_raises_rpc_error(-26, NULLDUMMY_ERROR, self.nodes[0].sendrawtransaction, bytes_to_hex_str(test5tx.serialize_with_witness()), True)
  44392. +        assert_raises_jsonrpc(-26, NULLDUMMY_ERROR, self.nodes[0].sendrawtransaction, bytes_to_hex_str(test5tx.serialize_with_witness()), True)
  44393.          self.block_submit(self.nodes[0], [test5tx], True)
  44394.  
  44395.          self.log.info("Test 6: NULLDUMMY compliant base/witness transactions should be accepted to mempool and in block after activation [432]")
  44396. diff --git a/test/functional/p2p-acceptblock.py b/test/functional/p2p-acceptblock.py
  44397. old mode 100755
  44398. new mode 100644
  44399. index 220b776..322cb76
  44400. --- a/test/functional/p2p-acceptblock.py
  44401. +++ b/test/functional/p2p-acceptblock.py
  44402. @@ -4,32 +4,37 @@
  44403.  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
  44404.  """Test processing of unrequested blocks.
  44405.  
  44406. -Setup: two nodes, node0+node1, not connected to each other. Node1 will have
  44407. -nMinimumChainWork set to 0x10, so it won't process low-work unrequested blocks.
  44408. +Since behavior differs when receiving unrequested blocks from whitelisted peers
  44409. +versus non-whitelisted peers, this tests the behavior of both (effectively two
  44410. +separate tests running in parallel).
  44411.  
  44412. -We have one NodeConn connection to node0 called test_node, and one to node1
  44413. -called min_work_node.
  44414. +Setup: two nodes, node0 and node1, not connected to each other.  Node0 does not
  44415. +whitelist localhost, but node1 does. They will each be on their own chain for
  44416. +this test.
  44417. +
  44418. +We have one NodeConn connection to each, test_node and white_node respectively.
  44419.  
  44420.  The test:
  44421.  1. Generate one block on each node, to leave IBD.
  44422.  
  44423.  2. Mine a new block on each tip, and deliver to each node from node's peer.
  44424. -   The tip should advance for node0, but node1 should skip processing due to
  44425. -   nMinimumChainWork.
  44426. -
  44427. -Node1 is unused in tests 3-7:
  44428. +   The tip should advance.
  44429.  
  44430. -3. Mine a block that forks from the genesis block, and deliver to test_node.
  44431. -   Node0 should not process this block (just accept the header), because it
  44432. -   is unrequested and doesn't have more or equal work to the tip.
  44433. +3. Mine a block that forks the previous block, and deliver to each node from
  44434. +   corresponding peer.
  44435. +   Node0 should not process this block (just accept the header), because it is
  44436. +   unrequested and doesn't have more work than the tip.
  44437. +   Node1 should process because this is coming from a whitelisted peer.
  44438.  
  44439. -4a,b. Send another two blocks that build on the forking block.
  44440. -   Node0 should process the second block but be stuck on the shorter chain,
  44441. -   because it's missing an intermediate block.
  44442. +4. Send another block that builds on the forking block.
  44443. +   Node0 should process this block but be stuck on the shorter chain, because
  44444. +   it's missing an intermediate block.
  44445. +   Node1 should reorg to this longer chain.
  44446.  
  44447. -4c.Send 288 more blocks on the longer chain (the number of blocks ahead
  44448. -   we currently store).
  44449. +4b.Send 288 more blocks on the longer chain.
  44450.     Node0 should process all but the last block (too far ahead in height).
  44451. +   Send all headers to Node1, and then send the last block in that chain.
  44452. +   Node1 should accept the block because it's coming from a whitelisted peer.
  44453.  
  44454.  5. Send a duplicate of the block in #3 to Node0.
  44455.     Node0 should not process the block because it is unrequested, and stay on
  44456. @@ -41,21 +46,13 @@ Node1 is unused in tests 3-7:
  44457.  
  44458.  7. Send Node0 the missing block again.
  44459.     Node0 should process and the tip should advance.
  44460. -
  44461. -8. Create a fork which is invalid at a height longer than the current chain
  44462. -   (ie to which the node will try to reorg) but which has headers built on top
  44463. -   of the invalid block. Check that we get disconnected if we send more headers
  44464. -   on the chain the node now knows to be invalid.
  44465. -
  44466. -9. Test Node1 is able to sync when connected to node0 (which should have sufficient
  44467. -   work on its chain).
  44468.  """
  44469.  
  44470.  from test_framework.mininode import *
  44471.  from test_framework.test_framework import BitcoinTestFramework
  44472.  from test_framework.util import *
  44473.  import time
  44474. -from test_framework.blocktools import create_block, create_coinbase, create_transaction
  44475. +from test_framework.blocktools import create_block, create_coinbase
  44476.  
  44477.  class AcceptBlockTest(BitcoinTestFramework):
  44478.      def add_options(self, parser):
  44479. @@ -63,42 +60,41 @@ class AcceptBlockTest(BitcoinTestFramework):
  44480.                            default=os.getenv("BITCOIND", "bitcoind"),
  44481.                            help="bitcoind binary to test")
  44482.  
  44483. -    def set_test_params(self):
  44484. +    def __init__(self):
  44485. +        super().__init__()
  44486.          self.setup_clean_chain = True
  44487.          self.num_nodes = 2
  44488. -        self.extra_args = [[], ["-minimumchainwork=0x10"]]
  44489. +        self.extra_args = [[], ["-whitelist=127.0.0.1"]]
  44490.  
  44491.      def setup_network(self):
  44492.          # Node0 will be used to test behavior of processing unrequested blocks
  44493.          # from peers which are not whitelisted, while Node1 will be used for
  44494.          # the whitelisted case.
  44495. -        # Node2 will be used for non-whitelisted peers to test the interaction
  44496. -        # with nMinimumChainWork.
  44497.          self.setup_nodes()
  44498.  
  44499.      def run_test(self):
  44500.          # Setup the p2p connections and start up the network thread.
  44501. -        test_node = NodeConnCB()   # connects to node0
  44502. -        min_work_node = NodeConnCB()  # connects to node1
  44503. +        test_node = NodeConnCB()   # connects to node0 (not whitelisted)
  44504. +        white_node = NodeConnCB()  # connects to node1 (whitelisted)
  44505.  
  44506.          connections = []
  44507.          connections.append(NodeConn('127.0.0.1', p2p_port(0), self.nodes[0], test_node))
  44508. -        connections.append(NodeConn('127.0.0.1', p2p_port(1), self.nodes[1], min_work_node))
  44509. +        connections.append(NodeConn('127.0.0.1', p2p_port(1), self.nodes[1], white_node))
  44510.          test_node.add_connection(connections[0])
  44511. -        min_work_node.add_connection(connections[1])
  44512. +        white_node.add_connection(connections[1])
  44513.  
  44514.          NetworkThread().start() # Start up network handling in another thread
  44515.  
  44516.          # Test logic begins here
  44517.          test_node.wait_for_verack()
  44518. -        min_work_node.wait_for_verack()
  44519. +        white_node.wait_for_verack()
  44520.  
  44521. -        # 1. Have nodes mine a block (leave IBD)
  44522. +        # 1. Have both nodes mine a block (leave IBD)
  44523.          [ n.generate(1) for n in self.nodes ]
  44524.          tips = [ int("0x" + n.getbestblockhash(), 0) for n in self.nodes ]
  44525.  
  44526.          # 2. Send one block that builds on each tip.
  44527. -        # This should be accepted by node0
  44528. +        # This should be accepted.
  44529.          blocks_h2 = []  # the height 2 blocks on each node's chain
  44530.          block_time = int(time.time()) + 1
  44531.          for i in range(2):
  44532. @@ -106,119 +102,95 @@ class AcceptBlockTest(BitcoinTestFramework):
  44533.              blocks_h2[i].solve()
  44534.              block_time += 1
  44535.          test_node.send_message(msg_block(blocks_h2[0]))
  44536. -        min_work_node.send_message(msg_block(blocks_h2[1]))
  44537. +        white_node.send_message(msg_block(blocks_h2[1]))
  44538.  
  44539. -        for x in [test_node, min_work_node]:
  44540. -            x.sync_with_ping()
  44541. +        [ x.sync_with_ping() for x in [test_node, white_node] ]
  44542.          assert_equal(self.nodes[0].getblockcount(), 2)
  44543. -        assert_equal(self.nodes[1].getblockcount(), 1)
  44544. -        self.log.info("First height 2 block accepted by node0; correctly rejected by node1")
  44545. +        assert_equal(self.nodes[1].getblockcount(), 2)
  44546. +        self.log.info("First height 2 block accepted by both nodes")
  44547.  
  44548. -        # 3. Send another block that builds on genesis.
  44549. -        block_h1f = create_block(int("0x" + self.nodes[0].getblockhash(0), 0), create_coinbase(1), block_time)
  44550. -        block_time += 1
  44551. -        block_h1f.solve()
  44552. -        test_node.send_message(msg_block(block_h1f))
  44553. +        # 3. Send another block that builds on the original tip.
  44554. +        blocks_h2f = []  # Blocks at height 2 that fork off the main chain
  44555. +        for i in range(2):
  44556. +            blocks_h2f.append(create_block(tips[i], create_coinbase(2), blocks_h2[i].nTime+1))
  44557. +            blocks_h2f[i].solve()
  44558. +        test_node.send_message(msg_block(blocks_h2f[0]))
  44559. +        white_node.send_message(msg_block(blocks_h2f[1]))
  44560.  
  44561. -        test_node.sync_with_ping()
  44562. -        tip_entry_found = False
  44563. +        [ x.sync_with_ping() for x in [test_node, white_node] ]
  44564.          for x in self.nodes[0].getchaintips():
  44565. -            if x['hash'] == block_h1f.hash:
  44566. +            if x['hash'] == blocks_h2f[0].hash:
  44567.                  assert_equal(x['status'], "headers-only")
  44568. -                tip_entry_found = True
  44569. -        assert(tip_entry_found)
  44570. -        assert_raises_rpc_error(-1, "Block not found on disk", self.nodes[0].getblock, block_h1f.hash)
  44571.  
  44572. -        # 4. Send another two block that build on the fork.
  44573. -        block_h2f = create_block(block_h1f.sha256, create_coinbase(2), block_time)
  44574. -        block_time += 1
  44575. -        block_h2f.solve()
  44576. -        test_node.send_message(msg_block(block_h2f))
  44577. -
  44578. -        test_node.sync_with_ping()
  44579. -        # Since the earlier block was not processed by node, the new block
  44580. -        # can't be fully validated.
  44581. -        tip_entry_found = False
  44582. -        for x in self.nodes[0].getchaintips():
  44583. -            if x['hash'] == block_h2f.hash:
  44584. -                assert_equal(x['status'], "headers-only")
  44585. -                tip_entry_found = True
  44586. -        assert(tip_entry_found)
  44587. +        for x in self.nodes[1].getchaintips():
  44588. +            if x['hash'] == blocks_h2f[1].hash:
  44589. +                assert_equal(x['status'], "valid-headers")
  44590.  
  44591. -        # But this block should be accepted by node since it has equal work.
  44592. -        self.nodes[0].getblock(block_h2f.hash)
  44593. -        self.log.info("Second height 2 block accepted, but not reorg'ed to")
  44594. +        self.log.info("Second height 2 block accepted only from whitelisted peer")
  44595.  
  44596. -        # 4b. Now send another block that builds on the forking chain.
  44597. -        block_h3 = create_block(block_h2f.sha256, create_coinbase(3), block_h2f.nTime+1)
  44598. -        block_h3.solve()
  44599. -        test_node.send_message(msg_block(block_h3))
  44600. +        # 4. Now send another block that builds on the forking chain.
  44601. +        blocks_h3 = []
  44602. +        for i in range(2):
  44603. +            blocks_h3.append(create_block(blocks_h2f[i].sha256, create_coinbase(3), blocks_h2f[i].nTime+1))
  44604. +            blocks_h3[i].solve()
  44605. +        test_node.send_message(msg_block(blocks_h3[0]))
  44606. +        white_node.send_message(msg_block(blocks_h3[1]))
  44607.  
  44608. -        test_node.sync_with_ping()
  44609. -        # Since the earlier block was not processed by node, the new block
  44610. +        [ x.sync_with_ping() for x in [test_node, white_node] ]
  44611. +        # Since the earlier block was not processed by node0, the new block
  44612.          # can't be fully validated.
  44613. -        tip_entry_found = False
  44614.          for x in self.nodes[0].getchaintips():
  44615. -            if x['hash'] == block_h3.hash:
  44616. +            if x['hash'] == blocks_h3[0].hash:
  44617.                  assert_equal(x['status'], "headers-only")
  44618. -                tip_entry_found = True
  44619. -        assert(tip_entry_found)
  44620. -        self.nodes[0].getblock(block_h3.hash)
  44621. -
  44622. -        # But this block should be accepted by node since it has more work.
  44623. -        self.nodes[0].getblock(block_h3.hash)
  44624. -        self.log.info("Unrequested more-work block accepted")
  44625. -
  44626. -        # 4c. Now mine 288 more blocks and deliver; all should be processed but
  44627. -        # the last (height-too-high) on node (as long as its not missing any headers)
  44628. -        tip = block_h3
  44629. -        all_blocks = []
  44630. -        for i in range(288):
  44631. -            next_block = create_block(tip.sha256, create_coinbase(i + 4), tip.nTime+1)
  44632. -            next_block.solve()
  44633. -            all_blocks.append(next_block)
  44634. -            tip = next_block
  44635. -
  44636. -        # Now send the block at height 5 and check that it wasn't accepted (missing header)
  44637. -        test_node.send_message(msg_block(all_blocks[1]))
  44638. -        test_node.sync_with_ping()
  44639. -        assert_raises_rpc_error(-5, "Block not found", self.nodes[0].getblock, all_blocks[1].hash)
  44640. -        assert_raises_rpc_error(-5, "Block not found", self.nodes[0].getblockheader, all_blocks[1].hash)
  44641.  
  44642. -        # The block at height 5 should be accepted if we provide the missing header, though
  44643. -        headers_message = msg_headers()
  44644. -        headers_message.headers.append(CBlockHeader(all_blocks[0]))
  44645. -        test_node.send_message(headers_message)
  44646. -        test_node.send_message(msg_block(all_blocks[1]))
  44647. -        test_node.sync_with_ping()
  44648. -        self.nodes[0].getblock(all_blocks[1].hash)
  44649. +        # But this block should be accepted by node0 since it has more work.
  44650. +        self.nodes[0].getblock(blocks_h3[0].hash)
  44651. +        self.log.info("Unrequested more-work block accepted from non-whitelisted peer")
  44652.  
  44653. -        # Now send the blocks in all_blocks
  44654. -        for i in range(288):
  44655. -            test_node.send_message(msg_block(all_blocks[i]))
  44656. -        test_node.sync_with_ping()
  44657. +        # Node1 should have accepted and reorged.
  44658. +        assert_equal(self.nodes[1].getblockcount(), 3)
  44659. +        self.log.info("Successfully reorged to length 3 chain from whitelisted peer")
  44660.  
  44661. +        # 4b. Now mine 288 more blocks and deliver; all should be processed but
  44662. +        # the last (height-too-high) on node0.  Node1 should process the tip if
  44663. +        # we give it the headers chain leading to the tip.
  44664. +        tips = blocks_h3
  44665. +        headers_message = msg_headers()
  44666. +        all_blocks = []   # node0's blocks
  44667. +        for j in range(2):
  44668. +            for i in range(288):
  44669. +                next_block = create_block(tips[j].sha256, create_coinbase(i + 4), tips[j].nTime+1)
  44670. +                next_block.solve()
  44671. +                if j==0:
  44672. +                    test_node.send_message(msg_block(next_block))
  44673. +                    all_blocks.append(next_block)
  44674. +                else:
  44675. +                    headers_message.headers.append(CBlockHeader(next_block))
  44676. +                tips[j] = next_block
  44677. +
  44678. +        time.sleep(2)
  44679.          # Blocks 1-287 should be accepted, block 288 should be ignored because it's too far ahead
  44680.          for x in all_blocks[:-1]:
  44681.              self.nodes[0].getblock(x.hash)
  44682. -        assert_raises_rpc_error(-1, "Block not found on disk", self.nodes[0].getblock, all_blocks[-1].hash)
  44683. +        assert_raises_jsonrpc(-1, "Block not found on disk", self.nodes[0].getblock, all_blocks[-1].hash)
  44684. +
  44685. +        headers_message.headers.pop() # Ensure the last block is unrequested
  44686. +        white_node.send_message(headers_message) # Send headers leading to tip
  44687. +        white_node.send_message(msg_block(tips[1]))  # Now deliver the tip
  44688. +        white_node.sync_with_ping()
  44689. +        self.nodes[1].getblock(tips[1].hash)
  44690. +        self.log.info("Unrequested block far ahead of tip accepted from whitelisted peer")
  44691.  
  44692.          # 5. Test handling of unrequested block on the node that didn't process
  44693.          # Should still not be processed (even though it has a child that has more
  44694.          # work).
  44695. +        test_node.send_message(msg_block(blocks_h2f[0]))
  44696.  
  44697. -        # The node should have requested the blocks at some point, so
  44698. -        # disconnect/reconnect first
  44699. -        connections[0].disconnect_node()
  44700. -        test_node.wait_for_disconnect()
  44701. -
  44702. -        test_node = NodeConnCB()   # connects to node (not whitelisted)
  44703. -        connections[0] = NodeConn('127.0.0.1', p2p_port(0), self.nodes[0], test_node)
  44704. -        test_node.add_connection(connections[0])
  44705. -
  44706. -        test_node.wait_for_verack()
  44707. -        test_node.send_message(msg_block(block_h1f))
  44708. -
  44709. +        # Here, if the sleep is too short, the test could falsely succeed (if the
  44710. +        # node hasn't processed the block by the time the sleep returns, and then
  44711. +        # the node processes it and incorrectly advances the tip).
  44712. +        # But this would be caught later on, when we verify that an inv triggers
  44713. +        # a getdata request for this block.
  44714.          test_node.sync_with_ping()
  44715.          assert_equal(self.nodes[0].getblockcount(), 2)
  44716.          self.log.info("Unrequested block that would complete more-work chain was ignored")
  44717. @@ -229,100 +201,23 @@ class AcceptBlockTest(BitcoinTestFramework):
  44718.          with mininode_lock:
  44719.              # Clear state so we can check the getdata request
  44720.              test_node.last_message.pop("getdata", None)
  44721. -            test_node.send_message(msg_inv([CInv(2, block_h3.sha256)]))
  44722. +            test_node.send_message(msg_inv([CInv(2, blocks_h3[0].sha256)]))
  44723.  
  44724.          test_node.sync_with_ping()
  44725.          with mininode_lock:
  44726.              getdata = test_node.last_message["getdata"]
  44727.  
  44728.          # Check that the getdata includes the right block
  44729. -        assert_equal(getdata.inv[0].hash, block_h1f.sha256)
  44730. +        assert_equal(getdata.inv[0].hash, blocks_h2f[0].sha256)
  44731.          self.log.info("Inv at tip triggered getdata for unprocessed block")
  44732.  
  44733.          # 7. Send the missing block for the third time (now it is requested)
  44734. -        test_node.send_message(msg_block(block_h1f))
  44735. +        test_node.send_message(msg_block(blocks_h2f[0]))
  44736.  
  44737.          test_node.sync_with_ping()
  44738.          assert_equal(self.nodes[0].getblockcount(), 290)
  44739. -        self.nodes[0].getblock(all_blocks[286].hash)
  44740. -        assert_equal(self.nodes[0].getbestblockhash(), all_blocks[286].hash)
  44741. -        assert_raises_rpc_error(-1, "Block not found on disk", self.nodes[0].getblock, all_blocks[287].hash)
  44742.          self.log.info("Successfully reorged to longer chain from non-whitelisted peer")
  44743.  
  44744. -        # 8. Create a chain which is invalid at a height longer than the
  44745. -        # current chain, but which has more blocks on top of that
  44746. -        block_289f = create_block(all_blocks[284].sha256, create_coinbase(289), all_blocks[284].nTime+1)
  44747. -        block_289f.solve()
  44748. -        block_290f = create_block(block_289f.sha256, create_coinbase(290), block_289f.nTime+1)
  44749. -        block_290f.solve()
  44750. -        block_291 = create_block(block_290f.sha256, create_coinbase(291), block_290f.nTime+1)
  44751. -        # block_291 spends a coinbase below maturity!
  44752. -        block_291.vtx.append(create_transaction(block_290f.vtx[0], 0, b"42", 1))
  44753. -        block_291.hashMerkleRoot = block_291.calc_merkle_root()
  44754. -        block_291.solve()
  44755. -        block_292 = create_block(block_291.sha256, create_coinbase(292), block_291.nTime+1)
  44756. -        block_292.solve()
  44757. -
  44758. -        # Now send all the headers on the chain and enough blocks to trigger reorg
  44759. -        headers_message = msg_headers()
  44760. -        headers_message.headers.append(CBlockHeader(block_289f))
  44761. -        headers_message.headers.append(CBlockHeader(block_290f))
  44762. -        headers_message.headers.append(CBlockHeader(block_291))
  44763. -        headers_message.headers.append(CBlockHeader(block_292))
  44764. -        test_node.send_message(headers_message)
  44765. -
  44766. -        test_node.sync_with_ping()
  44767. -        tip_entry_found = False
  44768. -        for x in self.nodes[0].getchaintips():
  44769. -            if x['hash'] == block_292.hash:
  44770. -                assert_equal(x['status'], "headers-only")
  44771. -                tip_entry_found = True
  44772. -        assert(tip_entry_found)
  44773. -        assert_raises_rpc_error(-1, "Block not found on disk", self.nodes[0].getblock, block_292.hash)
  44774. -
  44775. -        test_node.send_message(msg_block(block_289f))
  44776. -        test_node.send_message(msg_block(block_290f))
  44777. -
  44778. -        test_node.sync_with_ping()
  44779. -        self.nodes[0].getblock(block_289f.hash)
  44780. -        self.nodes[0].getblock(block_290f.hash)
  44781. -
  44782. -        test_node.send_message(msg_block(block_291))
  44783. -
  44784. -        # At this point we've sent an obviously-bogus block, wait for full processing
  44785. -        # without assuming whether we will be disconnected or not
  44786. -        try:
  44787. -            # Only wait a short while so the test doesn't take forever if we do get
  44788. -            # disconnected
  44789. -            test_node.sync_with_ping(timeout=1)
  44790. -        except AssertionError:
  44791. -            test_node.wait_for_disconnect()
  44792. -
  44793. -            test_node = NodeConnCB()   # connects to node (not whitelisted)
  44794. -            connections[0] = NodeConn('127.0.0.1', p2p_port(0), self.nodes[0], test_node)
  44795. -            test_node.add_connection(connections[0])
  44796. -
  44797. -            NetworkThread().start() # Start up network handling in another thread
  44798. -            test_node.wait_for_verack()
  44799. -
  44800. -        # We should have failed reorg and switched back to 290 (but have block 291)
  44801. -        assert_equal(self.nodes[0].getblockcount(), 290)
  44802. -        assert_equal(self.nodes[0].getbestblockhash(), all_blocks[286].hash)
  44803. -        assert_equal(self.nodes[0].getblock(block_291.hash)["confirmations"], -1)
  44804. -
  44805. -        # Now send a new header on the invalid chain, indicating we're forked off, and expect to get disconnected
  44806. -        block_293 = create_block(block_292.sha256, create_coinbase(293), block_292.nTime+1)
  44807. -        block_293.solve()
  44808. -        headers_message = msg_headers()
  44809. -        headers_message.headers.append(CBlockHeader(block_293))
  44810. -        test_node.send_message(headers_message)
  44811. -        test_node.wait_for_disconnect()
  44812. -
  44813. -        # 9. Connect node1 to node0 and ensure it is able to sync
  44814. -        connect_nodes(self.nodes[0], 1)
  44815. -        sync_blocks([self.nodes[0], self.nodes[1]])
  44816. -        self.log.info("Successfully synced nodes 1 and 0")
  44817. -
  44818.          [ c.disconnect_node() for c in connections ]
  44819.  
  44820.  if __name__ == '__main__':
  44821. diff --git a/test/functional/p2p-compactblocks.py b/test/functional/p2p-compactblocks.py
  44822. old mode 100755
  44823. new mode 100644
  44824. index 647a8ab..10e927f
  44825. --- a/test/functional/p2p-compactblocks.py
  44826. +++ b/test/functional/p2p-compactblocks.py
  44827. @@ -72,7 +72,7 @@ class TestNode(NodeConnCB):
  44828.      def request_headers_and_sync(self, locator, hashstop=0):
  44829.          self.clear_block_announcement()
  44830.          self.get_headers(locator, hashstop)
  44831. -        wait_until(self.received_block_announcement, timeout=30, lock=mininode_lock)
  44832. +        assert wait_until(self.received_block_announcement, timeout=30)
  44833.          self.clear_block_announcement()
  44834.  
  44835.      # Block until a block announcement for a particular block hash is
  44836. @@ -80,7 +80,7 @@ class TestNode(NodeConnCB):
  44837.      def wait_for_block_announcement(self, block_hash, timeout=30):
  44838.          def received_hash():
  44839.              return (block_hash in self.announced_blockhashes)
  44840. -        wait_until(received_hash, timeout=timeout, lock=mininode_lock)
  44841. +        return wait_until(received_hash, timeout=timeout)
  44842.  
  44843.      def send_await_disconnect(self, message, timeout=30):
  44844.          """Sends a message to the node and wait for disconnect.
  44845. @@ -88,10 +88,15 @@ class TestNode(NodeConnCB):
  44846.          This is used when we want to send a message into the node that we expect
  44847.          will get us disconnected, eg an invalid block."""
  44848.          self.send_message(message)
  44849. -        wait_until(lambda: not self.connected, timeout=timeout, lock=mininode_lock)
  44850. +        success = wait_until(lambda: not self.connected, timeout=timeout)
  44851. +        if not success:
  44852. +            logger.error("send_await_disconnect failed!")
  44853. +            raise AssertionError("send_await_disconnect failed!")
  44854. +        return success
  44855.  
  44856.  class CompactBlocksTest(BitcoinTestFramework):
  44857. -    def set_test_params(self):
  44858. +    def __init__(self):
  44859. +        super().__init__()
  44860.          self.setup_clean_chain = True
  44861.          # Node0 = pre-segwit, node1 = segwit-aware
  44862.          self.num_nodes = 2
  44863. @@ -147,7 +152,9 @@ class CompactBlocksTest(BitcoinTestFramework):
  44864.          # Make sure we get a SENDCMPCT message from our peer
  44865.          def received_sendcmpct():
  44866.              return (len(test_node.last_sendcmpct) > 0)
  44867. -        wait_until(received_sendcmpct, timeout=30, lock=mininode_lock)
  44868. +        got_message = wait_until(received_sendcmpct, timeout=30)
  44869. +        assert(received_sendcmpct())
  44870. +        assert(got_message)
  44871.          with mininode_lock:
  44872.              # Check that the first version received is the preferred one
  44873.              assert_equal(test_node.last_sendcmpct[0].version, preferred_version)
  44874. @@ -162,6 +169,7 @@ class CompactBlocksTest(BitcoinTestFramework):
  44875.              block_hash = int(node.generate(1)[0], 16)
  44876.              peer.wait_for_block_announcement(block_hash, timeout=30)
  44877.              assert(peer.block_announced)
  44878. +            assert(got_message)
  44879.  
  44880.              with mininode_lock:
  44881.                  assert predicate(peer), (
  44882. @@ -276,7 +284,7 @@ class CompactBlocksTest(BitcoinTestFramework):
  44883.  
  44884.          # Wait until we've seen the block announcement for the resulting tip
  44885.          tip = int(node.getbestblockhash(), 16)
  44886. -        test_node.wait_for_block_announcement(tip)
  44887. +        assert(test_node.wait_for_block_announcement(tip))
  44888.  
  44889.          # Make sure we will receive a fast-announce compact block
  44890.          self.request_cb_announcements(test_node, node, version)
  44891. @@ -291,7 +299,8 @@ class CompactBlocksTest(BitcoinTestFramework):
  44892.          block.rehash()
  44893.  
  44894.          # Wait until the block was announced (via compact blocks)
  44895. -        wait_until(test_node.received_block_announcement, timeout=30, lock=mininode_lock)
  44896. +        wait_until(test_node.received_block_announcement, timeout=30)
  44897. +        assert(test_node.received_block_announcement())
  44898.  
  44899.          # Now fetch and check the compact block
  44900.          header_and_shortids = None
  44901. @@ -307,7 +316,8 @@ class CompactBlocksTest(BitcoinTestFramework):
  44902.              inv = CInv(4, block_hash)  # 4 == "CompactBlock"
  44903.              test_node.send_message(msg_getdata([inv]))
  44904.  
  44905. -        wait_until(test_node.received_block_announcement, timeout=30, lock=mininode_lock)
  44906. +        wait_until(test_node.received_block_announcement, timeout=30)
  44907. +        assert(test_node.received_block_announcement())
  44908.  
  44909.          # Now fetch and check the compact block
  44910.          header_and_shortids = None
  44911. @@ -378,11 +388,13 @@ class CompactBlocksTest(BitcoinTestFramework):
  44912.  
  44913.              if announce == "inv":
  44914.                  test_node.send_message(msg_inv([CInv(2, block.sha256)]))
  44915. -                wait_until(lambda: "getheaders" in test_node.last_message, timeout=30, lock=mininode_lock)
  44916. +                success = wait_until(lambda: "getheaders" in test_node.last_message, timeout=30)
  44917. +                assert(success)
  44918.                  test_node.send_header_for_blocks([block])
  44919.              else:
  44920.                  test_node.send_header_for_blocks([block])
  44921. -            wait_until(lambda: "getdata" in test_node.last_message, timeout=30, lock=mininode_lock)
  44922. +            success = wait_until(lambda: "getdata" in test_node.last_message, timeout=30)
  44923. +            assert(success)
  44924.              assert_equal(len(test_node.last_message["getdata"].inv), 1)
  44925.              assert_equal(test_node.last_message["getdata"].inv[0].type, 4)
  44926.              assert_equal(test_node.last_message["getdata"].inv[0].hash, block.sha256)
  44927. @@ -561,7 +573,8 @@ class CompactBlocksTest(BitcoinTestFramework):
  44928.          assert_equal(int(node.getbestblockhash(), 16), block.hashPrevBlock)
  44929.  
  44930.          # We should receive a getdata request
  44931. -        wait_until(lambda: "getdata" in test_node.last_message, timeout=10, lock=mininode_lock)
  44932. +        success = wait_until(lambda: "getdata" in test_node.last_message, timeout=10)
  44933. +        assert(success)
  44934.          assert_equal(len(test_node.last_message["getdata"].inv), 1)
  44935.          assert(test_node.last_message["getdata"].inv[0].type == 2 or test_node.last_message["getdata"].inv[0].type == 2|MSG_WITNESS_FLAG)
  44936.          assert_equal(test_node.last_message["getdata"].inv[0].hash, block.sha256)
  44937. @@ -588,7 +601,8 @@ class CompactBlocksTest(BitcoinTestFramework):
  44938.              num_to_request = random.randint(1, len(block.vtx))
  44939.              msg.block_txn_request.from_absolute(sorted(random.sample(range(len(block.vtx)), num_to_request)))
  44940.              test_node.send_message(msg)
  44941. -            wait_until(lambda: "blocktxn" in test_node.last_message, timeout=10, lock=mininode_lock)
  44942. +            success = wait_until(lambda: "blocktxn" in test_node.last_message, timeout=10)
  44943. +            assert(success)
  44944.  
  44945.              [tx.calc_sha256() for tx in block.vtx]
  44946.              with mininode_lock:
  44947. @@ -627,20 +641,22 @@ class CompactBlocksTest(BitcoinTestFramework):
  44948.          for i in range(MAX_CMPCTBLOCK_DEPTH + 1):
  44949.              test_node.clear_block_announcement()
  44950.              new_blocks.append(node.generate(1)[0])
  44951. -            wait_until(test_node.received_block_announcement, timeout=30, lock=mininode_lock)
  44952. +            wait_until(test_node.received_block_announcement, timeout=30)
  44953.  
  44954.          test_node.clear_block_announcement()
  44955.          test_node.send_message(msg_getdata([CInv(4, int(new_blocks[0], 16))]))
  44956. -        wait_until(lambda: "cmpctblock" in test_node.last_message, timeout=30, lock=mininode_lock)
  44957. +        success = wait_until(lambda: "cmpctblock" in test_node.last_message, timeout=30)
  44958. +        assert(success)
  44959.  
  44960.          test_node.clear_block_announcement()
  44961.          node.generate(1)
  44962. -        wait_until(test_node.received_block_announcement, timeout=30, lock=mininode_lock)
  44963. +        wait_until(test_node.received_block_announcement, timeout=30)
  44964.          test_node.clear_block_announcement()
  44965.          with mininode_lock:
  44966.              test_node.last_message.pop("block", None)
  44967.          test_node.send_message(msg_getdata([CInv(4, int(new_blocks[0], 16))]))
  44968. -        wait_until(lambda: "block" in test_node.last_message, timeout=30, lock=mininode_lock)
  44969. +        success = wait_until(lambda: "block" in test_node.last_message, timeout=30)
  44970. +        assert(success)
  44971.          with mininode_lock:
  44972.              test_node.last_message["block"].block.calc_sha256()
  44973.              assert_equal(test_node.last_message["block"].block.sha256, int(new_blocks[0], 16))
  44974. @@ -691,7 +707,7 @@ class CompactBlocksTest(BitcoinTestFramework):
  44975.          node.submitblock(ToHex(block))
  44976.  
  44977.          for l in listeners:
  44978. -            wait_until(lambda: l.received_block_announcement(), timeout=30, lock=mininode_lock)
  44979. +            wait_until(lambda: l.received_block_announcement(), timeout=30)
  44980.          with mininode_lock:
  44981.              for l in listeners:
  44982.                  assert "cmpctblock" in l.last_message
  44983. diff --git a/test/functional/p2p-feefilter.py b/test/functional/p2p-feefilter.py
  44984. old mode 100755
  44985. new mode 100644
  44986. index 8c92365..dbccb63
  44987. --- a/test/functional/p2p-feefilter.py
  44988. +++ b/test/functional/p2p-feefilter.py
  44989. @@ -37,8 +37,11 @@ class TestNode(NodeConnCB):
  44990.              self.txinvs = []
  44991.  
  44992.  class FeeFilterTest(BitcoinTestFramework):
  44993. -    def set_test_params(self):
  44994. +
  44995. +    def __init__(self):
  44996. +        super().__init__()
  44997.          self.num_nodes = 2
  44998. +        self.setup_clean_chain = False
  44999.  
  45000.      def run_test(self):
  45001.          node1 = self.nodes[1]
  45002. diff --git a/test/functional/p2p-fullblocktest.py b/test/functional/p2p-fullblocktest.py
  45003. old mode 100755
  45004. new mode 100644
  45005. index 30da5ab..4d8ff65
  45006. --- a/test/functional/p2p-fullblocktest.py
  45007. +++ b/test/functional/p2p-fullblocktest.py
  45008. @@ -49,11 +49,12 @@ class CBrokenBlock(CBlock):
  45009.          return r
  45010.  
  45011.  class FullBlockTest(ComparisonTestFramework):
  45012. +
  45013.      # Can either run this test as 1 node with expected answers, or two and compare them.
  45014.      # Change the "outcome" variable from each TestInstance object to only do the comparison.
  45015. -    def set_test_params(self):
  45016. +    def __init__(self):
  45017. +        super().__init__()
  45018.          self.num_nodes = 1
  45019. -        self.setup_clean_chain = True
  45020.          self.block_heights = {}
  45021.          self.coinbase_key = CECKey()
  45022.          self.coinbase_key.set_secretbytes(b"horsebattery")
  45023. diff --git a/test/functional/p2p-leaktests.py b/test/functional/p2p-leaktests.py
  45024. old mode 100755
  45025. new mode 100644
  45026. index 1dc8f72..5611c87
  45027. --- a/test/functional/p2p-leaktests.py
  45028. +++ b/test/functional/p2p-leaktests.py
  45029. @@ -92,7 +92,8 @@ class CNodeNoVerackIdle(CLazyNode):
  45030.          conn.send_message(msg_getaddr())
  45031.  
  45032.  class P2PLeakTest(BitcoinTestFramework):
  45033. -    def set_test_params(self):
  45034. +    def __init__(self):
  45035. +        super().__init__()
  45036.          self.num_nodes = 1
  45037.          self.extra_args = [['-banscore='+str(banscore)]]
  45038.  
  45039. @@ -118,11 +119,11 @@ class P2PLeakTest(BitcoinTestFramework):
  45040.  
  45041.          NetworkThread().start()  # Start up network handling in another thread
  45042.  
  45043. -        wait_until(lambda: no_version_bannode.ever_connected, timeout=10, lock=mininode_lock)
  45044. -        wait_until(lambda: no_version_idlenode.ever_connected, timeout=10, lock=mininode_lock)
  45045. -        wait_until(lambda: no_verack_idlenode.version_received, timeout=10, lock=mininode_lock)
  45046. -        wait_until(lambda: unsupported_service_bit5_node.ever_connected, timeout=10, lock=mininode_lock)
  45047. -        wait_until(lambda: unsupported_service_bit7_node.ever_connected, timeout=10, lock=mininode_lock)
  45048. +        assert wait_until(lambda: no_version_bannode.ever_connected, timeout=10)
  45049. +        assert wait_until(lambda: no_version_idlenode.ever_connected, timeout=10)
  45050. +        assert wait_until(lambda: no_verack_idlenode.version_received, timeout=10)
  45051. +        assert wait_until(lambda: unsupported_service_bit5_node.ever_connected, timeout=10)
  45052. +        assert wait_until(lambda: unsupported_service_bit7_node.ever_connected, timeout=10)
  45053.  
  45054.          # Mine a block and make sure that it's not sent to the connected nodes
  45055.          self.nodes[0].generate(1)
  45056. @@ -139,9 +140,6 @@ class P2PLeakTest(BitcoinTestFramework):
  45057.  
  45058.          [conn.disconnect_node() for conn in connections]
  45059.  
  45060. -        # Wait until all connections are closed
  45061. -        wait_until(lambda: len(self.nodes[0].getpeerinfo()) == 0)
  45062. -
  45063.          # Make sure no unexpected messages came in
  45064.          assert(no_version_bannode.unexpected_msg == False)
  45065.          assert(no_version_idlenode.unexpected_msg == False)
  45066. @@ -160,10 +158,8 @@ class P2PLeakTest(BitcoinTestFramework):
  45067.          allowed_service_bit5_node.add_connection(connections[5])
  45068.          allowed_service_bit7_node.add_connection(connections[6])
  45069.  
  45070. -        NetworkThread().start()  # Network thread stopped when all previous NodeConnCBs disconnected. Restart it
  45071. -
  45072. -        wait_until(lambda: allowed_service_bit5_node.message_count["verack"], lock=mininode_lock)
  45073. -        wait_until(lambda: allowed_service_bit7_node.message_count["verack"], lock=mininode_lock)
  45074. +        assert wait_until(lambda: allowed_service_bit5_node.message_count["verack"], timeout=10)
  45075. +        assert wait_until(lambda: allowed_service_bit7_node.message_count["verack"], timeout=10)
  45076.  
  45077.  if __name__ == '__main__':
  45078.      P2PLeakTest().main()
  45079. diff --git a/test/functional/p2p-mempool.py b/test/functional/p2p-mempool.py
  45080. old mode 100755
  45081. new mode 100644
  45082. index 40fcde2..34ef249
  45083. --- a/test/functional/p2p-mempool.py
  45084. +++ b/test/functional/p2p-mempool.py
  45085. @@ -13,7 +13,9 @@ from test_framework.test_framework import BitcoinTestFramework
  45086.  from test_framework.util import *
  45087.  
  45088.  class P2PMempoolTests(BitcoinTestFramework):
  45089. -    def set_test_params(self):
  45090. +
  45091. +    def __init__(self):
  45092. +        super().__init__()
  45093.          self.setup_clean_chain = True
  45094.          self.num_nodes = 1
  45095.          self.extra_args = [["-peerbloomfilters=0"]]
  45096. diff --git a/test/functional/p2p-segwit.py b/test/functional/p2p-segwit.py
  45097. old mode 100755
  45098. new mode 100644
  45099. index 2642f89..687172c
  45100. --- a/test/functional/p2p-segwit.py
  45101. +++ b/test/functional/p2p-segwit.py
  45102. @@ -109,7 +109,9 @@ def sign_P2PK_witness_input(script, txTo, inIdx, hashtype, value, key):
  45103.  
  45104.  
  45105.  class SegWitTest(BitcoinTestFramework):
  45106. -    def set_test_params(self):
  45107. +
  45108. +    def __init__(self):
  45109. +        super().__init__()
  45110.          self.setup_clean_chain = True
  45111.          self.num_nodes = 3
  45112.          self.extra_args = [["-whitelist=127.0.0.1"], ["-whitelist=127.0.0.1", "-acceptnonstdtxn=0"], ["-whitelist=127.0.0.1", "-vbparams=segwit:0:0"]]
  45113. @@ -956,7 +958,7 @@ class SegWitTest(BitcoinTestFramework):
  45114.          assert(self.test_node.last_message["getdata"].inv[0].type == blocktype)
  45115.          self.test_node.test_witness_block(block1, True)
  45116.  
  45117. -        # Litecoin: Blocks with nVersion < VB_TOP_BITS are rejected
  45118. +        # LitecoinCash: Blocks with nVersion < VB_TOP_BITS are rejected
  45119.  
  45120.          # self.test_node.announce_block_and_wait_for_getdata(block2, use_header=True)
  45121.          # assert(self.test_node.last_message["getdata"].inv[0].type == blocktype)
  45122. @@ -1013,7 +1015,7 @@ class SegWitTest(BitcoinTestFramework):
  45123.              assert_equal(rpc_details["weight"], weight)
  45124.  
  45125.              # Upgraded node should not ask for blocks from unupgraded
  45126. -            # Litecoin: Blocks with nVersion < VB_TOP_BITS are rejected
  45127. +            # LitecoinCash: Blocks with nVersion < VB_TOP_BITS are rejected
  45128.              block4 = self.build_next_block(nVersion=(VB_TOP_BITS | (1<<15)))
  45129.              block4.solve()
  45130.              self.old_node.getdataset = set()
  45131. @@ -1494,7 +1496,7 @@ class SegWitTest(BitcoinTestFramework):
  45132.  
  45133.          # Restart with the new binary
  45134.          self.stop_node(node_id)
  45135. -        self.start_node(node_id, extra_args=[])
  45136. +        self.nodes[node_id] = self.start_node(node_id, self.options.tmpdir)
  45137.          connect_nodes(self.nodes[0], node_id)
  45138.  
  45139.          sync_blocks(self.nodes)
  45140. @@ -1947,7 +1949,7 @@ class SegWitTest(BitcoinTestFramework):
  45141.          self.test_premature_coinbase_witness_spend()
  45142.          self.test_uncompressed_pubkey()
  45143.          self.test_signature_version_1()
  45144. -        # Litecoin: Disable test due to occasional travis issue
  45145. +        # LitecoinCash: Disable test due to occasional travis issue
  45146.          #self.test_non_standard_witness()
  45147.          sync_blocks(self.nodes)
  45148.          self.test_upgrade_after_activation(node_id=2)
  45149. diff --git a/test/functional/p2p-timeouts.py b/test/functional/p2p-timeouts.py
  45150. old mode 100755
  45151. new mode 100644
  45152. index 51d4769..c3b29c2
  45153. --- a/test/functional/p2p-timeouts.py
  45154. +++ b/test/functional/p2p-timeouts.py
  45155. @@ -33,7 +33,8 @@ class TestNode(NodeConnCB):
  45156.          pass
  45157.  
  45158.  class TimeoutsTest(BitcoinTestFramework):
  45159. -    def set_test_params(self):
  45160. +    def __init__(self):
  45161. +        super().__init__()
  45162.          self.setup_clean_chain = True
  45163.          self.num_nodes = 1
  45164.  
  45165. diff --git a/test/functional/p2p-versionbits-warning.py b/test/functional/p2p-versionbits-warning.py
  45166. old mode 100755
  45167. new mode 100644
  45168. index 5dfac6d..df7e8ce
  45169. --- a/test/functional/p2p-versionbits-warning.py
  45170. +++ b/test/functional/p2p-versionbits-warning.py
  45171. @@ -28,7 +28,8 @@ class TestNode(NodeConnCB):
  45172.          pass
  45173.  
  45174.  class VersionBitsWarningTest(BitcoinTestFramework):
  45175. -    def set_test_params(self):
  45176. +    def __init__(self):
  45177. +        super().__init__()
  45178.          self.setup_clean_chain = True
  45179.          self.num_nodes = 1
  45180.  
  45181. @@ -111,7 +112,7 @@ class VersionBitsWarningTest(BitcoinTestFramework):
  45182.          # Empty out the alert file
  45183.          with open(self.alert_filename, 'w', encoding='utf8') as _:
  45184.              pass
  45185. -        self.start_nodes()
  45186. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, self.extra_args)
  45187.  
  45188.          # Connecting one block should be enough to generate an error.
  45189.          self.nodes[0].generate(1)
  45190. @@ -122,7 +123,7 @@ class VersionBitsWarningTest(BitcoinTestFramework):
  45191.          self.test_versionbits_in_alert_file()
  45192.  
  45193.          # Test framework expects the node to still be running...
  45194. -        self.start_nodes()
  45195. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, self.extra_args)
  45196.  
  45197.  if __name__ == '__main__':
  45198.      VersionBitsWarningTest().main()
  45199. diff --git a/test/functional/preciousblock.py b/test/functional/preciousblock.py
  45200. old mode 100755
  45201. new mode 100644
  45202. index 40d7bb1..04b41e7
  45203. --- a/test/functional/preciousblock.py
  45204. +++ b/test/functional/preciousblock.py
  45205. @@ -35,7 +35,8 @@ def node_sync_via_rpc(nodes):
  45206.              unidirectional_node_sync_via_rpc(node_src, node_dest)
  45207.  
  45208.  class PreciousTest(BitcoinTestFramework):
  45209. -    def set_test_params(self):
  45210. +    def __init__(self):
  45211. +        super().__init__()
  45212.          self.setup_clean_chain = True
  45213.          self.num_nodes = 3
  45214.  
  45215. diff --git a/test/functional/prioritise_transaction.py b/test/functional/prioritise_transaction.py
  45216. old mode 100755
  45217. new mode 100644
  45218. index e5611af..b964547
  45219. --- a/test/functional/prioritise_transaction.py
  45220. +++ b/test/functional/prioritise_transaction.py
  45221. @@ -9,7 +9,9 @@ from test_framework.util import *
  45222.  from test_framework.mininode import COIN, MAX_BLOCK_BASE_SIZE
  45223.  
  45224.  class PrioritiseTransactionTest(BitcoinTestFramework):
  45225. -    def set_test_params(self):
  45226. +
  45227. +    def __init__(self):
  45228. +        super().__init__()
  45229.          self.setup_clean_chain = True
  45230.          self.num_nodes = 2
  45231.          self.extra_args = [["-printpriority=1", "-maxmempool=10"], ["-printpriority=1", "-maxmempool=10"]]
  45232. @@ -101,7 +103,7 @@ class PrioritiseTransactionTest(BitcoinTestFramework):
  45233.          tx_id = self.nodes[0].decoderawtransaction(tx_hex)["txid"]
  45234.  
  45235.          # This will raise an exception due to min relay fee not being met
  45236. -        assert_raises_rpc_error(-26, "66: min relay fee not met", self.nodes[0].sendrawtransaction, tx_hex)
  45237. +        assert_raises_jsonrpc(-26, "66: min relay fee not met", self.nodes[0].sendrawtransaction, tx_hex)
  45238.          assert(tx_id not in self.nodes[0].getrawmempool())
  45239.  
  45240.          # This is a less than 1000-byte transaction, so just set the fee
  45241. diff --git a/test/functional/proxy_test.py b/test/functional/proxy_test.py
  45242. old mode 100755
  45243. new mode 100644
  45244. index 185d9a7..e1e4d21
  45245. --- a/test/functional/proxy_test.py
  45246. +++ b/test/functional/proxy_test.py
  45247. @@ -41,9 +41,12 @@ from test_framework.netutil import test_ipv6_local
  45248.  
  45249.  RANGE_BEGIN = PORT_MIN + 2 * PORT_RANGE  # Start after p2p and rpc ports
  45250.  
  45251. +
  45252.  class ProxyTest(BitcoinTestFramework):
  45253. -    def set_test_params(self):
  45254. +    def __init__(self):
  45255. +        super().__init__()
  45256.          self.num_nodes = 4
  45257. +        self.setup_clean_chain = False
  45258.  
  45259.      def setup_nodes(self):
  45260.          self.have_ipv6 = test_ipv6_local()
  45261. @@ -86,8 +89,7 @@ class ProxyTest(BitcoinTestFramework):
  45262.              ]
  45263.          if self.have_ipv6:
  45264.              args[3] = ['-listen', '-proxy=[%s]:%i' % (self.conf3.addr),'-proxyrandomize=0', '-noonion']
  45265. -        self.add_nodes(self.num_nodes, extra_args=args)
  45266. -        self.start_nodes()
  45267. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, extra_args=args)
  45268.  
  45269.      def node_test(self, node, proxies, auth, test_onion=True):
  45270.          rv = []
  45271. diff --git a/test/functional/pruning.py b/test/functional/pruning.py
  45272. old mode 100755
  45273. new mode 100644
  45274. index 1b0f0ba..0af91e0
  45275. --- a/test/functional/pruning.py
  45276. +++ b/test/functional/pruning.py
  45277. @@ -26,7 +26,9 @@ def calc_usage(blockdir):
  45278.      return sum(os.path.getsize(blockdir+f) for f in os.listdir(blockdir) if os.path.isfile(blockdir+f)) / (1024. * 1024.)
  45279.  
  45280.  class PruneTest(BitcoinTestFramework):
  45281. -    def set_test_params(self):
  45282. +
  45283. +    def __init__(self):
  45284. +        super().__init__()
  45285.          self.setup_clean_chain = True
  45286.          self.num_nodes = 6
  45287.  
  45288. @@ -54,10 +56,6 @@ class PruneTest(BitcoinTestFramework):
  45289.          connect_nodes(self.nodes[0], 4)
  45290.          sync_blocks(self.nodes[0:5])
  45291.  
  45292. -    def setup_nodes(self):
  45293. -        self.add_nodes(self.num_nodes, self.extra_args, timewait=900)
  45294. -        self.start_nodes()
  45295. -
  45296.      def create_big_chain(self):
  45297.          # Start by creating some coinbases we can spend later
  45298.          self.nodes[1].generate(200)
  45299. @@ -100,7 +98,7 @@ class PruneTest(BitcoinTestFramework):
  45300.              # Node 2 stays connected, so it hears about the stale blocks and then reorg's when node0 reconnects
  45301.              # Stopping node 0 also clears its mempool, so it doesn't have node1's transactions to accidentally mine
  45302.              self.stop_node(0)
  45303. -            self.start_node(0, extra_args=self.full_node_default_args)
  45304. +            self.nodes[0]=self.start_node(0, self.options.tmpdir, self.full_node_default_args, timewait=900)
  45305.              # Mine 24 blocks in node 1
  45306.              for i in range(24):
  45307.                  if j == 0:
  45308. @@ -128,7 +126,7 @@ class PruneTest(BitcoinTestFramework):
  45309.          # Reboot node 1 to clear its mempool (hopefully make the invalidate faster)
  45310.          # Lower the block max size so we don't keep mining all our big mempool transactions (from disconnected blocks)
  45311.          self.stop_node(1)
  45312. -        self.start_node(1, extra_args=["-maxreceivebuffer=20000","-blockmaxsize=5000", "-checkblocks=5", "-disablesafemode"])
  45313. +        self.nodes[1] = self.start_node(1, self.options.tmpdir, ["-maxreceivebuffer=20000","-blockmaxsize=5000", "-checkblocks=5", "-disablesafemode"], timewait=900)
  45314.  
  45315.          height = self.nodes[1].getblockcount()
  45316.          self.log.info("Current block height: %d" % height)
  45317. @@ -151,7 +149,7 @@ class PruneTest(BitcoinTestFramework):
  45318.  
  45319.          # Reboot node1 to clear those giant tx's from mempool
  45320.          self.stop_node(1)
  45321. -        self.start_node(1, extra_args=["-maxreceivebuffer=20000","-blockmaxsize=5000", "-checkblocks=5", "-disablesafemode"])
  45322. +        self.nodes[1] = self.start_node(1, self.options.tmpdir, ["-maxreceivebuffer=20000","-blockmaxsize=5000", "-checkblocks=5", "-disablesafemode"], timewait=900)
  45323.  
  45324.          self.log.info("Generating new longer chain of 300 more blocks")
  45325.          self.nodes[1].generate(300)
  45326. @@ -185,7 +183,7 @@ class PruneTest(BitcoinTestFramework):
  45327.  
  45328.      def reorg_back(self):
  45329.          # Verify that a block on the old main chain fork has been pruned away
  45330. -        assert_raises_rpc_error(-1, "Block not available (pruned data)", self.nodes[2].getblock, self.forkhash)
  45331. +        assert_raises_jsonrpc(-1, "Block not available (pruned data)", self.nodes[2].getblock, self.forkhash)
  45332.          self.log.info("Will need to redownload block %d" % self.forkheight)
  45333.  
  45334.          # Verify that we have enough history to reorg back to the fork point
  45335. @@ -229,15 +227,13 @@ class PruneTest(BitcoinTestFramework):
  45336.  
  45337.      def manual_test(self, node_number, use_timestamp):
  45338.          # at this point, node has 995 blocks and has not yet run in prune mode
  45339. -        self.start_node(node_number)
  45340. -        node = self.nodes[node_number]
  45341. +        node = self.nodes[node_number] = self.start_node(node_number, self.options.tmpdir, timewait=900)
  45342.          assert_equal(node.getblockcount(), 995)
  45343. -        assert_raises_rpc_error(-1, "not in prune mode", node.pruneblockchain, 500)
  45344. +        assert_raises_jsonrpc(-1, "not in prune mode", node.pruneblockchain, 500)
  45345. +        self.stop_node(node_number)
  45346.  
  45347.          # now re-start in manual pruning mode
  45348. -        self.stop_node(node_number)
  45349. -        self.start_node(node_number, extra_args=["-prune=1"])
  45350. -        node = self.nodes[node_number]
  45351. +        node = self.nodes[node_number] = self.start_node(node_number, self.options.tmpdir, ["-prune=1"], timewait=900)
  45352.          assert_equal(node.getblockcount(), 995)
  45353.  
  45354.          def height(index):
  45355. @@ -265,14 +261,14 @@ class PruneTest(BitcoinTestFramework):
  45356.              return os.path.isfile(self.options.tmpdir + "/node{}/regtest/blocks/blk{:05}.dat".format(node_number, index))
  45357.  
  45358.          # should not prune because chain tip of node 3 (995) < PruneAfterHeight (1000)
  45359. -        assert_raises_rpc_error(-1, "Blockchain is too short for pruning", node.pruneblockchain, height(500))
  45360. +        assert_raises_jsonrpc(-1, "Blockchain is too short for pruning", node.pruneblockchain, height(500))
  45361.  
  45362.          # mine 6 blocks so we are at height 1001 (i.e., above PruneAfterHeight)
  45363.          node.generate(6)
  45364.          assert_equal(node.getblockchaininfo()["blocks"], 1001)
  45365.  
  45366.          # negative heights should raise an exception
  45367. -        assert_raises_rpc_error(-8, "Negative", node.pruneblockchain, -10)
  45368. +        assert_raises_jsonrpc(-8, "Negative", node.pruneblockchain, -10)
  45369.  
  45370.          # height=100 too low to prune first block file so this is a no-op
  45371.          prune(100)
  45372. @@ -311,7 +307,7 @@ class PruneTest(BitcoinTestFramework):
  45373.  
  45374.          # stop node, start back up with auto-prune at 550MB, make sure still runs
  45375.          self.stop_node(node_number)
  45376. -        self.start_node(node_number, extra_args=["-prune=550"])
  45377. +        self.nodes[node_number] = self.start_node(node_number, self.options.tmpdir, ["-prune=550"], timewait=900)
  45378.  
  45379.          self.log.info("Success")
  45380.  
  45381. @@ -319,7 +315,7 @@ class PruneTest(BitcoinTestFramework):
  45382.          # check that the pruning node's wallet is still in good shape
  45383.          self.log.info("Stop and start pruning node to trigger wallet rescan")
  45384.          self.stop_node(2)
  45385. -        self.start_node(2, extra_args=["-prune=550"])
  45386. +        self.nodes[2] = self.start_node(2, self.options.tmpdir, ["-prune=550"])
  45387.          self.log.info("Success")
  45388.  
  45389.          # check that wallet loads successfully when restarting a pruned node after IBD.
  45390. @@ -329,7 +325,7 @@ class PruneTest(BitcoinTestFramework):
  45391.          nds = [self.nodes[0], self.nodes[5]]
  45392.          sync_blocks(nds, wait=5, timeout=300)
  45393.          self.stop_node(5) #stop and start to trigger rescan
  45394. -        self.start_node(5, extra_args=["-prune=550"])
  45395. +        self.nodes[5] = self.start_node(5, self.options.tmpdir, ["-prune=550"])
  45396.          self.log.info("Success")
  45397.  
  45398.      def run_test(self):
  45399. diff --git a/test/functional/rawtransactions.py b/test/functional/rawtransactions.py
  45400. old mode 100755
  45401. new mode 100644
  45402. index ec9467e..6272fc6
  45403. --- a/test/functional/rawtransactions.py
  45404. +++ b/test/functional/rawtransactions.py
  45405. @@ -17,7 +17,9 @@ from test_framework.util import *
  45406.  
  45407.  # Create one-input, one-output, no-fee transaction:
  45408.  class RawTransactionsTest(BitcoinTestFramework):
  45409. -    def set_test_params(self):
  45410. +
  45411. +    def __init__(self):
  45412. +        super().__init__()
  45413.          self.setup_clean_chain = True
  45414.          self.num_nodes = 3
  45415.  
  45416. @@ -48,7 +50,7 @@ class RawTransactionsTest(BitcoinTestFramework):
  45417.          rawtx   = self.nodes[2].signrawtransaction(rawtx)
  45418.  
  45419.          # This will raise an exception since there are missing inputs
  45420. -        assert_raises_rpc_error(-25, "Missing inputs", self.nodes[2].sendrawtransaction, rawtx['hex'])
  45421. +        assert_raises_jsonrpc(-25, "Missing inputs", self.nodes[2].sendrawtransaction, rawtx['hex'])
  45422.  
  45423.          #########################
  45424.          # RAW TX MULTISIG TESTS #
  45425. @@ -190,13 +192,13 @@ class RawTransactionsTest(BitcoinTestFramework):
  45426.          assert_equal(self.nodes[0].getrawtransaction(txHash, True)["hex"], rawTxSigned['hex'])
  45427.  
  45428.          # 6. invalid parameters - supply txid and string "Flase"
  45429. -        assert_raises_rpc_error(-3,"Invalid type", self.nodes[0].getrawtransaction, txHash, "Flase")
  45430. +        assert_raises_jsonrpc(-3,"Invalid type", self.nodes[0].getrawtransaction, txHash, "Flase")
  45431.  
  45432.          # 7. invalid parameters - supply txid and empty array
  45433. -        assert_raises_rpc_error(-3,"Invalid type", self.nodes[0].getrawtransaction, txHash, [])
  45434. +        assert_raises_jsonrpc(-3,"Invalid type", self.nodes[0].getrawtransaction, txHash, [])
  45435.  
  45436.          # 8. invalid parameters - supply txid and empty dict
  45437. -        assert_raises_rpc_error(-3,"Invalid type", self.nodes[0].getrawtransaction, txHash, {})
  45438. +        assert_raises_jsonrpc(-3,"Invalid type", self.nodes[0].getrawtransaction, txHash, {})
  45439.  
  45440.          inputs  = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 1000}]
  45441.          outputs = { self.nodes[0].getnewaddress() : 1 }
  45442. @@ -207,12 +209,12 @@ class RawTransactionsTest(BitcoinTestFramework):
  45443.          # 9. invalid parameters - sequence number out of range
  45444.          inputs  = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : -1}]
  45445.          outputs = { self.nodes[0].getnewaddress() : 1 }
  45446. -        assert_raises_rpc_error(-8, 'Invalid parameter, sequence number is out of range', self.nodes[0].createrawtransaction, inputs, outputs)
  45447. +        assert_raises_jsonrpc(-8, 'Invalid parameter, sequence number is out of range', self.nodes[0].createrawtransaction, inputs, outputs)
  45448.  
  45449.          # 10. invalid parameters - sequence number out of range
  45450.          inputs  = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 4294967296}]
  45451.          outputs = { self.nodes[0].getnewaddress() : 1 }
  45452. -        assert_raises_rpc_error(-8, 'Invalid parameter, sequence number is out of range', self.nodes[0].createrawtransaction, inputs, outputs)
  45453. +        assert_raises_jsonrpc(-8, 'Invalid parameter, sequence number is out of range', self.nodes[0].createrawtransaction, inputs, outputs)
  45454.  
  45455.          inputs  = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 4294967294}]
  45456.          outputs = { self.nodes[0].getnewaddress() : 1 }
  45457. diff --git a/test/functional/receivedby.py b/test/functional/receivedby.py
  45458. old mode 100755
  45459. new mode 100644
  45460. index db6fc86..19d99c9
  45461. --- a/test/functional/receivedby.py
  45462. +++ b/test/functional/receivedby.py
  45463. @@ -23,9 +23,16 @@ def get_sub_array_from_array(object_array, to_match):
  45464.      return []
  45465.  
  45466.  class ReceivedByTest(BitcoinTestFramework):
  45467. -    def set_test_params(self):
  45468. -        self.num_nodes = 2
  45469. +
  45470. +    def __init__(self):
  45471. +        super().__init__()
  45472. +        self.num_nodes = 4
  45473. +        self.setup_clean_chain = False
  45474. +
  45475. +    def setup_nodes(self):
  45476. +        #This test requires mocktime
  45477.          self.enable_mocktime()
  45478. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir)
  45479.  
  45480.      def run_test(self):
  45481.          '''
  45482. diff --git a/test/functional/reindex.py b/test/functional/reindex.py
  45483. old mode 100755
  45484. new mode 100644
  45485. index 1f684a1..b446baa
  45486. --- a/test/functional/reindex.py
  45487. +++ b/test/functional/reindex.py
  45488. @@ -15,7 +15,8 @@ import time
  45489.  
  45490.  class ReindexTest(BitcoinTestFramework):
  45491.  
  45492. -    def set_test_params(self):
  45493. +    def __init__(self):
  45494. +        super().__init__()
  45495.          self.setup_clean_chain = True
  45496.          self.num_nodes = 1
  45497.  
  45498. @@ -24,7 +25,7 @@ class ReindexTest(BitcoinTestFramework):
  45499.          blockcount = self.nodes[0].getblockcount()
  45500.          self.stop_nodes()
  45501.          extra_args = [["-reindex-chainstate" if justchainstate else "-reindex", "-checkblockindex=1"]]
  45502. -        self.start_nodes(extra_args)
  45503. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, extra_args)
  45504.          while self.nodes[0].getblockcount() < blockcount:
  45505.              time.sleep(0.1)
  45506.          assert_equal(self.nodes[0].getblockcount(), blockcount)
  45507. diff --git a/test/functional/replace-by-fee.py b/test/functional/replace-by-fee.py
  45508. old mode 100755
  45509. new mode 100644
  45510. index 4ef10e6..bc67654
  45511. --- a/test/functional/replace-by-fee.py
  45512. +++ b/test/functional/replace-by-fee.py
  45513. @@ -61,25 +61,20 @@ def make_utxo(node, amount, confirmed=True, scriptPubKey=CScript([1])):
  45514.  
  45515.  class ReplaceByFeeTest(BitcoinTestFramework):
  45516.  
  45517. -    def set_test_params(self):
  45518. -        self.num_nodes = 2
  45519. +    def __init__(self):
  45520. +        super().__init__()
  45521. +        self.num_nodes = 1
  45522. +        self.setup_clean_chain = False
  45523.          self.extra_args= [["-maxorphantx=1000",
  45524.                             "-whitelist=127.0.0.1",
  45525.                             "-limitancestorcount=50",
  45526.                             "-limitancestorsize=101",
  45527.                             "-limitdescendantcount=200",
  45528. -                           "-limitdescendantsize=101"],
  45529. -                           ["-mempoolreplacement=0"]]
  45530. +                           "-limitdescendantsize=101"]]
  45531.  
  45532.      def run_test(self):
  45533. -        # Leave IBD
  45534. -        self.nodes[0].generate(1)
  45535. -
  45536.          make_utxo(self.nodes[0], 1*COIN)
  45537.  
  45538. -        # Ensure nodes are synced
  45539. -        self.sync_all()
  45540. -
  45541.          self.log.info("Running test simple doublespend...")
  45542.          self.test_simple_doublespend()
  45543.  
  45544. @@ -116,19 +111,12 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45545.          """Simple doublespend"""
  45546.          tx0_outpoint = make_utxo(self.nodes[0], int(1.1*COIN))
  45547.  
  45548. -        # make_utxo may have generated a bunch of blocks, so we need to sync
  45549. -        # before we can spend the coins generated, or else the resulting
  45550. -        # transactions might not be accepted by our peers.
  45551. -        self.sync_all()
  45552. -
  45553.          tx1a = CTransaction()
  45554.          tx1a.vin = [CTxIn(tx0_outpoint, nSequence=0)]
  45555.          tx1a.vout = [CTxOut(1*COIN, CScript([b'a']))]
  45556.          tx1a_hex = txToHex(tx1a)
  45557.          tx1a_txid = self.nodes[0].sendrawtransaction(tx1a_hex, True)
  45558.  
  45559. -        self.sync_all()
  45560. -
  45561.          # Should fail because we haven't changed the fee
  45562.          tx1b = CTransaction()
  45563.          tx1b.vin = [CTxIn(tx0_outpoint, nSequence=0)]
  45564. @@ -136,18 +124,13 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45565.          tx1b_hex = txToHex(tx1b)
  45566.  
  45567.          # This will raise an exception due to insufficient fee
  45568. -        assert_raises_rpc_error(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx1b_hex, True)
  45569. -        # This will raise an exception due to transaction replacement being disabled
  45570. -        assert_raises_rpc_error(-26, "txn-mempool-conflict", self.nodes[1].sendrawtransaction, tx1b_hex, True)
  45571. +        assert_raises_jsonrpc(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx1b_hex, True)
  45572.  
  45573.          # Extra 0.1 BTC fee
  45574.          tx1b = CTransaction()
  45575.          tx1b.vin = [CTxIn(tx0_outpoint, nSequence=0)]
  45576.          tx1b.vout = [CTxOut(int(0.9*COIN), CScript([b'b']))]
  45577.          tx1b_hex = txToHex(tx1b)
  45578. -        # Replacement still disabled even with "enough fee"
  45579. -        assert_raises_rpc_error(-26, "txn-mempool-conflict", self.nodes[1].sendrawtransaction, tx1b_hex, True)
  45580. -        # Works when enabled
  45581.          tx1b_txid = self.nodes[0].sendrawtransaction(tx1b_hex, True)
  45582.  
  45583.          mempool = self.nodes[0].getrawmempool()
  45584. @@ -157,11 +140,6 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45585.  
  45586.          assert_equal(tx1b_hex, self.nodes[0].getrawtransaction(tx1b_txid))
  45587.  
  45588. -        # Second node is running mempoolreplacement=0, will not replace originally-seen txn
  45589. -        mempool = self.nodes[1].getrawmempool()
  45590. -        assert tx1a_txid in mempool
  45591. -        assert tx1b_txid not in mempool
  45592. -
  45593.      def test_doublespend_chain(self):
  45594.          """Doublespend of a long chain"""
  45595.  
  45596. @@ -189,7 +167,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45597.          dbl_tx_hex = txToHex(dbl_tx)
  45598.  
  45599.          # This will raise an exception due to insufficient fee
  45600. -        assert_raises_rpc_error(-26, "insufficient fee", self.nodes[0].sendrawtransaction, dbl_tx_hex, True)
  45601. +        assert_raises_jsonrpc(-26, "insufficient fee", self.nodes[0].sendrawtransaction, dbl_tx_hex, True)
  45602.  
  45603.          # Accepted with sufficient fee
  45604.          dbl_tx = CTransaction()
  45605. @@ -250,7 +228,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45606.          dbl_tx.vout = [CTxOut(initial_nValue - fee*n, CScript([1]))]
  45607.          dbl_tx_hex = txToHex(dbl_tx)
  45608.          # This will raise an exception due to insufficient fee
  45609. -        assert_raises_rpc_error(-26, "insufficient fee", self.nodes[0].sendrawtransaction, dbl_tx_hex, True)
  45610. +        assert_raises_jsonrpc(-26, "insufficient fee", self.nodes[0].sendrawtransaction, dbl_tx_hex, True)
  45611.  
  45612.          # 1 BTC fee is enough
  45613.          dbl_tx = CTransaction()
  45614. @@ -278,7 +256,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45615.              dbl_tx.vout = [CTxOut(initial_nValue - 2*fee*n, CScript([1]))]
  45616.              dbl_tx_hex = txToHex(dbl_tx)
  45617.              # This will raise an exception
  45618. -            assert_raises_rpc_error(-26, "too many potential replacements", self.nodes[0].sendrawtransaction, dbl_tx_hex, True)
  45619. +            assert_raises_jsonrpc(-26, "too many potential replacements", self.nodes[0].sendrawtransaction, dbl_tx_hex, True)
  45620.  
  45621.              for tx in tree_txs:
  45622.                  tx.rehash()
  45623. @@ -302,7 +280,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45624.          tx1b_hex = txToHex(tx1b)
  45625.  
  45626.          # This will raise an exception due to insufficient fee
  45627. -        assert_raises_rpc_error(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx1b_hex, True)
  45628. +        assert_raises_jsonrpc(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx1b_hex, True)
  45629.  
  45630.      def test_spends_of_conflicting_outputs(self):
  45631.          """Replacements that spend conflicting tx outputs are rejected"""
  45632. @@ -325,7 +303,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45633.          tx2_hex = txToHex(tx2)
  45634.  
  45635.          # This will raise an exception
  45636. -        assert_raises_rpc_error(-26, "bad-txns-spends-conflicting-tx", self.nodes[0].sendrawtransaction, tx2_hex, True)
  45637. +        assert_raises_jsonrpc(-26, "bad-txns-spends-conflicting-tx", self.nodes[0].sendrawtransaction, tx2_hex, True)
  45638.  
  45639.          # Spend tx1a's output to test the indirect case.
  45640.          tx1b = CTransaction()
  45641. @@ -342,7 +320,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45642.          tx2_hex = txToHex(tx2)
  45643.  
  45644.          # This will raise an exception
  45645. -        assert_raises_rpc_error(-26, "bad-txns-spends-conflicting-tx", self.nodes[0].sendrawtransaction, tx2_hex, True)
  45646. +        assert_raises_jsonrpc(-26, "bad-txns-spends-conflicting-tx", self.nodes[0].sendrawtransaction, tx2_hex, True)
  45647.  
  45648.      def test_new_unconfirmed_inputs(self):
  45649.          """Replacements that add new unconfirmed inputs are rejected"""
  45650. @@ -361,7 +339,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45651.          tx2_hex = txToHex(tx2)
  45652.  
  45653.          # This will raise an exception
  45654. -        assert_raises_rpc_error(-26, "replacement-adds-unconfirmed", self.nodes[0].sendrawtransaction, tx2_hex, True)
  45655. +        assert_raises_jsonrpc(-26, "replacement-adds-unconfirmed", self.nodes[0].sendrawtransaction, tx2_hex, True)
  45656.  
  45657.      def test_too_many_replacements(self):
  45658.          """Replacements that evict too many transactions are rejected"""
  45659. @@ -407,7 +385,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45660.          double_tx_hex = txToHex(double_tx)
  45661.  
  45662.          # This will raise an exception
  45663. -        assert_raises_rpc_error(-26, "too many potential replacements", self.nodes[0].sendrawtransaction, double_tx_hex, True)
  45664. +        assert_raises_jsonrpc(-26, "too many potential replacements", self.nodes[0].sendrawtransaction, double_tx_hex, True)
  45665.  
  45666.          # If we remove an input, it should pass
  45667.          double_tx = CTransaction()
  45668. @@ -434,7 +412,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45669.          tx1b_hex = txToHex(tx1b)
  45670.  
  45671.          # This will raise an exception
  45672. -        assert_raises_rpc_error(-26, "txn-mempool-conflict", self.nodes[0].sendrawtransaction, tx1b_hex, True)
  45673. +        assert_raises_jsonrpc(-26, "txn-mempool-conflict", self.nodes[0].sendrawtransaction, tx1b_hex, True)
  45674.  
  45675.          tx1_outpoint = make_utxo(self.nodes[0], int(1.1*COIN))
  45676.  
  45677. @@ -452,7 +430,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45678.          tx2b_hex = txToHex(tx2b)
  45679.  
  45680.          # This will raise an exception
  45681. -        assert_raises_rpc_error(-26, "txn-mempool-conflict", self.nodes[0].sendrawtransaction, tx2b_hex, True)
  45682. +        assert_raises_jsonrpc(-26, "txn-mempool-conflict", self.nodes[0].sendrawtransaction, tx2b_hex, True)
  45683.  
  45684.          # Now create a new transaction that spends from tx1a and tx2a
  45685.          # opt-in on one of the inputs
  45686. @@ -504,7 +482,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45687.          tx1b_hex = txToHex(tx1b)
  45688.  
  45689.          # Verify tx1b cannot replace tx1a.
  45690. -        assert_raises_rpc_error(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx1b_hex, True)
  45691. +        assert_raises_jsonrpc(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx1b_hex, True)
  45692.  
  45693.          # Use prioritisetransaction to set tx1a's fee to 0.
  45694.          self.nodes[0].prioritisetransaction(txid=tx1a_txid, fee_delta=int(-0.1*COIN))
  45695. @@ -531,7 +509,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
  45696.          tx2b_hex = txToHex(tx2b)
  45697.  
  45698.          # Verify tx2b cannot replace tx2a.
  45699. -        assert_raises_rpc_error(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx2b_hex, True)
  45700. +        assert_raises_jsonrpc(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx2b_hex, True)
  45701.  
  45702.          # Now prioritise tx2b to have a higher modified fee
  45703.          self.nodes[0].prioritisetransaction(txid=tx2b.hash, fee_delta=int(0.1*COIN))
  45704. diff --git a/test/functional/resendwallettransactions.py b/test/functional/resendwallettransactions.py
  45705. old mode 100755
  45706. new mode 100644
  45707. index d959bb4..5059aa1
  45708. --- a/test/functional/resendwallettransactions.py
  45709. +++ b/test/functional/resendwallettransactions.py
  45710. @@ -5,20 +5,22 @@
  45711.  """Test resendwallettransactions RPC."""
  45712.  
  45713.  from test_framework.test_framework import BitcoinTestFramework
  45714. -from test_framework.util import assert_equal, assert_raises_rpc_error
  45715. +from test_framework.util import assert_equal, assert_raises_jsonrpc
  45716.  
  45717.  class ResendWalletTransactionsTest(BitcoinTestFramework):
  45718. -    def set_test_params(self):
  45719. -        self.num_nodes = 1
  45720. +
  45721. +    def __init__(self):
  45722. +        super().__init__()
  45723.          self.extra_args = [['--walletbroadcast=false']]
  45724. +        self.num_nodes = 1
  45725.  
  45726.      def run_test(self):
  45727.          # Should raise RPC_WALLET_ERROR (-4) if walletbroadcast is disabled.
  45728. -        assert_raises_rpc_error(-4, "Error: Wallet transaction broadcasting is disabled with -walletbroadcast", self.nodes[0].resendwallettransactions)
  45729. +        assert_raises_jsonrpc(-4, "Error: Wallet transaction broadcasting is disabled with -walletbroadcast", self.nodes[0].resendwallettransactions)
  45730.  
  45731.          # Should return an empty array if there aren't unconfirmed wallet transactions.
  45732.          self.stop_node(0)
  45733. -        self.start_node(0, extra_args=[])
  45734. +        self.nodes[0] = self.start_node(0, self.options.tmpdir)
  45735.          assert_equal(self.nodes[0].resendwallettransactions(), [])
  45736.  
  45737.          # Should return an array with the unconfirmed wallet transaction.
  45738. diff --git a/test/functional/rest.py b/test/functional/rest.py
  45739. old mode 100755
  45740. new mode 100644
  45741. index 437111a..a69dbb5
  45742. --- a/test/functional/rest.py
  45743. +++ b/test/functional/rest.py
  45744. @@ -43,7 +43,8 @@ def http_post_call(host, port, path, requestdata = '', response_object = 0):
  45745.  class RESTTest (BitcoinTestFramework):
  45746.      FORMAT_SEPARATOR = "."
  45747.  
  45748. -    def set_test_params(self):
  45749. +    def __init__(self):
  45750. +        super().__init__()
  45751.          self.setup_clean_chain = True
  45752.          self.num_nodes = 3
  45753.  
  45754. diff --git a/test/functional/rpcbind_test.py b/test/functional/rpcbind_test.py
  45755. old mode 100755
  45756. new mode 100644
  45757. index 0e8c3fa..951685a
  45758. --- a/test/functional/rpcbind_test.py
  45759. +++ b/test/functional/rpcbind_test.py
  45760. @@ -11,13 +11,19 @@ from test_framework.test_framework import BitcoinTestFramework, SkipTest
  45761.  from test_framework.util import *
  45762.  from test_framework.netutil import *
  45763.  
  45764. +
  45765.  class RPCBindTest(BitcoinTestFramework):
  45766. -    def set_test_params(self):
  45767. +
  45768. +    def __init__(self):
  45769. +        super().__init__()
  45770.          self.setup_clean_chain = True
  45771.          self.num_nodes = 1
  45772.  
  45773.      def setup_network(self):
  45774. -        self.add_nodes(self.num_nodes, None)
  45775. +        pass
  45776. +
  45777. +    def setup_nodes(self):
  45778. +        pass
  45779.  
  45780.      def run_bind_test(self, allow_ips, connect_to, addresses, expected):
  45781.          '''
  45782. @@ -25,15 +31,13 @@ class RPCBindTest(BitcoinTestFramework):
  45783.          then try to connect, and check if the set of bound addresses
  45784.          matches the expected set.
  45785.          '''
  45786. -        self.log.info("Bind test for %s" % str(addresses))
  45787.          expected = [(addr_to_hex(addr), port) for (addr, port) in expected]
  45788.          base_args = ['-disablewallet', '-nolisten']
  45789.          if allow_ips:
  45790.              base_args += ['-rpcallowip=' + x for x in allow_ips]
  45791.          binds = ['-rpcbind='+addr for addr in addresses]
  45792. -        self.nodes[0].rpchost = connect_to
  45793. -        self.start_node(0, base_args + binds)
  45794. -        pid = self.nodes[0].process.pid
  45795. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, [base_args + binds], connect_to)
  45796. +        pid = self.bitcoind_processes[0].pid
  45797.          assert_equal(set(get_bind_addrs(pid)), set(expected))
  45798.          self.stop_nodes()
  45799.  
  45800. @@ -42,12 +46,10 @@ class RPCBindTest(BitcoinTestFramework):
  45801.          Start a node with rpcallow IP, and request getnetworkinfo
  45802.          at a non-localhost IP.
  45803.          '''
  45804. -        self.log.info("Allow IP test for %s:%d" % (rpchost, rpcport))
  45805.          base_args = ['-disablewallet', '-nolisten'] + ['-rpcallowip='+x for x in allow_ips]
  45806. -        self.nodes[0].rpchost = None
  45807. -        self.start_nodes([base_args])
  45808. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, [base_args])
  45809.          # connect to node through non-loopback interface
  45810. -        node = get_rpc_proxy(rpc_url(get_datadir_path(self.options.tmpdir, 0), 0, "%s:%d" % (rpchost, rpcport)), 0, coveragedir=self.options.coveragedir)
  45811. +        node = get_rpc_proxy(rpc_url(get_datadir_path(self.options.tmpdir, 0), 0, "%s:%d" % (rpchost, rpcport)), 0)
  45812.          node.getnetworkinfo()
  45813.          self.stop_nodes()
  45814.  
  45815. @@ -101,7 +103,7 @@ class RPCBindTest(BitcoinTestFramework):
  45816.  
  45817.          # Check that with invalid rpcallowip, we are denied
  45818.          self.run_allowip_test([non_loopback_ip], non_loopback_ip, defaultport)
  45819. -        assert_raises_rpc_error(-342, "non-JSON HTTP response with '403 Forbidden' from server", self.run_allowip_test, ['1.1.1.1'], non_loopback_ip, defaultport)
  45820. +        assert_raises_jsonrpc(-342, "non-JSON HTTP response with '403 Forbidden' from server", self.run_allowip_test, ['1.1.1.1'], non_loopback_ip, defaultport)
  45821.  
  45822.  if __name__ == '__main__':
  45823.      RPCBindTest().main()
  45824. diff --git a/test/functional/rpcnamedargs.py b/test/functional/rpcnamedargs.py
  45825. old mode 100755
  45826. new mode 100644
  45827. index 0fb0a62..3b28600
  45828. --- a/test/functional/rpcnamedargs.py
  45829. +++ b/test/functional/rpcnamedargs.py
  45830. @@ -7,11 +7,18 @@
  45831.  from test_framework.test_framework import BitcoinTestFramework
  45832.  from test_framework.util import (
  45833.      assert_equal,
  45834. -    assert_raises_rpc_error,
  45835. +    assert_raises_jsonrpc,
  45836.  )
  45837.  
  45838. +
  45839.  class NamedArgumentTest(BitcoinTestFramework):
  45840. -    def set_test_params(self):
  45841. +    """
  45842. +    Test named arguments on RPC calls.
  45843. +    """
  45844. +
  45845. +    def __init__(self):
  45846. +        super().__init__()
  45847. +        self.setup_clean_chain = False
  45848.          self.num_nodes = 1
  45849.  
  45850.      def run_test(self):
  45851. @@ -19,7 +26,7 @@ class NamedArgumentTest(BitcoinTestFramework):
  45852.          h = node.help(command='getinfo')
  45853.          assert(h.startswith('getinfo\n'))
  45854.  
  45855. -        assert_raises_rpc_error(-8, 'Unknown named parameter', node.help, random='getinfo')
  45856. +        assert_raises_jsonrpc(-8, 'Unknown named parameter', node.help, random='getinfo')
  45857.  
  45858.          h = node.getblockhash(height=0)
  45859.          node.getblock(blockhash=h)
  45860. diff --git a/test/functional/segwit.py b/test/functional/segwit.py
  45861. old mode 100755
  45862. new mode 100644
  45863. index 7cd87e5..51eaa34
  45864. --- a/test/functional/segwit.py
  45865. +++ b/test/functional/segwit.py
  45866. @@ -75,7 +75,9 @@ def find_unspent(node, min_value):
  45867.              return utxo
  45868.  
  45869.  class SegWitTest(BitcoinTestFramework):
  45870. -    def set_test_params(self):
  45871. +
  45872. +    def __init__(self):
  45873. +        super().__init__()
  45874.          self.setup_clean_chain = True
  45875.          self.num_nodes = 3
  45876.          self.extra_args = [["-walletprematurewitness", "-rpcserialversion=0"],
  45877. @@ -100,11 +102,11 @@ class SegWitTest(BitcoinTestFramework):
  45878.          sync_blocks(self.nodes)
  45879.  
  45880.      def fail_accept(self, node, error_msg, txid, sign, redeem_script=""):
  45881. -        assert_raises_rpc_error(-26, error_msg, send_to_witness, 1, node, getutxo(txid), self.pubkey[0], False, Decimal("49.998"), sign, redeem_script)
  45882. +        assert_raises_jsonrpc(-26, error_msg, send_to_witness, 1, node, getutxo(txid), self.pubkey[0], False, Decimal("49.998"), sign, redeem_script)
  45883.  
  45884.      def fail_mine(self, node, txid, sign, redeem_script=""):
  45885.          send_to_witness(1, node, getutxo(txid), self.pubkey[0], False, Decimal("49.998"), sign, redeem_script)
  45886. -        assert_raises_rpc_error(-1, "CreateNewBlock: TestBlockValidity failed", node.generate, 1)
  45887. +        assert_raises_jsonrpc(-1, "CreateNewBlock: TestBlockValidity failed", node.generate, 1)
  45888.          sync_blocks(self.nodes)
  45889.  
  45890.      def run_test(self):
  45891. @@ -443,7 +445,11 @@ class SegWitTest(BitcoinTestFramework):
  45892.          for i in importlist:
  45893.              # import all generated addresses. The wallet already has the private keys for some of these, so catch JSON RPC
  45894.              # exceptions and continue.
  45895. -            try_rpc(-4, "The wallet already contains the private key for this address or script", self.nodes[0].importaddress, i, "", False, True)
  45896. +            try:
  45897. +                self.nodes[0].importaddress(i,"",False,True)
  45898. +            except JSONRPCException as exp:
  45899. +                assert_equal(exp.error["message"], "The wallet already contains the private key for this address or script")
  45900. +                assert_equal(exp.error["code"], -4)
  45901.  
  45902.          self.nodes[0].importaddress(script_to_p2sh(op0)) # import OP_0 as address only
  45903.          self.nodes[0].importaddress(multisig_without_privkey_address) # Test multisig_without_privkey
  45904. @@ -456,7 +462,7 @@ class SegWitTest(BitcoinTestFramework):
  45905.          # addwitnessaddress should refuse to return a witness address if an uncompressed key is used
  45906.          # note that no witness address should be returned by unsolvable addresses
  45907.          for i in uncompressed_spendable_address + uncompressed_solvable_address + unknown_address + unsolvable_address:
  45908. -            assert_raises_rpc_error(-4, "Public key or redeemscript not known to wallet, or the key is uncompressed", self.nodes[0].addwitnessaddress, i)
  45909. +            assert_raises_jsonrpc(-4, "Public key or redeemscript not known to wallet, or the key is uncompressed", self.nodes[0].addwitnessaddress, i)
  45910.  
  45911.          # addwitnessaddress should return a witness addresses even if keys are not in the wallet
  45912.          self.nodes[0].addwitnessaddress(multisig_without_privkey_address)
  45913. @@ -539,7 +545,7 @@ class SegWitTest(BitcoinTestFramework):
  45914.          # premature_witaddress are not accepted until the script is added with addwitnessaddress first
  45915.          for i in uncompressed_spendable_address + uncompressed_solvable_address + premature_witaddress:
  45916.              # This will raise an exception
  45917. -            assert_raises_rpc_error(-4, "Public key or redeemscript not known to wallet, or the key is uncompressed", self.nodes[0].addwitnessaddress, i)
  45918. +            assert_raises_jsonrpc(-4, "Public key or redeemscript not known to wallet, or the key is uncompressed", self.nodes[0].addwitnessaddress, i)
  45919.  
  45920.          # after importaddress it should pass addwitnessaddress
  45921.          v = self.nodes[0].validateaddress(compressed_solvable_address[1])
  45922. diff --git a/test/functional/sendheaders.py b/test/functional/sendheaders.py
  45923. old mode 100755
  45924. new mode 100644
  45925. index 60d107b..e47e07f
  45926. --- a/test/functional/sendheaders.py
  45927. +++ b/test/functional/sendheaders.py
  45928. @@ -128,7 +128,7 @@ class TestNode(NodeConnCB):
  45929.          expect_headers = headers if headers != None else []
  45930.          expect_inv = inv if inv != None else []
  45931.          test_function = lambda: self.block_announced
  45932. -        wait_until(test_function, timeout=60, lock=mininode_lock)
  45933. +        assert(wait_until(test_function, timeout=60))
  45934.          with mininode_lock:
  45935.              self.block_announced = False
  45936.  
  45937. @@ -155,12 +155,12 @@ class TestNode(NodeConnCB):
  45938.              return
  45939.  
  45940.          test_function = lambda: "getdata" in self.last_message and [x.hash for x in self.last_message["getdata"].inv] == hash_list
  45941. -        wait_until(test_function, timeout=timeout, lock=mininode_lock)
  45942. +        assert(wait_until(test_function, timeout=timeout))
  45943.          return
  45944.  
  45945.      def wait_for_block_announcement(self, block_hash, timeout=60):
  45946.          test_function = lambda: self.last_blockhash_announced == block_hash
  45947. -        wait_until(test_function, timeout=timeout, lock=mininode_lock)
  45948. +        assert(wait_until(test_function, timeout=timeout))
  45949.          return
  45950.  
  45951.      def send_header_for_blocks(self, new_blocks):
  45952. @@ -174,7 +174,8 @@ class TestNode(NodeConnCB):
  45953.          self.send_message(getblocks_message)
  45954.  
  45955.  class SendHeadersTest(BitcoinTestFramework):
  45956. -    def set_test_params(self):
  45957. +    def __init__(self):
  45958. +        super().__init__()
  45959.          self.setup_clean_chain = True
  45960.          self.num_nodes = 2
  45961.  
  45962. @@ -225,10 +226,6 @@ class SendHeadersTest(BitcoinTestFramework):
  45963.          inv_node.wait_for_verack()
  45964.          test_node.wait_for_verack()
  45965.  
  45966. -        # Ensure verack's have been processed by our peer
  45967. -        inv_node.sync_with_ping()
  45968. -        test_node.sync_with_ping()
  45969. -
  45970.          tip = int(self.nodes[0].getbestblockhash(), 16)
  45971.  
  45972.          # PART 1
  45973. diff --git a/test/functional/signmessages.py b/test/functional/signmessages.py
  45974. old mode 100755
  45975. new mode 100644
  45976. index 8dff006..42f6a9d
  45977. --- a/test/functional/signmessages.py
  45978. +++ b/test/functional/signmessages.py
  45979. @@ -5,34 +5,31 @@
  45980.  """Test RPC commands for signing and verifying messages."""
  45981.  
  45982.  from test_framework.test_framework import BitcoinTestFramework
  45983. -from test_framework.util import assert_equal
  45984.  
  45985.  class SignMessagesTest(BitcoinTestFramework):
  45986. -    def set_test_params(self):
  45987. +
  45988. +    def __init__(self):
  45989. +        super().__init__()
  45990.          self.setup_clean_chain = True
  45991.          self.num_nodes = 1
  45992.  
  45993.      def run_test(self):
  45994.          message = 'This is just a test message'
  45995.  
  45996. -        self.log.info('test signing with priv_key')
  45997. -        priv_key = 'cUeKHd5orzT3mz8P9pxyREHfsWtVfgsfDjiZZBcjUBAaGk1BTj7N'
  45998. +        # Test the signing with a privkey
  45999. +        privKey = 'cUeKHd5orzT3mz8P9pxyREHfsWtVfgsfDjiZZBcjUBAaGk1BTj7N'
  46000.          address = 'mpLQjfK79b7CCV4VMJWEWAj5Mpx8Up5zxB'
  46001. -        expected_signature = 'IGve8AOjIcu+a/nYW1PABSfmp2oQlEqLIOwPgNW5/Y5teggr8S0vy4SMdjL2Viv3iuBZjJbhvyBo0tv5m3H63b8='
  46002. -        signature = self.nodes[0].signmessagewithprivkey(priv_key, message)
  46003. -        assert_equal(expected_signature, signature)
  46004. +        signature = self.nodes[0].signmessagewithprivkey(privKey, message)
  46005. +
  46006. +        # Verify the message
  46007.          assert(self.nodes[0].verifymessage(address, signature, message))
  46008.  
  46009. -        self.log.info('test signing with an address with wallet')
  46010. +        # Test the signing with an address with wallet
  46011.          address = self.nodes[0].getnewaddress()
  46012.          signature = self.nodes[0].signmessage(address, message)
  46013. -        assert(self.nodes[0].verifymessage(address, signature, message))
  46014.  
  46015. -        self.log.info('test verifying with another address should not work')
  46016. -        other_address = self.nodes[0].getnewaddress()
  46017. -        other_signature = self.nodes[0].signmessage(other_address, message)
  46018. -        assert(not self.nodes[0].verifymessage(other_address, signature, message))
  46019. -        assert(not self.nodes[0].verifymessage(address, other_signature, message))
  46020. +        # Verify the message
  46021. +        assert(self.nodes[0].verifymessage(address, signature, message))
  46022.  
  46023.  if __name__ == '__main__':
  46024.      SignMessagesTest().main()
  46025. diff --git a/test/functional/signrawtransactions.py b/test/functional/signrawtransactions.py
  46026. old mode 100755
  46027. new mode 100644
  46028. index 9a45d53..4157272
  46029. --- a/test/functional/signrawtransactions.py
  46030. +++ b/test/functional/signrawtransactions.py
  46031. @@ -9,7 +9,8 @@ from test_framework.util import *
  46032.  
  46033.  
  46034.  class SignRawTransactionsTest(BitcoinTestFramework):
  46035. -    def set_test_params(self):
  46036. +    def __init__(self):
  46037. +        super().__init__()
  46038.          self.setup_clean_chain = True
  46039.          self.num_nodes = 1
  46040.  
  46041. @@ -82,7 +83,7 @@ class SignRawTransactionsTest(BitcoinTestFramework):
  46042.              assert_equal(decodedRawTx["vin"][i]["vout"], inp["vout"])
  46043.  
  46044.          # Make sure decoderawtransaction throws if there is extra data
  46045. -        assert_raises_rpc_error(-22, "TX decode failed", self.nodes[0].decoderawtransaction, rawTx + "00")
  46046. +        assert_raises(JSONRPCException, self.nodes[0].decoderawtransaction, rawTx + "00")
  46047.  
  46048.          rawTxSigned = self.nodes[0].signrawtransaction(rawTx, scripts, privKeys)
  46049.  
  46050. diff --git a/test/functional/smartfees.py b/test/functional/smartfees.py
  46051. old mode 100755
  46052. new mode 100644
  46053. index 76632fc..bc42a31
  46054. --- a/test/functional/smartfees.py
  46055. +++ b/test/functional/smartfees.py
  46056. @@ -141,8 +141,11 @@ def check_estimates(node, fees_seen, max_invalid, print_estimates = True):
  46057.  
  46058.  
  46059.  class EstimateFeeTest(BitcoinTestFramework):
  46060. -    def set_test_params(self):
  46061. +
  46062. +    def __init__(self):
  46063. +        super().__init__()
  46064.          self.num_nodes = 3
  46065. +        self.setup_clean_chain = False
  46066.  
  46067.      def setup_network(self):
  46068.          """
  46069. @@ -150,53 +153,13 @@ class EstimateFeeTest(BitcoinTestFramework):
  46070.          But first we need to use one node to create a lot of outputs
  46071.          which we will use to generate our transactions.
  46072.          """
  46073. -        self.add_nodes(3, extra_args=[["-maxorphantx=1000", "-whitelist=127.0.0.1"],
  46074. -                                      ["-blockmaxsize=17000", "-maxorphantx=1000"],
  46075. -                                      ["-blockmaxsize=8000", "-maxorphantx=1000"]])
  46076. +        self.nodes = []
  46077.          # Use node0 to mine blocks for input splitting
  46078. -        # Node1 mines small blocks but that are bigger than the expected transaction rate.
  46079. -        # NOTE: the CreateNewBlock code starts counting block size at 1,000 bytes,
  46080. -        # (17k is room enough for 110 or so transactions)
  46081. -        # Node2 is a stingy miner, that
  46082. -        # produces too small blocks (room for only 55 or so transactions)
  46083. -
  46084. -
  46085. -    def transact_and_mine(self, numblocks, mining_node):
  46086. -        min_fee = Decimal("0.00001")
  46087. -        # We will now mine numblocks blocks generating on average 100 transactions between each block
  46088. -        # We shuffle our confirmed txout set before each set of transactions
  46089. -        # small_txpuzzle_randfee will use the transactions that have inputs already in the chain when possible
  46090. -        # resorting to tx's that depend on the mempool when those run out
  46091. -        for i in range(numblocks):
  46092. -            random.shuffle(self.confutxo)
  46093. -            for j in range(random.randrange(100-50,100+50)):
  46094. -                from_index = random.randint(1,2)
  46095. -                (txhex, fee) = small_txpuzzle_randfee(self.nodes[from_index], self.confutxo,
  46096. -                                                      self.memutxo, Decimal("0.005"), min_fee, min_fee)
  46097. -                tx_kbytes = (len(txhex) // 2) / 1000.0
  46098. -                self.fees_per_kb.append(float(fee)/tx_kbytes)
  46099. -            sync_mempools(self.nodes[0:3], wait=.1)
  46100. -            mined = mining_node.getblock(mining_node.generate(1)[0],True)["tx"]
  46101. -            sync_blocks(self.nodes[0:3], wait=.1)
  46102. -            # update which txouts are confirmed
  46103. -            newmem = []
  46104. -            for utx in self.memutxo:
  46105. -                if utx["txid"] in mined:
  46106. -                    self.confutxo.append(utx)
  46107. -                else:
  46108. -                    newmem.append(utx)
  46109. -            self.memutxo = newmem
  46110. +        self.nodes.append(self.start_node(0, self.options.tmpdir, ["-maxorphantx=1000",
  46111. +                                                              "-whitelist=127.0.0.1"]))
  46112.  
  46113. -    def run_test(self):
  46114.          self.log.info("This test is time consuming, please be patient")
  46115.          self.log.info("Splitting inputs so we can generate tx's")
  46116. -
  46117. -        # Make log handler available to helper functions
  46118. -        global log
  46119. -        log = self.log
  46120. -
  46121. -        # Start node0
  46122. -        self.start_node(0)
  46123.          self.txouts = []
  46124.          self.txouts2 = []
  46125.          # Split a coinbase into two transaction puzzle outputs
  46126. @@ -225,14 +188,53 @@ class EstimateFeeTest(BitcoinTestFramework):
  46127.  
  46128.          # Now we can connect the other nodes, didn't want to connect them earlier
  46129.          # so the estimates would not be affected by the splitting transactions
  46130. -        self.start_node(1)
  46131. -        self.start_node(2)
  46132. +        # Node1 mines small blocks but that are bigger than the expected transaction rate.
  46133. +        # NOTE: the CreateNewBlock code starts counting block size at 1,000 bytes,
  46134. +        # (17k is room enough for 110 or so transactions)
  46135. +        self.nodes.append(self.start_node(1, self.options.tmpdir,
  46136. +                                     ["-blockmaxsize=17000", "-maxorphantx=1000"]))
  46137.          connect_nodes(self.nodes[1], 0)
  46138. +
  46139. +        # Node2 is a stingy miner, that
  46140. +        # produces too small blocks (room for only 55 or so transactions)
  46141. +        node2args = ["-blockmaxsize=8000", "-maxorphantx=1000"]
  46142. +
  46143. +        self.nodes.append(self.start_node(2, self.options.tmpdir, node2args))
  46144.          connect_nodes(self.nodes[0], 2)
  46145.          connect_nodes(self.nodes[2], 1)
  46146.  
  46147.          self.sync_all()
  46148.  
  46149. +    def transact_and_mine(self, numblocks, mining_node):
  46150. +        min_fee = Decimal("0.00001")
  46151. +        # We will now mine numblocks blocks generating on average 100 transactions between each block
  46152. +        # We shuffle our confirmed txout set before each set of transactions
  46153. +        # small_txpuzzle_randfee will use the transactions that have inputs already in the chain when possible
  46154. +        # resorting to tx's that depend on the mempool when those run out
  46155. +        for i in range(numblocks):
  46156. +            random.shuffle(self.confutxo)
  46157. +            for j in range(random.randrange(100-50,100+50)):
  46158. +                from_index = random.randint(1,2)
  46159. +                (txhex, fee) = small_txpuzzle_randfee(self.nodes[from_index], self.confutxo,
  46160. +                                                      self.memutxo, Decimal("0.005"), min_fee, min_fee)
  46161. +                tx_kbytes = (len(txhex) // 2) / 1000.0
  46162. +                self.fees_per_kb.append(float(fee)/tx_kbytes)
  46163. +            sync_mempools(self.nodes[0:3], wait=.1)
  46164. +            mined = mining_node.getblock(mining_node.generate(1)[0],True)["tx"]
  46165. +            sync_blocks(self.nodes[0:3], wait=.1)
  46166. +            # update which txouts are confirmed
  46167. +            newmem = []
  46168. +            for utx in self.memutxo:
  46169. +                if utx["txid"] in mined:
  46170. +                    self.confutxo.append(utx)
  46171. +                else:
  46172. +                    newmem.append(utx)
  46173. +            self.memutxo = newmem
  46174. +
  46175. +    def run_test(self):
  46176. +        # Make log handler available to helper functions
  46177. +        global log
  46178. +        log = self.log
  46179.          self.fees_per_kb = []
  46180.          self.memutxo = []
  46181.          self.confutxo = self.txouts # Start with the set of confirmed txouts after splitting
  46182. diff --git a/test/functional/test_framework/comptool.py b/test/functional/test_framework/comptool.py
  46183. old mode 100755
  46184. new mode 100644
  46185. index bfbc0c3..9f06286
  46186. --- a/test/functional/test_framework/comptool.py
  46187. +++ b/test/functional/test_framework/comptool.py
  46188. @@ -19,7 +19,7 @@ TestNode behaves as follows:
  46189.  
  46190.  from .mininode import *
  46191.  from .blockstore import BlockStore, TxStore
  46192. -from .util import p2p_port, wait_until
  46193. +from .util import p2p_port
  46194.  
  46195.  import logging
  46196.  
  46197. @@ -189,7 +189,7 @@ class TestManager(object):
  46198.      def wait_for_disconnections(self):
  46199.          def disconnected():
  46200.              return all(node.closed for node in self.test_nodes)
  46201. -        wait_until(disconnected, timeout=10, lock=mininode_lock)
  46202. +        return wait_until(disconnected, timeout=10)
  46203.  
  46204.      def wait_for_verack(self):
  46205.          return all(node.wait_for_verack() for node in self.test_nodes)
  46206. @@ -197,7 +197,7 @@ class TestManager(object):
  46207.      def wait_for_pings(self, counter):
  46208.          def received_pongs():
  46209.              return all(node.received_ping_response(counter) for node in self.test_nodes)
  46210. -        wait_until(received_pongs, lock=mininode_lock)
  46211. +        return wait_until(received_pongs)
  46212.  
  46213.      # sync_blocks: Wait for all connections to request the blockhash given
  46214.      # then send get_headers to find out the tip of each node, and synchronize
  46215. @@ -210,7 +210,8 @@ class TestManager(object):
  46216.              )
  46217.  
  46218.          # --> error if not requested
  46219. -        wait_until(blocks_requested, attempts=20*num_blocks, lock=mininode_lock)
  46220. +        if not wait_until(blocks_requested, attempts=20*num_blocks):
  46221. +            raise AssertionError("Not all nodes requested block")
  46222.  
  46223.          # Send getheaders message
  46224.          [ c.cb.send_getheaders() for c in self.connections ]
  46225. @@ -230,7 +231,8 @@ class TestManager(object):
  46226.              )
  46227.  
  46228.          # --> error if not requested
  46229. -        wait_until(transaction_requested, attempts=20*num_events, lock=mininode_lock)
  46230. +        if not wait_until(transaction_requested, attempts=20*num_events):
  46231. +            raise AssertionError("Not all nodes requested transaction")
  46232.  
  46233.          # Get the mempool
  46234.          [ c.cb.send_mempool() for c in self.connections ]
  46235. diff --git a/test/functional/test_framework/mininode.py b/test/functional/test_framework/mininode.py
  46236. old mode 100755
  46237. new mode 100644
  46238. index 1d50c19..3814b1a
  46239. --- a/test/functional/test_framework/mininode.py
  46240. +++ b/test/functional/test_framework/mininode.py
  46241. @@ -34,9 +34,9 @@ import sys
  46242.  import time
  46243.  from threading import RLock, Thread
  46244.  
  46245. -import litecoin_scrypt
  46246. +import litecoincash_scrypt
  46247.  from test_framework.siphash import siphash256
  46248. -from test_framework.util import hex_str_to_bytes, bytes_to_hex_str, wait_until
  46249. +from test_framework.util import hex_str_to_bytes, bytes_to_hex_str
  46250.  
  46251.  BIP0031_VERSION = 60000
  46252.  MY_VERSION = 80014  # past bip-31 for ping/pong
  46253. @@ -586,7 +586,7 @@ class CBlockHeader(object):
  46254.              r += struct.pack("<I", self.nNonce)
  46255.              self.sha256 = uint256_from_str(hash256(r))
  46256.              self.hash = encode(hash256(r)[::-1], 'hex_codec').decode('ascii')
  46257. -            self.scrypt256 = uint256_from_str(litecoin_scrypt.getPoWHash(r))
  46258. +            self.scrypt256 = uint256_from_str(litecoincash_scrypt.getPoWHash(r))
  46259.  
  46260.      def rehash(self):
  46261.          self.sha256 = None
  46262. @@ -1364,6 +1364,23 @@ class msg_reject(object):
  46263.          return "msg_reject: %s %d %s [%064x]" \
  46264.              % (self.message, self.code, self.reason, self.data)
  46265.  
  46266. +# Helper function
  46267. +def wait_until(predicate, *, attempts=float('inf'), timeout=float('inf')):
  46268. +    if attempts == float('inf') and timeout == float('inf'):
  46269. +        timeout = 60
  46270. +    attempt = 0
  46271. +    elapsed = 0
  46272. +
  46273. +    while attempt < attempts and elapsed < timeout:
  46274. +        with mininode_lock:
  46275. +            if predicate():
  46276. +                return True
  46277. +        attempt += 1
  46278. +        elapsed += 0.05
  46279. +        time.sleep(0.05)
  46280. +
  46281. +    return False
  46282. +
  46283.  class msg_feefilter(object):
  46284.      command = b"feefilter"
  46285.  
  46286. @@ -1511,7 +1528,6 @@ class NodeConnCB(object):
  46287.              except:
  46288.                  print("ERROR delivering %s (%s)" % (repr(message),
  46289.                                                      sys.exc_info()[0]))
  46290. -                raise
  46291.  
  46292.      def set_deliver_sleep_time(self, value):
  46293.          with mininode_lock:
  46294. @@ -1581,21 +1597,21 @@ class NodeConnCB(object):
  46295.  
  46296.      def wait_for_disconnect(self, timeout=60):
  46297.          test_function = lambda: not self.connected
  46298. -        wait_until(test_function, timeout=timeout, lock=mininode_lock)
  46299. +        assert wait_until(test_function, timeout=timeout)
  46300.  
  46301.      # Message receiving helper methods
  46302.  
  46303.      def wait_for_block(self, blockhash, timeout=60):
  46304.          test_function = lambda: self.last_message.get("block") and self.last_message["block"].block.rehash() == blockhash
  46305. -        wait_until(test_function, timeout=timeout, lock=mininode_lock)
  46306. +        assert wait_until(test_function, timeout=timeout)
  46307.  
  46308.      def wait_for_getdata(self, timeout=60):
  46309.          test_function = lambda: self.last_message.get("getdata")
  46310. -        wait_until(test_function, timeout=timeout, lock=mininode_lock)
  46311. +        assert wait_until(test_function, timeout=timeout)
  46312.  
  46313.      def wait_for_getheaders(self, timeout=60):
  46314.          test_function = lambda: self.last_message.get("getheaders")
  46315. -        wait_until(test_function, timeout=timeout, lock=mininode_lock)
  46316. +        assert wait_until(test_function, timeout=timeout)
  46317.  
  46318.      def wait_for_inv(self, expected_inv, timeout=60):
  46319.          """Waits for an INV message and checks that the first inv object in the message was as expected."""
  46320. @@ -1604,11 +1620,11 @@ class NodeConnCB(object):
  46321.          test_function = lambda: self.last_message.get("inv") and \
  46322.                                  self.last_message["inv"].inv[0].type == expected_inv[0].type and \
  46323.                                  self.last_message["inv"].inv[0].hash == expected_inv[0].hash
  46324. -        wait_until(test_function, timeout=timeout, lock=mininode_lock)
  46325. +        assert wait_until(test_function, timeout=timeout)
  46326.  
  46327.      def wait_for_verack(self, timeout=60):
  46328.          test_function = lambda: self.message_count["verack"]
  46329. -        wait_until(test_function, timeout=timeout, lock=mininode_lock)
  46330. +        assert wait_until(test_function, timeout=timeout)
  46331.  
  46332.      # Message sending helper functions
  46333.  
  46334. @@ -1626,8 +1642,9 @@ class NodeConnCB(object):
  46335.      def sync_with_ping(self, timeout=60):
  46336.          self.send_message(msg_ping(nonce=self.ping_counter))
  46337.          test_function = lambda: self.last_message.get("pong") and self.last_message["pong"].nonce == self.ping_counter
  46338. -        wait_until(test_function, timeout=timeout, lock=mininode_lock)
  46339. +        assert wait_until(test_function, timeout=timeout)
  46340.          self.ping_counter += 1
  46341. +        return True
  46342.  
  46343.  # The actual NodeConn class
  46344.  # This class provides an interface for a p2p connection to a specified node
  46345. @@ -1688,7 +1705,7 @@ class NodeConn(asyncore.dispatcher):
  46346.              vt.addrFrom.port = 0
  46347.              self.send_message(vt, True)
  46348.  
  46349. -        logger.info('Connecting to Litecoin Node: %s:%d' % (self.dstaddr, self.dstport))
  46350. +        logger.info('Connecting to LitecoinCash Node: %s:%d' % (self.dstaddr, self.dstport))
  46351.  
  46352.          try:
  46353.              self.connect((dstaddr, dstport))
  46354. @@ -1714,10 +1731,13 @@ class NodeConn(asyncore.dispatcher):
  46355.          self.cb.on_close(self)
  46356.  
  46357.      def handle_read(self):
  46358. -        t = self.recv(8192)
  46359. -        if len(t) > 0:
  46360. -            self.recvbuf += t
  46361. -            self.got_data()
  46362. +        try:
  46363. +            t = self.recv(8192)
  46364. +            if len(t) > 0:
  46365. +                self.recvbuf += t
  46366. +                self.got_data()
  46367. +        except:
  46368. +            pass
  46369.  
  46370.      def readable(self):
  46371.          return True
  46372. @@ -1783,10 +1803,8 @@ class NodeConn(asyncore.dispatcher):
  46373.                      self.got_message(t)
  46374.                  else:
  46375.                      logger.warning("Received unknown command from %s:%d: '%s' %s" % (self.dstaddr, self.dstport, command, repr(msg)))
  46376. -                    raise ValueError("Unknown command: '%s'" % (command))
  46377.          except Exception as e:
  46378.              logger.exception('got_data:', repr(e))
  46379. -            raise
  46380.  
  46381.      def send_message(self, message, pushbuf=False):
  46382.          if self.state != "connected" and not pushbuf:
  46383. @@ -1842,7 +1860,6 @@ class NetworkThread(Thread):
  46384.                      disconnected.append(obj)
  46385.              [ obj.handle_close() for obj in disconnected ]
  46386.              asyncore.loop(0.1, use_poll=True, map=mininode_socket_map, count=1)
  46387. -        logger.debug("Network thread closing")
  46388.  
  46389.  
  46390.  # An exception we can raise if we detect a potential disconnect
  46391. diff --git a/test/functional/test_framework/test_framework.py b/test/functional/test_framework/test_framework.py
  46392. old mode 100755
  46393. new mode 100644
  46394. index 14c7bb5..90b5ba7
  46395. --- a/test/functional/test_framework/test_framework.py
  46396. +++ b/test/functional/test_framework/test_framework.py
  46397. @@ -5,12 +5,15 @@
  46398.  """Base class for RPC testing."""
  46399.  
  46400.  from collections import deque
  46401. +import errno
  46402.  from enum import Enum
  46403. +import http.client
  46404.  import logging
  46405.  import optparse
  46406.  import os
  46407.  import pdb
  46408.  import shutil
  46409. +import subprocess
  46410.  import sys
  46411.  import tempfile
  46412.  import time
  46413. @@ -18,7 +21,6 @@ import traceback
  46414.  
  46415.  from .authproxy import JSONRPCException
  46416.  from . import coverage
  46417. -from .test_node import TestNode
  46418.  from .util import (
  46419.      MAX_NODES,
  46420.      PortSeed,
  46421. @@ -26,9 +28,12 @@ from .util import (
  46422.      check_json_precision,
  46423.      connect_nodes_bi,
  46424.      disconnect_nodes,
  46425. +    get_rpc_proxy,
  46426.      initialize_datadir,
  46427. +    get_datadir_path,
  46428.      log_filename,
  46429.      p2p_port,
  46430. +    rpc_url,
  46431.      set_node_times,
  46432.      sync_blocks,
  46433.      sync_mempools,
  46434. @@ -43,41 +48,71 @@ TEST_EXIT_PASSED = 0
  46435.  TEST_EXIT_FAILED = 1
  46436.  TEST_EXIT_SKIPPED = 77
  46437.  
  46438. -class BitcoinTestFramework(object):
  46439. -    """Base class for a litecoin test script.
  46440. +BITCOIND_PROC_WAIT_TIMEOUT = 60
  46441.  
  46442. -    Individual litecoin test scripts should subclass this class and override the set_test_params() and run_test() methods.
  46443. +class BitcoinTestFramework(object):
  46444. +    """Base class for a bitcoin test script.
  46445.  
  46446. -    Individual tests can also override the following methods to customize the test setup:
  46447. +    Individual bitcoin test scripts should subclass this class and override the following methods:
  46448.  
  46449. +    - __init__()
  46450.      - add_options()
  46451.      - setup_chain()
  46452.      - setup_network()
  46453. -    - setup_nodes()
  46454. +    - run_test()
  46455.  
  46456. -    The __init__() and main() methods should not be overridden.
  46457. +    The main() method should not be overridden.
  46458.  
  46459.      This class also contains various public and private helper methods."""
  46460.  
  46461. +    # Methods to override in subclass test scripts.
  46462.      def __init__(self):
  46463. -        """Sets test framework defaults. Do not override this method. Instead, override the set_test_params() method"""
  46464. +        self.num_nodes = 4
  46465.          self.setup_clean_chain = False
  46466.          self.nodes = []
  46467. +        self.bitcoind_processes = {}
  46468.          self.mocktime = 0
  46469. -        self.set_test_params()
  46470.  
  46471. -        assert hasattr(self, "num_nodes"), "Test must set self.num_nodes in set_test_params()"
  46472. +    def add_options(self, parser):
  46473. +        pass
  46474. +
  46475. +    def setup_chain(self):
  46476. +        self.log.info("Initializing test directory " + self.options.tmpdir)
  46477. +        if self.setup_clean_chain:
  46478. +            self._initialize_chain_clean(self.options.tmpdir, self.num_nodes)
  46479. +        else:
  46480. +            self._initialize_chain(self.options.tmpdir, self.num_nodes, self.options.cachedir)
  46481. +
  46482. +    def setup_network(self):
  46483. +        self.setup_nodes()
  46484. +
  46485. +        # Connect the nodes as a "chain".  This allows us
  46486. +        # to split the network between nodes 1 and 2 to get
  46487. +        # two halves that can work on competing chains.
  46488. +        for i in range(self.num_nodes - 1):
  46489. +            connect_nodes_bi(self.nodes, i, i + 1)
  46490. +        self.sync_all()
  46491. +
  46492. +    def setup_nodes(self):
  46493. +        extra_args = None
  46494. +        if hasattr(self, "extra_args"):
  46495. +            extra_args = self.extra_args
  46496. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, extra_args)
  46497. +
  46498. +    def run_test(self):
  46499. +        raise NotImplementedError
  46500. +
  46501. +    # Main function. This should not be overridden by the subclass test scripts.
  46502.  
  46503.      def main(self):
  46504. -        """Main function. This should not be overridden by the subclass test scripts."""
  46505.  
  46506.          parser = optparse.OptionParser(usage="%prog [options]")
  46507.          parser.add_option("--nocleanup", dest="nocleanup", default=False, action="store_true",
  46508. -                          help="Leave litecoinds and test.* datadir on exit or error")
  46509. +                          help="Leave litecoincashds and test.* datadir on exit or error")
  46510.          parser.add_option("--noshutdown", dest="noshutdown", default=False, action="store_true",
  46511. -                          help="Don't stop litecoinds after the test execution")
  46512. +                          help="Don't stop litecoincashds after the test execution")
  46513.          parser.add_option("--srcdir", dest="srcdir", default=os.path.normpath(os.path.dirname(os.path.realpath(__file__)) + "/../../../src"),
  46514. -                          help="Source directory containing litecoind/litecoin-cli (default: %default)")
  46515. +                          help="Source directory containing litecoincashd/litecoincash-cli (default: %default)")
  46516.          parser.add_option("--cachedir", dest="cachedir", default=os.path.normpath(os.path.dirname(os.path.realpath(__file__)) + "/../../cache"),
  46517.                            help="Directory for caching pregenerated datadirs")
  46518.          parser.add_option("--tmpdir", dest="tmpdir", help="Root directory for datadirs")
  46519. @@ -102,11 +137,8 @@ class BitcoinTestFramework(object):
  46520.  
  46521.          check_json_precision()
  46522.  
  46523. -        self.options.cachedir = os.path.abspath(self.options.cachedir)
  46524. -
  46525.          # Set up temp directory and start logging
  46526.          if self.options.tmpdir:
  46527. -            self.options.tmpdir = os.path.abspath(self.options.tmpdir)
  46528.              os.makedirs(self.options.tmpdir, exist_ok=False)
  46529.          else:
  46530.              self.options.tmpdir = tempfile.mkdtemp(prefix="test")
  46531. @@ -142,7 +174,7 @@ class BitcoinTestFramework(object):
  46532.              if self.nodes:
  46533.                  self.stop_nodes()
  46534.          else:
  46535. -            self.log.info("Note: litecoinds were not stopped and may still be running")
  46536. +            self.log.info("Note: litecoincashds were not stopped and may still be running")
  46537.  
  46538.          if not self.options.nocleanup and not self.options.noshutdown and success != TestStatus.FAILED:
  46539.              self.log.info("Cleaning up")
  46540. @@ -176,115 +208,77 @@ class BitcoinTestFramework(object):
  46541.              logging.shutdown()
  46542.              sys.exit(TEST_EXIT_FAILED)
  46543.  
  46544. -    # Methods to override in subclass test scripts.
  46545. -    def set_test_params(self):
  46546. -        """Tests must this method to change default values for number of nodes, topology, etc"""
  46547. -        raise NotImplementedError
  46548. -
  46549. -    def add_options(self, parser):
  46550. -        """Override this method to add command-line options to the test"""
  46551. -        pass
  46552. -
  46553. -    def setup_chain(self):
  46554. -        """Override this method to customize blockchain setup"""
  46555. -        self.log.info("Initializing test directory " + self.options.tmpdir)
  46556. -        if self.setup_clean_chain:
  46557. -            self._initialize_chain_clean()
  46558. -        else:
  46559. -            self._initialize_chain()
  46560. -
  46561. -    def setup_network(self):
  46562. -        """Override this method to customize test network topology"""
  46563. -        self.setup_nodes()
  46564. +    # Public helper methods. These can be accessed by the subclass test scripts.
  46565.  
  46566. -        # Connect the nodes as a "chain".  This allows us
  46567. -        # to split the network between nodes 1 and 2 to get
  46568. -        # two halves that can work on competing chains.
  46569. -        for i in range(self.num_nodes - 1):
  46570. -            connect_nodes_bi(self.nodes, i, i + 1)
  46571. -        self.sync_all()
  46572. +    def start_node(self, i, dirname, extra_args=None, rpchost=None, timewait=None, binary=None, stderr=None):
  46573. +        """Start a bitcoind and return RPC connection to it"""
  46574.  
  46575. -    def setup_nodes(self):
  46576. -        """Override this method to customize test node setup"""
  46577. -        extra_args = None
  46578. -        if hasattr(self, "extra_args"):
  46579. -            extra_args = self.extra_args
  46580. -        self.add_nodes(self.num_nodes, extra_args)
  46581. -        self.start_nodes()
  46582. +        datadir = os.path.join(dirname, "node" + str(i))
  46583. +        if binary is None:
  46584. +            binary = os.getenv("LITECOINCASHD", "litecoincashd")
  46585. +        args = [binary, "-datadir=" + datadir, "-server", "-keypool=1", "-discover=0", "-rest", "-logtimemicros", "-debug", "-debugexclude=libevent", "-debugexclude=leveldb", "-mocktime=" + str(self.mocktime), "-uacomment=testnode%d" % i]
  46586. +        if extra_args is not None:
  46587. +            args.extend(extra_args)
  46588. +        self.bitcoind_processes[i] = subprocess.Popen(args, stderr=stderr)
  46589. +        self.log.debug("initialize_chain: litecoincashd started, waiting for RPC to come up")
  46590. +        self._wait_for_bitcoind_start(self.bitcoind_processes[i], datadir, i, rpchost)
  46591. +        self.log.debug("initialize_chain: RPC successfully started")
  46592. +        proxy = get_rpc_proxy(rpc_url(datadir, i, rpchost), i, timeout=timewait)
  46593.  
  46594. -    def run_test(self):
  46595. -        """Tests must override this method to define test logic"""
  46596. -        raise NotImplementedError
  46597. +        if self.options.coveragedir:
  46598. +            coverage.write_all_rpc_commands(self.options.coveragedir, proxy)
  46599.  
  46600. -    # Public helper methods. These can be accessed by the subclass test scripts.
  46601. +        return proxy
  46602.  
  46603. -    def add_nodes(self, num_nodes, extra_args=None, rpchost=None, timewait=None, binary=None):
  46604. -        """Instantiate TestNode objects"""
  46605. +    def start_nodes(self, num_nodes, dirname, extra_args=None, rpchost=None, timewait=None, binary=None):
  46606. +        """Start multiple bitcoinds, return RPC connections to them"""
  46607.  
  46608.          if extra_args is None:
  46609. -            extra_args = [[]] * num_nodes
  46610. +            extra_args = [None] * num_nodes
  46611.          if binary is None:
  46612.              binary = [None] * num_nodes
  46613.          assert_equal(len(extra_args), num_nodes)
  46614.          assert_equal(len(binary), num_nodes)
  46615. -        for i in range(num_nodes):
  46616. -            self.nodes.append(TestNode(i, self.options.tmpdir, extra_args[i], rpchost, timewait=timewait, binary=binary[i], stderr=None, mocktime=self.mocktime, coverage_dir=self.options.coveragedir))
  46617. -
  46618. -    def start_node(self, i, extra_args=None, stderr=None):
  46619. -        """Start a litecoind"""
  46620. -
  46621. -        node = self.nodes[i]
  46622. -
  46623. -        node.start(extra_args, stderr)
  46624. -        node.wait_for_rpc_connection()
  46625. -
  46626. -        if self.options.coveragedir is not None:
  46627. -            coverage.write_all_rpc_commands(self.options.coveragedir, node.rpc)
  46628. -
  46629. -    def start_nodes(self, extra_args=None):
  46630. -        """Start multiple litecoinds"""
  46631. -
  46632. -        if extra_args is None:
  46633. -            extra_args = [None] * self.num_nodes
  46634. -        assert_equal(len(extra_args), self.num_nodes)
  46635. +        rpcs = []
  46636.          try:
  46637. -            for i, node in enumerate(self.nodes):
  46638. -                node.start(extra_args[i])
  46639. -            for node in self.nodes:
  46640. -                node.wait_for_rpc_connection()
  46641. +            for i in range(num_nodes):
  46642. +                rpcs.append(self.start_node(i, dirname, extra_args[i], rpchost, timewait=timewait, binary=binary[i]))
  46643.          except:
  46644.              # If one node failed to start, stop the others
  46645. +            # TODO: abusing self.nodes in this way is a little hacky.
  46646. +            # Eventually we should do a better job of tracking nodes
  46647. +            self.nodes.extend(rpcs)
  46648.              self.stop_nodes()
  46649. +            self.nodes = []
  46650.              raise
  46651. -
  46652. -        if self.options.coveragedir is not None:
  46653. -            for node in self.nodes:
  46654. -                coverage.write_all_rpc_commands(self.options.coveragedir, node.rpc)
  46655. +        return rpcs
  46656.  
  46657.      def stop_node(self, i):
  46658.          """Stop a bitcoind test node"""
  46659. -        self.nodes[i].stop_node()
  46660. -        self.nodes[i].wait_until_stopped()
  46661. +
  46662. +        self.log.debug("Stopping node %d" % i)
  46663. +        try:
  46664. +            self.nodes[i].stop()
  46665. +        except http.client.CannotSendRequest as e:
  46666. +            self.log.exception("Unable to stop node")
  46667. +        return_code = self.bitcoind_processes[i].wait(timeout=BITCOIND_PROC_WAIT_TIMEOUT)
  46668. +        del self.bitcoind_processes[i]
  46669. +        assert_equal(return_code, 0)
  46670.  
  46671.      def stop_nodes(self):
  46672.          """Stop multiple bitcoind test nodes"""
  46673. -        for node in self.nodes:
  46674. -            # Issue RPC to stop nodes
  46675. -            node.stop_node()
  46676.  
  46677. -        for node in self.nodes:
  46678. -            # Wait for nodes to stop
  46679. -            node.wait_until_stopped()
  46680. +        for i in range(len(self.nodes)):
  46681. +            self.stop_node(i)
  46682. +        assert not self.bitcoind_processes.values()  # All connections must be gone now
  46683.  
  46684. -    def assert_start_raises_init_error(self, i, extra_args=None, expected_msg=None):
  46685. +    def assert_start_raises_init_error(self, i, dirname, extra_args=None, expected_msg=None):
  46686.          with tempfile.SpooledTemporaryFile(max_size=2**16) as log_stderr:
  46687.              try:
  46688. -                self.start_node(i, extra_args, stderr=log_stderr)
  46689. +                self.start_node(i, dirname, extra_args, stderr=log_stderr)
  46690.                  self.stop_node(i)
  46691.              except Exception as e:
  46692. -                assert 'litecoind exited' in str(e)  # node must have shutdown
  46693. -                self.nodes[i].running = False
  46694. -                self.nodes[i].process = None
  46695. +                assert 'litecoincashd exited' in str(e)  # node must have shutdown
  46696.                  if expected_msg is not None:
  46697.                      log_stderr.seek(0)
  46698.                      stderr = log_stderr.read().decode('utf-8')
  46699. @@ -292,13 +286,13 @@ class BitcoinTestFramework(object):
  46700.                          raise AssertionError("Expected error \"" + expected_msg + "\" not found in:\n" + stderr)
  46701.              else:
  46702.                  if expected_msg is None:
  46703. -                    assert_msg = "litecoind should have exited with an error"
  46704. +                    assert_msg = "litecoincashd should have exited with an error"
  46705.                  else:
  46706. -                    assert_msg = "litecoind should have exited with expected error " + expected_msg
  46707. +                    assert_msg = "litecoincashd should have exited with expected error " + expected_msg
  46708.                  raise AssertionError(assert_msg)
  46709.  
  46710.      def wait_for_node_exit(self, i, timeout):
  46711. -        self.nodes[i].process.wait(timeout)
  46712. +        self.bitcoind_processes[i].wait(timeout)
  46713.  
  46714.      def split_network(self):
  46715.          """
  46716. @@ -362,22 +356,22 @@ class BitcoinTestFramework(object):
  46717.          self.log.addHandler(ch)
  46718.  
  46719.          if self.options.trace_rpc:
  46720. -            rpc_logger = logging.getLogger("LitecoinRPC")
  46721. +            rpc_logger = logging.getLogger("BitcoinRPC")
  46722.              rpc_logger.setLevel(logging.DEBUG)
  46723.              rpc_handler = logging.StreamHandler(sys.stdout)
  46724.              rpc_handler.setLevel(logging.DEBUG)
  46725.              rpc_logger.addHandler(rpc_handler)
  46726.  
  46727. -    def _initialize_chain(self):
  46728. +    def _initialize_chain(self, test_dir, num_nodes, cachedir):
  46729.          """Initialize a pre-mined blockchain for use by the test.
  46730.  
  46731.          Create a cache of a 200-block-long chain (with wallet) for MAX_NODES
  46732.          Afterward, create num_nodes copies from the cache."""
  46733.  
  46734. -        assert self.num_nodes <= MAX_NODES
  46735. +        assert num_nodes <= MAX_NODES
  46736.          create_cache = False
  46737.          for i in range(MAX_NODES):
  46738. -            if not os.path.isdir(os.path.join(self.options.cachedir, 'node' + str(i))):
  46739. +            if not os.path.isdir(os.path.join(cachedir, 'node' + str(i))):
  46740.                  create_cache = True
  46741.                  break
  46742.  
  46743. @@ -386,22 +380,27 @@ class BitcoinTestFramework(object):
  46744.  
  46745.              # find and delete old cache directories if any exist
  46746.              for i in range(MAX_NODES):
  46747. -                if os.path.isdir(os.path.join(self.options.cachedir, "node" + str(i))):
  46748. -                    shutil.rmtree(os.path.join(self.options.cachedir, "node" + str(i)))
  46749. +                if os.path.isdir(os.path.join(cachedir, "node" + str(i))):
  46750. +                    shutil.rmtree(os.path.join(cachedir, "node" + str(i)))
  46751.  
  46752.              # Create cache directories, run bitcoinds:
  46753.              for i in range(MAX_NODES):
  46754. -                datadir = initialize_datadir(self.options.cachedir, i)
  46755. -                args = [os.getenv("LITECOIND", "litecoind"), "-server", "-keypool=1", "-datadir=" + datadir, "-discover=0"]
  46756. +                datadir = initialize_datadir(cachedir, i)
  46757. +                args = [os.getenv("LITECOINCASHD", "litecoincashd"), "-server", "-keypool=1", "-datadir=" + datadir, "-discover=0"]
  46758.                  if i > 0:
  46759.                      args.append("-connect=127.0.0.1:" + str(p2p_port(0)))
  46760. -                self.nodes.append(TestNode(i, self.options.cachedir, extra_args=[], rpchost=None, timewait=None, binary=None, stderr=None, mocktime=self.mocktime, coverage_dir=None))
  46761. -                self.nodes[i].args = args
  46762. -                self.start_node(i)
  46763. +                self.bitcoind_processes[i] = subprocess.Popen(args)
  46764. +                self.log.debug("initialize_chain: litecoincashd started, waiting for RPC to come up")
  46765. +                self._wait_for_bitcoind_start(self.bitcoind_processes[i], datadir, i)
  46766. +                self.log.debug("initialize_chain: RPC successfully started")
  46767.  
  46768. -            # Wait for RPC connections to be ready
  46769. -            for node in self.nodes:
  46770. -                node.wait_for_rpc_connection()
  46771. +            self.nodes = []
  46772. +            for i in range(MAX_NODES):
  46773. +                try:
  46774. +                    self.nodes.append(get_rpc_proxy(rpc_url(get_datadir_path(cachedir, i), i), i))
  46775. +                except:
  46776. +                    self.log.exception("Error connecting to node %d" % i)
  46777. +                    sys.exit(1)
  46778.  
  46779.              # Create a 200-block-long chain; each of the 4 first nodes
  46780.              # gets 25 mature blocks and 25 immature.
  46781. @@ -427,53 +426,78 @@ class BitcoinTestFramework(object):
  46782.              self.nodes = []
  46783.              self.disable_mocktime()
  46784.              for i in range(MAX_NODES):
  46785. -                os.remove(log_filename(self.options.cachedir, i, "debug.log"))
  46786. -                os.remove(log_filename(self.options.cachedir, i, "db.log"))
  46787. -                os.remove(log_filename(self.options.cachedir, i, "peers.dat"))
  46788. -                os.remove(log_filename(self.options.cachedir, i, "fee_estimates.dat"))
  46789. -
  46790. -        for i in range(self.num_nodes):
  46791. -            from_dir = os.path.join(self.options.cachedir, "node" + str(i))
  46792. -            to_dir = os.path.join(self.options.tmpdir, "node" + str(i))
  46793. +                os.remove(log_filename(cachedir, i, "debug.log"))
  46794. +                os.remove(log_filename(cachedir, i, "db.log"))
  46795. +                os.remove(log_filename(cachedir, i, "peers.dat"))
  46796. +                os.remove(log_filename(cachedir, i, "fee_estimates.dat"))
  46797. +
  46798. +        for i in range(num_nodes):
  46799. +            from_dir = os.path.join(cachedir, "node" + str(i))
  46800. +            to_dir = os.path.join(test_dir, "node" + str(i))
  46801.              shutil.copytree(from_dir, to_dir)
  46802. -            initialize_datadir(self.options.tmpdir, i)  # Overwrite port/rpcport in bitcoin.conf
  46803. +            initialize_datadir(test_dir, i)  # Overwrite port/rpcport in bitcoin.conf
  46804.  
  46805. -    def _initialize_chain_clean(self):
  46806. +    def _initialize_chain_clean(self, test_dir, num_nodes):
  46807.          """Initialize empty blockchain for use by the test.
  46808.  
  46809.          Create an empty blockchain and num_nodes wallets.
  46810.          Useful if a test case wants complete control over initialization."""
  46811. -        for i in range(self.num_nodes):
  46812. -            initialize_datadir(self.options.tmpdir, i)
  46813. +        for i in range(num_nodes):
  46814. +            initialize_datadir(test_dir, i)
  46815. +
  46816. +    def _wait_for_bitcoind_start(self, process, datadir, i, rpchost=None):
  46817. +        """Wait for bitcoind to start.
  46818. +
  46819. +        This means that RPC is accessible and fully initialized.
  46820. +        Raise an exception if bitcoind exits during initialization."""
  46821. +        while True:
  46822. +            if process.poll() is not None:
  46823. +                raise Exception('litecoincashd exited with status %i during initialization' % process.returncode)
  46824. +            try:
  46825. +                # Check if .cookie file to be created
  46826. +                rpc = get_rpc_proxy(rpc_url(datadir, i, rpchost), i, coveragedir=self.options.coveragedir)
  46827. +                rpc.getblockcount()
  46828. +                break  # break out of loop on success
  46829. +            except IOError as e:
  46830. +                if e.errno != errno.ECONNREFUSED:  # Port not yet open?
  46831. +                    raise  # unknown IO error
  46832. +            except JSONRPCException as e:  # Initialization phase
  46833. +                if e.error['code'] != -28:  # RPC in warmup?
  46834. +                    raise  # unknown JSON RPC exception
  46835. +            except ValueError as e:  # cookie file not found and no rpcuser or rpcassword. bitcoind still starting
  46836. +                if "No RPC credentials" not in str(e):
  46837. +                    raise
  46838. +            time.sleep(0.25)
  46839.  
  46840.  class ComparisonTestFramework(BitcoinTestFramework):
  46841.      """Test framework for doing p2p comparison testing
  46842.  
  46843. -    Sets up some litecoind binaries:
  46844. +    Sets up some bitcoind binaries:
  46845.      - 1 binary: test binary
  46846.      - 2 binaries: 1 test binary, 1 ref binary
  46847.      - n>2 binaries: 1 test binary, n-1 ref binaries"""
  46848.  
  46849. -    def set_test_params(self):
  46850. +    def __init__(self):
  46851. +        super().__init__()
  46852.          self.num_nodes = 2
  46853.          self.setup_clean_chain = True
  46854.  
  46855.      def add_options(self, parser):
  46856.          parser.add_option("--testbinary", dest="testbinary",
  46857. -                          default=os.getenv("LITECOIND", "litecoind"),
  46858. -                          help="litecoind binary to test")
  46859. +                          default=os.getenv("LITECOINCASHD", "litecoincashd"),
  46860. +                          help="litecoincashd binary to test")
  46861.          parser.add_option("--refbinary", dest="refbinary",
  46862. -                          default=os.getenv("LITECOIND", "litecoind"),
  46863. -                          help="litecoind binary to use for reference nodes (if any)")
  46864. +                          default=os.getenv("LITECOINCASHD", "litecoincashd"),
  46865. +                          help="litecoincashd binary to use for reference nodes (if any)")
  46866.  
  46867.      def setup_network(self):
  46868. -        extra_args = [['-whitelist=127.0.0.1']] * self.num_nodes
  46869. +        extra_args = [['-whitelist=127.0.0.1']]*self.num_nodes
  46870.          if hasattr(self, "extra_args"):
  46871.              extra_args = self.extra_args
  46872. -        self.add_nodes(self.num_nodes, extra_args,
  46873. -                       binary=[self.options.testbinary] +
  46874. -                       [self.options.refbinary] * (self.num_nodes - 1))
  46875. -        self.start_nodes()
  46876. +        self.nodes = self.start_nodes(
  46877. +            self.num_nodes, self.options.tmpdir, extra_args,
  46878. +            binary=[self.options.testbinary] +
  46879. +            [self.options.refbinary] * (self.num_nodes - 1))
  46880.  
  46881.  class SkipTest(Exception):
  46882.      """This exception is raised to skip a test"""
  46883. diff --git a/test/functional/test_framework/test_node.py b/test/functional/test_framework/test_node.py
  46884. deleted file mode 100755
  46885. index 2f9a201..0000000
  46886. --- a/test/functional/test_framework/test_node.py
  46887. +++ /dev/null
  46888. @@ -1,190 +0,0 @@
  46889. -#!/usr/bin/env python3
  46890. -# Copyright (c) 2017 The Bitcoin Core developers
  46891. -# Distributed under the MIT software license, see the accompanying
  46892. -# file COPYING or http://www.opensource.org/licenses/mit-license.php.
  46893. -"""Class for litecoind node under test"""
  46894. -
  46895. -import decimal
  46896. -import errno
  46897. -import http.client
  46898. -import json
  46899. -import logging
  46900. -import os
  46901. -import subprocess
  46902. -import time
  46903. -
  46904. -from .util import (
  46905. -    assert_equal,
  46906. -    get_rpc_proxy,
  46907. -    rpc_url,
  46908. -    wait_until,
  46909. -)
  46910. -from .authproxy import JSONRPCException
  46911. -
  46912. -BITCOIND_PROC_WAIT_TIMEOUT = 60
  46913. -
  46914. -class TestNode():
  46915. -    """A class for representing a litecoind node under test.
  46916. -
  46917. -    This class contains:
  46918. -
  46919. -    - state about the node (whether it's running, etc)
  46920. -    - a Python subprocess.Popen object representing the running process
  46921. -    - an RPC connection to the node
  46922. -
  46923. -    To make things easier for the test writer, a bit of magic is happening under the covers.
  46924. -    Any unrecognised messages will be dispatched to the RPC connection."""
  46925. -
  46926. -    def __init__(self, i, dirname, extra_args, rpchost, timewait, binary, stderr, mocktime, coverage_dir):
  46927. -        self.index = i
  46928. -        self.datadir = os.path.join(dirname, "node" + str(i))
  46929. -        self.rpchost = rpchost
  46930. -        if timewait:
  46931. -            self.rpc_timeout = timewait
  46932. -        else:
  46933. -            # Wait for up to 60 seconds for the RPC server to respond
  46934. -            self.rpc_timeout = 60
  46935. -        if binary is None:
  46936. -            self.binary = os.getenv("LITECOIND", "litecoind")
  46937. -        else:
  46938. -            self.binary = binary
  46939. -        self.stderr = stderr
  46940. -        self.coverage_dir = coverage_dir
  46941. -        # Most callers will just need to add extra args to the standard list below. For those callers that need more flexibity, they can just set the args property directly.
  46942. -        self.extra_args = extra_args
  46943. -        self.args = [self.binary, "-datadir=" + self.datadir, "-server", "-keypool=1", "-discover=0", "-rest", "-logtimemicros", "-debug", "-debugexclude=libevent", "-debugexclude=leveldb", "-mocktime=" + str(mocktime), "-uacomment=testnode%d" % i]
  46944. -
  46945. -        self.cli = TestNodeCLI(os.getenv("LITECOINCLI", "litecoin-cli"), self.datadir)
  46946. -
  46947. -        self.running = False
  46948. -        self.process = None
  46949. -        self.rpc_connected = False
  46950. -        self.rpc = None
  46951. -        self.url = None
  46952. -        self.log = logging.getLogger('TestFramework.node%d' % i)
  46953. -
  46954. -    def __getattr__(self, *args, **kwargs):
  46955. -        """Dispatches any unrecognised messages to the RPC connection."""
  46956. -        assert self.rpc_connected and self.rpc is not None, "Error: no RPC connection"
  46957. -        return self.rpc.__getattr__(*args, **kwargs)
  46958. -
  46959. -    def start(self, extra_args=None, stderr=None):
  46960. -        """Start the node."""
  46961. -        if extra_args is None:
  46962. -            extra_args = self.extra_args
  46963. -        if stderr is None:
  46964. -            stderr = self.stderr
  46965. -        self.process = subprocess.Popen(self.args + extra_args, stderr=stderr)
  46966. -        self.running = True
  46967. -        self.log.debug("litecoind started, waiting for RPC to come up")
  46968. -
  46969. -    def wait_for_rpc_connection(self):
  46970. -        """Sets up an RPC connection to the litecoind process. Returns False if unable to connect."""
  46971. -        # Poll at a rate of four times per second
  46972. -        poll_per_s = 4
  46973. -        for _ in range(poll_per_s * self.rpc_timeout):
  46974. -            assert self.process.poll() is None, "litecoind exited with status %i during initialization" % self.process.returncode
  46975. -            try:
  46976. -                self.rpc = get_rpc_proxy(rpc_url(self.datadir, self.index, self.rpchost), self.index, timeout=self.rpc_timeout, coveragedir=self.coverage_dir)
  46977. -                self.rpc.getblockcount()
  46978. -                # If the call to getblockcount() succeeds then the RPC connection is up
  46979. -                self.rpc_connected = True
  46980. -                self.url = self.rpc.url
  46981. -                self.log.debug("RPC successfully started")
  46982. -                return
  46983. -            except IOError as e:
  46984. -                if e.errno != errno.ECONNREFUSED:  # Port not yet open?
  46985. -                    raise  # unknown IO error
  46986. -            except JSONRPCException as e:  # Initialization phase
  46987. -                if e.error['code'] != -28:  # RPC in warmup?
  46988. -                    raise  # unknown JSON RPC exception
  46989. -            except ValueError as e:  # cookie file not found and no rpcuser or rpcassword. bitcoind still starting
  46990. -                if "No RPC credentials" not in str(e):
  46991. -                    raise
  46992. -            time.sleep(1.0 / poll_per_s)
  46993. -        raise AssertionError("Unable to connect to litecoind")
  46994. -
  46995. -    def get_wallet_rpc(self, wallet_name):
  46996. -        assert self.rpc_connected
  46997. -        assert self.rpc
  46998. -        wallet_path = "wallet/%s" % wallet_name
  46999. -        return self.rpc / wallet_path
  47000. -
  47001. -    def stop_node(self):
  47002. -        """Stop the node."""
  47003. -        if not self.running:
  47004. -            return
  47005. -        self.log.debug("Stopping node")
  47006. -        try:
  47007. -            self.stop()
  47008. -        except http.client.CannotSendRequest:
  47009. -            self.log.exception("Unable to stop node.")
  47010. -
  47011. -    def is_node_stopped(self):
  47012. -        """Checks whether the node has stopped.
  47013. -
  47014. -        Returns True if the node has stopped. False otherwise.
  47015. -        This method is responsible for freeing resources (self.process)."""
  47016. -        if not self.running:
  47017. -            return True
  47018. -        return_code = self.process.poll()
  47019. -        if return_code is None:
  47020. -            return False
  47021. -
  47022. -        # process has stopped. Assert that it didn't return an error code.
  47023. -        assert_equal(return_code, 0)
  47024. -        self.running = False
  47025. -        self.process = None
  47026. -        self.rpc_connected = False
  47027. -        self.rpc = None
  47028. -        self.log.debug("Node stopped")
  47029. -        return True
  47030. -
  47031. -    def wait_until_stopped(self, timeout=BITCOIND_PROC_WAIT_TIMEOUT):
  47032. -        wait_until(self.is_node_stopped, timeout=timeout)
  47033. -
  47034. -    def node_encrypt_wallet(self, passphrase):
  47035. -        """"Encrypts the wallet.
  47036. -
  47037. -        This causes litecoind to shutdown, so this method takes
  47038. -        care of cleaning up resources."""
  47039. -        self.encryptwallet(passphrase)
  47040. -        self.wait_until_stopped()
  47041. -
  47042. -class TestNodeCLI():
  47043. -    """Interface to litecoin-cli for an individual node"""
  47044. -
  47045. -    def __init__(self, binary, datadir):
  47046. -        self.args = []
  47047. -        self.binary = binary
  47048. -        self.datadir = datadir
  47049. -        self.input = None
  47050. -
  47051. -    def __call__(self, *args, input=None):
  47052. -        # TestNodeCLI is callable with litecoin-cli command-line args
  47053. -        self.args = [str(arg) for arg in args]
  47054. -        self.input = input
  47055. -        return self
  47056. -
  47057. -    def __getattr__(self, command):
  47058. -        def dispatcher(*args, **kwargs):
  47059. -            return self.send_cli(command, *args, **kwargs)
  47060. -        return dispatcher
  47061. -
  47062. -    def send_cli(self, command, *args, **kwargs):
  47063. -        """Run litecoin-cli command. Deserializes returned string as python object."""
  47064. -
  47065. -        pos_args = [str(arg) for arg in args]
  47066. -        named_args = [str(key) + "=" + str(value) for (key, value) in kwargs.items()]
  47067. -        assert not (pos_args and named_args), "Cannot use positional arguments and named arguments in the same litecoin-cli call"
  47068. -        p_args = [self.binary, "-datadir=" + self.datadir] + self.args
  47069. -        if named_args:
  47070. -            p_args += ["-named"]
  47071. -        p_args += [command] + pos_args + named_args
  47072. -        process = subprocess.Popen(p_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
  47073. -        cli_stdout, cli_stderr = process.communicate(input=self.input)
  47074. -        returncode = process.poll()
  47075. -        if returncode:
  47076. -            # Ignore cli_stdout, raise with cli_stderr
  47077. -            raise subprocess.CalledProcessError(returncode, self.binary, output=cli_stderr)
  47078. -        return json.loads(cli_stdout, parse_float=decimal.Decimal)
  47079. diff --git a/test/functional/test_framework/util.py b/test/functional/test_framework/util.py
  47080. index 23938c9..f79178b 100644
  47081. --- a/test/functional/test_framework/util.py
  47082. +++ b/test/functional/test_framework/util.py
  47083. @@ -7,13 +7,11 @@
  47084.  from base64 import b64encode
  47085.  from binascii import hexlify, unhexlify
  47086.  from decimal import Decimal, ROUND_DOWN
  47087. -import hashlib
  47088.  import json
  47089.  import logging
  47090.  import os
  47091.  import random
  47092.  import re
  47093. -from subprocess import CalledProcessError
  47094.  import time
  47095.  
  47096.  from . import coverage
  47097. @@ -51,8 +49,6 @@ def assert_raises(exc, fun, *args, **kwds):
  47098.  def assert_raises_message(exc, message, fun, *args, **kwds):
  47099.      try:
  47100.          fun(*args, **kwds)
  47101. -    except JSONRPCException:
  47102. -        raise AssertionError("Use assert_raises_rpc_error() to test RPC failures")
  47103.      except exc as e:
  47104.          if message is not None and message not in e.error['message']:
  47105.              raise AssertionError("Expected substring not found:" + e.error['message'])
  47106. @@ -61,53 +57,22 @@ def assert_raises_message(exc, message, fun, *args, **kwds):
  47107.      else:
  47108.          raise AssertionError("No exception raised")
  47109.  
  47110. -def assert_raises_process_error(returncode, output, fun, *args, **kwds):
  47111. -    """Execute a process and asserts the process return code and output.
  47112. -
  47113. -    Calls function `fun` with arguments `args` and `kwds`. Catches a CalledProcessError
  47114. -    and verifies that the return code and output are as expected. Throws AssertionError if
  47115. -    no CalledProcessError was raised or if the return code and output are not as expected.
  47116. -
  47117. -    Args:
  47118. -        returncode (int): the process return code.
  47119. -        output (string): [a substring of] the process output.
  47120. -        fun (function): the function to call. This should execute a process.
  47121. -        args*: positional arguments for the function.
  47122. -        kwds**: named arguments for the function.
  47123. -    """
  47124. -    try:
  47125. -        fun(*args, **kwds)
  47126. -    except CalledProcessError as e:
  47127. -        if returncode != e.returncode:
  47128. -            raise AssertionError("Unexpected returncode %i" % e.returncode)
  47129. -        if output not in e.output:
  47130. -            raise AssertionError("Expected substring not found:" + e.output)
  47131. -    else:
  47132. -        raise AssertionError("No exception raised")
  47133. -
  47134. -def assert_raises_rpc_error(code, message, fun, *args, **kwds):
  47135. +def assert_raises_jsonrpc(code, message, fun, *args, **kwds):
  47136.      """Run an RPC and verify that a specific JSONRPC exception code and message is raised.
  47137.  
  47138.      Calls function `fun` with arguments `args` and `kwds`. Catches a JSONRPCException
  47139.      and verifies that the error code and message are as expected. Throws AssertionError if
  47140. -    no JSONRPCException was raised or if the error code/message are not as expected.
  47141. +    no JSONRPCException was returned or if the error code/message are not as expected.
  47142.  
  47143.      Args:
  47144.          code (int), optional: the error code returned by the RPC call (defined
  47145.              in src/rpc/protocol.h). Set to None if checking the error code is not required.
  47146.          message (string), optional: [a substring of] the error string returned by the
  47147. -            RPC call. Set to None if checking the error string is not required.
  47148. +            RPC call. Set to None if checking the error string is not required
  47149.          fun (function): the function to call. This should be the name of an RPC.
  47150.          args*: positional arguments for the function.
  47151.          kwds**: named arguments for the function.
  47152.      """
  47153. -    assert try_rpc(code, message, fun, *args, **kwds), "No exception raised"
  47154. -
  47155. -def try_rpc(code, message, fun, *args, **kwds):
  47156. -    """Tries to run an rpc command.
  47157. -
  47158. -    Test against error code and message if the rpc fails.
  47159. -    Returns whether a JSONRPCException was raised."""
  47160.      try:
  47161.          fun(*args, **kwds)
  47162.      except JSONRPCException as e:
  47163. @@ -116,11 +81,10 @@ def try_rpc(code, message, fun, *args, **kwds):
  47164.              raise AssertionError("Unexpected JSONRPC error code %i" % e.error["code"])
  47165.          if (message is not None) and (message not in e.error['message']):
  47166.              raise AssertionError("Expected substring not found:" + e.error['message'])
  47167. -        return True
  47168.      except Exception as e:
  47169.          raise AssertionError("Unexpected exception raised: " + type(e).__name__)
  47170.      else:
  47171. -        return False
  47172. +        raise AssertionError("No exception raised")
  47173.  
  47174.  def assert_is_hex_string(string):
  47175.      try:
  47176. @@ -184,13 +148,6 @@ def count_bytes(hex_string):
  47177.  def bytes_to_hex_str(byte_str):
  47178.      return hexlify(byte_str).decode('ascii')
  47179.  
  47180. -def hash256(byte_str):
  47181. -    sha256 = hashlib.sha256()
  47182. -    sha256.update(byte_str)
  47183. -    sha256d = hashlib.sha256()
  47184. -    sha256d.update(sha256.digest())
  47185. -    return sha256d.digest()[::-1]
  47186. -
  47187.  def hex_str_to_bytes(hex_str):
  47188.      return unhexlify(hex_str.encode('ascii'))
  47189.  
  47190. @@ -200,28 +157,6 @@ def str_to_b64str(string):
  47191.  def satoshi_round(amount):
  47192.      return Decimal(amount).quantize(Decimal('0.00000001'), rounding=ROUND_DOWN)
  47193.  
  47194. -def wait_until(predicate, *, attempts=float('inf'), timeout=float('inf'), lock=None):
  47195. -    if attempts == float('inf') and timeout == float('inf'):
  47196. -        timeout = 60
  47197. -    attempt = 0
  47198. -    timeout += time.time()
  47199. -
  47200. -    while attempt < attempts and time.time() < timeout:
  47201. -        if lock:
  47202. -            with lock:
  47203. -                if predicate():
  47204. -                    return
  47205. -        else:
  47206. -            if predicate():
  47207. -                return
  47208. -        attempt += 1
  47209. -        time.sleep(0.05)
  47210. -
  47211. -    # Print the cause of the timeout
  47212. -    assert_greater_than(attempts, attempt)
  47213. -    assert_greater_than(timeout, time.time())
  47214. -    raise RuntimeError('Unreachable')
  47215. -
  47216.  # RPC/P2P connection constants and functions
  47217.  ############################################
  47218.  
  47219. @@ -269,7 +204,7 @@ def rpc_port(n):
  47220.      return PORT_MIN + PORT_RANGE + n + (MAX_NODES * PortSeed.n) % (PORT_RANGE - 1 - MAX_NODES)
  47221.  
  47222.  def rpc_url(datadir, i, rpchost=None):
  47223. -    rpc_u, rpc_p = get_auth_cookie(datadir)
  47224. +    rpc_u, rpc_p = get_auth_cookie(datadir, i)
  47225.      host = '127.0.0.1'
  47226.      port = rpc_port(i)
  47227.      if rpchost:
  47228. @@ -287,7 +222,7 @@ def initialize_datadir(dirname, n):
  47229.      datadir = os.path.join(dirname, "node" + str(n))
  47230.      if not os.path.isdir(datadir):
  47231.          os.makedirs(datadir)
  47232. -    with open(os.path.join(datadir, "litecoin.conf"), 'w', encoding='utf8') as f:
  47233. +    with open(os.path.join(datadir, "litecoincash.conf"), 'w', encoding='utf8') as f:
  47234.          f.write("regtest=1\n")
  47235.          f.write("port=" + str(p2p_port(n)) + "\n")
  47236.          f.write("rpcport=" + str(rpc_port(n)) + "\n")
  47237. @@ -297,11 +232,11 @@ def initialize_datadir(dirname, n):
  47238.  def get_datadir_path(dirname, n):
  47239.      return os.path.join(dirname, "node" + str(n))
  47240.  
  47241. -def get_auth_cookie(datadir):
  47242. +def get_auth_cookie(datadir, n):
  47243.      user = None
  47244.      password = None
  47245. -    if os.path.isfile(os.path.join(datadir, "litecoin.conf")):
  47246. -        with open(os.path.join(datadir, "litecoin.conf"), 'r', encoding='utf8') as f:
  47247. +    if os.path.isfile(os.path.join(datadir, "litecoincash.conf")):
  47248. +        with open(os.path.join(datadir, "litecoincash.conf"), 'r', encoding='utf8') as f:
  47249.              for line in f:
  47250.                  if line.startswith("rpcuser="):
  47251.                      assert user is None  # Ensure that there is only one rpcuser line
  47252. diff --git a/test/functional/test_runner.py b/test/functional/test_runner.py
  47253. old mode 100755
  47254. new mode 100644
  47255. index f03b2da..a22f1e7
  47256. --- a/test/functional/test_runner.py
  47257. +++ b/test/functional/test_runner.py
  47258. @@ -81,7 +81,6 @@ BASE_SCRIPTS= [
  47259.      # vv Tests less than 30s vv
  47260.      'keypool-topup.py',
  47261.      'zmq_test.py',
  47262. -    'bitcoin_cli.py',
  47263.      'mempool_resurrect_test.py',
  47264.      'txn_doublespend.py --mineblock',
  47265.      'txn_clone.py',
  47266. @@ -122,8 +121,6 @@ BASE_SCRIPTS= [
  47267.      'bip65-cltv-p2p.py',
  47268.      'uptime.py',
  47269.      'resendwallettransactions.py',
  47270. -    'minchainwork.py',
  47271. -    'p2p-acceptblock.py',
  47272.  ]
  47273.  
  47274.  EXTENDED_SCRIPTS = [
  47275. @@ -151,6 +148,7 @@ EXTENDED_SCRIPTS = [
  47276.      'txn_clone.py --mineblock',
  47277.      'forknotify.py',
  47278.      'invalidateblock.py',
  47279. +    'p2p-acceptblock.py',
  47280.      'replace-by-fee.py',
  47281.  ]
  47282.  
  47283. @@ -199,7 +197,7 @@ def main():
  47284.      logging.basicConfig(format='%(message)s', level=logging_level)
  47285.  
  47286.      # Create base test directory
  47287. -    tmpdir = "%s/litecoin_test_runner_%s" % (args.tmpdirprefix, datetime.datetime.now().strftime("%Y%m%d_%H%M%S"))
  47288. +    tmpdir = "%s/litecoincash_test_runner_%s" % (args.tmpdirprefix, datetime.datetime.now().strftime("%Y%m%d_%H%M%S"))
  47289.      os.makedirs(tmpdir)
  47290.  
  47291.      logging.debug("Temporary test directory at %s" % tmpdir)
  47292. @@ -215,7 +213,7 @@ def main():
  47293.          sys.exit(0)
  47294.  
  47295.      if not (enable_wallet and enable_utils and enable_bitcoind):
  47296. -        print("No functional tests to run. Wallet, utils, and litecoind must all be enabled")
  47297. +        print("No functional tests to run. Wallet, utils, and litecoincashd must all be enabled")
  47298.          print("Rerun `configure` with -enable-wallet, -with-utils and -with-daemon and rerun make")
  47299.          sys.exit(0)
  47300.  
  47301. @@ -269,8 +267,8 @@ def main():
  47302.  def run_tests(test_list, src_dir, build_dir, exeext, tmpdir, jobs=1, enable_coverage=False, args=[]):
  47303.      # Warn if bitcoind is already running (unix only)
  47304.      try:
  47305. -        if subprocess.check_output(["pidof", "litecoind"]) is not None:
  47306. -            print("%sWARNING!%s There is already a litecoind process running on this system. Tests may fail unexpectedly due to resource contention!" % (BOLD[1], BOLD[0]))
  47307. +        if subprocess.check_output(["pidof", "litecoincashd"]) is not None:
  47308. +            print("%sWARNING!%s There is already a litecoincashd process running on this system. Tests may fail unexpectedly due to resource contention!" % (BOLD[1], BOLD[0]))
  47309.      except (OSError, subprocess.SubprocessError):
  47310.          pass
  47311.  
  47312. @@ -280,9 +278,8 @@ def run_tests(test_list, src_dir, build_dir, exeext, tmpdir, jobs=1, enable_cove
  47313.          print("%sWARNING!%s There is a cache directory here: %s. If tests fail unexpectedly, try deleting the cache directory." % (BOLD[1], BOLD[0], cache_dir))
  47314.  
  47315.      #Set env vars
  47316. -    if "LITECOIND" not in os.environ:
  47317. -        os.environ["LITECOIND"] = build_dir + '/src/litecoind' + exeext
  47318. -        os.environ["LITECOINCLI"] = build_dir + '/src/litecoin-cli' + exeext
  47319. +    if "LITECOINCASHD" not in os.environ:
  47320. +        os.environ["LITECOINCASHD"] = build_dir + '/src/litecoincashd' + exeext
  47321.  
  47322.      tests_dir = src_dir + '/test/functional/'
  47323.  
  47324. @@ -465,7 +462,7 @@ class RPCCoverage(object):
  47325.      Coverage calculation works by having each test script subprocess write
  47326.      coverage files into a particular directory. These files contain the RPC
  47327.      commands invoked during testing, as well as a complete listing of RPC
  47328. -    commands per `litecoin-cli help` (`rpc_interface.txt`).
  47329. +    commands per `bitcoin-cli help` (`rpc_interface.txt`).
  47330.  
  47331.      After all tests complete, the commands run are combined and diff'd against
  47332.      the complete list to calculate uncovered RPC commands.
  47333. diff --git a/test/functional/test_script_address2.py b/test/functional/test_script_address2.py
  47334. old mode 100755
  47335. new mode 100644
  47336. index 015c515..4c5ae5e
  47337. --- a/test/functional/test_script_address2.py
  47338. +++ b/test/functional/test_script_address2.py
  47339. @@ -4,7 +4,7 @@
  47340.  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
  47341.  
  47342.  #
  47343. -# Test new Litecoin multisig prefix functionality.
  47344. +# Test new LitecoinCash multisig prefix functionality.
  47345.  #
  47346.  
  47347.  from test_framework.test_framework import BitcoinTestFramework
  47348. @@ -12,14 +12,16 @@ from test_framework.util import *
  47349.  import decimal
  47350.  
  47351.  class ScriptAddress2Test(BitcoinTestFramework):
  47352. -    def set_test_params(self):
  47353. +    def __init__(self):
  47354. +        super().__init__()
  47355.          self.num_nodes = 3
  47356.          self.setup_clean_chain = False
  47357.  
  47358. -    def setup_network(self, split=False):
  47359. -        self.setup_nodes()
  47360. +    def setup_network(self):
  47361. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir)
  47362.          connect_nodes(self.nodes[1], 0)
  47363.          connect_nodes(self.nodes[2], 0)
  47364. +        self.is_network_split = False
  47365.          self.sync_all()
  47366.  
  47367.      def run_test(self):
  47368. diff --git a/test/functional/txn_clone.py b/test/functional/txn_clone.py
  47369. old mode 100755
  47370. new mode 100644
  47371. index 740bb2d..9b81af9
  47372. --- a/test/functional/txn_clone.py
  47373. +++ b/test/functional/txn_clone.py
  47374. @@ -8,8 +8,11 @@ from test_framework.test_framework import BitcoinTestFramework
  47375.  from test_framework.util import *
  47376.  
  47377.  class TxnMallTest(BitcoinTestFramework):
  47378. -    def set_test_params(self):
  47379. +
  47380. +    def __init__(self):
  47381. +        super().__init__()
  47382.          self.num_nodes = 4
  47383. +        self.setup_clean_chain = False
  47384.  
  47385.      def add_options(self, parser):
  47386.          parser.add_option("--mineblock", dest="mine_block", default=False, action="store_true",
  47387. diff --git a/test/functional/txn_doublespend.py b/test/functional/txn_doublespend.py
  47388. old mode 100755
  47389. new mode 100644
  47390. index 69629ef..1bd3b32
  47391. --- a/test/functional/txn_doublespend.py
  47392. +++ b/test/functional/txn_doublespend.py
  47393. @@ -8,8 +8,11 @@ from test_framework.test_framework import BitcoinTestFramework
  47394.  from test_framework.util import *
  47395.  
  47396.  class TxnMallTest(BitcoinTestFramework):
  47397. -    def set_test_params(self):
  47398. +
  47399. +    def __init__(self):
  47400. +        super().__init__()
  47401.          self.num_nodes = 4
  47402. +        self.setup_clean_chain = False
  47403.  
  47404.      def add_options(self, parser):
  47405.          parser.add_option("--mineblock", dest="mine_block", default=False, action="store_true",
  47406. diff --git a/test/functional/uptime.py b/test/functional/uptime.py
  47407. old mode 100755
  47408. new mode 100644
  47409. index 78236b2..b20d6f5
  47410. --- a/test/functional/uptime.py
  47411. +++ b/test/functional/uptime.py
  47412. @@ -13,7 +13,9 @@ from test_framework.test_framework import BitcoinTestFramework
  47413.  
  47414.  
  47415.  class UptimeTest(BitcoinTestFramework):
  47416. -    def set_test_params(self):
  47417. +    def __init__(self):
  47418. +        super().__init__()
  47419. +
  47420.          self.num_nodes = 1
  47421.          self.setup_clean_chain = True
  47422.  
  47423. diff --git a/test/functional/wallet-accounts.py b/test/functional/wallet-accounts.py
  47424. old mode 100755
  47425. new mode 100644
  47426. index 40726d2..158aa9a
  47427. --- a/test/functional/wallet-accounts.py
  47428. +++ b/test/functional/wallet-accounts.py
  47429. @@ -17,7 +17,9 @@ from test_framework.test_framework import BitcoinTestFramework
  47430.  from test_framework.util import assert_equal
  47431.  
  47432.  class WalletAccountsTest(BitcoinTestFramework):
  47433. -    def set_test_params(self):
  47434. +
  47435. +    def __init__(self):
  47436. +        super().__init__()
  47437.          self.setup_clean_chain = True
  47438.          self.num_nodes = 1
  47439.          self.extra_args = [[]]
  47440. diff --git a/test/functional/wallet-dump.py b/test/functional/wallet-dump.py
  47441. old mode 100755
  47442. new mode 100644
  47443. index 2ca01c7..569cc46
  47444. --- a/test/functional/wallet-dump.py
  47445. +++ b/test/functional/wallet-dump.py
  47446. @@ -7,7 +7,7 @@
  47447.  import os
  47448.  
  47449.  from test_framework.test_framework import BitcoinTestFramework
  47450. -from test_framework.util import (assert_equal, assert_raises_rpc_error)
  47451. +from test_framework.util import assert_equal
  47452.  
  47453.  
  47454.  def read_dump(file_name, addrs, hd_master_addr_old):
  47455. @@ -56,7 +56,10 @@ def read_dump(file_name, addrs, hd_master_addr_old):
  47456.  
  47457.  
  47458.  class WalletDumpTest(BitcoinTestFramework):
  47459. -    def set_test_params(self):
  47460. +
  47461. +    def __init__(self):
  47462. +        super().__init__()
  47463. +        self.setup_clean_chain = False
  47464.          self.num_nodes = 1
  47465.          self.extra_args = [["-keypool=90"]]
  47466.  
  47467. @@ -65,8 +68,7 @@ class WalletDumpTest(BitcoinTestFramework):
  47468.          # longer than the default 30 seconds due to an expensive
  47469.          # CWallet::TopUpKeyPool call, and the encryptwallet RPC made later in
  47470.          # the test often takes even longer.
  47471. -        self.add_nodes(self.num_nodes, self.extra_args, timewait=60)
  47472. -        self.start_nodes()
  47473. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, self.extra_args, timewait=60)
  47474.  
  47475.      def run_test (self):
  47476.          tmpdir = self.options.tmpdir
  47477. @@ -92,8 +94,9 @@ class WalletDumpTest(BitcoinTestFramework):
  47478.          assert_equal(found_addr_rsv, 90*2) # 90 keys plus 100% internal keys
  47479.  
  47480.          #encrypt wallet, restart, unlock and dump
  47481. -        self.nodes[0].node_encrypt_wallet('test')
  47482. -        self.start_node(0)
  47483. +        self.nodes[0].encryptwallet('test')
  47484. +        self.bitcoind_processes[0].wait()
  47485. +        self.nodes[0] = self.start_node(0, self.options.tmpdir, self.extra_args[0])
  47486.          self.nodes[0].walletpassphrase('test', 10)
  47487.          # Should be a no-op:
  47488.          self.nodes[0].keypoolrefill()
  47489. @@ -105,8 +108,5 @@ class WalletDumpTest(BitcoinTestFramework):
  47490.          assert_equal(found_addr_chg, 90*2 + 50)  # old reserve keys are marked as change now
  47491.          assert_equal(found_addr_rsv, 90*2)
  47492.  
  47493. -        # Overwriting should fail
  47494. -        assert_raises_rpc_error(-8, "already exists", self.nodes[0].dumpwallet, tmpdir + "/node0/wallet.unencrypted.dump")
  47495. -
  47496.  if __name__ == '__main__':
  47497.      WalletDumpTest().main ()
  47498. diff --git a/test/functional/wallet-encryption.py b/test/functional/wallet-encryption.py
  47499. old mode 100755
  47500. new mode 100644
  47501. index db62e1e..ba72918
  47502. --- a/test/functional/wallet-encryption.py
  47503. +++ b/test/functional/wallet-encryption.py
  47504. @@ -6,14 +6,16 @@
  47505.  
  47506.  import time
  47507.  
  47508. -from test_framework.test_framework import BitcoinTestFramework
  47509. +from test_framework.test_framework import BitcoinTestFramework, BITCOIND_PROC_WAIT_TIMEOUT
  47510.  from test_framework.util import (
  47511.      assert_equal,
  47512. -    assert_raises_rpc_error,
  47513. +    assert_raises_jsonrpc,
  47514.  )
  47515.  
  47516.  class WalletEncryptionTest(BitcoinTestFramework):
  47517. -    def set_test_params(self):
  47518. +
  47519. +    def __init__(self):
  47520. +        super().__init__()
  47521.          self.setup_clean_chain = True
  47522.          self.num_nodes = 1
  47523.  
  47524. @@ -28,11 +30,12 @@ class WalletEncryptionTest(BitcoinTestFramework):
  47525.          assert_equal(len(privkey), 52)
  47526.  
  47527.          # Encrypt the wallet
  47528. -        self.nodes[0].node_encrypt_wallet(passphrase)
  47529. -        self.start_node(0)
  47530. +        self.nodes[0].encryptwallet(passphrase)
  47531. +        self.bitcoind_processes[0].wait(timeout=BITCOIND_PROC_WAIT_TIMEOUT)
  47532. +        self.nodes[0] = self.start_node(0, self.options.tmpdir)
  47533.  
  47534.          # Test that the wallet is encrypted
  47535. -        assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address)
  47536. +        assert_raises_jsonrpc(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address)
  47537.  
  47538.          # Check that walletpassphrase works
  47539.          self.nodes[0].walletpassphrase(passphrase, 2)
  47540. @@ -40,20 +43,20 @@ class WalletEncryptionTest(BitcoinTestFramework):
  47541.  
  47542.          # Check that the timeout is right
  47543.          time.sleep(2)
  47544. -        assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address)
  47545. +        assert_raises_jsonrpc(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address)
  47546.  
  47547.          # Test wrong passphrase
  47548. -        assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", self.nodes[0].walletpassphrase, passphrase + "wrong", 10)
  47549. +        assert_raises_jsonrpc(-14, "wallet passphrase entered was incorrect", self.nodes[0].walletpassphrase, passphrase + "wrong", 10)
  47550.  
  47551.          # Test walletlock
  47552.          self.nodes[0].walletpassphrase(passphrase, 84600)
  47553.          assert_equal(privkey, self.nodes[0].dumpprivkey(address))
  47554.          self.nodes[0].walletlock()
  47555. -        assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address)
  47556. +        assert_raises_jsonrpc(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address)
  47557.  
  47558.          # Test passphrase changes
  47559.          self.nodes[0].walletpassphrasechange(passphrase, passphrase2)
  47560. -        assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", self.nodes[0].walletpassphrase, passphrase, 10)
  47561. +        assert_raises_jsonrpc(-14, "wallet passphrase entered was incorrect", self.nodes[0].walletpassphrase, passphrase, 10)
  47562.          self.nodes[0].walletpassphrase(passphrase2, 10)
  47563.          assert_equal(privkey, self.nodes[0].dumpprivkey(address))
  47564.  
  47565. diff --git a/test/functional/wallet-hd.py b/test/functional/wallet-hd.py
  47566. old mode 100755
  47567. new mode 100644
  47568. index 68b5e5b..821575e
  47569. --- a/test/functional/wallet-hd.py
  47570. +++ b/test/functional/wallet-hd.py
  47571. @@ -11,8 +11,11 @@ from test_framework.util import (
  47572.  )
  47573.  import shutil
  47574.  
  47575. +
  47576.  class WalletHDTest(BitcoinTestFramework):
  47577. -    def set_test_params(self):
  47578. +
  47579. +    def __init__(self):
  47580. +        super().__init__()
  47581.          self.setup_clean_chain = True
  47582.          self.num_nodes = 2
  47583.          self.extra_args = [['-usehd=0'], ['-usehd=1', '-keypool=0']]
  47584. @@ -22,8 +25,8 @@ class WalletHDTest(BitcoinTestFramework):
  47585.  
  47586.          # Make sure can't switch off usehd after wallet creation
  47587.          self.stop_node(1)
  47588. -        self.assert_start_raises_init_error(1, ['-usehd=0'], 'already existing HD wallet')
  47589. -        self.start_node(1)
  47590. +        self.assert_start_raises_init_error(1, self.options.tmpdir, ['-usehd=0'], 'already existing HD wallet')
  47591. +        self.nodes[1] = self.start_node(1, self.options.tmpdir, self.extra_args[1])
  47592.          connect_nodes_bi(self.nodes, 0, 1)
  47593.  
  47594.          # Make sure we use hd, keep masterkeyid
  47595. @@ -73,7 +76,7 @@ class WalletHDTest(BitcoinTestFramework):
  47596.          shutil.rmtree(tmpdir + "/node1/regtest/blocks")
  47597.          shutil.rmtree(tmpdir + "/node1/regtest/chainstate")
  47598.          shutil.copyfile(tmpdir + "/hd.bak", tmpdir + "/node1/regtest/wallet.dat")
  47599. -        self.start_node(1)
  47600. +        self.nodes[1] = self.start_node(1, self.options.tmpdir, self.extra_args[1])
  47601.  
  47602.          # Assert that derivation is deterministic
  47603.          hd_add_2 = None
  47604. @@ -88,7 +91,7 @@ class WalletHDTest(BitcoinTestFramework):
  47605.  
  47606.          # Needs rescan
  47607.          self.stop_node(1)
  47608. -        self.start_node(1, extra_args=self.extra_args[1] + ['-rescan'])
  47609. +        self.nodes[1] = self.start_node(1, self.options.tmpdir, self.extra_args[1] + ['-rescan'])
  47610.          assert_equal(self.nodes[1].getbalance(), num_hd_adds + 1)
  47611.  
  47612.          # send a tx and make sure its using the internal chain for the changeoutput
  47613. diff --git a/test/functional/wallet.py b/test/functional/wallet.py
  47614. old mode 100755
  47615. new mode 100644
  47616. index b729610..ffd2224
  47617. --- a/test/functional/wallet.py
  47618. +++ b/test/functional/wallet.py
  47619. @@ -7,28 +7,28 @@ from test_framework.test_framework import BitcoinTestFramework
  47620.  from test_framework.util import *
  47621.  
  47622.  class WalletTest(BitcoinTestFramework):
  47623. -    def set_test_params(self):
  47624. -        self.num_nodes = 4
  47625. +
  47626. +    def check_fee_amount(self, curr_balance, balance_with_fee, fee_per_byte, tx_size):
  47627. +        """Return curr_balance after asserting the fee was in range"""
  47628. +        fee = balance_with_fee - curr_balance
  47629. +        assert_fee_amount(fee, tx_size, fee_per_byte * 1000)
  47630. +        return curr_balance
  47631. +
  47632. +    def __init__(self):
  47633. +        super().__init__()
  47634.          self.setup_clean_chain = True
  47635. +        self.num_nodes = 4
  47636.          self.extra_args = [['-usehd={:d}'.format(i%2==0)] for i in range(4)]
  47637.  
  47638.      def setup_network(self):
  47639. -        self.add_nodes(4, self.extra_args)
  47640. -        self.start_node(0)
  47641. -        self.start_node(1)
  47642. -        self.start_node(2)
  47643. +        self.nodes = self.start_nodes(3, self.options.tmpdir, self.extra_args[:3])
  47644.          connect_nodes_bi(self.nodes,0,1)
  47645.          connect_nodes_bi(self.nodes,1,2)
  47646.          connect_nodes_bi(self.nodes,0,2)
  47647. -        self.sync_all([self.nodes[0:3]])
  47648. -
  47649. -    def check_fee_amount(self, curr_balance, balance_with_fee, fee_per_byte, tx_size):
  47650. -        """Return curr_balance after asserting the fee was in range"""
  47651. -        fee = balance_with_fee - curr_balance
  47652. -        assert_fee_amount(fee, tx_size, fee_per_byte * 1000)
  47653. -        return curr_balance
  47654. +        self.sync_all()
  47655.  
  47656.      def run_test(self):
  47657. +
  47658.          # Check that there's no UTXO on none of the nodes
  47659.          assert_equal(len(self.nodes[0].listunspent()), 0)
  47660.          assert_equal(len(self.nodes[1].listunspent()), 0)
  47661. @@ -42,9 +42,9 @@ class WalletTest(BitcoinTestFramework):
  47662.          assert_equal(walletinfo['immature_balance'], 50)
  47663.          assert_equal(walletinfo['balance'], 0)
  47664.  
  47665. -        self.sync_all([self.nodes[0:3]])
  47666. +        self.sync_all()
  47667.          self.nodes[1].generate(101)
  47668. -        self.sync_all([self.nodes[0:3]])
  47669. +        self.sync_all()
  47670.  
  47671.          assert_equal(self.nodes[0].getbalance(), 50)
  47672.          assert_equal(self.nodes[1].getbalance(), 50)
  47673. @@ -56,15 +56,6 @@ class WalletTest(BitcoinTestFramework):
  47674.          assert_equal(len(self.nodes[1].listunspent()), 1)
  47675.          assert_equal(len(self.nodes[2].listunspent()), 0)
  47676.  
  47677. -        self.log.info("test gettxout")
  47678. -        confirmed_txid, confirmed_index = utxos[0]["txid"], utxos[0]["vout"]
  47679. -        # First, outputs that are unspent both in the chain and in the
  47680. -        # mempool should appear with or without include_mempool
  47681. -        txout = self.nodes[0].gettxout(txid=confirmed_txid, n=confirmed_index, include_mempool=False)
  47682. -        assert_equal(txout['value'], 50)
  47683. -        txout = self.nodes[0].gettxout(txid=confirmed_txid, n=confirmed_index, include_mempool=True)
  47684. -        assert_equal(txout['value'], 50)
  47685. -        
  47686.          # Send 21 BTC from 0 to 2 using sendtoaddress call.
  47687.          # Locked memory should use at least 32 bytes to sign each transaction
  47688.          self.log.info("test getmemoryinfo")
  47689. @@ -74,9 +65,10 @@ class WalletTest(BitcoinTestFramework):
  47690.          memory_after = self.nodes[0].getmemoryinfo()
  47691.          assert(memory_before['locked']['used'] + 64 <= memory_after['locked']['used'])
  47692.  
  47693. -        self.log.info("test gettxout (second part)")
  47694. +        self.log.info("test gettxout")
  47695.          # utxo spent in mempool should be visible if you exclude mempool
  47696.          # but invisible if you include mempool
  47697. +        confirmed_txid, confirmed_index = utxos[0]["txid"], utxos[0]["vout"]
  47698.          txout = self.nodes[0].gettxout(confirmed_txid, confirmed_index, False)
  47699.          assert_equal(txout['value'], 50)
  47700.          txout = self.nodes[0].gettxout(confirmed_txid, confirmed_index, True)
  47701. @@ -96,20 +88,20 @@ class WalletTest(BitcoinTestFramework):
  47702.  
  47703.          # Have node0 mine a block, thus it will collect its own fee.
  47704.          self.nodes[0].generate(1)
  47705. -        self.sync_all([self.nodes[0:3]])
  47706. +        self.sync_all()
  47707.  
  47708.          # Exercise locking of unspent outputs
  47709.          unspent_0 = self.nodes[2].listunspent()[0]
  47710.          unspent_0 = {"txid": unspent_0["txid"], "vout": unspent_0["vout"]}
  47711.          self.nodes[2].lockunspent(False, [unspent_0])
  47712. -        assert_raises_rpc_error(-4, "Insufficient funds", self.nodes[2].sendtoaddress, self.nodes[2].getnewaddress(), 20)
  47713. +        assert_raises_jsonrpc(-4, "Insufficient funds", self.nodes[2].sendtoaddress, self.nodes[2].getnewaddress(), 20)
  47714.          assert_equal([unspent_0], self.nodes[2].listlockunspent())
  47715.          self.nodes[2].lockunspent(True, [unspent_0])
  47716.          assert_equal(len(self.nodes[2].listlockunspent()), 0)
  47717.  
  47718.          # Have node1 generate 100 blocks (so node0 can recover the fee)
  47719.          self.nodes[1].generate(100)
  47720. -        self.sync_all([self.nodes[0:3]])
  47721. +        self.sync_all()
  47722.  
  47723.          # node0 should end up with 100 btc in block rewards plus fees, but
  47724.          # minus the 21 plus fees sent to node2
  47725. @@ -138,7 +130,7 @@ class WalletTest(BitcoinTestFramework):
  47726.  
  47727.          # Have node1 mine a block to confirm transactions:
  47728.          self.nodes[1].generate(1)
  47729. -        self.sync_all([self.nodes[0:3]])
  47730. +        self.sync_all()
  47731.  
  47732.          assert_equal(self.nodes[0].getbalance(), 0)
  47733.          assert_equal(self.nodes[2].getbalance(), 94)
  47734. @@ -150,14 +142,14 @@ class WalletTest(BitcoinTestFramework):
  47735.          self.nodes[2].settxfee(fee_per_byte * 1000)
  47736.          txid = self.nodes[2].sendtoaddress(address, 10, "", "", False)
  47737.          self.nodes[2].generate(1)
  47738. -        self.sync_all([self.nodes[0:3]])
  47739. +        self.sync_all()
  47740.          node_2_bal = self.check_fee_amount(self.nodes[2].getbalance(), Decimal('84'), fee_per_byte, count_bytes(self.nodes[2].getrawtransaction(txid)))
  47741.          assert_equal(self.nodes[0].getbalance(), Decimal('10'))
  47742.  
  47743.          # Send 10 BTC with subtract fee from amount
  47744.          txid = self.nodes[2].sendtoaddress(address, 10, "", "", True)
  47745.          self.nodes[2].generate(1)
  47746. -        self.sync_all([self.nodes[0:3]])
  47747. +        self.sync_all()
  47748.          node_2_bal -= Decimal('10')
  47749.          assert_equal(self.nodes[2].getbalance(), node_2_bal)
  47750.          node_0_bal = self.check_fee_amount(self.nodes[0].getbalance(), Decimal('20'), fee_per_byte, count_bytes(self.nodes[2].getrawtransaction(txid)))
  47751. @@ -165,7 +157,7 @@ class WalletTest(BitcoinTestFramework):
  47752.          # Sendmany 10 BTC
  47753.          txid = self.nodes[2].sendmany('from1', {address: 10}, 0, "", [])
  47754.          self.nodes[2].generate(1)
  47755. -        self.sync_all([self.nodes[0:3]])
  47756. +        self.sync_all()
  47757.          node_0_bal += Decimal('10')
  47758.          node_2_bal = self.check_fee_amount(self.nodes[2].getbalance(), node_2_bal - Decimal('10'), fee_per_byte, count_bytes(self.nodes[2].getrawtransaction(txid)))
  47759.          assert_equal(self.nodes[0].getbalance(), node_0_bal)
  47760. @@ -173,7 +165,7 @@ class WalletTest(BitcoinTestFramework):
  47761.          # Sendmany 10 BTC with subtract fee from amount
  47762.          txid = self.nodes[2].sendmany('from1', {address: 10}, 0, "", [address])
  47763.          self.nodes[2].generate(1)
  47764. -        self.sync_all([self.nodes[0:3]])
  47765. +        self.sync_all()
  47766.          node_2_bal -= Decimal('10')
  47767.          assert_equal(self.nodes[2].getbalance(), node_2_bal)
  47768.          node_0_bal = self.check_fee_amount(self.nodes[0].getbalance(), node_0_bal + Decimal('10'), fee_per_byte, count_bytes(self.nodes[2].getrawtransaction(txid)))
  47769. @@ -184,9 +176,9 @@ class WalletTest(BitcoinTestFramework):
  47770.          # EXPECT: nodes[3] should have those transactions in its mempool.
  47771.          txid1 = self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 1)
  47772.          txid2 = self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), 1)
  47773. -        sync_mempools(self.nodes[0:2])
  47774. +        sync_mempools(self.nodes)
  47775.  
  47776. -        self.start_node(3)
  47777. +        self.nodes.append(self.start_node(3, self.options.tmpdir, self.extra_args[3]))
  47778.          connect_nodes_bi(self.nodes, 0, 3)
  47779.          sync_blocks(self.nodes)
  47780.  
  47781. @@ -230,24 +222,22 @@ class WalletTest(BitcoinTestFramework):
  47782.  
  47783.          #do some -walletbroadcast tests
  47784.          self.stop_nodes()
  47785. -        self.start_node(0, ["-walletbroadcast=0"])
  47786. -        self.start_node(1, ["-walletbroadcast=0"])
  47787. -        self.start_node(2, ["-walletbroadcast=0"])
  47788. +        self.nodes = self.start_nodes(3, self.options.tmpdir, [["-walletbroadcast=0"],["-walletbroadcast=0"],["-walletbroadcast=0"]])
  47789.          connect_nodes_bi(self.nodes,0,1)
  47790.          connect_nodes_bi(self.nodes,1,2)
  47791.          connect_nodes_bi(self.nodes,0,2)
  47792. -        self.sync_all([self.nodes[0:3]])
  47793. +        self.sync_all()
  47794.  
  47795.          txIdNotBroadcasted  = self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), 2)
  47796.          txObjNotBroadcasted = self.nodes[0].gettransaction(txIdNotBroadcasted)
  47797.          self.nodes[1].generate(1) #mine a block, tx should not be in there
  47798. -        self.sync_all([self.nodes[0:3]])
  47799. +        self.sync_all()
  47800.          assert_equal(self.nodes[2].getbalance(), node_2_bal) #should not be changed because tx was not broadcasted
  47801.  
  47802.          #now broadcast from another node, mine a block, sync, and check the balance
  47803.          self.nodes[1].sendrawtransaction(txObjNotBroadcasted['hex'])
  47804.          self.nodes[1].generate(1)
  47805. -        self.sync_all([self.nodes[0:3]])
  47806. +        self.sync_all()
  47807.          node_2_bal += 2
  47808.          txObjNotBroadcasted = self.nodes[0].gettransaction(txIdNotBroadcasted)
  47809.          assert_equal(self.nodes[2].getbalance(), node_2_bal)
  47810. @@ -257,16 +247,14 @@ class WalletTest(BitcoinTestFramework):
  47811.  
  47812.          #restart the nodes with -walletbroadcast=1
  47813.          self.stop_nodes()
  47814. -        self.start_node(0)
  47815. -        self.start_node(1)
  47816. -        self.start_node(2)
  47817. +        self.nodes = self.start_nodes(3, self.options.tmpdir)
  47818.          connect_nodes_bi(self.nodes,0,1)
  47819.          connect_nodes_bi(self.nodes,1,2)
  47820.          connect_nodes_bi(self.nodes,0,2)
  47821. -        sync_blocks(self.nodes[0:3])
  47822. +        sync_blocks(self.nodes)
  47823.  
  47824.          self.nodes[0].generate(1)
  47825. -        sync_blocks(self.nodes[0:3])
  47826. +        sync_blocks(self.nodes)
  47827.          node_2_bal += 2
  47828.  
  47829.          #tx should be added to balance because after restarting the nodes tx should be broadcastet
  47830. @@ -287,17 +275,17 @@ class WalletTest(BitcoinTestFramework):
  47831.          assert_equal(txObj['amount'], Decimal('-0.001'))
  47832.  
  47833.          # This will raise an exception because the amount type is wrong
  47834. -        assert_raises_rpc_error(-3, "Invalid amount", self.nodes[0].sendtoaddress, self.nodes[2].getnewaddress(), "1f-4")
  47835. +        assert_raises_jsonrpc(-3, "Invalid amount", self.nodes[0].sendtoaddress, self.nodes[2].getnewaddress(), "1f-4")
  47836.  
  47837.          # This will raise an exception since generate does not accept a string
  47838. -        assert_raises_rpc_error(-1, "not an integer", self.nodes[0].generate, "2")
  47839. +        assert_raises_jsonrpc(-1, "not an integer", self.nodes[0].generate, "2")
  47840.  
  47841.          # Import address and private key to check correct behavior of spendable unspents
  47842.          # 1. Send some coins to generate new UTXO
  47843.          address_to_import = self.nodes[2].getnewaddress()
  47844.          txid = self.nodes[0].sendtoaddress(address_to_import, 1)
  47845.          self.nodes[0].generate(1)
  47846. -        self.sync_all([self.nodes[0:3]])
  47847. +        self.sync_all()
  47848.  
  47849.          # 2. Import address from node2 to node1
  47850.          self.nodes[1].importaddress(address_to_import)
  47851. @@ -323,15 +311,15 @@ class WalletTest(BitcoinTestFramework):
  47852.          cbAddr = self.nodes[1].getnewaddress()
  47853.          blkHash = self.nodes[0].generatetoaddress(1, cbAddr)[0]
  47854.          cbTxId = self.nodes[0].getblock(blkHash)['tx'][0]
  47855. -        self.sync_all([self.nodes[0:3]])
  47856. +        self.sync_all()
  47857.  
  47858.          # Check that the txid and balance is found by node1
  47859.          self.nodes[1].gettransaction(cbTxId)
  47860.  
  47861.          # check if wallet or blockchain maintenance changes the balance
  47862. -        self.sync_all([self.nodes[0:3]])
  47863. +        self.sync_all()
  47864.          blocks = self.nodes[0].generate(2)
  47865. -        self.sync_all([self.nodes[0:3]])
  47866. +        self.sync_all()
  47867.          balance_nodes = [self.nodes[i].getbalance() for i in range(3)]
  47868.          block_count = self.nodes[0].getblockcount()
  47869.  
  47870. @@ -362,9 +350,7 @@ class WalletTest(BitcoinTestFramework):
  47871.              self.log.info("check " + m)
  47872.              self.stop_nodes()
  47873.              # set lower ancestor limit for later
  47874. -            self.start_node(0, [m, "-limitancestorcount="+str(chainlimit)])
  47875. -            self.start_node(1, [m, "-limitancestorcount="+str(chainlimit)])
  47876. -            self.start_node(2, [m, "-limitancestorcount="+str(chainlimit)])
  47877. +            self.nodes = self.start_nodes(3, self.options.tmpdir, [[m, "-limitancestorcount="+str(chainlimit)]] * 3)
  47878.              while m == '-reindex' and [block_count] * 3 != [self.nodes[i].getblockcount() for i in range(3)]:
  47879.                  # reindex will leave rpc warm up "early"; Wait for it to finish
  47880.                  time.sleep(0.1)
  47881. @@ -412,7 +398,7 @@ class WalletTest(BitcoinTestFramework):
  47882.          # Try with walletrejectlongchains
  47883.          # Double chain limit but require combining inputs, so we pass SelectCoinsMinConf
  47884.          self.stop_node(0)
  47885. -        self.start_node(0, extra_args=["-walletrejectlongchains", "-limitancestorcount="+str(2*chainlimit)])
  47886. +        self.nodes[0] = self.start_node(0, self.options.tmpdir, ["-walletrejectlongchains", "-limitancestorcount="+str(2*chainlimit)])
  47887.  
  47888.          # wait for loadmempool
  47889.          timeout = 10
  47890. @@ -423,7 +409,7 @@ class WalletTest(BitcoinTestFramework):
  47891.  
  47892.          node0_balance = self.nodes[0].getbalance()
  47893.          # With walletrejectlongchains we will not create the tx and store it in our wallet.
  47894. -        assert_raises_rpc_error(-4, "Transaction has too long of a mempool chain", self.nodes[0].sendtoaddress, sending_addr, node0_balance - Decimal('0.01'))
  47895. +        assert_raises_jsonrpc(-4, "Transaction has too long of a mempool chain", self.nodes[0].sendtoaddress, sending_addr, node0_balance - Decimal('0.01'))
  47896.  
  47897.          # Verify nothing new in wallet
  47898.          assert_equal(total_txs, len(self.nodes[0].listtransactions("*",99999)))
  47899. diff --git a/test/functional/walletbackup.py b/test/functional/walletbackup.py
  47900. old mode 100755
  47901. new mode 100644
  47902. index 85a1497..ff51cba
  47903. --- a/test/functional/walletbackup.py
  47904. +++ b/test/functional/walletbackup.py
  47905. @@ -37,9 +37,11 @@ from test_framework.test_framework import BitcoinTestFramework
  47906.  from test_framework.util import *
  47907.  
  47908.  class WalletBackupTest(BitcoinTestFramework):
  47909. -    def set_test_params(self):
  47910. -        self.num_nodes = 4
  47911. +
  47912. +    def __init__(self):
  47913. +        super().__init__()
  47914.          self.setup_clean_chain = True
  47915. +        self.num_nodes = 4
  47916.          # nodes 1, 2,3 are spenders, let's give them a keypool=100
  47917.          self.extra_args = [["-keypool=100"], ["-keypool=100"], ["-keypool=100"], []]
  47918.  
  47919. @@ -76,9 +78,9 @@ class WalletBackupTest(BitcoinTestFramework):
  47920.  
  47921.      # As above, this mirrors the original bash test.
  47922.      def start_three(self):
  47923. -        self.start_node(0)
  47924. -        self.start_node(1)
  47925. -        self.start_node(2)
  47926. +        self.nodes[0] = self.start_node(0, self.options.tmpdir)
  47927. +        self.nodes[1] = self.start_node(1, self.options.tmpdir)
  47928. +        self.nodes[2] = self.start_node(2, self.options.tmpdir)
  47929.          connect_nodes(self.nodes[0], 3)
  47930.          connect_nodes(self.nodes[1], 3)
  47931.          connect_nodes(self.nodes[2], 3)
  47932. @@ -190,16 +192,6 @@ class WalletBackupTest(BitcoinTestFramework):
  47933.          assert_equal(self.nodes[1].getbalance(), balance1)
  47934.          assert_equal(self.nodes[2].getbalance(), balance2)
  47935.  
  47936. -        # Backup to source wallet file must fail
  47937. -        sourcePaths = [
  47938. -            tmpdir + "/node0/regtest/wallet.dat",
  47939. -            tmpdir + "/node0/./regtest/wallet.dat",
  47940. -            tmpdir + "/node0/regtest/",
  47941. -            tmpdir + "/node0/regtest"]
  47942. -
  47943. -        for sourcePath in sourcePaths:
  47944. -            assert_raises_rpc_error(-4, "backup failed", self.nodes[0].backupwallet, sourcePath)
  47945. -
  47946.  
  47947.  if __name__ == '__main__':
  47948.      WalletBackupTest().main()
  47949. diff --git a/test/functional/zapwallettxes.py b/test/functional/zapwallettxes.py
  47950. old mode 100755
  47951. new mode 100644
  47952. index 8cd622d..af867d7
  47953. --- a/test/functional/zapwallettxes.py
  47954. +++ b/test/functional/zapwallettxes.py
  47955. @@ -15,14 +15,14 @@
  47956.    been zapped.
  47957.  """
  47958.  from test_framework.test_framework import BitcoinTestFramework
  47959. -from test_framework.util import (
  47960. -    assert_equal,
  47961. -    assert_raises_rpc_error,
  47962. -    wait_until,
  47963. -)
  47964. +from test_framework.util import (assert_equal,
  47965. +                                 assert_raises_jsonrpc,
  47966. +                                 )
  47967.  
  47968.  class ZapWalletTXesTest (BitcoinTestFramework):
  47969. -    def set_test_params(self):
  47970. +
  47971. +    def __init__(self):
  47972. +        super().__init__()
  47973.          self.setup_clean_chain = True
  47974.          self.num_nodes = 2
  47975.  
  47976. @@ -48,7 +48,7 @@ class ZapWalletTXesTest (BitcoinTestFramework):
  47977.  
  47978.          # Stop-start node0. Both confirmed and unconfirmed transactions remain in the wallet.
  47979.          self.stop_node(0)
  47980. -        self.start_node(0)
  47981. +        self.nodes[0] = self.start_node(0, self.options.tmpdir)
  47982.  
  47983.          assert_equal(self.nodes[0].gettransaction(txid1)['txid'], txid1)
  47984.          assert_equal(self.nodes[0].gettransaction(txid2)['txid'], txid2)
  47985. @@ -56,9 +56,7 @@ class ZapWalletTXesTest (BitcoinTestFramework):
  47986.          # Stop node0 and restart with zapwallettxes and persistmempool. The unconfirmed
  47987.          # transaction is zapped from the wallet, but is re-added when the mempool is reloaded.
  47988.          self.stop_node(0)
  47989. -        self.start_node(0, ["-persistmempool=1", "-zapwallettxes=2"])
  47990. -
  47991. -        wait_until(lambda: self.nodes[0].getmempoolinfo()['size'] == 1, timeout=3)
  47992. +        self.nodes[0] = self.start_node(0, self.options.tmpdir, ["-persistmempool=1", "-zapwallettxes=2"])
  47993.  
  47994.          assert_equal(self.nodes[0].gettransaction(txid1)['txid'], txid1)
  47995.          assert_equal(self.nodes[0].gettransaction(txid2)['txid'], txid2)
  47996. @@ -66,13 +64,13 @@ class ZapWalletTXesTest (BitcoinTestFramework):
  47997.          # Stop node0 and restart with zapwallettxes, but not persistmempool.
  47998.          # The unconfirmed transaction is zapped and is no longer in the wallet.
  47999.          self.stop_node(0)
  48000. -        self.start_node(0, ["-zapwallettxes=2"])
  48001. +        self.nodes[0] = self.start_node(0, self.options.tmpdir, ["-zapwallettxes=2"])
  48002.  
  48003.          # tx1 is still be available because it was confirmed
  48004.          assert_equal(self.nodes[0].gettransaction(txid1)['txid'], txid1)
  48005.  
  48006.          # This will raise an exception because the unconfirmed transaction has been zapped
  48007. -        assert_raises_rpc_error(-5, 'Invalid or non-wallet transaction id', self.nodes[0].gettransaction, txid2)
  48008. +        assert_raises_jsonrpc(-5, 'Invalid or non-wallet transaction id', self.nodes[0].gettransaction, txid2)
  48009.  
  48010.  if __name__ == '__main__':
  48011.      ZapWalletTXesTest().main()
  48012. diff --git a/test/functional/zmq_test.py b/test/functional/zmq_test.py
  48013. old mode 100755
  48014. new mode 100644
  48015. index 8499cb9..a4d75f4
  48016. --- a/test/functional/zmq_test.py
  48017. +++ b/test/functional/zmq_test.py
  48018. @@ -10,11 +10,12 @@ import struct
  48019.  from test_framework.test_framework import BitcoinTestFramework, SkipTest
  48020.  from test_framework.util import (assert_equal,
  48021.                                   bytes_to_hex_str,
  48022. -                                 hash256,
  48023. -                                )
  48024. +                                 )
  48025.  
  48026.  class ZMQTest (BitcoinTestFramework):
  48027. -    def set_test_params(self):
  48028. +
  48029. +    def __init__(self):
  48030. +        super().__init__()
  48031.          self.num_nodes = 2
  48032.  
  48033.      def setup_nodes(self):
  48034. @@ -31,21 +32,17 @@ class ZMQTest (BitcoinTestFramework):
  48035.          config.read_file(open(self.options.configfile))
  48036.  
  48037.          if not config["components"].getboolean("ENABLE_ZMQ"):
  48038. -            raise SkipTest("litecoind has not been built with zmq enabled.")
  48039. +            raise SkipTest("litecoincashd has not been built with zmq enabled.")
  48040.  
  48041.          self.zmqContext = zmq.Context()
  48042.          self.zmqSubSocket = self.zmqContext.socket(zmq.SUB)
  48043.          self.zmqSubSocket.set(zmq.RCVTIMEO, 60000)
  48044.          self.zmqSubSocket.setsockopt(zmq.SUBSCRIBE, b"hashblock")
  48045.          self.zmqSubSocket.setsockopt(zmq.SUBSCRIBE, b"hashtx")
  48046. -        self.zmqSubSocket.setsockopt(zmq.SUBSCRIBE, b"rawblock")
  48047. -        self.zmqSubSocket.setsockopt(zmq.SUBSCRIBE, b"rawtx")
  48048.          ip_address = "tcp://127.0.0.1:28332"
  48049.          self.zmqSubSocket.connect(ip_address)
  48050. -        self.extra_args = [['-zmqpubhashblock=%s' % ip_address, '-zmqpubhashtx=%s' % ip_address,
  48051. -                       '-zmqpubrawblock=%s' % ip_address, '-zmqpubrawtx=%s' % ip_address], []]
  48052. -        self.add_nodes(self.num_nodes, self.extra_args)
  48053. -        self.start_nodes()
  48054. +        extra_args = [['-zmqpubhashtx=%s' % ip_address, '-zmqpubhashblock=%s' % ip_address], []]
  48055. +        self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, extra_args)
  48056.  
  48057.      def run_test(self):
  48058.          try:
  48059. @@ -63,41 +60,19 @@ class ZMQTest (BitcoinTestFramework):
  48060.          msg = self.zmqSubSocket.recv_multipart()
  48061.          topic = msg[0]
  48062.          assert_equal(topic, b"hashtx")
  48063. -        txhash = msg[1]
  48064. -        msgSequence = struct.unpack('<I', msg[-1])[-1]
  48065. -        assert_equal(msgSequence, 0)  # must be sequence 0 on hashtx
  48066. -
  48067. -        # rawtx
  48068. -        msg = self.zmqSubSocket.recv_multipart()
  48069. -        topic = msg[0]
  48070. -        assert_equal(topic, b"rawtx")
  48071.          body = msg[1]
  48072.          msgSequence = struct.unpack('<I', msg[-1])[-1]
  48073. -        assert_equal(msgSequence, 0) # must be sequence 0 on rawtx
  48074. -
  48075. -        # Check that the rawtx hashes to the hashtx
  48076. -        assert_equal(hash256(body), txhash)
  48077. +        assert_equal(msgSequence, 0)  # must be sequence 0 on hashtx
  48078.  
  48079.          self.log.info("Wait for block")
  48080.          msg = self.zmqSubSocket.recv_multipart()
  48081.          topic = msg[0]
  48082. -        assert_equal(topic, b"hashblock")
  48083.          body = msg[1]
  48084.          msgSequence = struct.unpack('<I', msg[-1])[-1]
  48085.          assert_equal(msgSequence, 0)  # must be sequence 0 on hashblock
  48086.          blkhash = bytes_to_hex_str(body)
  48087. -        assert_equal(genhashes[0], blkhash)  # blockhash from generate must be equal to the hash received over zmq
  48088. -
  48089. -        # rawblock
  48090. -        msg = self.zmqSubSocket.recv_multipart()
  48091. -        topic = msg[0]
  48092. -        assert_equal(topic, b"rawblock")
  48093. -        body = msg[1]
  48094. -        msgSequence = struct.unpack('<I', msg[-1])[-1]
  48095. -        assert_equal(msgSequence, 0) #must be sequence 0 on rawblock
  48096.  
  48097. -        # Check the hash of the rawblock's header matches generate
  48098. -        assert_equal(genhashes[0], bytes_to_hex_str(hash256(body[:80])))
  48099. +        assert_equal(genhashes[0], blkhash)  # blockhash from generate must be equal to the hash received over zmq
  48100.  
  48101.          self.log.info("Generate 10 blocks (and 10 coinbase txes)")
  48102.          n = 10
  48103. @@ -105,9 +80,8 @@ class ZMQTest (BitcoinTestFramework):
  48104.          self.sync_all()
  48105.  
  48106.          zmqHashes = []
  48107. -        zmqRawHashed = []
  48108.          blockcount = 0
  48109. -        for x in range(n * 4):
  48110. +        for x in range(n * 2):
  48111.              msg = self.zmqSubSocket.recv_multipart()
  48112.              topic = msg[0]
  48113.              body = msg[1]
  48114. @@ -116,14 +90,9 @@ class ZMQTest (BitcoinTestFramework):
  48115.                  msgSequence = struct.unpack('<I', msg[-1])[-1]
  48116.                  assert_equal(msgSequence, blockcount + 1)
  48117.                  blockcount += 1
  48118. -            if topic == b"rawblock":
  48119. -                zmqRawHashed.append(bytes_to_hex_str(hash256(body[:80])))
  48120. -                msgSequence = struct.unpack('<I', msg[-1])[-1]
  48121. -                assert_equal(msgSequence, blockcount)
  48122.  
  48123.          for x in range(n):
  48124.              assert_equal(genhashes[x], zmqHashes[x])  # blockhash from generate must be equal to the hash received over zmq
  48125. -            assert_equal(genhashes[x], zmqRawHashed[x])
  48126.  
  48127.          self.log.info("Wait for tx from second node")
  48128.          # test tx from a second node
  48129. @@ -133,21 +102,13 @@ class ZMQTest (BitcoinTestFramework):
  48130.          # now we should receive a zmq msg because the tx was broadcast
  48131.          msg = self.zmqSubSocket.recv_multipart()
  48132.          topic = msg[0]
  48133. -        assert_equal(topic, b"hashtx")
  48134.          body = msg[1]
  48135. +        assert_equal(topic, b"hashtx")
  48136.          hashZMQ = bytes_to_hex_str(body)
  48137.          msgSequence = struct.unpack('<I', msg[-1])[-1]
  48138.          assert_equal(msgSequence, blockcount + 1)
  48139.  
  48140. -        msg = self.zmqSubSocket.recv_multipart()
  48141. -        topic = msg[0]
  48142. -        assert_equal(topic, b"rawtx")
  48143. -        body = msg[1]
  48144. -        hashedZMQ = bytes_to_hex_str(hash256(body))
  48145. -        msgSequence = struct.unpack('<I', msg[-1])[-1]
  48146. -        assert_equal(msgSequence, blockcount+1)
  48147.          assert_equal(hashRPC, hashZMQ)  # txid from sendtoaddress must be equal to the hash received over zmq
  48148. -        assert_equal(hashRPC, hashedZMQ)
  48149.  
  48150.  if __name__ == '__main__':
  48151.      ZMQTest().main()
  48152. diff --git a/test/util/bitcoin-util-test.py b/test/util/bitcoin-util-test.py
  48153. old mode 100755
  48154. new mode 100644
  48155. index ef34955..d15d6a6
  48156. --- a/test/util/bitcoin-util-test.py
  48157. +++ b/test/util/bitcoin-util-test.py
  48158. @@ -9,14 +9,9 @@ Runs automatically during `make check`.
  48159.  
  48160.  Can also be run manually."""
  48161.  
  48162. -from __future__ import division,print_function,unicode_literals
  48163. -
  48164.  import argparse
  48165.  import binascii
  48166. -try:
  48167. -    import configparser
  48168. -except ImportError:
  48169. -    import ConfigParser as configparser
  48170. +import configparser
  48171.  import difflib
  48172.  import json
  48173.  import logging
  48174. @@ -27,9 +22,7 @@ import sys
  48175.  
  48176.  def main():
  48177.      config = configparser.ConfigParser()
  48178. -    config.optionxform = str
  48179. -    config.readfp(open(os.path.join(os.path.dirname(__file__), "../config.ini")))
  48180. -    env_conf = dict(config.items('environment'))
  48181. +    config.read_file(open(os.path.dirname(__file__) + "/../config.ini"))
  48182.  
  48183.      parser = argparse.ArgumentParser(description=__doc__)
  48184.      parser.add_argument('-v', '--verbose', action='store_true')
  48185. @@ -44,7 +37,7 @@ def main():
  48186.      # Add the format/level to the logger
  48187.      logging.basicConfig(format=formatter, level=level)
  48188.  
  48189. -    bctester(os.path.join(env_conf["SRCDIR"], "test/util/data"), "bitcoin-util-test.json", env_conf)
  48190. +    bctester(config["environment"]["SRCDIR"] + "/test/util/data", "bitcoin-util-test.json", config["environment"])
  48191.  
  48192.  def bctester(testDir, input_basename, buildenv):
  48193.      """ Loads and parses the input file, runs all tests and reports results"""
  48194. diff --git a/test/util/data/bitcoin-util-test.json b/test/util/data/bitcoin-util-test.json
  48195. index fbdac92..b66c867 100644
  48196. --- a/test/util/data/bitcoin-util-test.json
  48197. +++ b/test/util/data/bitcoin-util-test.json
  48198. @@ -1,82 +1,82 @@
  48199.  [
  48200. -  { "exec": "./litecoin-tx",
  48201. +  { "exec": "./litecoincash-tx",
  48202.      "args": ["-create", "nversion=1"],
  48203.      "output_cmp": "blanktxv1.hex",
  48204.      "description": "Creates a blank v1 transaction"
  48205.    },
  48206. -  { "exec": "./litecoin-tx",
  48207. +  { "exec": "./litecoincash-tx",
  48208.      "args": ["-json","-create", "nversion=1"],
  48209.      "output_cmp": "blanktxv1.json",
  48210.      "description": "Creates a blank v1 transaction (output in json)"
  48211.    },
  48212. -  { "exec": "./litecoin-tx",
  48213. +  { "exec": "./litecoincash-tx",
  48214.      "args": ["-"],
  48215.      "input": "blanktxv2.hex",
  48216.      "output_cmp": "blanktxv2.hex",
  48217. -    "description": "Creates a blank transaction when nothing is piped into litecoin-tx"
  48218. +    "description": "Creates a blank transaction when nothing is piped into litecoincash-tx"
  48219.    },
  48220. -  { "exec": "./litecoin-tx",
  48221. +  { "exec": "./litecoincash-tx",
  48222.      "args": ["-json","-create"],
  48223.      "output_cmp": "blanktxv2.json",
  48224.      "description": "Creates a blank transaction (output in json)"
  48225.    },
  48226. -  { "exec": "./litecoin-tx",
  48227. +  { "exec": "./litecoincash-tx",
  48228.      "args": ["-json","-"],
  48229.      "input": "blanktxv2.hex",
  48230.      "output_cmp": "blanktxv2.json",
  48231. -    "description": "Creates a blank transaction when nothing is piped into litecoin-tx (output in json)"
  48232. +    "description": "Creates a blank transaction when nothing is piped into litecoincash-tx (output in json)"
  48233.    },
  48234. -  { "exec": "./litecoin-tx",
  48235. +  { "exec": "./litecoincash-tx",
  48236.      "args": ["-", "delin=1"],
  48237.      "input": "tx394b54bb.hex",
  48238.      "output_cmp": "tt-delin1-out.hex",
  48239.      "description": "Deletes a single input from a transaction"
  48240.    },
  48241. -  { "exec": "./litecoin-tx",
  48242. +  { "exec": "./litecoincash-tx",
  48243.      "args": ["-json", "-", "delin=1"],
  48244.      "input": "tx394b54bb.hex",
  48245.      "output_cmp": "tt-delin1-out.json",
  48246.      "description": "Deletes a single input from a transaction (output in json)"
  48247.    },
  48248. -  { "exec": "./litecoin-tx",
  48249. +  { "exec": "./litecoincash-tx",
  48250.      "args": ["-", "delin=31"],
  48251.      "input": "tx394b54bb.hex",
  48252.      "return_code": 1,
  48253.      "error_txt": "error: Invalid TX input index '31'",
  48254.      "description": "Attempts to delete an input with a bad index from a transaction. Expected to fail."
  48255.    },
  48256. -  { "exec": "./litecoin-tx",
  48257. +  { "exec": "./litecoincash-tx",
  48258.      "args": ["-", "delout=1"],
  48259.      "input": "tx394b54bb.hex",
  48260.      "output_cmp": "tt-delout1-out.hex",
  48261.      "description": "Deletes a single output from a transaction"
  48262.    },
  48263. -  { "exec": "./litecoin-tx",
  48264. +  { "exec": "./litecoincash-tx",
  48265.      "args": ["-json", "-", "delout=1"],
  48266.      "input": "tx394b54bb.hex",
  48267.      "output_cmp": "tt-delout1-out.json",
  48268.      "description": "Deletes a single output from a transaction (output in json)"
  48269.    },
  48270. -  { "exec": "./litecoin-tx",
  48271. +  { "exec": "./litecoincash-tx",
  48272.      "args": ["-", "delout=2"],
  48273.      "input": "tx394b54bb.hex",
  48274.      "return_code": 1,
  48275.      "error_txt": "error: Invalid TX output index '2'",
  48276.      "description": "Attempts to delete an output with a bad index from a transaction. Expected to fail."
  48277.    },
  48278. -  { "exec": "./litecoin-tx",
  48279. +  { "exec": "./litecoincash-tx",
  48280.      "args": ["-", "locktime=317000"],
  48281.      "input": "tx394b54bb.hex",
  48282.      "output_cmp": "tt-locktime317000-out.hex",
  48283.      "description": "Adds an nlocktime to a transaction"
  48284.    },
  48285. -  { "exec": "./litecoin-tx",
  48286. +  { "exec": "./litecoincash-tx",
  48287.      "args": ["-json", "-", "locktime=317000"],
  48288.      "input": "tx394b54bb.hex",
  48289.      "output_cmp": "tt-locktime317000-out.json",
  48290.      "description": "Adds an nlocktime to a transaction (output in json)"
  48291.    },
  48292. -  { "exec": "./litecoin-tx",
  48293. +  { "exec": "./litecoincash-tx",
  48294.      "args":
  48295.      ["-create",
  48296.       "outaddr=1"],
  48297. @@ -84,7 +84,7 @@
  48298.      "error_txt": "error: TX output missing or too many separators",
  48299.      "description": "Malformed outaddr argument (no address specified). Expected to fail."
  48300.    },
  48301. -  { "exec": "./litecoin-tx",
  48302. +  { "exec": "./litecoincash-tx",
  48303.      "args":
  48304.      ["-create",
  48305.       "outaddr=1:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o:garbage"],
  48306. @@ -92,7 +92,7 @@
  48307.      "error_txt": "error: TX output missing or too many separators",
  48308.      "description": "Malformed outaddr argument (too many separators). Expected to fail."
  48309.    },
  48310. -  { "exec": "./litecoin-tx",
  48311. +  { "exec": "./litecoincash-tx",
  48312.      "args":
  48313.      ["-create",
  48314.       "outpubkey=0"],
  48315. @@ -100,7 +100,7 @@
  48316.      "error_txt": "error: TX output missing or too many separators",
  48317.      "description": "Malformed outpubkey argument (no pubkey specified). Expected to fail."
  48318.    },
  48319. -  { "exec": "./litecoin-tx",
  48320. +  { "exec": "./litecoincash-tx",
  48321.      "args":
  48322.      ["-create",
  48323.       "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W:non53nse"],
  48324. @@ -108,7 +108,7 @@
  48325.      "error_txt": "error: TX output missing or too many separators",
  48326.      "description": "Malformed outpubkey argument (too many separators). Expected to fail."
  48327.    },
  48328. -  { "exec": "./litecoin-tx",
  48329. +  { "exec": "./litecoincash-tx",
  48330.      "args":
  48331.      ["-create",
  48332.       "in=5ee62e3f7757f5fd995b2fa1bdb5b744298146098d5de92959ec4b52dc77191e:1",
  48333. @@ -119,7 +119,7 @@
  48334.      "output_cmp": "txcreate1.hex",
  48335.      "description": "Creates a new transaction with three inputs and two outputs"
  48336.    },
  48337. -  { "exec": "./litecoin-tx",
  48338. +  { "exec": "./litecoincash-tx",
  48339.      "args":
  48340.      ["-json",
  48341.       "-create",
  48342. @@ -131,67 +131,67 @@
  48343.      "output_cmp": "txcreate1.json",
  48344.      "description": "Creates a new transaction with three inputs and two outputs (output in json)"
  48345.    },
  48346. -  { "exec": "./litecoin-tx",
  48347. +  { "exec": "./litecoincash-tx",
  48348.      "args": ["-create", "outscript=0:"],
  48349.      "output_cmp": "txcreate2.hex",
  48350.      "description": "Creates a new transaction with a single empty output script"
  48351.    },
  48352. -  { "exec": "./litecoin-tx",
  48353. +  { "exec": "./litecoincash-tx",
  48354.      "args": ["-json", "-create", "outscript=0:"],
  48355.      "output_cmp": "txcreate2.json",
  48356.      "description": "Creates a new transaction with a single empty output script (output in json)"
  48357.    },
  48358. -  { "exec": "./litecoin-tx",
  48359. +  { "exec": "./litecoincash-tx",
  48360.      "args": ["02000000000100000000000000000000000000"],
  48361.      "output_cmp": "txcreate2.hex",
  48362.      "description": "Parses a transation with no inputs and a single output script"
  48363.    },
  48364. -  { "exec": "./litecoin-tx",
  48365. +  { "exec": "./litecoincash-tx",
  48366.      "args": ["-json", "02000000000100000000000000000000000000"],
  48367.      "output_cmp": "txcreate2.json",
  48368.      "description": "Parses a transation with no inputs and a single output script (output in json)"
  48369.    },
  48370. -  { "exec": "./litecoin-tx",
  48371. +  { "exec": "./litecoincash-tx",
  48372.      "args": ["-create", "outscript=0:OP_DROP", "nversion=1"],
  48373.      "output_cmp": "txcreatescript1.hex",
  48374.      "description": "Create a new transaction with a single output script (OP_DROP)"
  48375.    },
  48376. -  { "exec": "./litecoin-tx",
  48377. +  { "exec": "./litecoincash-tx",
  48378.      "args": ["-json", "-create", "outscript=0:OP_DROP", "nversion=1"],
  48379.      "output_cmp": "txcreatescript1.json",
  48380.      "description": "Create a new transaction with a single output script (OP_DROP) (output as json)"
  48381.    },
  48382. -  { "exec": "./litecoin-tx",
  48383. +  { "exec": "./litecoincash-tx",
  48384.      "args": ["-create", "outscript=0:OP_DROP:S", "nversion=1"],
  48385.      "output_cmp": "txcreatescript2.hex",
  48386.      "description": "Create a new transaction with a single output script (OP_DROP) in a P2SH"
  48387.    },
  48388. -  { "exec": "./litecoin-tx",
  48389. +  { "exec": "./litecoincash-tx",
  48390.      "args": ["-json", "-create", "outscript=0:OP_DROP:S", "nversion=1"],
  48391.      "output_cmp": "txcreatescript2.json",
  48392.      "description": "Create a new transaction with a single output script (OP_DROP) in a P2SH (output as json)"
  48393.    },
  48394. -  { "exec": "./litecoin-tx",
  48395. +  { "exec": "./litecoincash-tx",
  48396.      "args": ["-create", "outscript=0:OP_DROP:W", "nversion=1"],
  48397.      "output_cmp": "txcreatescript3.hex",
  48398.      "description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH"
  48399.    },
  48400. -  { "exec": "./litecoin-tx",
  48401. +  { "exec": "./litecoincash-tx",
  48402.      "args": ["-json", "-create", "outscript=0:OP_DROP:W", "nversion=1"],
  48403.      "output_cmp": "txcreatescript3.json",
  48404.      "description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH (output as json)"
  48405.    },
  48406. -  { "exec": "./litecoin-tx",
  48407. +  { "exec": "./litecoincash-tx",
  48408.      "args": ["-create", "outscript=0:OP_DROP:WS", "nversion=1"],
  48409.      "output_cmp": "txcreatescript4.hex",
  48410.      "description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH, wrapped in a P2SH"
  48411.    },
  48412. -  { "exec": "./litecoin-tx",
  48413. +  { "exec": "./litecoincash-tx",
  48414.      "args": ["-json", "-create", "outscript=0:OP_DROP:WS", "nversion=1"],
  48415.      "output_cmp": "txcreatescript4.json",
  48416.      "description": "Create a new transaction with a single output script (OP_DROP) in a P2SH, wrapped in a P2SH (output as json)"
  48417.    },
  48418. -  { "exec": "./litecoin-tx",
  48419. +  { "exec": "./litecoincash-tx",
  48420.      "args":
  48421.      ["-create", "nversion=1",
  48422.       "in=6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7:0",
  48423. @@ -202,7 +202,7 @@
  48424.      "output_cmp": "txcreatesignv1.hex",
  48425.      "description": "Creates a new v1 transaction with a single input and a single output, and then signs the transaction"
  48426.    },
  48427. -  { "exec": "./litecoin-tx",
  48428. +  { "exec": "./litecoincash-tx",
  48429.      "args":
  48430.      ["-json",
  48431.       "-create", "nversion=1",
  48432. @@ -214,7 +214,7 @@
  48433.      "output_cmp": "txcreatesignv1.json",
  48434.      "description": "Creates a new v1 transaction with a single input and a single output, and then signs the transaction (output in json)"
  48435.    },
  48436. -  { "exec": "./litecoin-tx",
  48437. +  { "exec": "./litecoincash-tx",
  48438.      "args":
  48439.      ["-create",
  48440.        "in=6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7:0",
  48441. @@ -225,50 +225,43 @@
  48442.      "output_cmp": "txcreatesignv2.hex",
  48443.      "description": "Creates a new transaction with a single input and a single output, and then signs the transaction"
  48444.    },
  48445. -  { "exec": "./litecoin-tx",
  48446. +  { "exec": "./litecoincash-tx",
  48447.      "args":
  48448.      ["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397", "nversion=1"],
  48449.      "output_cmp": "txcreateoutpubkey1.hex",
  48450.      "description": "Creates a new transaction with a single pay-to-pubkey output"
  48451.    },
  48452. -  { "exec": "./litecoin-tx",
  48453. +  { "exec": "./litecoincash-tx",
  48454.      "args":
  48455.      ["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397", "nversion=1"],
  48456.      "output_cmp": "txcreateoutpubkey1.json",
  48457.      "description": "Creates a new transaction with a single pay-to-pubkey output (output as json)"
  48458.    },
  48459. -  { "exec": "./litecoin-tx",
  48460. +  { "exec": "./litecoincash-tx",
  48461.      "args":
  48462.      ["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W", "nversion=1"],
  48463.      "output_cmp": "txcreateoutpubkey2.hex",
  48464.      "description": "Creates a new transaction with a single pay-to-witness-pubkey output"
  48465.    },
  48466. -  { "exec": "./litecoin-tx",
  48467. +  { "exec": "./litecoincash-tx",
  48468.      "args":
  48469.      ["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W", "nversion=1"],
  48470.      "output_cmp": "txcreateoutpubkey2.json",
  48471.      "description": "Creates a new transaction with a single pay-to-witness-pubkey output (output as json)"
  48472.    },
  48473. -  { "exec": "./litecoin-tx",
  48474. +  { "exec": "./litecoincash-tx",
  48475.      "args":
  48476.      ["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:WS", "nversion=1"],
  48477.      "output_cmp": "txcreateoutpubkey3.hex",
  48478.      "description": "Creates a new transaction with a single pay-to-witness-pubkey, wrapped in P2SH output"
  48479.    },
  48480. -  { "exec": "./litecoin-tx",
  48481. +  { "exec": "./litecoincash-tx",
  48482.      "args":
  48483.      ["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:WS", "nversion=1"],
  48484.      "output_cmp": "txcreateoutpubkey3.json",
  48485.      "description": "Creates a new transaction with a single pay-to-pub-key output, wrapped in P2SH (output as json)"
  48486.    },
  48487. -  { "exec": "./litecoin-tx",
  48488. -    "args":
  48489. -    ["-json", "-create", "outpubkey=0:047d1368ba7ae01c94bc32293efd70bd7e3be7aa7912d07d0b1c659c1008d179b8642f5fb90f47580feb29f045e216ff5a4716d3a0fed36da414d332046303c44a:WS", "nversion=1"],
  48490. -    "return_code": 1,
  48491. -    "error_txt": "error: Uncompressed pubkeys are not useable for SegWit outputs",
  48492. -    "description": "Creates a new transaction with a single pay-to-pub-key output, wrapped in P2SH (output as json)"
  48493. -  },
  48494. -  { "exec": "./litecoin-tx",
  48495. +  { "exec": "./litecoincash-tx",
  48496.      "args":
  48497.      ["-create",
  48498.       "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0",
  48499. @@ -277,7 +270,7 @@
  48500.      "error_txt": "error: invalid TX output data",
  48501.      "description": "Attempts to create a new transaction with one input and an output with malformed hex data. Expected to fail"
  48502.    },
  48503. -  { "exec": "./litecoin-tx",
  48504. +  { "exec": "./litecoincash-tx",
  48505.      "args":
  48506.      ["-create",
  48507.       "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0",
  48508. @@ -286,7 +279,7 @@
  48509.      "error_txt": "error: invalid TX output data",
  48510.      "description": "Attempts to create a new transaction with one input and an output with no value and malformed hex data. Expected to fail"
  48511.    },
  48512. -  { "exec": "./litecoin-tx",
  48513. +  { "exec": "./litecoincash-tx",
  48514.      "args":
  48515.      ["-create",
  48516.       "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0",
  48517. @@ -295,7 +288,7 @@
  48518.      "output_cmp": "txcreatedata1.hex",
  48519.      "description": "Creates a new transaction with one input, one address output and one data output"
  48520.    },
  48521. -  { "exec": "./litecoin-tx",
  48522. +  { "exec": "./litecoincash-tx",
  48523.      "args":
  48524.      ["-json",
  48525.       "-create", "nversion=1",
  48526. @@ -305,7 +298,7 @@
  48527.      "output_cmp": "txcreatedata1.json",
  48528.      "description": "Creates a new v1 transaction with one input, one address output and one data output (output in json)"
  48529.    },
  48530. -  { "exec": "./litecoin-tx",
  48531. +  { "exec": "./litecoincash-tx",
  48532.      "args":
  48533.      ["-create",
  48534.       "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0",
  48535. @@ -314,7 +307,7 @@
  48536.      "output_cmp": "txcreatedata2.hex",
  48537.      "description": "Creates a new transaction with one input, one address output and one data (zero value) output"
  48538.    },
  48539. -  { "exec": "./litecoin-tx",
  48540. +  { "exec": "./litecoincash-tx",
  48541.      "args":
  48542.      ["-json",
  48543.       "-create",
  48544. @@ -324,7 +317,7 @@
  48545.      "output_cmp": "txcreatedata2.json",
  48546.      "description": "Creates a new transaction with one input, one address output and one data (zero value) output (output in json)"
  48547.    },
  48548. -  { "exec": "./litecoin-tx",
  48549. +  { "exec": "./litecoincash-tx",
  48550.      "args":
  48551.      ["-create",
  48552.       "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0:4294967293",
  48553. @@ -332,7 +325,7 @@
  48554.      "output_cmp": "txcreatedata_seq0.hex",
  48555.      "description": "Creates a new transaction with one input with sequence number and one address output"
  48556.    },
  48557. -  { "exec": "./litecoin-tx",
  48558. +  { "exec": "./litecoincash-tx",
  48559.      "args":
  48560.      ["-json",
  48561.       "-create",
  48562. @@ -341,14 +334,14 @@
  48563.      "output_cmp": "txcreatedata_seq0.json",
  48564.      "description": "Creates a new transaction with one input with sequence number and one address output (output in json)"
  48565.    },
  48566. -  { "exec": "./litecoin-tx",
  48567. +  { "exec": "./litecoincash-tx",
  48568.      "args":
  48569.      ["01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000",
  48570.       "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0:1"],
  48571.      "output_cmp": "txcreatedata_seq1.hex",
  48572.      "description": "Adds a new input with sequence number to a transaction"
  48573.    },
  48574. -  { "exec": "./litecoin-tx",
  48575. +  { "exec": "./litecoincash-tx",
  48576.      "args":
  48577.      ["-json",
  48578.       "01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000",
  48579. @@ -356,55 +349,44 @@
  48580.      "output_cmp": "txcreatedata_seq1.json",
  48581.      "description": "Adds a new input with sequence number to a transaction (output in json)"
  48582.    },
  48583. -  { "exec": "./litecoin-tx",
  48584. +  { "exec": "./litecoincash-tx",
  48585.      "args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485", "nversion=1"],
  48586.      "output_cmp": "txcreatemultisig1.hex",
  48587.      "description": "Creates a new transaction with a single 2-of-3 multisig output"
  48588.    },
  48589. -  { "exec": "./litecoin-tx",
  48590. +  { "exec": "./litecoincash-tx",
  48591.      "args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485", "nversion=1"],
  48592.      "output_cmp": "txcreatemultisig1.json",
  48593.      "description": "Creates a new transaction with a single 2-of-3 multisig output (output in json)"
  48594.    },
  48595. -  { "exec": "./litecoin-tx",
  48596. +  { "exec": "./litecoincash-tx",
  48597.      "args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:S", "nversion=1"],
  48598.      "output_cmp": "txcreatemultisig2.hex",
  48599.      "description": "Creates a new transaction with a single 2-of-3 multisig in a P2SH output"
  48600.    },
  48601. -  { "exec": "./litecoin-tx",
  48602. +  { "exec": "./litecoincash-tx",
  48603.      "args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:S", "nversion=1"],
  48604.      "output_cmp": "txcreatemultisig2.json",
  48605.      "description": "Creates a new transaction with a single 2-of-3 multisig in a P2SH output (output in json)"
  48606.    },
  48607. -  { "exec": "./litecoin-tx",
  48608. +  { "exec": "./litecoincash-tx",
  48609.      "args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:W", "nversion=1"],
  48610.      "output_cmp": "txcreatemultisig3.hex",
  48611.      "description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output"
  48612.    },
  48613. -  { "exec": "./litecoin-tx",
  48614. +  { "exec": "./litecoincash-tx",
  48615.      "args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:W", "nversion=1"],
  48616.      "output_cmp": "txcreatemultisig3.json",
  48617.      "description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output (output in json)"
  48618.    },
  48619. -  { "exec": "./litecoin-tx",
  48620. +  { "exec": "./litecoincash-tx",
  48621.      "args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:WS", "nversion=1"],
  48622.      "output_cmp": "txcreatemultisig4.hex",
  48623.      "description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH"
  48624.    },
  48625. -  { "exec": "./litecoin-tx",
  48626. +  { "exec": "./litecoincash-tx",
  48627.      "args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:WS", "nversion=1"],
  48628.      "output_cmp": "txcreatemultisig4.json",
  48629.      "description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH (output in json)"
  48630. -  },
  48631. -  { "exec": "./litecoin-tx",
  48632. -    "args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:047d1368ba7ae01c94bc32293efd70bd7e3be7aa7912d07d0b1c659c1008d179b8642f5fb90f47580feb29f045e216ff5a4716d3a0fed36da414d332046303c44a:S"],
  48633. -    "output_cmp": "txcreatemultisig5.json",
  48634. -    "description": "Uncompressed pubkeys should work just fine for non-witness outputs"
  48635. -  },
  48636. -  { "exec": "./litecoin-tx",
  48637. -    "args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:047d1368ba7ae01c94bc32293efd70bd7e3be7aa7912d07d0b1c659c1008d179b8642f5fb90f47580feb29f045e216ff5a4716d3a0fed36da414d332046303c44a:WS"],
  48638. -    "return_code": 1,
  48639. -    "error_txt": "error: Uncompressed pubkeys are not useable for SegWit outputs",
  48640. -    "description": "Ensure adding witness outputs with uncompressed pubkeys fails"
  48641.    }
  48642.  ]
  48643. diff --git a/test/util/data/txcreatemultisig5.json b/test/util/data/txcreatemultisig5.json
  48644. deleted file mode 100644
  48645. index dd6a0ba..0000000
  48646. --- a/test/util/data/txcreatemultisig5.json
  48647. +++ /dev/null
  48648. @@ -1,26 +0,0 @@
  48649. -{
  48650. -    "txid": "813cf75e1f08debd242ef7c8192b7d478fb651355209369499a0de779ba7eb2f",
  48651. -    "hash": "813cf75e1f08debd242ef7c8192b7d478fb651355209369499a0de779ba7eb2f",
  48652. -    "version": 2,
  48653. -    "size": 42,
  48654. -    "vsize": 42,
  48655. -    "locktime": 0,
  48656. -    "vin": [
  48657. -    ],
  48658. -    "vout": [
  48659. -        {
  48660. -            "value": 1.00000000,
  48661. -            "n": 0,
  48662. -            "scriptPubKey": {
  48663. -                "asm": "OP_HASH160 a4051c02398868af83f28f083208fae99a769263 OP_EQUAL",
  48664. -                "hex": "a914a4051c02398868af83f28f083208fae99a76926387",
  48665. -                "reqSigs": 1,
  48666. -                "type": "scripthash",
  48667. -                "addresses": [
  48668. -                    "MNrRAu4FS5FQt4FoMX8rDTn7wj5KUunnGr"
  48669. -                ]
  48670. -            }
  48671. -        }
  48672. -    ],
  48673. -    "hex": "02000000000100e1f5050000000017a914a4051c02398868af83f28f083208fae99a7692638700000000"
  48674. -}
Add Comment
Please, Sign In to add comment