From cc2edb3f68bf24af8141435e0af1925fa2222a19 Mon Sep 17 00:00:00 2001 From: Matt <90358481+xbtmatt@users.noreply.github.com> Date: Mon, 9 Sep 2024 13:24:43 -0700 Subject: [PATCH] [ECO-2158] Create a docker image for starting the `emojicoin_dot_fun` local testnet for e2e testing locally and in CI (#228) Co-authored-by: matt Co-authored-by: alnoki <43892045+alnoki@users.noreply.github.com> --- ...ush-aptos-node.yaml => push-deployer.yaml} | 20 +- .github/workflows/ts-run-tests.yaml | 23 +- src/docker/README.md | 61 +- src/docker/aptos-node/Dockerfile | 60 - src/docker/aptos-node/initialize-contract.sh | 55 - src/docker/aptos-node/run-fullnode.sh | 9 - src/docker/compose.local.yaml | 61 +- src/docker/compose.yaml | 8 + src/docker/deployer/Dockerfile | 35 + src/docker/deployer/json/test-accounts.json | 1002 +++++++++++++++++ .../deployer/sh/build-batch-fund-payloads.sh | 47 + .../deployer/sh/build-publish-payloads.sh | 31 + src/docker/deployer/sh/cli-profile.sh | 22 + src/docker/deployer/sh/entrypoint.sh | 89 ++ src/docker/deployer/sh/init-profile.sh | 63 ++ src/docker/example.local.env | 5 - src/docker/localnet/.gitignore | 1 + src/docker/localnet/Dockerfile | 18 + src/docker/localnet/check-if-stale.sh | 50 + src/docker/localnet/healthcheck.sh | 33 + src/docker/localnet/run-localnet.sh | 14 + src/docker/processor.overrides.yaml | 8 + src/docker/utils/prune.sh | 137 +++ src/sh/emojicoin/publish-random-acc.sh | 47 - src/sh/utils/colors.sh | 98 ++ 25 files changed, 1769 insertions(+), 228 deletions(-) rename .github/workflows/{push-aptos-node.yaml => push-deployer.yaml} (54%) delete mode 100644 src/docker/aptos-node/Dockerfile delete mode 100644 src/docker/aptos-node/initialize-contract.sh delete mode 100644 src/docker/aptos-node/run-fullnode.sh create mode 100644 src/docker/deployer/Dockerfile create mode 100644 src/docker/deployer/json/test-accounts.json create mode 100644 src/docker/deployer/sh/build-batch-fund-payloads.sh create mode 100644 src/docker/deployer/sh/build-publish-payloads.sh create mode 100644 src/docker/deployer/sh/cli-profile.sh create mode 100644 src/docker/deployer/sh/entrypoint.sh create mode 100644 src/docker/deployer/sh/init-profile.sh create mode 100644 src/docker/localnet/.gitignore create mode 100644 src/docker/localnet/Dockerfile create mode 100644 src/docker/localnet/check-if-stale.sh create mode 100644 src/docker/localnet/healthcheck.sh create mode 100644 src/docker/localnet/run-localnet.sh create mode 100644 src/docker/processor.overrides.yaml create mode 100755 src/docker/utils/prune.sh delete mode 100644 src/sh/emojicoin/publish-random-acc.sh create mode 100644 src/sh/utils/colors.sh diff --git a/.github/workflows/push-aptos-node.yaml b/.github/workflows/push-deployer.yaml similarity index 54% rename from .github/workflows/push-aptos-node.yaml rename to .github/workflows/push-deployer.yaml index 10b2b4a09..625d2b535 100644 --- a/.github/workflows/push-aptos-node.yaml +++ b/.github/workflows/push-deployer.yaml @@ -1,16 +1,22 @@ +# cspell:word localnet +# Pushes the latest localnet deployer image to Dockerhub. This image handles +# the initialization of the emojicoin contract and test accounts for local +# feature/e2e tests and e2e tests in CI. --- +env: + PUBLISHER_PRIVATE_KEY: >- + 0xeaa964d1353b075ac63b0c5a0c1e92aa93355be1402f6077581e37e2a846105e jobs: build-push: runs-on: 'ubuntu-latest' steps: - uses: 'actions/checkout@v4' - - run: 'git submodule update --init --recursive src/rust/processor' - id: 'metadata' uses: 'docker/metadata-action@v5' with: - images: 'econialabs/emojicoin-dot-fun-aptos-node' + images: 'econialabs/emojicoin-dot-fun-deployer' tags: | - type=match,pattern=aptos-node-v(.*),group=1 + type=match,pattern=emojicoin-dot-fun-deployer-v(.*),group=1 - uses: 'docker/setup-qemu-action@v3' - uses: 'docker/setup-buildx-action@v3' - uses: 'docker/login-action@v3' @@ -19,18 +25,20 @@ jobs: username: '${{ secrets.DOCKERHUB_USERNAME }}' - uses: 'docker/build-push-action@v6' with: + build-args: | + PUBLISHER_PRIVATE_KEY=${{ env.PUBLISHER_PRIVATE_KEY }} cache-from: 'type=gha' cache-to: 'type=gha,mode=max' context: '.' - file: 'src/docker/aptos-node/Dockerfile' + file: 'src/docker/deployer/Dockerfile' labels: '${{ steps.metadata.outputs.labels }}' platforms: '${{ vars.DOCKER_IMAGE_PLATFORMS }}' push: 'true' tags: '${{ steps.metadata.outputs.tags }}' timeout-minutes: 360 -name: 'Build aptos-node Docker image and push to Docker Hub' +name: 'Build the deployer Docker image and push to Dockerhub' 'on': push: tags: - - 'aptos-node-v*' + - 'emojicoin-dot-fun-deployer*' ... diff --git a/.github/workflows/ts-run-tests.yaml b/.github/workflows/ts-run-tests.yaml index d5dd6c5d4..9751c3eb6 100644 --- a/.github/workflows/ts-run-tests.yaml +++ b/.github/workflows/ts-run-tests.yaml @@ -1,26 +1,23 @@ --- env: - NEXT_PUBLIC_MODULE_ADDRESS: |- - 4bab58978ec1b1bef032eeb285ad47a6a9b997d646c19b598c35f46b26ff9ece - PUBLISHER_PRIVATE_KEY: |- - 29479e9e5fe47ba9a8af509dd6da1f907510bcf8917bfb19b7079d8c63c0b720 + NEXT_PUBLIC_MODULE_ADDRESS: >- + 0xf000d910b99722d201c6cf88eb7d1112b43475b9765b118f289b5d65d919000d + PUBLISHER_PRIVATE_KEY: >- + 0xeaa964d1353b075ac63b0c5a0c1e92aa93355be1402f6077581e37e2a846105e START_LOCAL_NODE_FOR_TEST: 'true' TS_DIR: 'src/typescript' jobs: ts-run-tests: runs-on: 'ubuntu-latest' steps: - - uses: 'actions/checkout@v3' + - uses: 'actions/checkout@v4' with: submodules: 'false' - - run: | - git submodule update --init --recursive src/inbox - cp src/inbox/example.env src/inbox/.env && \ - docker buildx create \ - --name=mybuilder \ - --use \ - --driver=docker-container - shell: 'bash' + - name: 'Install the latest Aptos CLI' + # yamllint disable-line rule:line-length + uses: 'aptos-labs/aptos-core/.github/actions/get-latest-cli@8792eefecd537c33fb879984635a0762838e2329' + with: + destination_directory: '/usr/local/bin' - uses: './.github/actions/ts-run-tests' name: 'Run the TypeScript E2E and unit tests with a local testnet' 'on': diff --git a/src/docker/README.md b/src/docker/README.md index 32d20c859..7589cb320 100644 --- a/src/docker/README.md +++ b/src/docker/README.md @@ -1,3 +1,5 @@ + + # Running the emojicoin dot fun indexer with Docker Ensure you've successfully pulled all submodule repositories required to @@ -23,5 +25,62 @@ docker compose -f compose.yaml up ## Run a local Aptos fullnode as well ```shell -docker compose -f compose.yaml -f compose.local.yaml up +docker compose -f compose.local.yaml up ``` + +The `compose.local.yaml` file `include`s the `compose.yaml` file and +overwrites some settings like the order of dependencies for the services. + +Note the order of the `include:` items in `compose.local.yaml` and where +the config overrides are placed. + +## Running the frontend container + +If you want to include the `frontend` container to run the frontend in a +`docker` container, without running a local testnet: + +```shell +docker compose -f compose.yaml up --profile frontend +``` + +Note that the frontend is *not* included in the default services. + +## Force restart the localnet + +In order to simplify the pruning process for the localnet, you can simply run +the [prune.sh] script. It will remove all data, containers, and volumes in the +`emojicoin-dot-fun` project, including removing the local testnet data. + +```shell +# Ensure you're in the right directory: +cd src/docker/utils + +# With a prompt for removal: +./prune.sh + +# To skip the prompt, run any of these: +./prune.sh -y +./prune.sh --yes +./prune.sh -r +./prune.sh --reset-localnet +``` + +### Why not just pass `--force-restart`? + +The CLI simply uses a directory for all localnet test data. By default it's +located at `~/.aptos/testnet`. Since it's not a mounted volume, it is ephemeral +and will be removed on each container restart. This is very unintuitive behavior +that results in corrupt indexer data each time you restart the `localnet` +container unless you explicitly prune the database volumes. + +To fix this, the data directory in the container is created as a bind-mount to +the host's `localnet/.aptos` folder, making the data persist between container +restarts. + +However, if you try to force restart the node in its entrypoint command with +`--force-restart`, you'll get a `Device or resource busy` error. Since +there's no reason we need to run `--force-restart` at runtime, the best way to +handle a restart is by removing the localnet test data directory prior to each +run as well as pruning all the related volumes, which is what [prune.sh] does. + +[prune.sh]: ./utils/prune.sh diff --git a/src/docker/aptos-node/Dockerfile b/src/docker/aptos-node/Dockerfile deleted file mode 100644 index cf0fe74ec..000000000 --- a/src/docker/aptos-node/Dockerfile +++ /dev/null @@ -1,60 +0,0 @@ -# cspell:word RUSTFLAGS - -ARG GIT_REPO=https://github.com/aptos-labs/aptos-core.git -ARG GIT_TAG=aptos-cli-v4.0.0 - -ARG FULLNODE_BINARY=/aptos-core/target/cli/aptos - -FROM rust:1-bookworm AS compile-cli -ARG GIT_REPO -ARG GIT_TAG -ARG FULLNODE_BINARY - -ENV CARGO_NET_GIT_FETCH_WITH_CLI=true - -RUN git clone $GIT_REPO --branch $GIT_TAG --depth 1 \ - && apt-get update && apt-get install --no-install-recommends -y \ - libudev-dev=252.26-1~deb12u2 \ - build-essential=12.9 \ - libclang-dev=1:14.0-55.7~deb12u1 \ - libpq-dev=15.8-0+deb12u1 \ - libssl-dev=3.0.13-1~deb12u1 \ - libdw-dev=0.188-2.1 \ - pkg-config=1.8.1-1 \ - lld=1:14.0-55.7~deb12u1 \ - curl=7.88.1-10+deb12u6 \ - && rm -rf /var/lib/apt/lists/* - -# Resolve outdated lockfile from upstream tag. -RUN cargo update --manifest-path /aptos-core/Cargo.toml \ - && RUSTFLAGS="--cfg tokio_unstable" cargo build \ - --bin aptos \ - --manifest-path /aptos-core/Cargo.toml \ - --profile cli \ - && strip -s $FULLNODE_BINARY - -FROM ubuntu:noble -ARG FULLNODE_BINARY -COPY --from=compile-cli $FULLNODE_BINARY /usr/local/bin -RUN apt-get update && apt-get install --no-install-recommends -y \ - libssl-dev=3.0.13-0ubuntu3.3 \ - git=1:2.43.0-1ubuntu7.1 \ - curl=8.5.0-2ubuntu10.3 \ - && rm -rf /var/lib/apt/lists/* - -ENV PATH=/usr/local/bin:$PATH - -ARG EMOJICOIN_DOT_FUN_ROOT=src/move/emojicoin_dot_fun -ARG REWARDS_ROOT=src/move/rewards - -WORKDIR /app - -COPY $EMOJICOIN_DOT_FUN_ROOT/Move.toml emojicoin_dot_fun/ -COPY $EMOJICOIN_DOT_FUN_ROOT/sources/* emojicoin_dot_fun/sources/ -COPY $REWARDS_ROOT/Move.toml rewards/ -COPY $REWARDS_ROOT/sources/* rewards/sources/ -COPY src/docker/aptos-node/run-fullnode.sh . -COPY src/docker/aptos-node/initialize-contract.sh . -RUN chmod +x run-fullnode.sh && chmod +x initialize-contract.sh - -STOPSIGNAL SIGKILL diff --git a/src/docker/aptos-node/initialize-contract.sh b/src/docker/aptos-node/initialize-contract.sh deleted file mode 100644 index 61e0c77b2..000000000 --- a/src/docker/aptos-node/initialize-contract.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -# In simple cases like ours (where there is no account abstraction), the -# deployer of a smart contract on Aptos is the address that's used for the -# contract address. -# Thus we can use the publisher's profile name as the contract's named address, -# since the CLI resolves named addresses to a profile if one exists with the -# same name. -export PUBLISHER="publisher" -export BIG_MONEY_GUY="big_money_guy" - -aptos init --profile $PUBLISHER \ - --rest-url http://host.docker.internal:8080/v1 \ - --faucet-url http://host.docker.internal:8081 \ - --private-key $PUBLISHER_PRIVATE_KEY \ - --encoding hex \ - --assume-yes \ - --network custom - -aptos init --profile $BIG_MONEY_GUY \ - --rest-url http://host.docker.internal:8080/v1 \ - --faucet-url http://host.docker.internal:8081 \ - --private-key $BIG_MONEY_GUY_PRIVATE_KEY \ - --encoding hex \ - --assume-yes \ - --network custom - -# Fund with 1,000,000 APT. -aptos account fund-with-faucet \ - --profile $PUBLISHER \ - --amount 100000000000000 - -# Fund with 10,000,000 APT. -aptos account fund-with-faucet \ - --profile $BIG_MONEY_GUY \ - --amount 100000000000000 - -aptos move publish \ - --assume-yes \ - --included-artifacts none \ - --named-addresses emojicoin_dot_fun=$PUBLISHER \ - --override-size-check \ - --max-gas 2000000 \ - --package-dir /app/emojicoin_dot_fun \ - --profile $PUBLISHER - -aptos move publish \ - --assume-yes \ - --included-artifacts none \ - --named-addresses \ - rewards=$PUBLISHER,integrator=$PUBLISHER,emojicoin_dot_fun=$PUBLISHER \ - --override-size-check \ - --max-gas 200000 \ - --package-dir /app/rewards \ - --profile $PUBLISHER diff --git a/src/docker/aptos-node/run-fullnode.sh b/src/docker/aptos-node/run-fullnode.sh deleted file mode 100644 index 082f1b808..000000000 --- a/src/docker/aptos-node/run-fullnode.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -aptos node run-local-testnet \ - --assume-yes \ - --with-indexer-api \ - --force-restart - -# Run forever. -tail -f /dev/null diff --git a/src/docker/compose.local.yaml b/src/docker/compose.local.yaml index 1c0120e9d..dafb88c71 100644 --- a/src/docker/compose.local.yaml +++ b/src/docker/compose.local.yaml @@ -1,51 +1,48 @@ -# yamllint disable rule:empty-lines rule:key-ordering rule:brackets +# yamllint disable rule:empty-lines rule:key-ordering +# cspell:word localnet + +# Services in this file are EXCLUSIVELY for running a local testnet. --- +include: +# This setup allows us to only have to specify only one compose file. +- path: + - 'compose.yaml' + - 'processor.overrides.yaml' +name: 'emojicoin-dot-fun' services: - aptos-node: + localnet: network_mode: 'host' + container_name: 'localnet' build: context: '../../' - dockerfile: 'src/docker/aptos-node/Dockerfile' - ports: - - '50051:50051' - - '8070:8070' - - '8090:8090' - - '8080:8080' - - '8081:8081' + dockerfile: 'src/docker/localnet/Dockerfile' healthcheck: - test: ['CMD', 'curl', '-f', 'http://localhost:8070/'] - interval: '30s' - timeout: '10s' + test: + - 'CMD' + - 'sh/healthcheck.sh' + interval: '5s' + timeout: '5s' retries: 5 start_period: '30s' - command: ['bash', '/app/run-fullnode.sh'] - # In order to start the node with the indexer API; i.e., run - # `aptos node run-local-testnet --with-indexer-api`, the Docker socket must - # be mounted to the container. This mount enables the container to start a - # new container. Note that this is *not* "Docker-in-Docker", but rather - # "Docker-outside-Docker". That is, the container can act as the host in - # terms of creating and orchestrating other containers but still appears as - # a sibling to the existing containers and any new containers it creates. + entrypoint: + - '/bin/bash' + - '/app/sh/run-localnet.sh' volumes: - '/var/run/docker.sock:/var/run/docker.sock' - - move: + - './localnet/.aptos/testnet:/app/.aptos/testnet' + deployer: extra_hosts: - 'host.docker.internal:host-gateway' build: context: '../../' - dockerfile: 'src/docker/aptos-node/Dockerfile' + dockerfile: 'src/docker/deployer/Dockerfile' + args: + PUBLISHER_PRIVATE_KEY: '${PUBLISHER_PRIVATE_KEY}' environment: PUBLISHER_PRIVATE_KEY: '${PUBLISHER_PRIVATE_KEY}' - BIG_MONEY_GUY_PRIVATE_KEY: '${BIG_MONEY_GUY_PRIVATE_KEY}' - EMOJICOIN_MODULE_ADDRESS: '${EMOJICOIN_MODULE_ADDRESS}' + image: 'econialabs/emojicoin-dot-fun-deployer:latest' + container_name: 'deployer' depends_on: - aptos-node: + localnet: condition: 'service_healthy' - command: ['bash', '/app/initialize-contract.sh'] - - processor: - depends_on: - move: - condition: 'service_completed_successfully' ... diff --git a/src/docker/compose.yaml b/src/docker/compose.yaml index bca353284..bad752c0a 100644 --- a/src/docker/compose.yaml +++ b/src/docker/compose.yaml @@ -1,5 +1,6 @@ # yamllint disable rule:empty-lines rule:key-ordering --- +name: 'emojicoin-dot-fun' services: broker: build: @@ -15,6 +16,7 @@ services: PORT: '${BROKER_PORT}' RUST_LOG: 'info,broker=trace' image: 'econialabs/emojicoin-dot-fun-indexer-broker' + container_name: 'broker' healthcheck: test: 'curl -f http://localhost:${BROKER_PORT}/live || exit 1' interval: '2m' @@ -32,6 +34,7 @@ services: POSTGRES_DB: 'emojicoin' POSTGRES_PASSWORD: 'emojicoin' image: 'postgres:14-bookworm' + container_name: 'postgres' restart: 'always' volumes: - 'db:/var/lib/postgresql/data' @@ -54,6 +57,7 @@ services: PGRST_DB_ANON_ROLE: 'web_anon' PGRST_DB_MAX_ROWS: '${POSTGREST_MAX_ROWS}' image: 'postgrest/postgrest' + container_name: 'postgrest' ports: - '3000:3000' restart: 'unless-stopped' @@ -75,6 +79,7 @@ services: postgres: condition: 'service_healthy' image: 'econialabs/emojicoin-dot-fun-indexer-processor' + container_name: 'processor' healthcheck: test: 'curl -f http://localhost:${PROCESSOR_WS_PORT}/ || exit 1' interval: '2m' @@ -104,6 +109,9 @@ services: ${EMOJICOIN_REWARDS_MODULE_ADDRESS} REVALIDATION_TIME: '${REVALIDATION_TIME}' image: 'econialabs/emojicoin-dot-fun:frontend' + container_name: 'frontend' + profiles: + - 'frontend' environment: INBOX_URL: 'http://postgrest:3000' HASH_SEED: '${HASH_SEED}' diff --git a/src/docker/deployer/Dockerfile b/src/docker/deployer/Dockerfile new file mode 100644 index 000000000..92d556eb7 --- /dev/null +++ b/src/docker/deployer/Dockerfile @@ -0,0 +1,35 @@ +# cspell:word mikefarah +# cspell:word localnet + +# This is the easiest and most portable way of getting the `yq` binary, since +# the `yq` releases on apt are outdated and technically deprecated. +FROM mikefarah/yq:4.44.3 AS yq + +FROM econialabs/aptos-cli:4.1.0 + +COPY --from=yq /usr/bin/yq /usr/bin/yq + +ARG PUBLISHER_PRIVATE_KEY +ENV PUBLISHER_PRIVATE_KEY=${PUBLISHER_PRIVATE_KEY} + +# Ensure the publisher private key is set. +RUN test -n "${PUBLISHER_PRIVATE_KEY}" + +WORKDIR /app + +COPY src/move/emojicoin_dot_fun/sources/* move/emojicoin_dot_fun/sources/ +COPY src/move/emojicoin_dot_fun/Move.toml move/emojicoin_dot_fun/Move.toml + +COPY src/move/rewards/sources/* move/rewards/sources/ +COPY src/move/rewards/Move.toml move/rewards/Move.toml + +COPY src/docker/deployer/sh/* sh/ +COPY src/docker/deployer/json/* json/ +COPY src/sh/utils/colors.sh sh/colors.sh + +RUN chmod +x sh/*.sh \ + && sh/init-profile.sh \ + && sh/build-batch-fund-payloads.sh \ + && sh/build-publish-payloads.sh + +ENTRYPOINT [ "bash", "sh/entrypoint.sh" ] diff --git a/src/docker/deployer/json/test-accounts.json b/src/docker/deployer/json/test-accounts.json new file mode 100644 index 000000000..2b86d8478 --- /dev/null +++ b/src/docker/deployer/json/test-accounts.json @@ -0,0 +1,1002 @@ +{ + "0x000276e7908d952b7639672a07da760969c7791315fdde140c00228427fe6000": "0x34e76cbfee0cdb0de395c22f88eb679e511d651d36bbbcdaa12cd7e9836db9a4", + "0x00153cf56239ab6d0a71f50a7b31cc94e7ff56ef7dd0acb0c038bf13457de001": "0xeb17d532bb6de6ad7d7184f2eaa80de195921e505d746c59f034aa87efc0ae25", + "0x002ea773209c18e7be4acc1ac68de1ad1ea16df0070ce60858283792719ed002": "0x7911fd3cbdea114325caee1d26a1517b8c1f8c124f9e636ebf9559105b08a13a", + "0x003177667df1e91bd7fdc9e279574576e174f6c8bfcfdde7c26a18c9637ec003": "0xdc37b06eb30b2e0d46e43b15bc152c3c48ecf88b14506beef009fb90fed02f91", + "0x0041b84a4f8d21aacd71247f370059642d77e76a3209e0e824be9feaf6098004": "0x607102f23106ee132cc4620cc8b4c8b41ec1460e440b851f938767ed262fb85c", + "0x005c0f73b58fcdb08a644f72f454253af5f0965b347469c2af3e01b987139005": "0xc895974061159c325887c75b9ce41f45321d5dc5b180d457d761e781af1688a8", + "0x006423e9a2e9574b2ec3898a78ab52a0678346a463a75cd414f4db51de36a006": "0x3a6744f802ea47617937c434eff446901d0c5d7cef6aaeba1b4910adabe1cb72", + "0x00739effd4b9979ff5c51f57d37248911786d4039afd4e31270e2e37661f4007": "0xe9bf325a13ae0b4fc16c658f70a0f748e3f3e3af7d53b916c9fb2283d747c9ff", + "0x008e3dfa7bc7dd3ae0eb59919a1cd5f70155bd0b4d26bf146742bdba2d44b008": "0x834f5d97ed60cab5fe0f8fdea960303b7ddcb8e38371c88ccb960f1e9f544f0a", + "0x0097ca77b3896cc62f0e390c268727f175d5835773da19011c2d3942240d2009": "0x9a060f2b2a421dba55f7dac67de0b0c1cf630edce7aaa4bcc7bef41da33cf4f2", + "0x0105ede7d798728422d2c9c9a07306a4a1df01dd2784623a386926b76a3e0010": "0xa96a53e3028017e2753dcb92d551100438941b0a3238072f4379a816c1ad7349", + "0x011f468f86c6d38c708f8c1ad1ad76d986b3489824e5b78ae1f86e7dc5d84011": "0xa088ca7e86330b15c4c3856b7d9720c4f05db7b64c2cf3a7be10764a21a0978e", + "0x012431335d02cc4e9a7e49457a8aaeca6550300b397394254691d242a8f06012": "0xf88d3bb398804e7e10f049f385237881aa3178cd406d2eaef4d613f1d02f8934", + "0x01356410ca2c0c0ca29ec8a9ebe750e2ed0fa5eaba32beff63d310fc9e8cf013": "0xe662619cd29b73bf75ed9f35f2bdc17c77a549978015f2c6d67d0e17853dae8f", + "0x014bb822fff7038a013050d28186f9d2095c41bbdd84c830f5e87463fd4f5014": "0xbcec7753f4a605ea41c3545de17d5c7765a858d0e2db9c9c3c7b26a994c88aa6", + "0x0157784d9a02040b6782faa814b2b59181142be4e5b35e5079746f282c966015": "0xaa2191c6e070882b6291323fd22fe71f1fd48f31b177b4cc539168e8200b3b7b", + "0x0165113c1998280473c75f895cb5ba907f883110e5ae82fdb304e5abd6ba6016": "0x1326ced8587e968d42c0463438237156bf6bf5ee0f920679ec3215161238dad9", + "0x017c2212ba16749001d18156b870d938b120be49d56c082963f7a68ef08b9017": "0xf106da1d6e12015f1fc44c804d19df592225b94f9f7c28ba16e4eed6c6501adc", + "0x018fa3a082d9f1afe7df368620ae3351fd07aa082408f8dbbb13c098d7cb2018": "0xfd0172c7cf8643809a8eec448b343d3c03382c6d612cbb215882086d580c2ac2", + "0x0190a6acb80c86bbb1307f5f0928ec41c1feb925f70e9a21bbd4d6b71a99a019": "0x239f1cec2d7281f577a2aa33a8885daf9c1f3a090318df5bc8a1552242c25cb0", + "0x020a9f149bdcabd61a1633b35a85d0373807ec1ac2838364f08cd987892fc020": "0xf095436169214ab5514873ba0818d2812b5f94f3f491e354820b5fc43f3fac00", + "0x021afbccf5d11f3fdf78edc9dfda3be05ecb00980dd15468af53ca9fea92e021": "0xa815f22934e9bae63b06eb6a21670e92e950270d90e2c5642f82eede94c4fa51", + "0x022896263be80a07eb49c43aaf9c8ac1a24e723e5a75081a864608e507481022": "0xcb5d472fad254cfe7afa74d4e5470ab69cbb61345cec7fa26661c1e1c8ddccaa", + "0x0230e55ee70f31e44e30e7d08bd184ebdf887289170566295b1767a4b9989023": "0xdcb2646cf3672b2906b5323bccd7c8ff53eaa038a18fed80c34de83452958bdf", + "0x0240d2bd361b9819326efec610e680da1fe29c7511c6716f255ab84d7f5e2024": "0xc4a742b4634eacd3b765bca38b0587e5e9e3a20720cd59b3122a329a61a1667f", + "0x025607a6b68b124d0e3692f3bdb9b2a7e50ffc528e3671fa1bff354c2f417025": "0x6e8ea3190a6e587f46dd1ef732f9fb42a2fbcbe3122a45fd97d5ab9bc134fa99", + "0x0263fa88299ea8833e0d63d86985354b745672cc048a2a98a078aaf50c7cf026": "0x36dc2df9504b2211faad30582e85ba26863d673f6f9c411210a4095e58e09d98", + "0x027a138e13934a65add83e2dccd9eab62ba79803cc99bab280d3c16751ff3027": "0xc86aff5eeb18c3e2acf1687d0b16a785ce652f476e695c64e43b8cfce0ff18cc", + "0x028032894d4418be5e1524bb4faa6530a8a5b76e70043976ab12905472f35028": "0xac9eb406268ad018cc74d603e26490a00c562fad86bcda07a78969a32039e9e9", + "0x029e359a15a2145b9816ccc1913922dca356035cc80a39b1d418139a0ddfe029": "0x670113310f139f5880dfe49258d20a5a8bfba0034af9602ea0993485db8a48e3", + "0x030bd91be82080eb3c6860eb0a04778795fd93436ea37097dd6000fb4b46a030": "0x83453cb69501d56a60249ad5515d7ef5b8c4e599fba7fa3ac3953468503837dd", + "0x031fce825097df68da8848aa576424642745f2a5bb8cf60d59e55ade547a9031": "0x554e42dff90c8ff1dee280b70d3fc02bc47d9bfae85fa8d91245e8a8f3262fa4", + "0x032099e3f180924a65874478e61c868169065a325ae130740d9e780007e9e032": "0xa4cca82764170747214be3750467a2973706aba2fcb057398b91817c76752f50", + "0x033ecb295a4bd9c2b07a1c9b90dab4df2765d0f9dd294a964c65dc611c2df033": "0x7a179dd58b3f24510f404d96a0f878cc34362b1e8d0044a95069fc3969fa1b4b", + "0x03410ca2adfad5614a1b7ffe1d8971fbbbc4e2fc0e9b73b267f3f36b3b8ae034": "0xbda772f17763e8c4c0d44552989db496b86c1a6314dabf7acbed64aa9b43e03b", + "0x035f617f366b68382cf679b1b326988b7117bd034fe3016d7ef7b9881776d035": "0x5544cc0a72fe3335683daecf33bfbb0a60ffaf8316d857c261121e9ac2190eda", + "0x0362094cade124b8f88f1b71c629b67edd7be0f088cc676a0148e099c6022036": "0xd726e0c013f2c051a62203e9798e86230908f059758dd401a1efa2448dab7013", + "0x037b3af2db60ae273f39e93fd4961977b9c6880685caa3b699ef30de2813d037": "0x82bcf5531c703af3ed07d53c6698fbd60fef9a40c2a6ceb6800ae6d94b0cee8d", + "0x0385cb7e7e4033996fc6d2ab97391e0e88d9ac782895ed513043f717316ac038": "0x1ae25b36a0d141adb8366aea2ab6a4b1d87d3d35aee8c3c5d3ebd8a718f2cd01", + "0x03971832fd74c644ea4e8dde407e8cc85a8cd8726e0cf02fa20bbaaeeadca039": "0x5f825ded21599dc5d1cd0b47cb1f158a82b528f39d00085aaa3a1cbf70d679a2", + "0x040b201c92b72f5e99ae87dbb1a8a4de38db5860c14f914d79662e4034719040": "0x33d67af7922c99bf53ed02132b97104ca3c0b0b86909f7654a49dc158b7c674f", + "0x0412ba3f12db22e7a19d142907a1cdf5a44b6d998349ef6d300911eafb9f0041": "0x316d6ad057f0ae6950ae65cedd1c83955350a17468823bc3573565c68a2e80f5", + "0x042538c56d8490fbaf02417820a8d160aa90f6f5bd352d19169c52be8fc15042": "0xeadb2401a03d4a2250301c0d666878129a13df13f4ced6e15d529f2ca5ee38b4", + "0x04314b7fda38a046427d58ca749fe5cde1920bcf23dd38f860067781993e1043": "0xe3e86ce61a1536fad4aec402e3b7704f89ae384244fc47ce856984d3573c4b59", + "0x04474069b9b429c57085488b69cea15a12ce71d37396472b15497f78f764a044": "0x39fecb45c841f7f55eae776e0de624d603f573da588d23122a654ebd773f1b51", + "0x0456ae699f86118e1bc2b43c19bd518d6dc0ba7a819fdcdefaa59915557e8045": "0xaad35fd9d2385bd36651224abce3822c997f48200918e5b88394a790c4f2c087", + "0x046c9f9891bff6d3d63e25c8480dd02d234e41d352e1f5d3b1d0731884fc1046": "0x0018272cc3c957821423be3a142244b957708faa0244d81831d97529cbe4f3d1", + "0x047443c4aa464fc72b8a1015e36d4b44ecf28d7bc0363db2f612f38cdb887047": "0xa658bce9e7879a90841b8ac800bcfacdeb195a8223e224f09a0059bc67c3d53e", + "0x048d11f1b8872cef1a4b2df49e02c6ec842eb11c883404831706b12cec812048": "0xc171686a0d55e8d94b0f3dd4dc3cf50ed575a748134526ab6027279dfe683c33", + "0x049dbd8e70948c3e55f59f4387d70ad8fa3a1f20be6cfbba80e9b3e6de125049": "0x78d5181ec03465cf6143ac3fd8e7776e9d32526789f63777abeda8c8adda0645", + "0x050ea70fee449b514494c8e3817d43f22f44ead23bb0ddb7bb309a5f8ab47050": "0x250a46bbe799c47bf3383320de4f0c7e0aa5d3983377a49ff7105225fa79289c", + "0x0511e48514661fa3d6dde2efa206274895b8b0107ca905200cd0e52d43cc0051": "0x72dc97b5cc71b0fd68635b68af45d4f4eae5b43b043adab46c8e968fb0ec871b", + "0x05247cca68c1a3af3186538e23a2b524a5ff643d6d5abeb335b2e5f3c7e49052": "0x07c7ba621eb94701156977be9752df1dc5443ccf7a2eb594292c991d6ee55038", + "0x05380942e668ad2410b77aa6e6d1ebfb2549d06c5e602a3985d6b34a62ebf053": "0xb130a44347867d01741c297b18aa097e70cd7e66216688ce98671a382f5194a2", + "0x05415c1f816886e2e342076ff11b7e29dbe3f31e1c9afe8aaa4360f1cc8df054": "0x347a5a879b04068c49ed2188fdffef6e658f9236e71602ca068dc045cce34a67", + "0x05558f99dac9f409bd881ac95e7f0dbcfbfee769d224f019d98bf8e2d63d3055": "0x986e7a9b1d1ef8ae15a5cfda4b7a94c5f979d6b2e0c910bb69b684c0d52907b4", + "0x05673e381a580ed8803b144ea7447e9ce5c30e768c1baebe9ce45842b1d78056": "0xce585297550241bd31fa805617f98dceceb61abf8ea75f9777ea0d11e7377f56", + "0x057ba6116d5bb40cd25cedc2032fd7aee558fcde5fa5f92923e872c0c40c2057": "0x673473f2bb24846facd92e282552c58c21a9ac564c62bcb6a4ad819b45bf6a04", + "0x0586b91d230b80cf07dd1ee8af55562e98335acb080bf007f72e75b37cfe1058": "0x66488f75274e11ad4776d14f3932cf3847b8dcd2fa1c84cf04de391259aed4ff", + "0x059994cb082862e790bd89a338ffbd32623656208a55ad8b7021f5ab5f0c7059": "0x080095fd93656c685b4f4f47f9bd126451b319e978ac039d1603cac06fcb80ee", + "0x060c90499c2d2c9427f625a6cc9ab283bddd1825358c51b50c929a8e7a63e060": "0xf1f5d2213f2ecda56445a8e37cd5035ad8c3ee6a738b0b51115acba9fb29dcae", + "0x061aad212aebc1e2b68a95d18650b1e801f3d6feaf56da8a844903ee4a53a061": "0x120ee33ed7cf9c7e457ee45f1e76a85b3709ddaa8878c3980c26420a4df6610c", + "0x0626ba3e3ffd84ff77c52234ebfeab84feb17b227e9e87ee05d70f24c806a062": "0x11688fb35d6a2db8528fde5bdf6184c1d9d453b2a328d04a2b020dce70885024", + "0x063442de419c3a1225ff53840f1af4943ec7ccbca4bd5c9c3cba42de18872063": "0xf04b0f3ae8e2db87be59caa1cd01ada30fddf0e0320715f6189f169852d06b91", + "0x064c4d0f5de5fee03a99e46e5cb2484c611b8a8e4127cc5888ba744347c30064": "0x803b726a2a1d0c24d1e4904c460df96d86611a07e99ce4ecb1d95cd25c63c9b6", + "0x065065665ecb7af9e44787f08ac0899610f95b5843469f09c720e48b06d5e065": "0x8f2d775a4e17414e203b9ca152b4477f357f3241b27fd28581943a715da5301b", + "0x0667bdf9c52fa8a0b770e1d6803a1cb45ea93412754bfee305c48b38bfa40066": "0xc3de17bbc7bdcaada230565074184c1e31281eb4202215d454ff73fdf2d495ad", + "0x06754cb7f98b223ced67e515ef3e9f738d264c36dd2b89dd9816ab79034a4067": "0xccd51bac21183301cd33938fc412eccb297ea9485338fdb34d162dea58f14c91", + "0x068fcce7cc1007019bf096216a7c6be954a1c24d4a53df3f6c13fa4521b39068": "0x4e9aca8f3df232e6f2e8a7d8d9f057f99f96707e4cd1916cb1dddc70f3c83001", + "0x0691bc45344cf3f00bb3e9e60ef2eafab9ccad840dffef3cf843999239be0069": "0x68a29f79689757fa2c0fe0e6b5a7a970f6eff016902e04c7e4b2f22689146189", + "0x0701c14848ce2b69a75c069826f27f175a2e95ac828f2304e43b4b0f7306d070": "0xe6730ce14fa77fffad0cbe6b470c6d5ae56325cb17d1d186b8480fcb99dc0a63", + "0x071f5aff153d6fc55627a4e71f9769e5613a780764a7dcc272be56eede67a071": "0xfed80577d1144a92d0b22866e16058010798ae70ce76d23c51760da012f71424", + "0x07280ec1bb7a4777d8974a4a6db8870c697ba196be57f998845ce47f339c5072": "0xbe3fdaea62473ab41c0b51b7663469e2453259d4fce8c0dec4331ab091f09618", + "0x0732ef657b424c45eb3f97c06b60ae1e836de099e828a21c94ac9d003450d073": "0x401478d9b3ce5356e848f36f1807e1b7b014b73440948be6bf07ae9c26eccfb0", + "0x074154a7e76d6232e91a9af606c5f5b2b84f8b0573cf8d6a41362e3bbac51074": "0xb5bf6119945b62cd66057da151508e3d484ce0b3e280e638f25820083d56ef39", + "0x0759e5ca2a1e423d9f9d555cacb3eaa61efaee005dcef141956c5c3b5b492075": "0x4a8b709c705eeb5ff5e629d0c2e37dc500aafcf542a0ae2768114ce7c91b2516", + "0x076d22479c54da793034090a8d225a7088e03443e7b4b5ca6d425304fd04a076": "0xa5745de4b6af8b14988e2b4e814b19261352d2e5792368e1b81e72dbbcd3f476", + "0x07720739e3f4b166830b7a77b77f418b5cb1d587b04600579a0337a553d31077": "0x6417b5bc4420363d1999f39d52fc1fd2fc0973a2d399aa609ba3220a2f006032", + "0x0786f125e6c62e1c3439bdd01ea6509ac86aea209d258e41a0500ad061977078": "0x5393ad9aa28b623698c175e14ba213b502a2d1407d69224ec1d5044ef75bf5e0", + "0x079e55164ad92994c0a95ea21d71e53a29f83a72b27906361853c40cc68ae079": "0x6a1a0e94afe17768340d11329ec617e132f08f93daab8060fcf18b55f90be554", + "0x080a14cf0f997939a704cdee19e075a51fb7fb0d8057d5fd7e308fc396439080": "0x97c3a343ea13402545c762dc09cfa4b4b064179ac314e8819d2724f51e95e2f2", + "0x0812379a47a3165ab6fc4d43662f44db1f224b9e45ac69495cb47694bbcc2081": "0x3494ceb4afe05658c152a961e0face1cf5187529374952ca6b1fff68a5844bce", + "0x082d3d7aba9b0109e02c6d10be33e06e44e500a3646aefb689e095cb72fdb082": "0x04ed87ab5f64e59d5141b7bd02cc331171710081307e4b52b53546fa9f7e6b88", + "0x0834d715bdc485e371fd2e9fdb185dde0b801e924d327297cacd1972a7dee083": "0x5fe08c9ad7600e8a152fb3ea62c3527210e0d10b8754a874f020125838fa32a8", + "0x084b251776c883a278c03af4753cddf232f58d627140e9b7ad00827d5184b084": "0xc2dbad0a57289cb9b8a1b55aa89f56b1ba8f79ffeaded39f53b000854240209a", + "0x085c7cb526ef7d1b767e5e4dcf17471cde3f2876b811fe6a23f4243e4076d085": "0x1c8e42d0b3a506ac76a709a9b204d5f014d5e7da5faeadf22ef2ee5187a241ac", + "0x086ddd8686a979ff8f87e32196a74817af71e2475b650c1bfd7bd111b45a0086": "0xeaf32964875cec2ac48094157df0eb32a7a8bca89c2b0fb099e8f0c38e6cb591", + "0x087e00593472a19a4a41704f697d6075ea1a1d54c3ac264986b9a272be0ca087": "0x1caa95131deb438ac8fe31b7259f1f9dc4b455f8933ffbf68a9700cd059aaeb7", + "0x088a9531516c48c37f14cf9e4c77e57d0e66b6b4d880996c8513f133d38f2088": "0x9ce3c0830de3ecc81f6596a816d8cb07355e18bdc039a13aab42fa3ef3d86c6c", + "0x0892ed33258e5276cdcff4cbd5b9edf369b1da75a769faceb8aa2a77e32c9089": "0x31fd90b29aac0415ae4ff04be9ad64a5512ac1e93e4ec85e67cbb002fb62f54a", + "0x090bfdbde7a8c65b0e3846f3483e7337eb3f707b5bd5d7451df2e2aca85a2090": "0x125327ddef7b9348fb6e5bfc974a092005ca26ccdd1d4826e319fc02f2db87c9", + "0x091708a92fd98cc7eb0fd48e0862f43bd5630c99c77910f0be6f18b1c153f091": "0xfac332edd33ec898044e44e47b158a3e0a09fc76b117f422c1264fad751d8a19", + "0x0929639bf5af5a38557a9bd8db872cc2670157ed17b7946af67ea2cd56384092": "0x48e8fd682e722f6e4cac9f565ed347e4265fcb3d21a7c44dc80493268c90da73", + "0x0932be2c646aaa8988634a0fe980469894743379ea77c4ddaaa417cdbec7a093": "0x09231cedf61a5c60c3ebb855692579a021e3191eb4172405400c631b1d566325", + "0x09461d4f13722166108ec81278f3427bed2c0c64c070c65139f79fdeaf6cf094": "0xbe76560b48c5d09f431924dca7b7faa884e6e700d8c035c2e244e64e66bbeabd", + "0x095d662b890cbc2f0c03f71f4460f513a717ab91835ee82c74bd4dbde8482095": "0xa3798d745e2a986af495a77c215e842f028291955624417bcbf7303e674a05c3", + "0x0962e0206fe8d45120f1a68ca4d1815e211fbe2bbae25863db8b17437cfde096": "0x662539b9d6977cfcf31a76dc266676cb1b43174b70c9fd645a015fd4d3388ece", + "0x0974887980f5578f7cce0d570a2096843b390378747a30d89de839264d052097": "0x9643ef612c04552f54d7b86fd1c3b8f6b06fedd95acdfe4ed0a0c66667d2f6b1", + "0x0981079d4737cd0671dc2bb47db9b7f6adef70f5cddaccef3ddbaf9d6f9ad098": "0x6cfc09fcf694d543ebafc9862b0a63c052d539d85f4409e754955a6c155fbd0b", + "0x09933b06adfdfc42f4a230e6420b460c1004048d548df7a43d171088e1ff9099": "0x30036c79eac2684c1871d969fab638ca7b6c8326a8ee8ea9564273a0d088c346", + "0x10047635352539f4a2d0a7ace9772bbb8705d7ead2976dac522169b2a9ecd100": "0xb5fbb5c4af79ac6e4004f8100f612381592da3666647f902d015e90637b68043", + "0x101e3b9523f2189abd74a3f73770fde59e0881f3210d9ab670c1219ef48b8101": "0x1821389f7ba8e9e4e71aafeb0b03282142b37fa57cc3d04609740b63c1ddd952", + "0x10230f2c38a618bbd7f0c6d93646d3a6189624103487826babaeb97780a39102": "0x4b670e0d4318eaa06e4a99f6c3c655b90b42b220fc543713347b972a105d6018", + "0x103b354954d9b7cb16533673e112caa4633593734204b2019d57173db2632103": "0x8692a6535b5eefe46d6c8dedf572a8b86fa38824e0f4e93b1c1d017fa4f71d7a", + "0x10461496eb195056664fe7b2d81d6d36052cf9208a927ccc7ad65e1283ca5104": "0xebf3cb82af4a78bd36b2e2f657eb8786d02915b1726fc659ef5559298f2f9938", + "0x105b9b03cbbbb21ff9fcf14daf4877602c061d3f4d8c5dca7f2c0cc13b44c105": "0xbc4b2a1e09227cff463be36a6df931cf270be12fb3eac31323149baddc23dab0", + "0x1067da0c7ef630d137e07f9b1ca89ac8e5c1520b1e0528151ac8276228662106": "0x00d765ef5ba52278aeca5fcfd1d715aeac9ed9a453de5b3aafe95c127f890da6", + "0x107747eb7fd5c11144e1b7d9851fde5780c2fed3f283d36b8edd22635b1f7107": "0x3ec77b69f1b8d21e8d0b20c8a0070df447860b0d2a5864bf65326a89f25424ba", + "0x1082b6dadd447e8faeed45c6f715799c3540b11d88410b96c1104e18537fc108": "0xa7df4f358fc26f149408ee95098bf5c32f024f5e57dbc778ce7c98c29cbb1a46", + "0x109dd202f2eadec2f8c5ff845663f2a853db542e071e96c05e85ab5fe4984109": "0x060d79f4bc40c62a0a9a9c9a3f7dcf57ff48c82802baaeffb7ec9e6665d5e727", + "0x110c9a9a6352ebb81f19b85bdb8d84310bd23eee1de78e20cb0adad2dd29a110": "0x3bff3a38802a5af33b58d29036d2849bb717ed5cb1c47eac993d3c48c928d999", + "0x111f39f15da7e418cbb2188666eedd8e9bade9dae11cf949b0736c848025c111": "0x35d86fce4cfc0efdb3d9e1480a4431513002aaf44fa1483939ba4ad34ebd2f11", + "0x11269347defe00f1640a2ebbb7b49dae9c80c8050c3f36e00bb5203242f58112": "0xad1e3892e5170fa6d854438617633c5ef434162b145a690291c3ad5d5d1cb157", + "0x1139acab7ca2e0009edf8a859ed1b3fc57ecb9a60db90f72015b6c3ce34ef113": "0x3cbcf6a2fcd0aef2f6239b6100ba405487c5ff06c89b4fe1c0929fa99b2f72a5", + "0x114c809cff7fb18e53e48952571c42365ece68f7d1a6229d1d90669af888f114": "0xbf8858d7b3c57f2856886b539f13f38a0631db92ac1a2984ab234a9284cd7dfa", + "0x115946e8f4362322d211209ced3306bbca0339c63589fb53112ee52a05b1f115": "0xe60a12b0fbe983a7a5a7c85a465ef43d0d9629814b9584064f7afde1531e7833", + "0x116b803d8122fff9ca08c19aaf5358cd4d465ed1b64f7359354971d84d04b116": "0xfca977fe07099b64aedf3c5e1c39107488c98c09e90e58f4095e749f9bd4fcf7", + "0x117a197109e31fd43be0faec6766e1c90e753585c349ae56d458ccb5aa906117": "0x4053aa9f46e474e239f0a0554d2c1bb9e875b7b899a14a43746c221e2f01e27f", + "0x118b9d2d73d69f84831b4ddd149acfffaf27f8f7aa035374a0b2e2ebc17de118": "0xff912e19c678d3019c7e6e8ac0cbb8f912233731215b6f74b02b1ba56b8ab7ce", + "0x1193d3801d962325ab5a72fbd06473c3ecf1dfc5eca153b63071d2c827ea6119": "0x745d7ce64b96b09de58007b0d1715a875d87996cfca1b401062e52e35e691c58", + "0x1205d90623f3c05dc25c280ebfec979143a35ce420bbaf72df66df0a915a0120": "0xc08aa430ddf09c03e98b8615b45faa69fdde10a5a7067249286e45fea8055f9f", + "0x121bb6626e8bc09a8cebb17c54286f39265a96a50bbad58afd4786d7b8909121": "0xf138323e0bcaa4dd8812b69dc37f43267224ca38edc1e5b1224a659dd869f198", + "0x122a1b7d2a9bf977c447983b75aed7bf44a256c3fb818a680f4aeb66ba7dc122": "0x9642ab2d9e7f77e5492c9b61935dc4afee63372ea2ce78e02f206bfe4bdce12f", + "0x12358951885f5079de86ba707ebffb901c7ca3688517d6f55eebec82b9abf123": "0xe2a9924c2e8a953e5587bfd41e290022ab439c28697c2e31edf4c8f85bcffe29", + "0x1248ad52145452d8970899f8ddcbdf6d72c472fd0f814250931fc5cea3f76124": "0x8b4208a884204cb8b22d86446c45f1321bfcc5ad9633962931e05f6d8bb8f31d", + "0x1257a2a8eb30735d68f1435822805db2e75d35c4f108d1b81050966022ca3125": "0x69a5424669e42bd919595bb2b2001f486b50f91b965fb83126cb592e7004dcc5", + "0x126d37a46f172347adaa2fa97cebf7adbe78ff272143c501655d4317a4976126": "0xe2779c845274d5c2be52af7f150ee3a8f94e1527c35c7d9eb344f5863755fa50", + "0x1270afe79561e30eb2f5cd0eea1a5eb4804d1ede3edfd1628504febbe0114127": "0x2f23e9d6bd3adc1ed25f842d1b75db98adcb4a3f4bb6e024bca3d9ba83194ccc", + "0x128559f74ce5c1fa183d942c032c50ba5b700d91c084e81985c72765f11f1128": "0xf3bfec8d92fa6cc1c9c34ac80dcd2765b882974e7bba2cee73588810ab6ba010", + "0x129ac03e2f38c496352ba489d7ac122f991770d1d73ca0a2caad82bb4de45129": "0xd18b0f237163730f9ceffb79bba2198060d558d7a512d3a38131dd48e4197806", + "0x130a0411951d0566c5f2ebbf73aa1479101315d4105c3cd64413675b67380130": "0x2ca23645a5c5efcdff560503f1e1706b5b916b4630b728d58143e74f19b449fc", + "0x1310197863469f49da11e483104698209323f091eec54aa41cf76eb1d11e0131": "0x36ad59311c96a490a2ffadb2ac6eada24ce42091450d9f669c9463866ed8a0de", + "0x13216614e873faf6d9697ce480d13aaaa9c0673712a52e1e3ca87362b7c2d132": "0x85a362a50ef5b11fbea3bdc977dd73baf63df88f01e26fd40e9500a707017441", + "0x133746f5c41507a06d29c16be002c013f9a9e58b3de9d486f7b071b46b7de133": "0xe494caf15713113e6751222c340a741c284f8f5ee4f9c936a0909bae51515f6b", + "0x134c7d29e13a4ef44a6757b78491da9155e907ee6b4dc0b95fbaca43197fd134": "0x4ad2aba366a5c84789ba16d34761741dd504a8280257ec763d9df2b251760dba", + "0x135b0851bead3551c33d6a7b4bcf8ad78c9373227fca1a219aa5e377bcb21135": "0x23f7e8b237f70f855084ca80c955ac69e3d751bca3e5e3c39d1ba0c6c266dc0a", + "0x136045d1b7f5f060bca16ba54e60811c44fee68dea309d361adf8fcbd11de136": "0x9641ff9267209314ec7f82a4955e4c7cf6f1e673191a690c23a2e4190546b0c4", + "0x1377abb1bec5b961d346f19e52556fbff9a894d99bd59ae679c564d2f020c137": "0x1c770365877918c3e3f1796b89318b9b5eb39a3c4a0e78588bd2513902a60a44", + "0x138c317341dbe4e350033705719ed02d471515fb84e6c2513b66f7fb9e84d138": "0x3238eb37819967aa0b096ddc95fd889af710f6925cbaa7def895b01e91ee57ea", + "0x13931579383cb22fc805a615fc5449faf6eb58be7265458bb80048381ae99139": "0x9936cf9aa3e34001cd7d322cb403ea66be712aea81b1dd0a02e740d1389cfb69", + "0x14019797c0694db0ed90e76c24c2ffcd059e4558ddf10ec3b1f5f99994725140": "0x434a5878be51f6409a6ae89e8a04751cc8a4540aea9fe6b354b04e429240b3fb", + "0x14129b20617ffe816bf9e4b30e9a3f94282cd2f5f0cbfe2b7987c5bc0f417141": "0x12a7344e4c667570ea5144ea313ea8094518fa6c20afdf19e8b7f558ccc08794", + "0x142ea959c078da08ae99e29fc2c44d34a543fc82e5860e25d63edaa50b07c142": "0xd19d36fb2862fe9f9134ca5dede442b18cec49d25cf2ec43c70041c3669b134a", + "0x1434b3fed60f7028ba13e0dc5dddabb65254e72f873c67e74e6f702d4bfa2143": "0x0230717bcd6fcccacc9ae07cafa0f7cc1aeb2a0a7c11b9ea7cbc40172d770a7f", + "0x1447bf32dfe7a8974f1bc505cec956a372f25fc285c7f57826a08fd732d2f144": "0xe2e99667bb2b7d6709649f5f22b585ef2e9110f4611318b2c43784bb4c5a03e9", + "0x1451e0edda0f68723f450fb024592792e71c2768247096f3a175f74b82dc0145": "0x4fd0d0ddd21deb1d732ee05a2e67f633462c9de7daa81356b67f4f74c52a6ba1", + "0x146eb81bb5db4e36b7d622e6f4e7929e2def1181245bba7d02fb8be9633c3146": "0xb2d97685270749dfe6b009828f36cc09f280f9d169eccc96371d40d8a1d20b8f", + "0x147209f8b325d2d6f03f14044df48ad6b0f54cd2d02807989f70187612522147": "0x3636aeaa8ca2c8f96878f6c1ca1ff291a0e7fde9c105c2fa225262433f877e59", + "0x1485e5eb1f28aa4b37af3b183caae231839c38d9af4d2b7a8da4a0d1fc4a0148": "0x8fce619511e9386ae38cc5736deb5dccc6a12628135084c125c260c8b8bae9f8", + "0x149208e0a709bf54f6b88a9234f5c5e9c50c08ebb254eff49f209d56f4b4c149": "0x32118067be17f6dd634633b6e40387a8bbf1caf54e2488c5da23b91b16f69587", + "0x1502725b302902f07daab18d67b4086ab826ed217e0c5e7d52dc56de9dac2150": "0xa3ce0e910814a5916dbf5c8b48746deade4b4e1816323fc6e91000eec901724f", + "0x151ca8fd2d4fd3186f32455c8a8739f3ca43e5813a9cc8e0887276631e9b3151": "0xec18fe457b9dda9ab50685264dada3ceaba01e23bd226700437c57dc79fbcb15", + "0x15293997950a58d32863ec122211394e5e4ed67b225e7c5169901ce726d9f152": "0x9b9c38b8ebb5236f80ee46093db91389023592dc0b872cd8613907c6d23bfdba", + "0x15305ed9be6e02d9afc004c8928e574afebdbc20fc608e98095f9f58fc880153": "0xc3824874851545c195fa93addf65c4ff0aeb4f6ae4894794cb0dfcafdbf9d485", + "0x154f5733002886efc25896907f3797bddd0f5b1fdb39c7295a90245d4b385154": "0x708eb72c2ece68e2eb355b9da114cfa0ade35f59eb0ee4f50952c89409f0414a", + "0x155cd962236eaeffc3a9b0298d943cf6a76312dd2ae60f8370e6bda1888e0155": "0x76ed3399a50e27e39d9024877746ba70087495bd7b2f2c687e4da2de32264802", + "0x1562baa813dec8875d82d0149afd19f2c205a795b0dd6e3597c50e6e314e3156": "0x55259d402ece8cf7ed1b51c909cd465d32b539d5843c9f24f26983730a5eba4c", + "0x157cc2861491ccf818a665329dabfb124569fffcb147b962314db5d9022be157": "0x719e09405351489fe4d492e28f4a441e060094025ad5d60f3d88a31b1d54fb9f", + "0x158a90f6126768c114fcb277f67dbb5152d5265f3bb272d2ab36adde45afb158": "0xef856323aca4293b9bddbcbe1df72bd654993d5b9583747afa38667a7c873653", + "0x159843861a0f2fdeb166dd70b452c8a4fe3a2a17e9d638fefbf23d4b3c22c159": "0xa361113e941fdab5dbdd7c3cf0ab1d1348063ee464f45853ce9f52ba9ea36e3a", + "0x160557882e8da6d380aba49d14a867fcf6b4ebecdc2ff126eba0129378337160": "0x1c65b34cc9f0463340af4e421d72cda8a0428dcaa47d2e394e0994a65891e1bb", + "0x16133a597919386761452ff0ac18846a789a11aee12b41565c4268fdd6d37161": "0x584ae3e3a2df8a9974f118cf57f68dd201059da5b24f5bb846f5d39a131aa1b7", + "0x162e615e9bff07c5ce0b258c67f412a5d8d3b69965c87024eb4e92ece69d3162": "0xb3371b8857e194e55be8dfb4ca7525a7efa34467a6b701be96e81fc8190b87c8", + "0x163dec6e5e12008cb9dcbaa9314ef4fe7a622481bd3ad222ba72ba04f07e6163": "0x1cc9156074bb9aea21a7079391406bb7445de00337f331410c4f31bc036a9736", + "0x16496f53e49fda75d1861c242ba7d7c36c4140b1006f85a9d8814b4e131bf164": "0x4cee66df94f973e696c09806a4c762d70e1536845705890b3fe1b822232de5bc", + "0x165e4ce5c958a113deb860c618ca7344ea7aad1d63873dca5d8745bcce3f3165": "0xfeacfb7cd121e9f24bacac19cf005a87a7b47230c6e47fabfefe714673c3c6a4", + "0x166e9552ffd5b0125068b3b85bff8ee772cef07d39d9976cc1014cc126543166": "0xcec6c6f301c31a14d4f9ce31e51d49b6ee4ecfe8044192a0e0139534103a3dc1", + "0x1676ec5cfba93bcf1c1232f8ecbe4735a189afbf4298a6892ff941a4a9885167": "0x4b019e558f770440c4710922e9b4a91e6b32535104d99585d4378efe16177a97", + "0x168cf4011ab99daa3b93aafe7a12b41c434a2b72bb7a8ad220b5a6574e7c5168": "0x60bbe18fc57387eb559f321d06c73081d321f5d349b7fa3a61c35fb46abfc52a", + "0x169cf8e513bf9617053d62edc173591a1239d0041351c5c8c16d188178ab0169": "0x5cad94cf8043364cb99efcaf8342d7cc11b785376fd181fb40b4cb3a89314478", + "0x170ef2db3a1ab84de5cff95b800d5d42332e2f94090f5d8b05412085b251b170": "0xa6117567e2b0a5ab00b33339a91deb1d016d2b1c86601c5bc538d6cfac187922", + "0x171da856b46170b9569f0493a853873019d83ebefdfe32854e11f0df64be9171": "0xf0f238c0fccecc5233f91dd9323742a135e40891aa8c5c3a7ec0315f24bf0b77", + "0x17242a92c2f2f19046bbf627fe861b4b36065d5cdca21e1e7f373237bf8b5172": "0x64d9affdc888891ac2caa29aa240033bb13a86df8e5a3e238bfe747d2c17abd3", + "0x1735b269d8a23e520df3a8437f9404397736b65c5f8ffcabecf9495af8bd1173": "0xe4c58efd0d824b6faebcf6bbbf7d03952801d41cfb9cca61d7d4da2e984c7eba", + "0x17449abbbbe9fe7a9c22fb1ba245774c919daf7dbbd449033bbf8f3cf0d4e174": "0x64efec75f094874a9dd33e18bc1a5d9cdce3ff06cd1d2a9d628daf2568e676bc", + "0x17553bbfe765ca1c26f57754f5b44e4a20bfe7950f050150b4b5bea97f251175": "0xface279690ea171650e235311b69f3c475ca9629b5085bd6acaeddbc8aad6487", + "0x176afcd2a437a657a692a698dba2561df625e8274656be0c05fe4631ffccb176": "0x0a85a5a8aebcbac929c7b9c8ec5833d85ed67c2c16f5ac8783ada0eae307e965", + "0x177822f351c499e4c99e4f82174dc76c2e362718557099bebf4d062f050da177": "0x8d7168ec2e92e39c72143eb66a5faed4991b96e3cfb81a8e2fd596bb58561db7", + "0x178ea881ae05506571d8a1dfadb261d181cdfdf3c565d8ee1fa2f20d3839e178": "0x7c418f192920ab2b06b9f9be92382fc30f78522938618a4c40b2c2f0abca904c", + "0x179bdf5d8bfe5a7f68ba113ccd89fc8074c3c6c97aa8ef0a8ab0b2636c640179": "0x49a9d2506ea76b82868ae9e971a4b901c0f259206e17fc2c702b4a2e55afed56", + "0x180fc84d1be68b424e2451016cb593ceed3091de99a9bb18e249fe061bb24180": "0x3e93074dcf1c51404d114835cd5299c2be3df0ec725a7bc15ab82ed5b8ec4d97", + "0x1812602ffd9e21cff08cc97e23659dde5735644d81c2e809fcfae25092287181": "0xb4b905d657a5faa0b282b10d32ebd0f23224147d671200a77734f357e2f0a984", + "0x182decf082489adb08a2d943d7f42977b7d1eb8624356f17f6495d1984a6b182": "0xb4a900fb3a057de5bf7b3cdf550a09912d67d2e8ed1df0b05db55a7de9f78d39", + "0x183edc016bf8638489ffb0404faa9176ac69df0f82e06fc261b1d7a18ccc3183": "0xa1a7c0d283e7a6dafbd81c2b63f2997110b97864999d6b9c1e952b0c5e56f87c", + "0x1846a87d551afba85f7f9fde72281a2ea137cda18b4d1feed39d056456850184": "0xb3000f0889076172a5546b016f44ec89a97a00488a32c7202d88c4fcc9b80a64", + "0x185aae523c6b680f49da76cd95bcd0f595804c9fa31e5034ca1545ba3515f185": "0x6a0b31132238e1a53141d5fb1828bbcf81b567c906e75e36a96cec0ed981297e", + "0x186857fba0fea79e18ec0814118918b93fc966dcf7cfe0b9de52533471b33186": "0x8844e217ad31f3237b3ce23ced2af185598f20c29ea42f58b2146902b86989c4", + "0x1872879ecdc3ff3ff60d7bed7b4fadcbff9ccd511d18d478a19881bfbb2a6187": "0x09c180e510000865c38b1ac45572328cc746426c240a90060a815b04b2f82581", + "0x188a0b427b1bbc15e9b56407cc69157d8353551fc17958dc3777da3a2c2d8188": "0xfb65e8abffa23d94a894430fa5c847b17140ad87d32c4277732497f18a444c87", + "0x18989368f8655df9dc06bcf23043868abedcfe8dbc8aa28d6a779ccbbc4a4189": "0xdf451e1a563324d9b6044c0ac352eb729788412eea882a7a68999ac987831751", + "0x190d895b77afcb804d2e96f97d661f1b7b97dff1898376b3828b1820c3b66190": "0x5a57ceca563fb6da526d9dbb6df2ea0d425e46b8e66bbdeed74313b379d0a8d2", + "0x191f0e6bd17fadcdf739fb822a53dac2b68730fc34447048dc243a33dbf8b191": "0xf77e586f51732e0af034218a256c67098039f02a888539c6620c85022040622a", + "0x1926b7bb75c81eed9e1d2fa62764bfe6eedf5104395acf8096d34c096497a192": "0xfea0eb65736238fc7352281d1a096edaf68d6b90896c43ef41e23833452b4335", + "0x19309fe939c0672626f3c4a006357f63767ede299b84b380dbe0955240fc1193": "0x0eb5e97597006a1c2af7f8c559d9628d083d6630bfe864ed2345ca677623673f", + "0x1947bce19e4b1c31b04017e88bef7361f41e6f43b8f8b677faa56eabfb36b194": "0x2729238df32cf51c9b0e72614d1311cd844819a3d665ab9cdb4ac2838eb88805", + "0x195feeb2a7e028f6527e08c286def953a95e51c6ef4bb1fa4d57247220866195": "0x5234eb69ada78a861a9f8446cc68ffca3a5803dd26949ccdbcb4efafbdd8b6e1", + "0x1961159bb105cb16811323c85c7441b0a21b6cf22177eb48e2584e89858ba196": "0x201953270356229c99f107f2a1d5b63b08a72c9e7a0cb4eb7f5c14c2e6424ec9", + "0x197d66d72526670fd5919d341065643c18471f014e238802e378d35ae04f0197": "0x08277f0079a42ba8d9a454f293f161961f51469b48f231c7b1e04d40c28b13f1", + "0x1989e9efdcf1f4852d2294daff9fb3d329e27a0e27469fa39fcfe979eb53f198": "0xf04dae36080944fe459c5f74eed91944c2f83103dd41e96491523113ed69dde6", + "0x1999fe91d99f29251917116e18ec2bcd8829cbea5aeb7647221cbce59e03a199": "0x090bb78199ed434537e0747bdac6c2bbd6f949381d85a475142bf8985ecf8a80", + "0x2007886ec6d2892b50c0dd2864ea0486bffdc95e69ca59bf16ea0cb19f869200": "0x5b278aea47fb4cfeee01fedb99537d99c8e56869a674868b4e7a071d9ad1583f", + "0x201b5a83eef9ba9e04049654f75c0787b0e0e39586a4351b6a8fcc27f130f201": "0x58e083b2b617788b2fb3c99a4f3cd18bd3b5e182839599e22d51a4da95ed67b5", + "0x202d677b7767e5dae131f4be82a347111e1f5cd1739b22a15f11db1f227a8202": "0x54030ba2cc974ee2cf8b05d05bfdf94a92168977dbbaaf58f8f6096d749ff4e5", + "0x203081e37972c4269375528fe4c54a981ef88fe7ce6a8f9ab9a6aef65d576203": "0xe1ae5178613804ff7bcc2c5030479f9c3a851943772c6d5d6da2e59aa9b46e92", + "0x2047814007fcd439992692d309415dc84650391b44675d4040e6e07cfd5e4204": "0x8e50bad1c19e6af3db7154fb1d914153adfb0fd3464b0d1ee6f10f3a972df57a", + "0x205d97bee61257f56c85ad1e84c96b6e35fa14ffb9225db5cf1aab53ba0bc205": "0x25c2a48a0c71d8ea6029558d303418aaf6468a20d4c558903e74aafec35b76d7", + "0x206702f565a8689f7c1d98bb5c9d08f4514f23a39178c7af2771638ea81fd206": "0xb4e76f6e9ddeabfe610c5447c71ca96f14efe1987c6c46fcef600256dd11ff41", + "0x207b8c9d9e609e963ee77545d48db11e5e17c99e67ef7aee29f7a6fdfacaa207": "0xf5064bbfaed2620924ad76da2608464afe5008991a304275a80fb8dd5f7f605f", + "0x208b4598ac0ae6a2547c3f58f27d7435c1759cc93a3e332207b7316ed0c6d208": "0xe30e50d2a960d6b1ff90e3c5f580ef3bd223aa2e5ede31548cb18fca91d909f4", + "0x209754a8f61bd257b8d42fa1a09cca975e08d56ae12771f7f70f7ff238c81209": "0x874e17360448aa0d8ee0a5b03e8b86dd27e03e9742a90f2f57fe9858c1f8ba59", + "0x21098184f7d1673eae27845b23a1a5998b3442192ba9cd1a64cbb4e100d9c210": "0xbb25e96ef2dc1e543baa07ea8c2d6298edb24df1aac4f133c790f98771de451f", + "0x211488309e63ce10c32d40b72f6476c3523952fb703dffc45af17785e59a8211": "0x318dd090b1b369dd58ce7b84b54a3efe7cc9287406abfd25a28175d47fed67ce", + "0x212734360b8373830f7ea9b2ae676641e93ca673825389e310da29b9f7236212": "0xf3afae1a3e68e54bcda24b3d8fe12497418d846ea98a5a8402238404cd6e699c", + "0x213577a4f10f2d7886eeb7f3ba2a4136abea39c5fc0d79d82a326205b1352213": "0xb427d6c640e3104fbf4e36c3a382d0c2cb3cc647d86761950a6d554344ebeb23", + "0x214d95811115a16def28de5026f2377b2546961c1308bbf2820a01ff5cf6c214": "0xd397c00c634f372c02b6f8a19115fc1839f834ac1fb95e757b3f0ab35ecb068d", + "0x215713ec628a9e644f31cece3fab532cc830ad1343af338691ea7b007d8cb215": "0x83dae171801a4d34f3a1b583087d64658bf0f51e82ccfe8930aaff1892d675f8", + "0x216738cbefcc4b8098ca17288be67ec5a427f1c36a33e6de89119091fefbb216": "0x7f013c7d1e7eef01d7fa8261f81a85ef8a1372bd0c6bf2f0597ae129c6c8dd7f", + "0x217793a78dbf9c8333620b31139c61f729d51248073d626d9648d6af2459d217": "0x22b3965726a4de686e8486312d5054433750a7d09b835669c183ce53e99fae26", + "0x218038f37bc38d48a6deed5bfecf4af61f6f5435f41a190a0abf57d5061d3218": "0xae08fe21ab364fdd38ccc31d5291ab8d4f92033843e0de65e4c2b7ee0c9fa623", + "0x219b4cacc24603c2c3d2c9cbfada9e8a7a66ab7f2a2aa2fef122603ff8bd4219": "0x66337c3db87c3fff5120cfc80b2107c21f8bed043f71b854662d257fa7225b67", + "0x220323c9eee0f9ddd78b2f7eb07a2391c6c8edf5d98533049779329b26c1f220": "0x6bad0bb4e8f9500d05aa279fb67adafe1d310b179a2e22926398eb1ca4bc27d9", + "0x2219829d8ba0b79fe6b970eee01bf7b241a23174edb3880f71075ca74392a221": "0xb210733c11cdc9ab148830594e606a355e64ce7d332dd1f829de4f7002162a07", + "0x222471173d5c6ecc1de17f28ed2c7cc4973544757e9f99f8a59d2065286ea222": "0x61b6b933a7ece79e5be1565c6e002f97c0a9b9df70bbca13cf68f52a4ccea8ee", + "0x223c9bb0e00cce309814ef00e2ce45953e879744de49bb21675107c93ff7b223": "0xb9fb90c51aa1430e66a995ec8bd39f2533f2015827f515ff3604b46c58e7e728", + "0x2245b8bcad56ec95dc8fd14c44c1dd710ea830ec804f1b8e4a93ea14f7fca224": "0xe56c17216f9333e7ac3db84c55bcba410dbe5b697e84852a0809acc353cd2e4b", + "0x2254fd7cb6b31c774c49b45c5ff8e96d376d618db06926663001054e54207225": "0xc62ed00729602b720c2d15f1abbe06946e6dbc06e31410d158dc096bd70896b5", + "0x2260e3113e6c5e17bfb652186c2c5f429fabdd390453e22ab5c6586ff8cd8226": "0x7a5918cebfd264211c396e5c7731d75191bed12264197a8abfc35c5e11ae7a64", + "0x227c0d00b3e004175647791da4dce19ccca2ee195ce107212fb3668897349227": "0x6c2244c00aaccd17d0f47071ab8207258ff721d632cb5450e02d912a281b843c", + "0x228ac114fbcb04d1f597578eb80baa7d0bd6e0645ecfe091f8709ccb69853228": "0x521cd9cff05727d897bc71e38be33ec926fbc560ce35822746b64b2bc6b29f2a", + "0x2293b74dec3a27e0de61b486949ed3c395c510f465b383917abb6ae22d407229": "0x4c342d055db2ef91b7b4b73e77e3c2ee8e829c9783e054d967ace06704d5302b", + "0x230997ffb64ae75a0a5d5f21133d606a19a52f898005d69a7df0e8e2f3ceb230": "0x84d0888fefe0ec3a22d89822c771fc392820d0bc780de2ccf3d7e57b25f8cf13", + "0x231e1c84237e0517eef5b40505ea5c20252e51785cdd07641bb5271250f27231": "0x8402e89791e302306934eca0289e54e63afa62a3bc683f83321243abb96a8588", + "0x2324d6590a3c5339148a94a4583f33ed57a30b2b3942568e7ceea09c8b9f3232": "0x340044fbf2efeba41d6c1d3760d393a186d4de2ee17e73901ad3a024606fa3e4", + "0x233ff708dd849926fadf8376c0fede966b3b4401a4cdaca138c1bbc132f8f233": "0x20e7935115f7c57164a2f1fefc45c8f855f4b67be38b5156cee2cf67a8f87ed4", + "0x2342f3bb5cfe957459411cb9e9ef7031729eb0fa6b6e167fcf98cacc311a9234": "0xb1c1be36908eb8547905fea6012e2f2a78afab3fe0b26afa6bf8634c26830ff3", + "0x23578211ff1bb2e73b2e8d5713c573c865aff9ba0ef068425506a38d09e12235": "0xed6b362fbb2987dfdb7d63afdf0f770631a618dd7e083908cb77eba690d0f7ee", + "0x236ca92847b06bf247a97de230ad4e559ff943a9b51117b5156fff0016ff4236": "0x0513d00f0556da3f3dc15b4ab9ffbeab1c32b715ced4c0e9262205f0fcb4a146", + "0x237190e637c7dbf989785d9855a9647a8596e8cfa1fb6e5a68fa7bb781116237": "0xbac55af5b303386b9aad5291d7920fe4816f552291595646ca80d7f8f2606d26", + "0x2383656a875b495d3558f7da3e028c16025219f551a4ff52d6f281a46c79c238": "0x9b32205e9963e3d5a329fee161ba977bd918ed5f63300536deea1f948afe8365", + "0x2396bc85fe02b3e972eaa7769e939af6b2a6907c34de8b033dd510ebc9552239": "0x0b03aaf09e63f1a84f61ca2cb214cfdcb665757003471b8c0f2274d2300e57f0", + "0x24072d0b15c4447db76d0d6248fa3ca0b24596d343c9165110c6217b8ae02240": "0x1696351c5033f27b9d0c910724c748416f7ed40ae2eac966da26970644289661", + "0x24101596df3c2ad199f86adaa3bf0d12990758811b4f73dd1efc83f403788241": "0xe12220a1a794021e507d3dc12ed02a4686756c094f17291eb75eb53b3822ab9f", + "0x2424b5acfaf7f8c59fe0f0e40c471b07c39e096617610a2eb4e7bdc08bda6242": "0x58c8104776b180e33dc71a73b074d34718c2b88dd33c7b9a783bd4a9e0ee68d0", + "0x2436774d26059709b4462a2e467bc9bbcc09cb1361f5d852327b1932fc590243": "0xcef86a40ec92672a8472b2738bff6974da4c75e2550ab81e46bcf128039c8439", + "0x2446f5b114decfbaeeb0d959786e96ec525728147450280ae9564370e7571244": "0xe2b425ca9a0d99e4e5df5131bfc815348d2e67cb61c5750afc0c990a10bcae40", + "0x2451bc2f68741e9768a8d31b54e34b97a9af2ab0d78fbfc6dcb421d6029a2245": "0x2c2af5e14fa3aad48101d214e4f38b2b452eae2bd584eb273f63b46a94f8bce5", + "0x24637bf4afd9866b2867a35c551338c2daf0bc7b89877b5ff4234321596cc246": "0x06c434a2104fcaf7fb6eadf2cc8154738d537d1ed825d5f2230f22bb35c5ccd0", + "0x24723ef0a4b6ae3d1ec3c386a8a56001f89a4521ce4860349711a97df6422247": "0xe4e4900c0d12a6021852c823625706fe2da1c7c13fe85b874c87c5e970c09358", + "0x24805a7917c31bc93a36499f7dcb0ee261cc056acdb9298bd7dea9bb86e39248": "0xf36b0b5a2450dfd80276a261fa6e3475ce6a33e1090a233d36a4939c29860394", + "0x24983892c566127975f11895fe1fde397e4fcc16e9d2796899f3167f981c1249": "0x3858aae55ca59edcc4e90b3cc558b0ae2e99eaeae48e3627e9a83ca20714041a", + "0x250344885709e708f7baaa1860251ee89bb5d86c51f80a077be338d589225250": "0xd62384fd4c6e6a7a667fc9bc50079848897616f47bfaceee185b4d747f245cd1", + "0x25129c8d7c0f39e743e451a91756ea0c331f219543f89128c04b0c285cbb3251": "0x17eb9eca644e26b2d1b52d90335050b36a0465b180c2f63b1ae14e072d205b03", + "0x252c7bfe1dd2a2528bd08ced48422dc61f85c5dc59b4f4df488e5478f1341252": "0x5b5dab54002ad62d09c3d30df50777a743edf5d39c95f0a0f4c5a6b8c8027031", + "0x253f4ba594119703959751e2a19048a0c33eb7f52903f9ad4ed656776b6a7253": "0xebe976690c58e414d02043e51bbca159defbd84a12f4eaed16856cb2bb614b14", + "0x254c86fb7453c610ffa9628ebff60a0c5824eab6411a46843fed9d190c9ca254": "0x30cea15a4b132705f0a94ca1089e503e6d4abee026db87f0c72abe065536dfde", + "0x255f9e35ca58e73b6fb556bb2ad6d1437d0467936b165a50d7d1e4e020aa3255": "0x6e3a1baf68d1c5732e65b3ac0265cd34dc075f37b12f4e9219954e9eba39c419", + "0x2566aece54008e0edcb375b30d0bfdde254b796a7937e57cbf27a373fde7e256": "0xa8a171e192aab1d78fb3c93d54a720e958a696d45815d4f514b6334150f3d9b8", + "0x257d68c034a2424fae7d9e4d3fc2aac2a3ee24ad701df4e84214165330873257": "0xdc7d2681441a9aea415557a0f59e56071f074ffb0030c00db479ee83666b3172", + "0x258eddcd3d33606c94ceb797010447cef0d5edb1c87faab23d5e21dded1cd258": "0x20d748124d5b5b6a223c23dae513061ad63b3e13b480e4fadd4d6e09594f3083", + "0x259a53ae443610e862987f750764ddedb40b065b039c990ce4133ef728a87259": "0xef6457abd398e53f1d0ee2805a4be9647b3208eb03d5c5bbc5fbc3136ebae59d", + "0x2608a5b3b38c637ab181ed4e8ef63b027bc267b73051f7ff7315dcf6147c4260": "0x4a239e896856eb58f268e651b005edfe1337a31bc448bb248ad8b766e456e101", + "0x26196e9227355a081f1b7a9a071d4a8ff23282b2ec11d33f5849ba4e2981c261": "0x62d46d18ded9838a8ad488ce4ec443434063fdfd396733dbe71308c4a4947d67", + "0x2628cc913f2058324292e7019b5d1205579a7626b301b74f0746f30bd2de6262": "0x6a524875190a619384f40aa1e9f327975b1e0f23e99e1aaaf2337be142842013", + "0x263bc1745846b2c5908d5a8c014c2e74235a251f63cab6cc78283f1adcc00263": "0xfad50ec624d594b77d02d5c4b207a2c29016204e4662ed0b2beecf21e419df3c", + "0x264823421d0f908d9fff0053427e9db214ca6b73c42ef8875c6d6b561db51264": "0x1b319e91d524fb9506d708bfa70a5794cd33568e37ff2e0a011a3d99bfd15fc2", + "0x2655253d96fe2673542a40183a58e96c7b410e61c6f0c1ea28536cd46050c265": "0xe67f60ff4d954f790dfd86285c02c27bcc7bca6f56e55036547d2af7f49ff559", + "0x2669e52993b0a4b0f80e6e4507a2ee6e233a76550b8ba0aa769a4232a53cf266": "0x4a41783651373deb1267cdeb25a5fd3ac3c76467e0bc9d62ebde1b4914d839c7", + "0x267aa1ac48f429e486cd7ad10f807dec6fab3cef723577fdfc79e4ca00d2d267": "0xa74b8af48031fe317b21b3dc60a40a3a4fe29af8c365400dd33066a1662492dd", + "0x2689ee94fc85f15e9ca2b7e73e54dd1ce469acb2aca6aa95f414cd4d95365268": "0x75a04939cc903fd4fc5389e9706aecf12d2692f4a860e8802cba0c670b26d15e", + "0x2697b0bef36d1374ff8280e920f631d239fe5f13a5004039c976c7226ebec269": "0xeb25967ea779c1a29d2d9173b9f3ddb3ebb9244bfae976324a4d08282bc792f3", + "0x270b40a20942aba650d9cddbd3e064d56bf6dfcd65ed90d130120578ede7f270": "0x59a058389063a772c52c1fe15d0cc9107452c871f46ae1227a1c42dbfad3c78b", + "0x271d64d7664a3a79d1fc9a9bf5642000735974e2308cd341617a70b78beef271": "0xef10538305eba3baabf4519e7c87adf875a264e054934ee79d22c06afa17d771", + "0x272ba6d2172b5304926b8b841896313d17de48907ca34ce27daf1e84858e7272": "0x9a78982937bf04c692ea8b9efb191f4aa1dbc37fa67f859ac39a5e0c19ee1ca9", + "0x2739010cb049608ac0a910522c72039a60b43706a9c04f0deef91574dfe9a273": "0x76847409752af5741067fb85d25b5ae49fdfb285caec1e489f30143d1fc75547", + "0x2744cdb266aef7e8686427b16021813485e8321379c23ae2ed52a9ff0aa3b274": "0xbcd4d6adc3ca09c0a6b49df64607bac846991b6459fcb2e29c8a29d89927764b", + "0x2751d641f325533ebdae63107c13c41b58e7cd8b55ac1b0f653ec35fd56fc275": "0x620242e5578d03ccaf4e6fb9d3d837c8e709ff1c45427acd8b1a86c0608b68d9", + "0x27641fd28773f72173f161883503dfb779bf910b80ed3f09315605afcc6a8276": "0x004c8569424905e1ecc3a6030845695b2134c564c5831a8c27709c4e6d2f6b57", + "0x277693ef79fed8431109d985df027811c3de105300f9d4d47003b0f940fcc277": "0xe0f28ad09fe34f34e009e69d9b7a3c11a6e49407702a06f38ba6a38ea6456039", + "0x2789f04a2f087f7e36011e4de0adcce7ca829b91d43f7f1e69f12ded4920b278": "0xd0f0ea3e7be9085f32380e8a3b1c35c849ccc50472794b94a153db9d4a2e8828", + "0x27952d9c2c9e48ff564b4620389353ee2db2ed6bd3de0eac53756d84eea03279": "0x601dc00f2369bf0e6058713835e1be0be31967f68aa5a6246de2abb32afed916", + "0x28014dbd67c5db5db4c122132bb29e673d24dab667a8c58c2ec6088fe40e6280": "0xc4efb67016ca9c37d3a7b97c9990048a0390c09466d0ad520045568fd4b9b65b", + "0x281ae75902a5eb98857140471981bd8ed29f8523d56b69825a2bceaefefce281": "0x80f8d613ddafa4bbfbca0a396aafa0c7b476328bf055dfb16c00ae2e2352ce27", + "0x282cbfc330b623a34e822f0d0a921aeb274b83822795f6af739512ccfc56e282": "0x6c82f619f677210b4290b7a5336d4dc42d845449aad6c4ccb4390db7add625fa", + "0x283a31894d97b83490ff5b53df36ebefdde27c0e70bf2817b1669dcbb1a80283": "0x4af4eaa0d92b9de7e507843ddd74a4c024d8a4a48206b5d5fe531223474c7353", + "0x284546c5140d32f58037a6d3e85ad2fe820dd3274ed1f6a99fb5659da1435284": "0x8152196677f0d2d733f598216c1b2d5629337a0eb7cf63b7cc536f5054b843c4", + "0x2853e9ff637994cd1eca788225a4a4a3c2cf0ac6ebca230e7efcbcb3c018e285": "0xa003ba49e370d4750ae705ae908bf1ee53f803a907340104e506a7687b59d54c", + "0x286aed85e00cb84e9ce952d5a11fd557986c41949bdefb065f8b61a3e7058286": "0xd0cfdaa48d7d0cd2f369717b29e5dd1f32d47462f0d36a6382ba13a9dc6ae8ca", + "0x2875d1beaa71d8439c993cb8bc4333cb328e46d1f3d7e441d1d2ded48f87a287": "0xfb216c85db4c68235d99f6904a9d0b21a7af3d3687eaf8ab5b98724c8cd53718", + "0x288c68046aec8db3ea74c60a544788d5216bf4e3a52bcdd8a37a09e74a787288": "0x0e25ae14702dbee87fd3b9b796f0ff3d1a7b7f8a02755354b6c14595749a294b", + "0x2898682dfa7e4c81882c2950dc8af45c697321d93a4ae32c8e1252483953d289": "0x224b6b6fe74790c58ba787aced0193700c7fb475855bccd754f6527169fca9f3", + "0x290eae1218b02b7b7fca2dd81691208a3d52bb573ecef0f64a642f45cd799290": "0x56c4d39bf5a39a2b4c5e524a9a1f8261ec7fddd4fe64a3517eac790338810b51", + "0x2911038a3dadb2f1aba489c9094cebfc69f880d98cfd3426ca3f61e665bbb291": "0xfdaae352e279bc19095f1a21a2ef5d14628f8e386e04e0386b8cdab5689038ec", + "0x292d8145e2e0c00eb61e1199946177e1ff9b5d9ddb778fec19aeccbc8edd1292": "0xafc4cb7c7b0d579e81514fb1bfa35973dbb4f0ee0a64c1c87e867c3b88bc69f7", + "0x293922100c311d714c3c5a8cbd0a4980e357b53c8c366528e76ae48d07ca9293": "0x79bc162b2de288c94698c6b4031d66cdc2598d3ec3af3df042ae6f71549ce47a", + "0x294fba0e9c58466fcbb745ded34249b94b3bb39197f5a1e884497c8da7d54294": "0x36b54f9f3992e84f3556263fa5d9c60a9a78e08c4aafaf5c7f7605fba09eee6e", + "0x295861cb67b7b8ac3d1ac8b7b9382b63f0efbef0716775a96d4fcb7b491b6295": "0xdad92c5d0f6e035acf26d6344adc18e43add215f8dccb95d5a0df285a9485677", + "0x296950d00de5ed5080710e05c918e32ebafe5f2ade6839a02409c31e1e8bb296": "0x406cb78fde259c3b1cbb4faacf80c4d3eafc9bc11a127faf9470971c415e2ce6", + "0x29701508f5f0634b5f0451206bcc6f5e3cdb6a2f3546c4aa3634f3fc288bf297": "0xf14364ca97ca5f3c18aa37be057dc0936f765c529a2c38c1443752003b856ee5", + "0x2985eb111677265c46d064cd1f15acdb9ffa72151c650f601f561be9d17b7298": "0x22c4e42f3e714b6029ae987773e74fd11fa7c723c3858746d186985becbaedee", + "0x299a4df87340f597aeb5998fc614f551a731af9039cbb5ce14d0c5f6b9b30299": "0x41a1f1fb4ed0110c0f9a468ff1a13523c9ddec1b7f3d2ff3143d09f53ba9b721", + "0x30050772cc61598bf5a539ef146c029004a17bac6651fd3e8c2c0557ac92f300": "0xc53f0061b59a52ed4abea6ce4305b6f2d8106905379024ae4e4bbdb1ef35a224", + "0x301648f0e394aa27276db21034e990c32393580d58283a36403a30e01c3a5301": "0x3a2b2c35c517c38a03f082dc4acba94005b272cd31a2a5839354e44874424bab", + "0x302f61829b49746ad5c383613ad207949d87d3cac73e86f55bc2f46a2018e302": "0xed9f8455c54059bcbeba4f0946e944e7861f8ebd8caae14e8dac0645b7c6668f", + "0x303756dcff37a59e4b0c271bd560f9309d68bb96fb2a86b7b17ef7f7972e1303": "0x92aa23dabe78dc5ca5e02450d4a575e2afdab8eb616898a0ca61b493ca8a703c", + "0x304c477839801acf41460ec5618aa422b26481e72ef2c82725498b89c5d8a304": "0xbed26643095dcaeb20ed7e80f45f0aeb84f1ffbaf1c94ff1bf696cec83255774", + "0x305b9f47c8a227c657b0c44138f654b9f5afcd17c1709cb77b1e284c1310e305": "0xeef561ba5d1dc2f474afe3b1f6735c63c62a66b3343089020a2acdda29c5a68b", + "0x306f208febaa158c6b2ed158ffac85f6420535d6bec71a759e10c94cf2fcb306": "0x19f91b70d5dcfd27089c2e619fea8c3c33a5cc80e78ca5be092a4a6303e9b6c1", + "0x307184b190d6b3c2d7bc380f9abc7388190c9c9f688aafb7a24664b599942307": "0xd0795a0f1bb53e3a78a6332f482d508d7a14798e4f0ec349783f4c3176ad3606", + "0x308b7fc235ba688a45251a20062c52863d57a3aa796ad6be6218f09c98b07308": "0xd211081c7c893d5589b56392ac29b2c70c7765c8e7ac94612481005f45d294e1", + "0x309a9586251d53228b8970591e1d4bca98cdebad24ebccf4440f8c31b37db309": "0xd0ef9e42eefe3c6e25c458bb42ec2b550149674d2416df5198360a8b89fd2a92", + "0x310268b07ffc1ab22c5d27c8c0989b582920e593cc8330e11a79128c061f5310": "0xa7b078b08bedc41618b59ca0af65766526aaa9cbaa230b8b73b787116cd21a98", + "0x311bd7a0e5d7747e8b979d7e322ff2762a87f7e99f6bae8ebf5ab01d6dab1311": "0x0ee4b9b9729b6c8480ef6465b10f06dcf4d751eb3c02d73773e4729adc9cdb6f", + "0x31284b493f67ebc52a2754fb402c589c89bd10bf7c4d1ff4dc8fe87026115312": "0x08b204418fd9968e55b09caa7e6b071ad7c9435c43139b4f8641925ab7ad39a6", + "0x313d72ec98552d1beda72fb09dfaa2809b25a457744eda3c8f6e87032f4c1313": "0x67a4c49bb2862b4042382bdfa365b461721de901fa7273c24dd7034bf42bf883", + "0x314031b91cba41f55468dbf0d42cf299a8218a0536bc7deaf75081b64329b314": "0xb56f81c2a0405ef9722f3ed7e8c8a59eabb7a4b6646106bea04a3510a2a260fa", + "0x31518224dd7a0c898886304c91714c226bdf8486162ac14436ac73cafd947315": "0x3acafa6648d74caff9292554b5b73e07e1afbb095d3d85c847966657140e4d2c", + "0x31623fcd7d7651bfc9274d8c04e3eef1b5c40b7ab79a108ad3ec83e37c92e316": "0xbf72338b2777256dfd4109d19b45512dba11a97e9159d44988f52787c75aba99", + "0x317baa02ba6e7e601d8ac6ddbbf75f2a00420c07775e1bfa849b6b4657278317": "0x642877264d2f65196b12e10b79f4837e4c53ee879729afea85c223f783e9e9d4", + "0x318422afce58eb925eaaa4bb5582a905a5143adae857e13f146f4ade04f18318": "0x6671b470b18be1ad61706cd14617cb768dc1f765329a89486e835e85e98def30", + "0x319025f994590a0eeb37258d52d688351d07dbedbfd988cdae4c3f2e1303e319": "0x16be689098bfc776fa10792c8dc215ea3332053977ef5c591a6eb908ce7cc4e3", + "0x3202cc2ea13823345de790b5dbfe50a37be8a10e7679f9d4a60f4e4eb03ca320": "0x9084c4f24259b91a4d78d4bf567000ad777b1930d9ae2a608921d69cc0f2c161", + "0x3216ec8ba4d59970b00c277b20304a5f5072321993dd68b9299f7fd7b4747321": "0x751af15accb12c7f3bcb66af20e2221514c46d6a3aa47f984b6428483acb621a", + "0x322d1177942b94930a04d48d31990811049d0e39a8b22ef7544ea4af046c9322": "0x0dab2d6afa70cfcaec6921f9f77026616b04965c3fdeb6436b5915b880141883", + "0x3234087b63af886cbf5cc5979fdd387f78c6667c67381cce56c52cf679eeb323": "0xe04fe8d24f992d1fb62326b87f9963bc8726beffb63eae62bc00aad4b89b479d", + "0x324cdf5c6dac41876ab49dea0a18280eaac17d389bd838c595156dacdc057324": "0x2d49dbb2ac973640f501efda487aa6634821bcce7bde8ede55d994888447a8ff", + "0x325dcfac02eae3af31f57ca4094662208cbe11223c82ecd8bb06cd318a9a9325": "0xc37936fbf8a3cb4b19ab9069dcfa96373a9f558baaafd7e755ceb3b9b597c4b8", + "0x326fe1103810120e2400a1a464d122898f4336abfa87caa324b0feb0a6e09326": "0x60fa21c35e9084ddbccd51efb095770f1df5e0745351c842f88ddfe96be60367", + "0x3278489ac323003521e7580bc2c2acbfb875b11277329da3e9dfb3575f22e327": "0xf208246a2e040d9a88484e3dfa952d0f0d4745c9915615207334badb62604fac", + "0x328c05971735e31b05f400458a28f71998b5f57ed747b7c71b2aee12cbf14328": "0xaded20411fdc1e2d500be9e075dbfa4cf4edf08ff5d0a962b887495d71af0729", + "0x329fecdd74b455df335f6fb10b43cdc1107538047caec68084115650cc8b2329": "0x043799e937295962a3279637b14e8e61b4946abad6332e559965b96718d449a6", + "0x33013590283e83f24f440c5319eec9089ec45e1d5b498f60359c71d758677330": "0x7e3f07f958102657404b4c628f3970a18123befaa4ed24238f6740db4d204a1d", + "0x331c7b777b36d653c3482c8e1a618803854dfd256ffc9514975d2e556e358331": "0x45b7d97ac647bdbb0740daa971f32eb90cc855a27e5df0c54202e07927212413", + "0x332419cbf23f0d4c743cef876281243dd0ea06ab21e90b822eaa0e59a054d332": "0x77d3be2e2998c182b901f818f96f916877ba0d6e25897d96a9c02241c0dadeef", + "0x333062356efd6e60c36ce6d86bbb7d8fb3be5117e69fcb8dc9190e987a976333": "0x90944dc51c9c56a6535df946c6e23619e550cd09c64342996f4dec7e0f872edb", + "0x334e10de5f9b103891b9a3ac7056ebe5ed473c52804941d773058abac8ea3334": "0x5c20b135a9b7baaba0933f519f2e8fe4c9a28a0396487068caf6cbdd06e7f38a", + "0x335f21df11ce7c35a511653076f761b68aa437b57b76bf31bf64a2e06cb0e335": "0x1a8122109225a1a2e9ada2ee111f0ac893f99123617ebd9e6efc1a9b56a9dcf2", + "0x336d720e26043ed3a9f56dc9c0f9cc381375109ccd6fc7c512e651169ace6336": "0x8123129ea115d288c1d14e05e70b1a06d8989d28937fe59d7ad61c1ef1ee3205", + "0x3376cee8457ea9ce534cdad88a09de5288f9b6fc18cd77d7a11fb70aa66c4337": "0x1cbace4c9f7b4a06412b142330cdda522629e1b2ec4abeed2eeac8e9a8d0ea72", + "0x338494ac8ceb3beb5ceb6b894c414e8588135a70c24fcf482b00a9b1a618b338": "0xe47a9b23c30b4b74f53413c321d564273098e79976b0fdb37ec5268dcccbd87d", + "0x339dd80e2a7ab61a4d0a2181dc247928547351b16fcee3c995d793a6f3d78339": "0x9c0ee9391c7d48de18b77a7621cc3fe9ddfa2b22c2de59be73807f64d0d9d2b7", + "0x3401801ed5b69d1636b89d141c427f71860dd395e47e94526cb847e792c72340": "0x1fe779190b74a6390c1e9ccbcf52176e05529e2b19b25bebfa477fe946b1477d", + "0x341de80b17f19860ad468a73af53be129c739ffdba6077808612362c6444d341": "0x7f94bde6d4333584dafbcb830d0e72a16706e54715de335313f69f149965201d", + "0x3421bca870ddf04d0adff6aa376af4261f1e945f7c051926ca09352a5474b342": "0xdf0d51256bccb267b1b757098d6bb85bd56739290a46b6a39b1a2652989c8fb7", + "0x343b58b98e5a8b817e045d3f1a92eab9e331c241fa42ed0e8857771e38e76343": "0xc3d976d99a7b214573a816cb7c143cdb5dccd5e9d32e5a0522da0ad9888dc71b", + "0x34427b35ab8eab9056ab7bdd69c6c05a08a14803482aa01f5d6a6d55ea733344": "0x4d1be1526bda629e522bf59f8a0f6a49323edff5520b50e31dca6e2a7cb41195", + "0x34529bd85e1ee08c6be25a0564519b8d4831a6a3d5709ff05438b6d16d693345": "0xf269e8aa8b81b154c6b179b3b037db35082829bd1f825f2efb24ba0a0d216d74", + "0x34602e0d07adf27fbca90e9bebc7f97236476d21d68c6b3685360a23ec404346": "0xb37197aafb48578ded63cc5f95a3ae1ab508a49381454fac662ddae372527e25", + "0x34729278a53c33a0730e940fff0c99710636f9a8649dc334665c805b7c354347": "0x67213f2e427f31154b96f47c88af939bb6bab872407a5addbf93a7556780b647", + "0x34819bf9c578342f52d5652893b8906caa9325a46535d7381ca868ddd3191348": "0xe2aef425d589c89c1712f9a3ae842b91c3a171db4b4ad8040dc988ff8e6a3577", + "0x349001ffab1cc735001f9d5d3ca1014feaab4405a76a437f99986eb1baf6c349": "0xb2d7f4f9cf0acc1a29f0d154c59bb0812ddc4b614e757135ca46b0a8144db93d", + "0x35004180412a4884bba5d8b65c149df6ce1d49c016dc4984e0015b7cdd192350": "0x926127a1a430de0a818a419f6d2f85d90cb4e9d4da596b8a83263122b9d2f038", + "0x351d9cf7451715b3e796273f8923bd98d507cd999c62de355f371122ead2b351": "0xcb03254a8d9380271b1c0b9855eb3911c5d7e652e23c52679ebf1600d29d0827", + "0x352674689bd01da870a87cfe4d807219856787c1dbf82afcbe96cc6cf91fe352": "0x19b08451bd1eb94495619eaf6c478953718d52347276328920ae8f4290cb16bb", + "0x353c050f1af1b4258c3b9a8e1afe9273a1001aec401766949fabe3db89095353": "0x64d6e2e6916f56898231042af12214998336336fb60e09588d5993c7f127e16b", + "0x3548c021e5dc3222dd8c05c770a0e1a331ae783d402f05c80b721e2087f47354": "0xbb1051d309f051550498bd2aa0f966d1e1b06eb8148f0cd46c51f8e858260f0f", + "0x3557fe20232dd2c72cb06a6d45b372850c886efbab4c416f746eddb61f7e9355": "0x69cca02c0c76547bd318c28337a65f7208020c1368b75c7bb8bf9dfe3856bb54", + "0x35652e2592387149d235a3e16ac1333f8db4dcde127bff9e821d1104020d5356": "0xf12d974eb9a8b7d60baa61dc4e498c4afa699c5bda75cd5b14d1aed3e717b5c8", + "0x357ea2c281c045949d167638d089efbb840a9ae63577f049f52fdd92b2c23357": "0xa8c2bee0955a9aa00b1b3ca302fbeae51ea23ed40ea7f9b50fc25d472a8529b0", + "0x358568e45ed636bd7536e8ec774e5a01e55dfaeba0adb1ae5b3b166d4e476358": "0x7125666dc506f6f0ceb1fa02eab86817dd4ed5fad0b532cb603936950b7ad904", + "0x359ff5a6cc3e19a5b766c94203364852fae2a8e35d7c35833d01b9dffaecd359": "0x3b6b3135eadb8bd85d3c0def31cf2293cf6dab83cad7ad3c19217f83fb1e9488", + "0x360c39beadb8dbeabe9010210780a1d33cee0885be31ffaf82532ce38ea38360": "0x5ea5f32be9b3d5e9cc7d6ba5202fa8c73563e848731912120df57555a9f4cbfc", + "0x3614432fffb2dae3e03ec7c302f80ea4bbe61e2aa11628b0a4b2e69159970361": "0x7d14701f5392a0a158595af42ff9ccc9188ce3426374aa42a3ae089774edbe04", + "0x362651200c44253740e4a9c476ab7f7abada86279665814090cc82fa8085e362": "0x85ec83b6c45c5be1f0a4f06de16b6598bdf4e380c6b4b98ef09316eb445ba6c8", + "0x3631fb2a22205eec82e0aaa7157f4a0d68f5e32bc722deaf8c9e31403ff36363": "0x4704db24c7f165625206f4a56c1dad9cef962f7882e136ec3eab8ba799fe1b59", + "0x364dbd6957dd5d49eaf0389fa0c922291e620670ddeb5abc7fbd59b174fc5364": "0xfc5a913785a7867decb4e6eb59eb11975fcc48e44aa0e30f76d95f243c068b30", + "0x3653325fea0dd83ca98e5d79a0eabdc9e60747c54187aa15bb7d635d3f58f365": "0xe0090bb3685d5ac4bc7de1d5d091b46f17d46d26797bbcc1f756db50d30cff66", + "0x366e64e3f2e1074a90854945c6064424543578de0395277de696566f4b6a7366": "0x1e262fa4436dafb367a7d3535b0fb757266a39a32151ba1af02d3582fdf19455", + "0x367906177ee10d480ebd4f057839bed0f1e368be9f1cb9543c8cac43df8d2367": "0xa0c72e20ef37923b6ec2d740d25aff404b8be374a154a6cdb471f3c308e7073a", + "0x368ff690ee056510727b04ebafd9546e2690f401f3b5384e9e3d6dd09af7f368": "0x3063ffd6e11305f66f4391ae254fecd90a8647fd20a63cfb0312908c399932eb", + "0x3692d4954d16e68605e770e69b27515e81b91c672b1191c1cb2e1fd81f260369": "0x5f204bc110c99ecb4b6c1c10b3926fb6907c79b15940b4a31d77ff423e744f8d", + "0x3706e77f9ca8e533ce59991d3922678092aa4f3cd8f66c30dcc53f6ea0fa3370": "0x038e3d685f529d4cde38ffe7c58cad510272e78361527b731f9c4d9979443a1f", + "0x371bbfcb328512b8d937929964ea9e61dd21b2a41843dc7afbc76e0469980371": "0xe1d18e8bbca33474194e7cc63df3157e09b6ad0beff7530ef8ab81bb868b52f8", + "0x3726b741ed262e4cf0e6ad5079857c2b01f728e8ad7a3a040147ff0fea771372": "0x3ab12abd77064ec4313fdfcc1a010f70355594ecfaa4446cf529b39c645982b8", + "0x37354d912d0d02e7ff5527772bbb9ace6014675fa811d6cba9f2583aca5a7373": "0xdfe242a8a6de1c91a68854b49fc400a7c9d2b354f1540cc3d080e97e178ccaec", + "0x37403275b9056571ea48a169d68dad2be349eb3075547606ead049bddc899374": "0xa08bad3054338fc53b69b080582eeb64891daa21e6e4231e069558fb400e502b", + "0x3754e361f5db11ea3f80f6971855df7a776129a2ed15cf782352d7ec00c61375": "0xdfb52b16f0f1182ae67d58f2e2672edefd10b3f2e53e659fdb0fd92f54745719", + "0x376a47d3a57a43f1f5f1930c5dfa7480bf30f96b201f1d8c0c27bc9d51cf9376": "0x3bbb44975dbc4f3dda9e5adf6a9ca795b8690c1903ddc1da668e4cd71a353864", + "0x377dc6df4899fb0ab7386f6d11fd1fd81bcba09dcdc3b6b2d7127cc02a299377": "0x341aab18c847891be38658cc24b716a4f3407296e8d47971028d5bdd92cae6e4", + "0x378d7d004cef58e82c1b12412ffc2e4c2cd327560b9223bf21732e4f90b96378": "0x0e86a407737ac042cc75256b41e1eaf3ff80d595a8c61bff8a936cfe000aa6bb", + "0x37995e3c7f113f68d1c94bb2f9ec9f0075cf927ada100d9c09ca30d63b0f3379": "0x03bc6205416f5c19af62d4e5e68850c861c34782db4b1ad115998d5b644b20d9", + "0x3801d4c5e8bd79d939d64370d5e3f57faaf01e598450a128afb77d06c7f80380": "0xbf219de3a26620ee6727ac357a8fe56fe527e965e56ddbdf7f7efa182f58c45b", + "0x3813c7948bb718f5cc0dbc7bd0c179316ad20ad7f2f131e379a244eba1947381": "0x7f0b990b1bd01c468bdecbeebe85a84bb21f8cff5c38c6b9dcf52f940d000b7b", + "0x3827f7d15bf6c6febfca295127766aa321baa37bfdd405868d0589861601c382": "0xbdf7823531f6ac5746ab1d8aca089bf8cfcb41d6949b8e07ebd741889fe7cb55", + "0x383641a1dc2b35351b77448653acf6f1481c86131370207c4052ea088ff7e383": "0xc5b76708e9365e4775bbf77700728afe4d7c99744002fb60463b3abe36645e62", + "0x38483d6847c9e1d54f0563b539608f7886d0ef7b6367bb80afb1685b17a8a384": "0x304506c3c2aa2f8a7f4cca38370a93d6adda2298fb8f0ab897d879631ca63845", + "0x385a0d45f778efe746f4a33b364bd11b1198026b7b177d24230ddc80010f3385": "0x9b973d90d5d708cc7acc0fb878f36a8230e78fcd91b1951123bf42d576ebfd2d", + "0x3867aca6f80a788340e942764cd9b144291976721385a2372e0393d4d5b4c386": "0xebd5d342f66aa02f0e63be52391fed8df0aea92228b487ec30a652a7b6e07bc9", + "0x387bf574c63b13dd7d9300d61b2ad4e9f6194e572b9f70d485fcd19055b0b387": "0xf3045add813ecd946cecc72889ac01b90df24fc8eab284a19f945a1291c6c230", + "0x388496ee66882c07cd372dcfd85a90b7a0b844f6f0608d3a134ff31da6e1d388": "0xcd816e6f7ecb301f75b1bb2db641466aff7b020a07802f0179f7bcf6902f6807", + "0x389055205c889b3b3b7aa67520018694b8b59e9997fcf30883d49cab89161389": "0xeb3428b0ca8d04f11cd3e927b4b5cab1a4608bbb84f111b6a8fb9e8b71aa8720", + "0x3907f17ff37e26c2ef1196b027a433e84e07a68669dcaef42298435f93417390": "0x425ace6bfcb8f6e14387c007fb0d85b56d6f0bf6d9dbb3349dda98bfe1b95200", + "0x3913751d0281188154557b3cdb0d799751943e808f22501133509ae91bb44391": "0x15e619ff8b26a8c15589d8d82775e750db14cb62c55750019fd98fa350eef509", + "0x392ee305b463e06aa60a9ab12e5f9669b4f5e6a7c0e50799abee1a2168857392": "0x9bfa8cf3506e77075fe2827f79f456f0eff0480184d770f51bac2ca03fa1aba2", + "0x3932248720b56a55772fceab63972a086b200fdb9634887dd518ef49e4edc393": "0xf44ecfb2754e3b4f3cf4021aa414d3740a31738468927290ef5195a5ae5d266f", + "0x394f61adb8413d46c4aa2186f6704c6e64854a8c824de735b5402e944dc9b394": "0x4ae1b02d219f55cf7588a6366d7531b88883c898d8e600b68dca6872d6eb87e7", + "0x39515155233fc637ab3956fe03203c81b0a3da01e539a916c93c9ba3215fb395": "0x039880f922b2d8a98b8c0d1a7385f65813ff6de75634e367bd59e29bfa4fd34e", + "0x39655485021013381628fe7e328ecd6013a2f4ad5d1a5ac2b85ab77132177396": "0x85a889ccbf2aa372c5f31fe57a3861c2d0056e481eb0f96ee365d6623a147c15", + "0x397cea678e66fd43c240cff3916b5129b7c90522692568116179ce2ea82c3397": "0xf4747fd6974f506538d50c304eefcb3a397f1403ea3285d3a98921e7cf5b2093", + "0x398f3d66fc410be69398e5f950c89bf742dfc85c2abedd8eb8898ee9a671d398": "0xdc6136ed63c5a707c77f1ab7805ac36711789a2bbf3ab2619ea7924d9fcbacca", + "0x39905c7964840cf3e494c40d27b7401a1ad2de48898c3be715727808e190e399": "0x4160ce4a4827d0684738293e6e08ead72c6360432f81ba9d4c13c8232e339250", + "0x40019b4239c5d88a0c7d4606437256b72554f4bf3843960f6b88cfa20676a400": "0x6aee35dac473a8cc74f66bee89358350066f81cabd2d3d57bd3cac8723681ade", + "0x40184f3854ed12df981c38ff97fcd12b24355d6d1881013889660e83f6d56401": "0x8c522dc3323e0dcc53583a3b24d98e5dad29de58ff2cf5817d61c20439745d08", + "0x4029e8b473eee6e8a0fd56bc9ae45e1746598a4a1bfdc9e7a663a8c1ac304402": "0x4af7579f38e3ae5bbca8be146a93027cc6f50430542f9a9340241dbc7252008e", + "0x4034cae573baab87ac3b6cbb15f0bd4a3d848a879dfc2e43fc67da9a12257403": "0x92afe8d6b6a9ef2c5245a34549a55a63fa52037d5f256422d2f117cf3a37acd4", + "0x404573c0686b681482e942ea052fc85d188f0d4e9b730386e402c2ab74699404": "0x53c110d1794f32c5217c54c276d4e30a7fcdc77cb858ab905675ae81f685c16b", + "0x40570d4829b4db4f339bd92cf2b2d185c27d688233c881226aa7653d22662405": "0xe9cb3493af7839ed6593e6fe6c5688397111b81d7a7dcde7b462b3abd512e663", + "0x406681dd28f1b679ecb67d21c9e37453c40f675bf310d4a33733302a05679406": "0x7010ec5b455e293a77932b2e3406e3eb938f8d895ad1a69004647fc6dcf158c9", + "0x407977b4b859428eb7b6bbd311538a6da21a665de125dd5672c608d281f70407": "0x989c654fb392f688cf472d56f308507dcf26929e84ce3998769d64cb34c9ada1", + "0x4080ee96dee55a8cf3e10ece1daff4e056c138cd2d937d6cfdc830e45e2fe408": "0x5b7cebf7fd9e2894ec3a74d3dd0f5e7cfc4ff781e8ef7a67e4dc71568e569bdf", + "0x40924e26c796b7d53445a34179c9ff5413b33bc1446bfd681baea7657daa9409": "0x673ac4b429fb54c6aeb60977840f5ff149fe2bfe216e3c121bcc337c68d28b32", + "0x4107f903e2c4b6e34f5297ccb16eb9f57e6934b8bf7b33905ec1e79281f0c410": "0xa2de05e805aaf99ab6ff3b73115cb9e43ef2e704d6605cfa9e6718ee3e577326", + "0x4111a569642bef0ab10997ab92ace339482e982b1f744951b0fba5a93333f411": "0xa67d65458128349db7109d89c4ef9814ede3c3a746386a8f8f630df6152a0f05", + "0x4129aff7d9c29813481488a1aab83ca945ef5caa6eb8bcb1b94d2af7fad2c412": "0x6a90f2403a5ad3daf700d5465138d3048fb56427daea763d1b4958be8cdf63c9", + "0x4138e9294b67cc11596501066a841ae63481fc690a085752a046cc702a106413": "0x1f1831a65619bc1cbe363161da5fdb198b1e8b369ca281a3092fd95d7cd42286", + "0x4142aab625cf1eb79fc46fc60fb598b3f7c80bbf2c7753436caffda85969c414": "0xbcfbb064e38ea8caec44c20f7d2e4d60a4075289b00fc638b3ada94a27c6a680", + "0x415d426aba3d14db9b9beaed8dddd8debd8e9a673d4a33610cf8bd01f43d5415": "0x745ccb9d778f08f7a576f5b2150eec4adbe3f0b54e8efaf277442718c33216d7", + "0x416e90cf62531084d6c24e6bf31306d45f2b9ead731d51ebdf0dcb3e9b948416": "0x4220387d754091f39cf53256884114c4496f3693893efc936bd0e5d83b9c5776", + "0x417e8a227afee46d6f03e9ac240cd9409e537d4cbdd3b658cfbb3b75cf242417": "0xd8a53c48374f49671b0c04cb880621dff89b2219bdcc48f1ef1de30d99fb1f36", + "0x418655935ccf95cb623538c24a5519331daeccdd2172c931d2c32573bfb1b418": "0x86298079e9fd3b14471b433abfd2265f5941a639214e3d57928acfc8e447066a", + "0x419b4640f93be16eed55ba3429349e866f072484e54332feee28c83b0e17d419": "0x9602997b20476ef058b280e7f13035794b96dd911cf6bdff0ad760146f937209", + "0x420f47cc37bdacd495039586e4e061fd18f88bccce9e48c90b8434a5fc42d420": "0x0696628ad2c7b6ae63dbcff0947455937ad3fd968ed03bc258ba2e00fa9558c4", + "0x421c68ff8c5b87fc0f32445039c7d407ea60290bb88d2f17aba1fcce4bf3d421": "0x34da0b6ce6b8c433c33d7871cf253320d7d4389ecd11512ca2017b2ff64e073a", + "0x42248fcaddc21c36ab3d25e6a54d8a1b5c05db0959338b44e8c03678b6900422": "0xc8cbdaa7a60f0050bccedfb23adad7c18bc8672e0a0c41817827605fe56d012c", + "0x4235a65f3bff24d870ba2e26f1ea12fed42999170b943f0c51530e88ca5f2423": "0x5ebb15a0ba038bf55430fee5a4a8781d75935b536d8e699c8bb438c49a6d45f4", + "0x424be9b4e1a906b90fb858821cc249aa0d88955cf781c515f90f83489a061424": "0x34435ed090432d399fe81090af290a22da90e5749318427b9461f366ff678627", + "0x425cb9470484745d78e12d17b6821c2f9f578eac96701cce9ca3f58e48693425": "0xf7ab16620248f034eb75dc1b30b4cab161a00c36e39322f3e55036667450c4d3", + "0x426aa4cdf7db98ff05a95ad2e569d2e19c2730b90c8e87b061ca0ebb54ed2426": "0x415c4963e52bd23557b2413ae0c09fc370e5853912f40b224d2c8155b9c41d21", + "0x4277bb7842b6bab604c3829f999a944deb3c83200271eae2ab430ed789674427": "0x3e588468642b27239aa3a0e622f4a53e4718066bbf7655c561c5aff74bcc56ee", + "0x4282dd221478de1b6f0a6d64d82221c2ef17d6248761b8e88b99d1fb42fe1428": "0x3fa242b602c59d3661634598f6bc67e8c3c14ea9cc2cec65d20b2c095112abb2", + "0x429df6ac310b341a05b2163d09e6f49754bea820aaa035c46d6885a4c3dc2429": "0x46a262299520608ecad816a1eebd9eaff248fba6def85838a1e1fc7702437ca9", + "0x430f4858d02d35982b933c4c7002e06560d947b3b1a0bd6a49df51a0fd8fa430": "0x819e95b822c85375a4fa83e01d60653d11cdf4caf523a421e8ee616a13b7b126", + "0x4316125d7fcfb5e54492a510a4f6bd7486aae1365ad052cc3c32df4a6dffb431": "0x7e7d3c5919e6cb271cbd29bf3397e02d54552dbc71c866ae60c85cc1acaf929a", + "0x432174b8535dfd22855cd858bd82c51a1de6f3708de14160b29370346edb8432": "0xc348d607f31620217c973465a7f57d48b388bfd1aa389224449d01e6976f6692", + "0x433a70b55e19f0e9b80e2c7a9f7adc43915eb3dbdee0ff21a35c6ab93f660433": "0x922df2f40251ce034bd5f9cda0265823193e76e65912eb832f239e99119cd2e8", + "0x434a2535e613ea2b22a4752dc8d4859c7beabbce089b63c7453219c1e8ae2434": "0x7908f39aa557f6e530064f8051595faa5fc1facf030599d77025a1c56aac5e85", + "0x435b4fff55bfa264c254a156d93888b56c1042870dea7b3e0e9ca27e09270435": "0x4229faba4a86e1c89f42321f2553d64881f8744ad49d97163ccdd3056cef2271", + "0x43601c8e913721c582630bd331c6fe856d70850cf83aae374f59389dbd92b436": "0x80a58ddd37d6e4b40f638f7474d0c6325867ba897640f774f8e2f33b984a3852", + "0x43715b126717af538c1542ebca86f12442203c5422806cdc98e8582b028ab437": "0x330e0705aee564e1ee526b22fce2b70d187838733ae750331b5240ff15583905", + "0x438ed4b67eabc762d88b11b5f5f1543bc6246319b9fe9aae888b1b9a785d4438": "0xb2c5b2874a1f34a1a74909671b68b5c23670d42122f42a5a642ca1726f61d27c", + "0x439b3558e0dfa49d0186661eba7044afccca685617df8f61425d36b8743ad439": "0x7e9354cd02cc326b4f61b6d14e29770c14c7eaca73696fcb74d301eb34333817", + "0x44059261da7da9533f4d9d342d5237d9d65f74e085acda95f8295304fb596440": "0x1332ba1b242a4b98ed2be29afc2220b953cb03e1e57890b9542e837e28e1aa07", + "0x4411644698c9d243b3d694899e85ef62245f829cddbd49617783bcc4a7c8b441": "0xdd213aeaf3eb2c4389519416b8a84d59405f1d4ac7ca3d921891181deee9ce74", + "0x442305d1e854550ea6acf211c203d4551f7ae454655b3ab55617e32c49fc9442": "0xe859f5485c4635157617c0b11b97e1fa7adb91b57a9fcf5b2be974b298489b85", + "0x443ac3d895695c311c2941c6fa973d8cf34ee6bc3b12e6f27b467df0a5f0a443": "0xee983f2579d68cc7228b5404259f31331e73e4916fede33a7764b242920c12c4", + "0x4445833eb027975c87be503fe7f4330150e76e6bd47fe10c7d61f6e6eab9e444": "0x2ca915f449e50ee148e544a1af5fa7a17d19c5d977af4bdb1a4bd0d44aa94214", + "0x44568c0957c3091236b8c0143b732c08f65cc82c1aa6cda004e0d17ad48c2445": "0x5e4a73382dd287da13356544b554746f04458704a6142389de98e065eac94efe", + "0x44605d6a8dc3bb771afb7e5092feb02da997dfea7e249345bfe79e3015173446": "0xa4905e460d66e14b785ecc5b92b7e1f37c05d8aaf70e25951a3c55e5747f1f9d", + "0x44719f44c8a1d6183019c50362c22e71475e49d46e4614fed8ff137a9cd5a447": "0xa18d78f292240594abb277bf49eedb4a627291544b453c2833782a06d3d34a68", + "0x448ccb4ab815121db700ab47bd7cf6a1e0c7a4c833fc1d73a3c7b3ba8e977448": "0xcdaa9eec4662cbd87b933d6b76a99b7125f4153dba13bcb230c7c3c769f3bbee", + "0x44990cce22881f9beca5d41ea69a68b8c47561bba9327aeafe82c401d7235449": "0x1328ce99c899a27b9c6dc552515d85c016391dd96cbcd0b2e1195b3545c42f20", + "0x450f16f9859c2d76ecb271ac0a31897f19e635b4ac1965a69280d57f2fad5450": "0x0bc4ed225bcf8f58ba4003e9fb97da31ac3db007028d2d09d907bf764f622ba8", + "0x4519edb4a9fb9a730fe9ba8a4dd4c6990fa31b8691545f22b0b3104a8d558451": "0x54bcf6a34c07779b43f40f8b84e5cf9d334558bc51d3bdd740b7f6478d63aa4d", + "0x452c43ca32b46761d61e0776b1012daf5f48fd35671e7565567177bc17362452": "0x096b7f86302c4114ee8d0c394788c9861e05605934666b410b638f1998e48397", + "0x4531ca4f94cb0aa6ee71fe9048b361421bbf54c8afcc513de47b643ff279f453": "0x47a8454e964d392ed26298c53d789969eef384fc00ce55eb28cfe842688306f1", + "0x454d30967ad6802260d6a5aac685f342773d6fd48eb909eb5cab9bcb6d0e5454": "0x4fc8e7f5cff986084a921c3ebf50f5f4b2d7a65595e609cc34c20eda6e7f0247", + "0x455be549da6ab5c8ff812df164dbd18e3d980d18ac4f33b1fe9cefa964839455": "0x12e283445e50c2f8b54f00e43a1c52b3ff0e81cbeb440167d55c6f7d17779941", + "0x456b8e2c0392e5f53b115587cd215da3f575c1de05ddf37a710468bf811fe456": "0x3cda000c059076ead58d6384d1eea895d29eb07f75d489ef2b51f3b7b629d1ff", + "0x457f5a36f9fa3cd11a09fd6f46a0d277419b9ecb0fe6e68c3a2834bd0fd44457": "0x1ebb90baa995fb57b5778db16403d2ce815c874e0407ecfd3519052cb025daa7", + "0x45871b78d61371018c55dc5b24b1fb4d6bfcc1a29a6544ce90e5f15bfe5a8458": "0xa914472caeaa578a14eb04405bf2cf91ec9c6e01ff4c63dbce018a7f458919c0", + "0x459e0118489b24c96d05f8d279398d3e493ebe426ae13f8ec54f33f20af80459": "0xd0a3865414603649befb1c3c78248760cd0221e456d7890f4bb51c2bc55efb7d", + "0x460aabb8289e5b9d2ab427b723d4474e5eeba35769a04752ca27158e44721460": "0xc99a6f66e82c90d1a27f463018e4b1a3cdd5e8049e545a3d7c67795d6a9f4237", + "0x461b2d29965f22a78f54740af123fb72a8f7c666c6ace65cd9c3a449cf767461": "0x9a071f8c7d46f594993de57e48954cef925829a19b432d229adc8ac382601203", + "0x462b521d645e16f8ed16c7512108f5be7fbdbff4ab1abb9595724c2e4f26b462": "0x217412d115947e7e01a63117bf863724db80f4cfe9bef261797a9d57adbbdd21", + "0x4639c71d5f37304abe22750994f548bb2d6cb96cf3610100d7637c03b786c463": "0x13525372f062da4e40569dd8c715eacb68b926ab1c7022427701a37d8734e9a8", + "0x464f05cbac359207c1f250593192c8ee18cd42c8f0f220d8a3b95334fc6a6464": "0x765b57ccb447948f9244f762d35b3414bd18933ce7a82bb0b6e20a51ee4073bb", + "0x465b702cbcfea2b99bb4964d4ba6276fb2a9dc1912b8b8e7755c569d05fb9465": "0x0d856f53f1fdef34ee1016c001c875722d02357aff7778c140af8e8f5e7f3cab", + "0x466b9476ec7d746a2399a52984785b3ae923ffcf557f3fc4b5cf2c34e84b7466": "0x9a39f90f6c4937b3d3bf72d35bb0ba00937f6242567dc49636170b6d25672e53", + "0x46700814fbe2d0146e9a6e653de8a919a362f0d172acd423c519add01100c467": "0x4622ca2b7cea5877838722d94215dba3361cc6dffc464302246a384ae9058245", + "0x4680da787721e64173d6376da110f92c00dc7b76969dd82226a0200d4816b468": "0x903ac2fddc003ef9067e0a1685b04e0b07232533b3d7c363131badae43aa8d48", + "0x46946e0ad001d587a2844062ebe904a9e82b0505b6d54850bfa6393508561469": "0xda378de5956719d858b5d7dc7a3d8ca89bcb5c631be041c4c2bdb964680a8258", + "0x4704847a4930901c300821f8d7d060fdb761abea7a788167fa3985cf43879470": "0xaa51b56ce58a5b39e18f8b047a668e76974b3dbed32b30214bab080f7753d9a8", + "0x471229863b509abd1a3d4a2518f165e7aeff2419066110a320d2f87e36d7a471": "0x25949c185206cf652b8ea92942c3bf23ad62da7ff4f51a4bc53b132358cf3bb2", + "0x4724a17bd3d7be51cf6d789c50b10a49e39cd5f026b80f115dd792f71022c472": "0xd11417c321e033562c8828e14ddd0abc4d7e254aa5d571658958451c7460db8a", + "0x47396d6da4d4511fe283cd4ca2bc4042ce57da90a8cf8873da710604ca916473": "0xde1dc158fdd03e34f42f389663862ac790f5ba6df5216ebf94ba23b951178f3b", + "0x4745f6e39d85f6e9f519ccc78ba482faabbc6b131636d8646ec8a525b2ebe474": "0xe7afbfea5d1cafafcdacb8255681b0b7146ede0d816ebb1e8fd77a871fe11adf", + "0x475cb169df69ac2d518642804f763fa7a5bed580fa376ec9744d59ebe9c10475": "0x3ab8be464847a66f4aa6e48a20fb906e0dbabf9dfe391f1b85bc04ba69ea334d", + "0x47627c31423e6d6d21cff99823c758c6ecfc525e86a43557a0fcb9c344555476": "0x19e6e2e8b9e9a207bf5adfc8ed10aa4916c20825356c966ef19d76a0ba28dcc8", + "0x477ada4217c2999bb02dc435b1a8eea1ec67e856e211d90b78e9e9b5c143e477": "0xd7c3b8c4b021c3b81aa44a7817fb8ed7fbe720f471170ff125814f02fad2f04b", + "0x4780c8446f8bcac45d5a9e3762ac96ac72a25a208db2964ddc7e34a530df0478": "0xf7d1fd3046d436a05435f192e5d49391e085519bfff5d506ffc968547ccbd660", + "0x479b1c46a5c71b73c011494729d27d4ea6797dea9024fa454994eba65c576479": "0x63532952726f4192847db527c9d9cc84b39175d3802080b62f0cf5ebeaa79349", + "0x48078e9c689c60dd145569d62a3c6b44e06b73f65417ddb2770d2fb678d94480": "0x45de96c43f9330666a682073f72a178834fb3bad13f81fb59c397666ce0d10f6", + "0x48175793c7fa544ff3af14e7a18acf83e8f70ba523289f62620076cebd41e481": "0x822552214c151f1f48627bb788436e2a485193b841f3babdf8bdf2dc81c14796", + "0x4823f09292de3ee0e480f8a9d2daa7e64f73f7a50fa8c3674ca9a60494caf482": "0x05a559620dc26520e8d035cffd743c9fdb904bc06c6afd0e167c07a48f21dfee", + "0x483a09cfade7454807630ddb233e42bdc5bda5aba9fbf4af6d282d3f0b8ee483": "0xb2fb694e7f842a515872736c3c8fb3063cbb4e1ef3745a2521c6e2be5a7499c4", + "0x4845de925ca0ef003f315043e595e4bd3aadaa5acd87dab45184ad4b2066c484": "0xfd905ac76849a2fb5515ba5d8b235e3437cad9d0fa912a744901e282c798fd68", + "0x48595767962be01f2ea44979abb846c85560f3e25e664c05bd1e9bfbe04b6485": "0xf44b69f79c41c9e3d0894bad20352fde58844b726474cd312ced9ae3f196eca4", + "0x4865f3bc394ac017af69d096c81bae7cc67c3d93d2e7e0f8cc17fb703ef2e486": "0x652974942c3108e1e2aa0d68dc0f0727e2530cca0a394923a92138149edd012d", + "0x487b3def95db31340c7aba8c66bc2edfb5d0f2328d5c88bb77e60b8f7c9ef487": "0x83f1de6487b6e51cf819786f39faf1c1f9d062afc2ff22f831f702119d5b3459", + "0x488b9a6c2f7ec28bb55a7ed7ea2b654b2544c25aae2cc885a5293d2ea2c94488": "0xc759ece76c011a2967845cfbabbc8fc826eb522d5e36880853bcd4fb462394d0", + "0x4894735e9103916bb27f6f09dee12c4a94b42d0f407e8fee13a4b05cd4d62489": "0x11cc7378f8d13e73b04627e2d8d80d30dafd36d6fe3794a0d8d403109d2ce30e", + "0x4909606723f56dcca1b96c110e25f86bef5003a409f3413413ecba3528b67490": "0xd1bea92993d14abd2e56856e8089782d240e51dd9e31bb4ecb68d724d9cbe90c", + "0x4914d614206dbaed1209c498d1188b5c6519816ac110d51b78c80f6fde526491": "0xad971a085ddca3989d916b324ffe8fbf70a4916153c3029e0dd9888dd63c18fc", + "0x492785224af9a862a4fca9094f166a63f0fa5ac18e42afa79d164501f7214492": "0x7b8e1ff5b0ea5bb69296dd67a0fa938dd8b5c3e2ee52fdf1f2860c37f35f1011", + "0x493816394f2563ebdbac239e801878163c27867b1f11489e3de59cc5c8a57493": "0xde4e3f1fdb5982c9434447d7866885125e7b7de9816aa476ab7a4cea3cde01eb", + "0x494e1b385a3438082324d412ad12e34a0390fd87252c2c2c37dce2b8617e1494": "0x7684a7f1ffaf63d96b31a3950aecc6561ba24459fce27e7d8f1fca08d4f63bc3", + "0x4956f8baccf1b01affababb211b06669156509823c614f3185a43e845cf31495": "0x63e1add41728ee9dae206c363d0e554a5ec300efe35887010b3d574e4f37ff3c", + "0x496ce025fc2be3e978b41412ec498cb96a277c299ad3aafe3ff5016358fa6496": "0x8f5ad1cbbcac6111d9db79cd4390ca7c80ce0b6209128ddf6a42ca5fe8c6e665", + "0x49792db7e8c1de1abb93dea6a3c15850fd3e1ca529bc57090f711bee94366497": "0xa71ce836453f7438b08f7eb5c1b5c95d2149abae45312197ccb182ab33da464d", + "0x49840b7d88475820a0116f0ffa826ae9b93ea67c1796322c00206308fcea4498": "0xc1449b8ab888152d75dd7f6f4113fa4b3670992f88297c5114362d1c0abf69fc", + "0x499a90b070e0cb6985ff8cb7c3a6ea19c3755496d0c528c80990491fd6aa6499": "0xe52a3ea2c8357233a51293fca06fd5acc0e1e862c195e33bd35f01937bf5ad32", + "0x500eb75f8bb214dbd3965f402b03da47ac5b5d4d095aefd556297c48f5f31500": "0x5b81f28a177210bcd7b05ec95f11df4b09b578ee0053fef491b0f74da438f53f", + "0x5016cd136dcf1fd9d22fcdaba80157ea51181137050d4fc4e1936de7cef16501": "0xeeb151c6f5a330c51b2c56fc9a96e646d128774834b56c771ff55c86d03e863e", + "0x5020af48c325538902370c7ac1761da5f17caa5d75823e69dd16e58a59cbe502": "0xe35786e320fa8ac34a6aedeee2364f973f800f502ce74b97407ebd24b30d1467", + "0x503cca3f8ea6056cc135a6ef20876e5cad8984cba384c69dfe91f62e219ee503": "0x90b57a871aaa04bb31be653c989b75a30b61473f1e9859fe9ae4b037bf0bc217", + "0x5045ab00c2199f356480a4c775781e7f90320d5c7bc2b23967e3705ef0adc504": "0xc221862aee261c8df6e652b27f1f9d944b9a9d9eb951b2f7f6159c13f4a6bfee", + "0x50557b2bfae382344ee4e527f3dbcaf23cbc9cec22f069c3263f4e9fa9aed505": "0xa75bfe0f2ef21533c12d90fa8aa6ee2d0b0278e28a7ddd85f0d7ee4b2c8f17d9", + "0x506169f12f4e1aff43b91d74fa50d3496119a02f3331efe80727a3be5f713506": "0x78484ae0725bb74074b2c5b72f756c269a8e4729b0ad56ab9e59ca5ce42485a8", + "0x507d90e1cf849a9dc0ad102e9f340a2ce1f51baacfb52eb1f2d9a1117b184507": "0xf53d7917e83ae6b763457b791c412e07fc0c466ea5d8603f794d77c36ec75734", + "0x50873266537cc3c955459987ec3cb1821bd2b12e56964fd16859fc96584c5508": "0xc6eb298a8b8fc9b7f3e766d2e45f295d5f9ab43e56c9795d28d58b88df6d293b", + "0x5097f8b56cb88d5c014866defc5c097140dc6fab1e5e1fb5cfa7c8fceae53509": "0x3459bf95afc8fe5a3fe5c9a8952252baba29ae213cffd79ad4914688857c9e95", + "0x5108153dc12dee042ca838692f62e975dc780fa56634b17bf4dd7ca4f24b6510": "0xa75d81c1d38a5938eb8047bce960927dc03aab35736897be7c4c3cd378538cf3", + "0x511a9a39e877fab4699c10616f8ac7cb500ec79bf9be2cc725f4db51958bc511": "0x7d7c6c0c8dc999f0fa5fead3da196614e19bcb120561738fc1a0edbb64ce6c26", + "0x51293f23f13194d7120657323220b437fb0d3f21db55aea686726999b0c53512": "0xeb84aad2b598f5da28aa6c91e74d37c603bd38f531f53d1e07111868cac9e9fe", + "0x5132ebd4465539bfb881eeff64a95922404cbcc11b6854a7c921e696fbdef513": "0x693d44e2a3d3155024815d336a70d62ce526cf92ce754c040db0aa406cd30b60", + "0x5149ce2606cdc56835a8803dab16f70b6356ded36b10a0da513b6dbc65ade514": "0xa4f0077814140d9daf6f185ede1df9499b9d2c8087597d5a016a10f992444731", + "0x515e7ed76504742d6a7b7cd76c2169098ed154d261b4f6d348acf928b65e0515": "0xcceb857a574f5728c05f42841e826c87798bcc3574ca29468525585fc02594e6", + "0x516f68b1f7a7657a0569a969c9d5663c5985eabf57b4ce705aec93554a0bc516": "0x972976a6486b4693f00c2c50809c7b7152ef653125b2849059839a0eb2afb3d9", + "0x517961b6779952c82e84266564a1f5a5073a8884b4289d69306120155b1f0517": "0xff604810843df5c03f7418b3c1686d1b180ce2c70aff3a04beafd02d41102cef", + "0x518f063a4533fa65778881c428d7a2687b934e67978609a18bd3905c7fc90518": "0xe0ae8b9c606bb4d23d9ab1f30e94642f300ea60ebf0f758e0625ca884db0b46c", + "0x51959d1859218813aeb6035530ca22408515cd2e215aa0195c620aa1b1553519": "0xac84fbbd7551e506d376e7d81eeb2a948225c981aa96e0904ce50f2e4654d0c0", + "0x5207c749e7a6227277b41291877e2fe8240f4eee7efdcfadba765519f2d3b520": "0x58535fcfff0093823b973b22a41ff3a6c740c6b521d3a660bad018b8089477a4", + "0x5211bfb0667668d51347f359f4915230081336c19a84e7300fa05ae2c68af521": "0x2d206a4833e61856334de2a6e934aa7fd81b6f65ae7d7d35393e58aeda605919", + "0x5221c1f4421c24e913d60a1c6b00035a09f4a4180020531677aab31326129522": "0x4611f9d828230f2f2c5e418a14b5f5580bdfad97144a04ca4f85fd6d87ecb88c", + "0x5230bf89da5e3277b6b63af263a7ff30da6ef607238c21eca62bbfaf5ff15523": "0x7ed873487969a3dd62c4fc93c8e0febf9fa6a100e4fdf0fd569663a393e0a62d", + "0x5240c31e8ad1ebb17798961b86df04ceb8f5b7e59fb6f3f2c236882bd0a7c524": "0xf3508c5cca7219c8cbb4bc40a89d312789ecb9da75dd6eb2fe8e2ff79fbe09d1", + "0x525ae76aba8d27c6561375d39f7eae054ad800640b28a71edc0ef2206b127525": "0xf485dd950c1ef2b0909bf67d004cb28c5e85aeda0804874bfef7ab3a4955e161", + "0x526d05e875849b15cbbf05a84c7bf1808fe3fdc2499db91635abb994973fc526": "0x0437596169cb3a0e46d46a83f3d3dca775530c4576d234050a46ff01ed9cfb22", + "0x527b379d004f87f5a8784829f40e1d463731f6de76d0872c59034568ede39527": "0xc2602702556200936f601e7c39b16ed7d1543e22c847125c7225d871134e419c", + "0x52832a4fc90bf7be532207badd098c2f2e416df6dbcdd5501ab74c19e15fd528": "0x7ea24733987a89fe7a4abbc7cdc6062973bfba7dfa5bb821b5238b6c3a76533b", + "0x52962916bcba69de810cb8eeb03d26dd26f186d31ed154601bdd23257c009529": "0x0033c3f4bd8b4cac6d76dd31edd76f3f292e77ae6f1d7f61f73693db5a2b453b", + "0x5308e9f3814a723d8260dcd25aba93d26d1f2636910d2282f8e0167136307530": "0x244b4ebe20450c37c9e00a23758863cc0298fd6ad6cfec8db2173fe2b28c3e62", + "0x531e5b4f05bf6dce44b7db6d11c1e6c994497286fd02af0fc6004a1963e1b531": "0x26441b47264619630f8a79a6acf0074d4654b3eddbf526c25a3f83f76c5c923c", + "0x5325b4b955bdd3855d166d179a3053a75d072848f35e0583b050359e0d0b9532": "0xaa22ca48711e14dc36ffca0fbd702f1351563a9de21d2f2273dd83bf8706dd6d", + "0x533471ed291cdb2a03ae82f423c5246afac012b24ddbc7493bab00ebc7905533": "0x41ca2cabc5fee187c910bfb8e534f6e8a476cb1cf410ab674a7b7a6a4d677cc9", + "0x534d2a4e389fa142dcc2c08df5e9de8d57a5a903829d1a16527169996bcd7534": "0xf0b9baf1ec8a9fe7a9c11d5d089732b2f0b09154ada2550337b23b7e8e2b1bbc", + "0x535992ff6b3d228c6036de191ce76d37e5bd6d5cd869677df500dfcf9d0b4535": "0x5b2b7a672204e2ded95d6c4b07498f6e3febe770d54d5cb42340590b6777172e", + "0x5361147c4d15f3d8d77257ec2b6f645256c92788b068ba838fa3abf5d3109536": "0xeea8f1ab7b2ffee7c4c05a51109ccd3cf78e073fa30f27d1b41244dec75ccb15", + "0x537769aa414339edee1caaba39e57ea56aa5d821d1b2c6f5b605529e60634537": "0x1a6c4e2d5918d375d28c6d8912facbda12fa5dec728137578a978fe9810c54f0", + "0x538284c1161468aecaa83bb604a57d4cb02f472655a27b96ae65d4bbb4f75538": "0x73a1825a59d09229d2ef343f6cd4164d5c0049efdb89764442c11fc4e15bf815", + "0x5391c176284736b8de5da5fcf303932bce69f2ed438263fbdc2afab98c9d5539": "0x9805a592de85b993e44573e97927e799ba57a20020a4fc5a2b2ed2da9361bf4c", + "0x5406c8831f108d2d248bf1152884b5533383f4b0957413e859d7ddb0484cc540": "0x5f27c0fbb3b58b05f05bef01b7a5d0cb311ba1305aa7512df2b0d4a60b672012", + "0x54123d1a6fc848ece8a2374a330ddabe7fe1cd30216c2ad8e70b18859ecdb541": "0x4d99e1bd1e5114017d2829f8d6b26c96561e53919d54d10e184d55bfce17c426", + "0x542105ba043e6f7b0de43047c5452d8ebebfa1b87e937966e9f7372671b34542": "0x1415c614e4d65aedca8147605347f522d568e526ac965caa86c788610e51adfd", + "0x543f02194c1a692ff3e50740af3a2706e2375ad52bd3699dcc24d393e24bd543": "0xd51a1912c3b0edc5180bbbdcb3ff8ebfbd1e4cbf25f21becb28836a54eb4840f", + "0x5440bc79fe947b992b5414aeb84c4a61a9e51908aac04e038525832870235544": "0x2f063c02059b61594bd9ddab4af3a07414f88804080cfc9d0493b7119cdfe727", + "0x54521f912a132166b5a68baa7d8df0e2774c8efe6261faa9545fcf8d8d12b545": "0x1ac2d85779d57d508f1ef781f0ed2a5fe850ca7b35d8874d4b1e60561e832409", + "0x5462d54d2350d40bee299b6d9ee77ed1196381b70c03ae05712daa8b55346546": "0xd8bc84f87e717d22a9eecca68cf1f279f6c12d69ea09ab8ff2c9c174094557e2", + "0x5471584c7c6c392ed22bc4ff157c5a8e3df26f749bf6da415a81e807bc3c2547": "0x0a85fab42773c28caa269f13a3b737b38e9f5f1dea38f2b9de81217365eeb83f", + "0x548bc3d268d2c63eb2a94f50430a36b17aa3678bd8aca3c4d69da784cfd81548": "0xe70c3b02cbd412fcd1f2fe61b424c35f5cbc2bbbe6ec22275da9afad1cfd951e", + "0x54993cf887271941c73eab17e0f22db5d5bf4966ac6f073515c1b4adfc9f1549": "0x07175425e6e0bc0bac3f8b5e21d5c14f02835122b54e81477797457ee87a8e4d", + "0x550d0b8a32964c08e1193187ac64e971712f9d4e5c8aeaa80edf0968f6c04550": "0xda127866adff9cf0c1b0f39c342c2fbdba391d382ccbd30061552ee48c1899ab", + "0x551030fa53a56c584a76ef05f91d11c0e8a851a954430471ee36bb4a18a13551": "0x7c38411320081b9da99111fb23a7fcf395d27917cdfda2b1a9db8e804677c420", + "0x552f690918d61af8156cd20d1240b553287b033214f9ae113aae00afcf7ec552": "0x889a99108811bd873d4868f78e89ca4650252ed433a498edc2f58129f0d48c74", + "0x5531551733e9950c29ced1b366fdfe122e2f0223e4f06e25e68a089d242e1553": "0x9be0d88a930a54c7bd1fa327cf0e96731d55ebee15dd27f507a37991e728cd34", + "0x55446cf7a5a70c10cf9aa300b7fddbce031c0d27239e6c9d00d848c3aa7ef554": "0x278e26a5cccad28ea5689fc757d6bcfdf58fb964a4532cae9b1a184a35d90ce9", + "0x555fd935dd11d77da71d9c5a6d261bba47fbc9ff7d7f2a360a3c5aae9db41555": "0x63f9e9f3801684d1707444f79099f8f19c30dd54830db83a31c7ea017439790e", + "0x556815099371fc3fbf0384eb776973de3e65cc2158ab9aa64de05295b7e68556": "0xb5eb8d4d481ba7bc99e64705b82a3bfde30fc3a79c7acf72687241ae2251efea", + "0x557f072a20eabbfcbd5b1f41a90e2308af0af4f0bab7066532af48ce36ee5557": "0x68e83883f53704edf46ae37314620146ebc1e18e0932c88d9069e84d8428f9d5", + "0x558690c91d409cdccf900bedc1e9ae8ed9c8e8da08d72161e92a3953b505a558": "0xfbf9dd713f5490d81921fa5c6585b2c7b32714707673ab8ccc47a2fcca0a6bf4", + "0x5590e794d57cead3307d421a0f9e4f869c9b5a92241898679e3eddc4d15e9559": "0xf1a3af17282fcac3be5c4741de96a35221d769f98ecf67ccff7d639e03cdbd16", + "0x56091fbfe8868bd414c94c9555d79d7d1a540c2a6addcf741ab021c6d5aca560": "0xd3758378ab3cbaa78bf14947daa9534b8409c74fc5ef54c193f97002c6ed58c9", + "0x56195b396e03fdbed1f7dca0064c5fdcb3c573749925cb1b7d00da31fea64561": "0xcbe105981a0f9f15bc72536aaed38933e65ff095adbaccd45bc10035b3592e95", + "0x5621651a163a9476dd70c00c0030c9e15f356c12d492b62555fe6e2f49d76562": "0xbaeae427a46b3b4c36abbc67d1ff98eda0feaa989abd6302c2355a1ba356fa46", + "0x5639cc7e7651d05064e0e4f78920fe928586fd63d0ad9583ed0dda06d229a563": "0x54db8b46ce99b98a8bf9d547e25990c31401dfb452a7f7c09c873e8c1d46204b", + "0x5644dd9f006b87e98d61b40f61cd7b37b6a3a6098042a5d4c737aec2063b3564": "0xbf46e873644d07b98c3037c3546f3f5cd1f35f4757adf36500ec912be4f2f967", + "0x565800e0bde8b8a2f81e82c810e9d1d6f9573bbbacf9af5f8b5a30f59db0d565": "0xe340a4aedaa7604af698a7609c62541a8f81e9371ed9440f0eab1586ef456598", + "0x566050c50cddf7dc7e417c85e4200cebd5f2cfbbafe3ab5e78c9bffab0cca566": "0x081b3aee77eb63885fd4a3629c636f2f368c4c9ed87366cf7dd1772b482a24fd", + "0x567535d07aa639fb58237dfd927bd31908a6935ee3c25e88ca9161746553c567": "0xff91349e7b8d3cf64f71d30b69ed263aa62064b22a68bb6ada927266da8846be", + "0x568a314e34333cad51141f8d23c7d4f7accd6f0c9c9368dda52271b6a3a81568": "0x23455c4a6f604546a509212a024d924eb89ec0ce4d4ec1077887f9bf0392be2d", + "0x5695893a2ba2055ed5c312382a4228f25e7d40d5d3ca476cd4927cdd5ef9b569": "0x862d0aa81ad08394f490bb373122cb89bb733f6d0727facabf98dd4a94b5fb68", + "0x57081a2b1352526bea23db34a9c017f94e43692ab477fe4afff84fbd3e77d570": "0x4f2e2ea5176f1346dbb1d3220ddf5e10278dcc364f5ce0d632485636c696a240", + "0x5710dc7aec0c38921cdf931eef48f1aff9af0ef35ad004bfa1f0662e778e5571": "0xc5de169914f67730da12e07b965f85d1cfa0f3195ded6ce503c2d65b4df4b0d9", + "0x5723bbb5406359933ab347ab9b87275f9f60a8d05d73a797561f77e4d51c9572": "0x7e2e6c3e51b9fa5fd43647b2e24318c61d93aeffefba58da4259f717f746971d", + "0x5730441f098f2a594a1be7ea6a48f425ad1896b8f30d0b041716fbd798629573": "0x32031240f39c28d49b07b5ce79d608f7d2b9cc3e70850711a057c036c247e94b", + "0x574ce7077a1617dc17cc658fb8cd424198b2943aa6ee54d2532ef49dabd6e574": "0x9cbe0b55e8219ffdf1c11846d565c65fb5b0e310435fe13b65c19b70ab804bf8", + "0x575ccfa857febaab333b62ec017cc342199733c3a549f590a235e8dde08f9575": "0xdb69b25e4083c55ae0ce6c319eec73fc99e588415dc8d2f8763e6880b04352de", + "0x5764d49aa3d32547757a35ef220a9d3664fc234419b62d1ff977fbcf3d65c576": "0x05fa3ef8d77fc818c01d67d01dfce25328861a6c96772fcae1f323df192e3cf9", + "0x577cb16e641276f696270c38944a01410ea8a51a696aff4c50f89f4cca7db577": "0xdfc13692e2e724d64ce89270f33ef89a486b01b47d90646b896e1dd291cd32d1", + "0x57872cc3e4cd2ec1885bf483dd9e488a285cfe672c2dca08cdd6b64d1b6cf578": "0x38312a527308e7d10e63aac2a4045ed59b2f1a0162be15c0e39f803331a694a4", + "0x57928962784c0443eaea0a8957607d818dc6e74710d88f010f46fcf8a249f579": "0xeb4e29f1008c114eebe5c455ffaca6a778c634ca231f6589a2a600f1eb1f53bb", + "0x5800fefcd10294458d5bba5b7153f3adcffada71d0af699a08a12fe3acf24580": "0x04830862035d7a2cdd062932363efe231e74b061be8909f978f339ebe97da109", + "0x5811df402af803e301ec0928d5e3aa03bd6dc7e5d72d0409eeeebea452a4a581": "0xec084b6086b766da6c5fbaf55e244d3895b92e2404581bb1b6d4ec178b1b6a35", + "0x58258d7597dd5c02ce1fc32bfe83e2de0f89d7aafe6046813dea841ecefe6582": "0x5fbdab1b789891a1bad4879bc9bf1c12b7d315190a9941963cf4c52f13ad183c", + "0x58350df8f084df0b27ec18c05672ad68cd64730b360aa1426645627ee85cb583": "0x508118d022c8ae20fc575759208f5b625351250a271734e72919faa3b5b5ba39", + "0x584fe1acc773a59ac177d0dcddba7a5968554e84e69159bf64d0d9d0fb22e584": "0x516974e0c3925b85732e418e2ab3de1f42034c12f329d16ee1b5e15019b99896", + "0x5851688def1d8156f168f0d807b9fb466c80f57746286d3f80dfad4cfce02585": "0x0abda377b572cfe21f00d47943380d86784dd4a68a4f4c8b0c12335266b8b461", + "0x5864fa1dce64f6af648764de38585f2957c36316d17305f7b951e5bc8af49586": "0xa88137e241c5cf795f09afc14b94daa43edc48671fed4084bdeca8aa10dce01f", + "0x58727269a13b7e8690686e71cd2d759bb610b1963ff1a295ec9deb1790a3d587": "0xdb4d58778b8e196e7fd9f6dd75db8d974d06c8d54e419fe88191a4af1e36827f", + "0x588cda009af07bed1e82978ec1b3dba3056579075733fbffbc5c8ab5b5e23588": "0xb9344bff33a0a520667e0a85b97ec70700629a3d969f770ad3a3c407bce3cf6b", + "0x589e5bd0c444d0ba0480ad4367190895ab0d600d03a456ce7da591972ff98589": "0xae2e28a0c0a5573b236dbf588cb44f0ad8add7e4c27ef7aa4a6292468dfcdb7c", + "0x5903b46e484e152d92b4ca030b41944477cac20b2a36824ae73d775c78689590": "0x45a11a229cf9f2a65b16c843dad56d75ba9cd2b9d9ee59341affe85608c0c74d", + "0x591e85f125356e3b5b920bf180798b0e2b45fc4f2c03101d69a64315bf71b591": "0x284caa9ac56cc5e5633b5ed240e12828b7940cfaadd7b9a59788885fa80fb5aa", + "0x592e531f6746c2303a181f571395c505743830128cd0c700b0a2de5ba0cb2592": "0x09865d55ebbe4f53b770958f5b0356cd61fec87a5c7a2ec3b27c532e1c698630", + "0x59341521375b7df7ce8009b332fa4889c0756f05d773a1f8523dbd3a11d98593": "0x228cf75be6cb2b8c021c315b81ba59c9e7acd2c1887acb7f7c1cf1addb038bbc", + "0x594f7515f050baeb4eaadd9a8890428681ac7d9f18fac76f767b6eea3e483594": "0x2a93dae00ec5dbde2fe55ca05817621cb09803309ea18d26e52c1901930c74d9", + "0x5958ec7e88b8ae4b173f6aa768b4b5136e77e0ddc43ea2302e74b6385fe0f595": "0x9805926bbd5ec1dd4f6e896be166f4adcc078100d438b27bb64ae6c07cdce379", + "0x59669a011ffea010e2385e2e7998d8a4ea6d43d212058dbf174556f65c614596": "0xbda8c1d8076178c93ceabaa42d7509b514153904dbe3a93d2454086ed2a3a9fe", + "0x5971d6091b1894c6ac59035489656e082d79d876189b09620b361b93b34ff597": "0xb8de02aa4a056ef6f356863a9675f8e3f5e365df45fe3bd287488cf401947875", + "0x5989a2d4a3d2275509353493eb8aac8eed00f32e662a3ac95945bf199169a598": "0xc0bb59faa2c0407165ad9f056648d77321dd052a7c7c6759d098dd194db0f9bc", + "0x599428a498b9b564a9d899f90ed4391d768a0f04fe4c3c33239555e1ed935599": "0xd15589e6881c0a480e5a247c62733e28efc47ac1e4ed8f26dbdcc4dac65d2f51", + "0x6001ded0c954e82905198ca2bc4e8cd688109717390f588c92c33350d8bc2600": "0xad5c2b6b447c73ad6bbd2589cbf835804306d7741c0ba685d13f1d810535c3db", + "0x60150c2d7a77102c91ad8adde6138a77f19b4e2683da7cfec02247e4fd363601": "0x9d6494e99e619a86fdd5b74aba693fa125bfba6d9993192f477cd8c2d5b5db17", + "0x602dc7c215481c2983f8efd53be68fea6e7cf7f940e6b9581f826aee9c283602": "0x63e653ba881b01ed3f99f67fe244afc9b8556eac4d9ea6ad450377ec5efa0ec1", + "0x603e595f2904fa16ed3dd3a18dc98f5bef4f8fac51e5c98b7d5769fd2f949603": "0x99d175a7e7502a12b6267f45b1fddcaec7cca80bf96aad9fe5a4e74b3130887a", + "0x6041968d43d6f40f35c426d5de8df66dc8ffdfbad636e68468757a6759065604": "0xc9de7cfae5dc4d74ca882296adbd8dd25bfd7e7abf9c0a6f1c0f5984c64e78dd", + "0x605914d4410b1efb8a3345d6ff9142c27b8b14e44e2aabf957adca7a28086605": "0x4358aaede7bc66b9f43fe3b781800fc917f990348fcbafe5b7a4e389d9549761", + "0x606d439aef1553b8c58bf3a4f0241bc52519a5a6595e3e5ede584154717f6606": "0x96a31c27375010516a0acf912101a41e6a954ecac03b01c13c922559544c7fde", + "0x6072da63e906fa9d5d83fc565f5603d15cf16c108f98f00a13cdc0628781b607": "0xdae83f5b78c1dfc0872d369ae77d497e44fb02c32bc8172a03328bd8f4940ecb", + "0x608476daa55b6baeb59f8d464124cee902a4f3708906153a5e5726cf8735f608": "0x92d74cf4ee428e5efa65b360bc38ab249e3e70d6f7f6ce246301b535319da11d", + "0x609ef0ef63c70a9534185f3f527544aa9d2d14093e8b97a62a716e188a0db609": "0xac7ae3886b1087574fd89e0ccfa56d3ed83f562b4347f297688b6b136a6a156d", + "0x6109c3282fa77153ad7c742b854b08b444fd306d1b53c241f246498349942610": "0xc2080c2f74040ace9d004856034d4acfe414c4221390d217d48a382a709b7467", + "0x61113b8d83f7c1888e710d26786061d1dd014f502c2ca78f72041340e9fcb611": "0x8d28bea7c74b308508d88cddb6e31584c3417fdff12500b28219f19fd61d4fa4", + "0x6123825e433f5a9ee2057505a2eb3108442635bb326c4005dab7f9449758a612": "0xbd44f2d6a62b2e2ea308ec81392bad5d0f3f830f7e316a464b3e5d75d7d40687", + "0x613b23a2614a2ed2d6a4e78728b215d4d6008bf4d66c33c416a8180983696613": "0x09c0db5cd4594295cbc52628993f191f387cd38a83422f3ed3333a6808b26522", + "0x614c7c89616d81632d6709cfffa2d4ffe25a2438e40b595ebcd5fd0804ea6614": "0xf053a079b4e7ca4e8a31908432bab473b7bbadffc2faafe7e00b9fead50862d6", + "0x615736374fc6845bcaa34609f7a917e52d5cbde9df85cf89cb40917183405615": "0xb67ed4eaa03f3c14566c31f88e6bcab11a5582f2d988ed9e284a872e7bc4cee1", + "0x616f2fd36463c0ed034df5b4ba7b9adf38f86e2a3b8b09869f6a059f78e6a616": "0x99c32318872454896bd13c78f196e447c32bda62869cf788447c957a91879c63", + "0x617566431c0fca7eeed9ce40ff52f2993eb6aec3c856528763561801d82d3617": "0xd0686ec87850b1b48a8c4655fe5ba84303252394bbf667cd7fc54525db2467b4", + "0x61851eb456ec381d23274b490a00a977c77c7ea73f832ac2f9265e9c2de79618": "0x5969504acbd4aa23cbb5f291d145dcf8767e22e88530535ac615d67ee5aa611e", + "0x619bb85cd48c9a8e8ddb8c479c2a952050fef931e5cf4057652aae136f3b1619": "0x672cf4ace87073a79619849d53d69050bae3d3fa48db89d333474e336557d459", + "0x62040500f64f58c8b665962d40bedb688322cdd174409707f72fafd4e8db3620": "0xf3ccf8a2792c791aa64db90e60f75ba0cfa150188a2a928291368a8621b2b7f3", + "0x621b97eaa197b4b5a38f66a9f32db552917abe1d9e1268ae0ae9851296862621": "0x47da620857f6c1858af52d3af881aa1ac15ad9aa274827fbb3de6a9a4194c6c1", + "0x6220ce2804ea0fe316d7a3e349fc567926d0c0a2c4b07da0109b3e9ffdf03622": "0x4c794e1feaf048d0937c5241618ca698f3d4d8e537328be6a6bbce552fc842ef", + "0x62325809f23bacf53fe254357eff6bb8ce0f3138888918f18d0e607223aa4623": "0x6f7191c4d6c0bf6c3de37116d855f23441da1f0ae2c3ad187fb8b543fe6c94a9", + "0x624a6db1d3281a56e87e5c752fe9f85fef35bcd48777fc6f5f6f8ca1f4494624": "0x6f32b4b9807e407d2c32e8bf8b121034c92614702562620fd1ae1578a11d900c", + "0x62598a1721811f77848f6ad930463dad195844663e4319b7276c9b69cab7f625": "0x2c10651cbf0335c96fce8336cb303535a638838605cba4c02fad44d057296e70", + "0x6268fe03749efb690d8a69cc1d1eedfe6154af21870c590cab8691b699cff626": "0x3effefee0b210c3f5d921d95f724cfdcbe1a2aa20075c84db5af4551a5d5f946", + "0x6276e43df37d65f574f17fefd43572d06a1d93c525d0372f4d3e55df2fede627": "0xae23a1f5a5e72106a168c9bbc70a2c3fafae05200bcac85ddd25eaf42c061c44", + "0x628c2f7afb6dd2fd5c572830395771f013b003e98c94e463f12fcf62c2549628": "0xffee24721c7019057242705ce86ea8ae88fec2a3bcd834eb1eec3ea480fccaa5", + "0x629d1507de01c8161c0e8ee3f02f1abca250db1a8e8a38b4605f34e5fd248629": "0x80fb11536e7b412f26c82b36655c0607b8eb05752ee89c897983b49fe38f05f0", + "0x63037016720c7584497a50d6fc675f9598d6625ab913b092fd5004a94566f630": "0xdf25767e698611879427f14d85861e6a4c66bcc580493bb21fef093a5c97e634", + "0x631cfd250da1af3888c13cac32d34be75ce2e46b8e01e39eedf01e9df62b3631": "0xdb15482dc750c96fe6895517a962d31d44f3d480eeeb4a29c72c63037075b830", + "0x6322b9b145096ea8a0929b70c6c66bf4bb1d8a063fab98b1d99ee9257b0a2632": "0xaec269a0498932e10f72c0624b428fc777ee258e3c4a9fd09ea37ebdf72d3152", + "0x633c29bb06e45e82084f0e466cb77e71897f312f69d87eb3ef2e55ae1c3b0633": "0xefdf3d9e07b6dbc8392710bb201ed046d005b923bd82e1e39bcd27960b18baf9", + "0x63456ddf4eff6030cea1357ae717317666ddee47d25288dd20a6a5c27f4fb634": "0x95bba9a828ec54c056129dc64f12ba98cc4b923f2f3372a4618ec6a38ebe7ec3", + "0x63530bc1e152e2f38fc2da7c449de856b4cec18964d5661ffa50be0a26381635": "0xfeea89dcc8e0a6c681e6985de78c7c2d43e9c0ac1f1fd08018649e2f1665601b", + "0x6369895ecaa53acdb781f5a7e3a5847e6172b6687cb6762bd952d0c492670636": "0x5ac407d050a2b404a7d51a1c55967d5994abcd9000b0d59a6510137540348a2f", + "0x6371a04f0c8b596f22804ebe5ceb671630e0446a2fa0454d04e9252658d5b637": "0x09a752d42f1eaaa3465eea4acd1c71a548436ae7bc0b5e2067eb47e0226cb7e5", + "0x6388c2bb36be2dc8eddd66b5e4f48238018d7422c73c316092cad6df9057e638": "0x7e809572920806fda93c59bd1aeed1f2bee47fc1c6284859c8bf9e193588e966", + "0x63995b85724b56b34793a203da3154f6c51912f4c4b301c0407bb52082172639": "0x922b9c063dc85927b5f497466582e80fac7a444270684102cce368ae3813d4dd", + "0x640399e41ac73a54b83269d9cc62d6ea51292514164adc7627dfb04aef24f640": "0xfd96db1af55e1aaaff443e3b12a7253e66fbb3863759b4c6aca7323a83fabd68", + "0x641b39abdad63b201f79e61ff9926178200eb9e9ac200ddd9202973510a14641": "0x1488100a23b2f1df23687e60f49ef035a6a288d2d6e7e2511cc9a1b28d87897f", + "0x642123ef5f85f3ce2efb77278c2c194ed78661088d3f4e670be2a012058c3642": "0xc731906b7cce8d9af065bf25dbfd06bd5d0c7fea72a875ca7ff91be83d1f5010", + "0x6437e769dbfa38ce93ee029ba2fdb179c8c1e8a31d7eeff8b2b10ed9e8489643": "0x1a1044d5e154ccd5823b24bf06cfe4695f6eaf1f4efbb7fe25f36273268dd1cf", + "0x6447c4c8181b9f0065027e9236a28377af2d277f4d3e32f3f41e689d33a40644": "0xabe3193aa4450086a42d0e6c3b863319844440e7490f98bf75afebf84b456c57", + "0x645b268260d095f3bb99b8a8ed88e8924efe888f22b1530a2e4fecae0f29d645": "0x94cd6f139f9974f37193295bba416d1c52694f43310d253a176a508c1863cc67", + "0x6467dc98e3467256ccb9369fad77248d3d92610272f34ca37f380f28ad75d646": "0x892702c11ee23d60264f5f4e42803c5a60a0179915fd5aa11904d2ce3c2f72b3", + "0x6475f0e9a3d211ad8a805eefd267e7aa75eec19c722cf3d593e0ddbc8ac76647": "0x1f7dd794f89af621b9509eb8cca6b5151d2e1ca92d6eea51b1e89165ed18f36f", + "0x6488ae4d9153a428dfae2d95d992f19aaf5da71b9919dc1d2614ad4800a4a648": "0x241abefcab1ca87c270486230c4f19f2b3c76eccb4626e6c0a64674ae0f158d6", + "0x649b950527962019f749dbe319c18fd3285fc53d2109bbbf4b88532f9f906649": "0xa5a8ce688e91547f898979797d56bd5ffcca72041949031fee14a7ae5e872d1b", + "0x65051f1607c60f422e47ab52c7f4e4d38b6e54c3f2045bcae648b9dfad242650": "0xf1fa6e9547057e2b0a4466a7c3a2b2db5c9bf39ac1048116e1d7b9735fecd392", + "0x65168c4e4cff5a62ddb2be9981c04d90aeb8f82f82ce51b32835864cd7b7b651": "0x884704745cd06186017824f3f2a6e6e4a58f454a387c4641e4a6ac8bfb9be107", + "0x6524565646ecf3cda6002ae4240b744d43a1aa6852a5e810352608807cdab652": "0xb699bcbf3873e32a8cea63e8de278414d156a40431edb7c100f4113ffa4e5f6c", + "0x6539323ce47a6eca142cb0bfd8bdd5162f302988b8af1eca548289ddc4898653": "0xbda291824ab109460cc81b25b150c932110ca9145539ea53669ec0ee81958723", + "0x6546650f0d92838e2fb774789b6183d552a4ff6ac4e7ab8a108017f31a6d8654": "0x05ce5bc20ed8c9c0416322218f5c2ad146584e2400b25a86a5fbbc4621a1cdbe", + "0x6553ecd6c997640aa15a25c6a20f07c0e6ea4fe82fed51c21a1dd9463981d655": "0x20cf6cf464a8feb05c1aa024b95c529d43f63f4a5e8ad7b33b4c29794c894566", + "0x6569dea5066e41592eba6b495879af5d9426f421f90caf36cc4b51db1e314656": "0xfcd0d1ced7820246ef73f9ccb8966c609d2bc77bf2829f5f452e0d5a4e192f91", + "0x657bfad09d34b2ece8cda5509e27039b9003ba6b9eab97c384674ef8775cb657": "0x496ff7dd03657054d88daaa8f39328880f63b677bd6413debb3bfaf2229961c8", + "0x658e80076d77c59817e5608415a57763110f71a947a36f041ff6d4fd90791658": "0x1ae8f4f35176756ae5e48e4d047d34d7197f0c5e07c82f5f0d986ed86814bfe1", + "0x6599a651886d6305f27be0ca6a53b1eeb0e19573c49660bbc34e74e2c4d98659": "0xe087d8e1decc28caf98750d6d21c70887cae950dbce5bbe0b8e8106f942d1077", + "0x660a70ca4ab86de71447e5c2f3acf543e483578c9eb47c9bddee838200eb5660": "0x30e8e53a2ec5309ddf5463c91da3ce0433c99148a11fec31eaa2428ac2745b55", + "0x6610daa2635adcde27b9b52732181fafb1ceb985435eb2fcfdfbe897b3cf6661": "0x339f0e245c39c54845182777219b4c1d84cf4b95d18b298b3b88807f963838e8", + "0x662c11d7b8e4062507e7f85cf51ef40a0131f1f74d3b34d9197a6601ed334662": "0x2837c3793731ac23fefaf63e8eb1b0f2182eb13f1218ce007b20c33c4dcfbd3a", + "0x663825cb6445c448c4fd45581cbfa5df01bb26038ee47e261bca9b9cb09fb663": "0xf28b14158ffda14dd674c24a53b42241e7b4160079b3801042453ac7914aa9bb", + "0x664035f02b8f5b657025826a16fcf339b7ee1a3661249e5cf4e0c925913b5664": "0xd05ca58dc15c00cc675fc03668e274bf06837d673e29284c7b13efc4490abffb", + "0x66533a6a7f09e18a7420194035d588ceb27bea60716455924ecc6d53fd59f665": "0x3cec12c45dc22de7f99e631b35eb00f30f9f3f2caf7f21669add14f745312da9", + "0x666931b7b8c10c5a02f5afb63036bab01307247884625f1bfd13759457295666": "0xe49ac604e7d8a0b676cd52ec5a7dd992471c17227169eff9ea985816adf48939", + "0x667ccdf609c332ed5b9c7ece74c9d5d09ea5b6764ded91d8a9837ad619688667": "0x2b00d81f9a0f68ce863944698899e45241f1056f9dc4ecf7bc4772cb9f4a8f3e", + "0x668c5325f14df26e634be0f6a3c0b35683437878836214606a771c13bede9668": "0x78f0c0bd6d577ca60a9e1ecb81eedd1a6673b8f45f98644289a74fe5ec08c694", + "0x669f8eac2fb9ac9b7c65ed7170fe197d9e5bba9b7415b47e73efd674368b9669": "0x03139292deac17cf8e693165b81c7c4d415b05709c99abd00058b69817d46350", + "0x6700ab961298e92ddcd671b764f32756822ae18b4415878623294bdc22ebb670": "0x917b5c7d05b5903c69e087654826078fa5285a091df8ae9aa1ca2d062c4a4f5c", + "0x671b9164641342bf0f086a19d896a9edcff2591e2e494346c33f3ad54ee7a671": "0x3ecd4e656a41e87be534723e70ed95c19433bf62e92aeb5001016464263ba324", + "0x672599f75ee2862ef65e5fea390fa4a7f839cf927507b7fe3a1b0b06e5820672": "0xefab1359f71e4e11d93263e2db5465b6b9004654fdcf4285e15136ccdd0af182", + "0x673051365a97cadedf16721f5ba002e99ba46edff8a880a35193811ecfe0c673": "0xe596560bf6afad120551bacc9a9512dccd5c5399ec8f5c6d927422abeb5f6891", + "0x674eaedf698fb315eb0049de9127b9776b4a263635f479cc3ecc8dcc0039f674": "0xcf20ff2e9784ba16a89ee8c70f2c560e10301dfa5d5cf00631a0692ebdd304ee", + "0x67519e3d930687dec73d82046c40ea60d3ae9099ab961ed04f251b9a34356675": "0x023ba7d57d7403673bedbc141baae3f9b9338e0e9cbffaa0d7f3a1b8f6e47cf7", + "0x676a124d68d8c8405d297e6cef5c41d4b48285ea29922e19f7c98465dc795676": "0xdd65488fae54249072bada4d264273035e53a3f2efb631c8dee3eb4cffbdec64", + "0x677db3c9b4b29a33b9795af401bbeaa9ba37f16a76c7ea2feab6173cd5183677": "0x27976d4c45aa14066bb4da83f92398c4fb6507617cc93fc68fe6322dc1ce50c5", + "0x67830b001232f5796d49055e73dfd733c1742e56be80920aff7e07ef28f8f678": "0x3cb7c479cc7d3f19864e38901225049e1eb89291e990462dabadbc440e568dcd", + "0x679f39837778993c8575be04f6157ea6f06c83fddac51a28f12f41f5d1f79679": "0x617410888aca80d5a8f809602149f9054e7d3d09c27bf2ad9f0b6dbc31e541ae", + "0x6805f91eb00a1c3260fd2c7ed6dea78d8412b4283f7e410f28ba32438f457680": "0x3e75a36800976abcd75eab56b66f2cc3e4e93eb6343239b7befc413e159cf412", + "0x681deda27a8c3740387b32d4d64f850636e13a7c5aeaf9ccb1286ec30bce2681": "0x9f68d90a84e16e3194c7384258637112102cb3fcda430b4b9c5b77296e792b42", + "0x682b91d13618cbfb846287060d85182926d382b8267afa03b155de3bc6582682": "0x91493682d2c0f9b8f44f37ac78a4e00cfa69498d022fe9cf2c7278e026c162f6", + "0x68313661c18f291b3b01c205f087f435725238a2eee12310569feaf8bf863683": "0x7431f105471918c6315ef94b36de65720a954804c0a24169cfbe233a623ec2be", + "0x6841055c08d7e83fdaf47634df7a9022b0df68be2abca877edf01c9a27caf684": "0x1f7a5dddff93799c5bc32a57c13b89739704383f95fba4f23ab5a579a8012175", + "0x6854d1e3283ad7d50b9c932e30da16226eb92327d615bdd9a7ec37da223b9685": "0x3447addf0f6e8dfaf220aaae504215ae436cb6e9332e2a54934efe58f0b9c480", + "0x68691775b413f8de69c89a40b012d05a47d75a02616b29b35be213521d3af686": "0x8ce966744dc3d00293909cbbade9153d3a20b4b5f87c0ff16986d99999e579a5", + "0x68733208615618597986b653cac7d6d36f63e4ba274bd7750eace1887c89c687": "0x329e78f00f9c13c5d5e4d9200d5903026879b0a8e95cb3c824245b32cb94dc0d", + "0x6884b47b93ebee04e8a9c9053e6b647756f647fbfb1df8121c8b5108e1a61688": "0xb99bb2bc437cebb9bd2de4b1c0af5d963e3a95510f3f1aeab6065175f9d24b3a", + "0x689f877dd8755d56a58809290672d426cb703877b940b06f7631356ed2bf1689": "0xc062ff07d8c7549e5b9d4b3f6362a0202cf6ede5323d176cfdb4d36391a684f2", + "0x69005dfa582f2ec2fd04e933bc0c31d55ec11663c7766f380aa0a46b690d6690": "0xaf234d96abf74b8003ac274ad1dfe614aae7a4134a9d563c0f6ba188a482aafa", + "0x6910dcad2ce8e867bfc3865d39a3d901c5708e33c1958e6f80611652aa2e1691": "0xacd3dbf1aad348c931c1a74f0ea4c6dae668c43edb0f202cdbd4d955957e0703", + "0x692d234b5f95bfb5a917514cfbfa0add4b689f601c81368b9f2719ae320e2692": "0x8cec3c65d7e47c20e474b63468e545eac319fccb374ee06db7c834db21e2ec42", + "0x6931fb60b4b141542a20c2e28cd68b5b520b3fd3703edd13e0695fc1404f3693": "0xa289920149f2acb1a8d399550c7d261cfa63b3ce7681c694954c2c09d96bafae", + "0x69451a07e441969b95794b2fec6aa2ac88a0b9b836110fb4f0c2e88da7b49694": "0x2133d60e555a0a92e43ba08a5720733ea9858dec67cbd85eff571c7088de332c", + "0x695571ec9704df0caa63ebff62967afcab4198e38baeb18e4ffb93462fa08695": "0x0547475e43b1c534a7ffb495bf9004e12a50db915ecb50c12cb9e496565f0a9e", + "0x696c4dc6aa3e1cc4e11b1b982a59b9704ddabe70df05662ed473a4872249c696": "0x6ec1266ab563dd20eb1878e6bb3a4b9f3709987ef3c1ff9838318856f8ef2a13", + "0x697c8048a89b3c1962126117f6c13c2da2aa70ef64ebee6daaa9850740ad3697": "0x4f670bbed695f9b9ef3a654f9a49b8deb565b5ed372293ac8939d94d4e66445c", + "0x698204e3b5c4d43ece52a8958a31861ba9e7d4732319700228f86035890ee698": "0xa5f17c0fe3da5b6f75e5369709a0414b716f24ad9d71dc25bcb904ebb2e9a74b", + "0x6998ae24b0468dcbec9e05c5bef55ac61bb4f8d227e5fb59357c357b786fd699": "0xb22b1f86a70fab37548428722833e87fb895a43516d46256ca9ca46b98f321a7", + "0x70035ce965ce39e803d3a2464acf62f4da3af0c0e631ee47f1debf6467be2700": "0x02bfa631c22f71a6526dd9fa69eb770dc3ec79ecdfd69e09cba2765f809c4632", + "0x7013f12ff86b1a18535c5866a898d70f79026cd6478f387e3984cb21d2fb7701": "0x35e8a98b56849b676df60d85c065f057482fbeb03fe604a516ee1d4aafdf825d", + "0x702507b341723bb2e18f3a427072bf4c169ee972c2e9e8e34b85fdea9d6c5702": "0x6154c2d1dcec892ea4d4166eb512607f6206f00c398c0c85651205f15b11fb5e", + "0x7030f78029e832cb42619682dc0047cfb521193b629fac0e943cf8528af58703": "0x337e7618dde7d0b7d5cc30ba46bb822f03a7f0a30295a241646ecee56dc597b2", + "0x70428e3829bada315e6b7adf7b57c908296af7ac0bf59a2967a8bee009409704": "0xdd091318ac2bffd14d45e9a50d2238b9cba3cfaab51610250b9923bc3af335e3", + "0x7057de5eeb20c04a2f480b1c12a41bad0eaa34f83338e7529f2f5c1b67ee4705": "0x9dafe378005e8e623abe63e4cac5483f077c517056f6d9f99e78cca491bb379f", + "0x7066d8d5af277a99a3d6cd519348973bbf3d5ebff8f2a0d7240f7180093a5706": "0x1dd79b17e179d7855aeaeff4e358396d9be08e5902a524ffa87d48a2b75055f9", + "0x707c10582a326c326dac3fc990aaafd9203237ba1f37e7c302ebbf14b9f63707": "0x1407d979d22938ee9fac934853d2b07d360c4db6be4ba4b8b67d83ba7d9dd6a3", + "0x7083604991e29cfe5bf7575771d17ed182b1ad05d53adfa9a44d757bc03af708": "0xf1c9ea082ccd8e0d96cc35245ac64cd42a9296df00ebb8cf1274a047549095ea", + "0x70969f29acc8e693e834ff28667fd9f5532e78fb63bf67954b92aa382afe3709": "0xca24b21e3a86c6e43dd3d988a590ee8ac5cc52f982dbb876db3bc31599c98fd9", + "0x7101f36a9be792b69053d830e63292e60ba35f81c435adbfef221173547d1710": "0x173a35d27089e458cc7c928716bd70a9ac9dea7927b3c6cd20abcc860a93680d", + "0x7111a2b93fbba732e2fd8aa6fdd72428d2e5d0caa422676da7d3ba94b48e0711": "0x342bbe7722c9cfec1386e1e29feda3502bd388c93aab5e012481b7261b541e0d", + "0x71247aa80d7a96caa147ca740fd17c50f8d5f47809a529c0785e6eb076aea712": "0x14a80cabb3690c953ca60d386e651053d8068b3b451c401b9084824848917bcb", + "0x713e12dc3e14c350b8a205fbd82a00a67ae5add90ecd49d97e99a825d0c19713": "0x7afb17492123db3f1138eeb2f3efa94817c8230be9290feda5d0d381e4a778e3", + "0x714573ea3378a6545039e82b6a5dbc5dd2f458bbf346a838566c2fee0794f714": "0x0e388eed1c636637da759209ecdec6f090242d43565c1efdf6a38c6a626f8ec5", + "0x715b663c3fed3093c9c1a4af6d8f4b9a1d6efd3907d8e2b7b0230e8df8b8c715": "0x26ff9a402d76cd90232e6dd5d7581d02517814b772485b4e1c8c12138e915d14", + "0x716c5c4d7f41390280b2d059fb7e333b4e4a44364790f7b2eb8036a53e075716": "0x5a3f132f1d11fcf42dd948c17079653c011562d71d40ca3d86b01fc7f33d7ef3", + "0x717fcdfc6c1314f9a76a0ca06d68b9eed704fd993f599a07206b379b1df74717": "0xd06cd86bf047810b0cae017ac2b14ef0b121e57a67a9c27e3ecaf7943a79395b", + "0x718ea128995e59007be084dccbb44ed7737a44428ef368a248a82c1a8a69e718": "0x29a861441cc7cb342ee6759aa43e4842956b77fc9cd71a6c1ec54d9767895761", + "0x719c4bc9c3fe6d61f07a45f9c1e7f5fdb1cfcfa2ceccf18e7fbd79b1075b7719": "0x223a207ecbd7c47a34ac4ca4c7542792d6fc0726219c130a19903ea06b4f3e75", + "0x720b36f8fa5914f8652abccf6b3a654218221f62f683c559c2d41921e4c00720": "0xca4582d8e1e6bbd7d6083b213139dbe97031740c49303651e28e6912d09922bd", + "0x7215c5208bdfd4b70e5c2d17f4c74c71b02ca709e6c039bcaa24cbd5a1437721": "0x34b8b32a76a8ebbd6df086d80e904267b49e3e1a8d99260fc70010ec85d3a804", + "0x72285fd1f6e00dafb9018c36124ec5b120591f17124dffc3764e15d322667722": "0x7ab296e9989dcf0bf9440ab39761ba754893215289fcd26a2ba6a634634c08b3", + "0x7231f174c520929dd66c435f02fb09678001da3f434d64758f5db7e48dd2b723": "0x95f9414e00e4183a74fa4992b0178ee6364b2240468583ef2442780abd8923d6", + "0x724b711077b5fe38cd1973da751cd7d5e41e1099bf8a986c201e8540d929c724": "0xe12498665ebd6150470b0f4fc36260ed13021ee6406ea3952fe8289a8c9ed635", + "0x72511b7321353e93ca2a8632b12f81c938734ac6a2ebb54c385b8bbe84009725": "0xf096e714638a8818cedbc6ae2ca779c2e2767ea8859c8ee127b42a8205dad6d1", + "0x72602cd0c127d96b53cdd26fddb88fb1e16bb33af15f41f2a196288d11c93726": "0x57f835a6398db0907c475b138bc5082610347042590751cbbfebf6cb56edfdc4", + "0x72702f4d2099e4fa18a994e05e9cf3c1fb55b5e63191cf5cc27e09f2ea357727": "0x6fcdd8228cc672457153ef957928419cd794a942672f18af0d0c732d4d31a1f4", + "0x7286528dcf8d8582bd75ff206bd09f25500a400a521e47c580faa5be19dea728": "0x0eb54187d19d28757847992a1d85f655e57560c57ac1ecd9761ef8669b916281", + "0x729b4e2c3a1e4024dfd288a6aed222b51f63a024e042521eb353c1944c0a5729": "0xab9dba0682b3164ceca924a406eae18adb238cb41c9257ed8dd43e3fd9c8263f", + "0x730286ac5a834f87ff8bdd4f13010db023882ef8f20a19f040c58e1c849a3730": "0x636544b80fa3dea01ce9f194d9d782e1cdd0fba1c82f546bd19e936ffafe963e", + "0x731ff4b0cfee452a25a5bd3717d2cb9c4d49bcc9f5da74a4cfb6adb7fe66c731": "0x6c18b53b27cd27c9234b801999623727f116124e6bb8f9d75ae21b2eba08cbee", + "0x732c21a45cfe5790cb30be58e7c279f912bff71b62b7e331795f40bb99402732": "0x2dd0a4e7e4f28ae3c794e3bd7079a65882ce2b0983e91d2762e659398ff34c30", + "0x7339633262f5e55d95ea7af62cac97d8995b060c70c5cf8c9d099f0953dc0733": "0x04e57d3906482afd7e22febc7f5cd93e83152ca697d04a3519d230ce47d3aac1", + "0x7344475a8c8c7b85f40b33b67b21405756b647cd7e840071114964e730a75734": "0x976484497e21b0d847204c0416c310b5a8f332a72f727daf90de1625346e4385", + "0x7351e2a8bff15c9ff9db1a7edb08a761d3f0ecd21bd734dff43e34d81913d735": "0xe3e9540d23422b9a30fc18f13bdf066b3b18d3bf13d8d2ccf9562272730d4ea6", + "0x7368dd8814c64284c0f79edb2bb25d86658431269f233e6f68dc4d8bcaf2e736": "0xb970a7b9e7ac8c6d7ae7f75144f7bffebe02eeee869a6db7528c94bf56f1d029", + "0x737d921d228007f0f077c60da7a526ca4e8724cf0e72c0ffb0d2beabcfff8737": "0x53cb5e749d88adb292b57cb285c794b79c68080ecb322d6e4f3eaa0e412ad97f", + "0x7383972d4403d982f18e4a86baa00dc7c18ec4b7cb3e7b0ab2c7d1e453b11738": "0x2e9ece846c2668b9b4ede95f035e039537ac6314b4077d84787c89fd7afb1e62", + "0x739f14061410ac04eb8b4be750f3dd007f46ce886ed220944c9c7203f3338739": "0x66dea972e74269c2062dec1e62a66bf339c968bbb880fe3030e488818b967c2a", + "0x7406c6276153ac33db02114ddc607c15c18bd074fd7dc6620ce2989028243740": "0x51ff627fc9f15f652a4e5e63836653d9d01b67f29585252f4c32fb9dc9449106", + "0x741ad3bab3b8dd1d91dfb4948f78bbffa9c1ab00947bdd2c8536e6cf9afbb741": "0xb6c01dcb379019c055df5673a28f7202ab50c0e23801116371278466008bb444", + "0x742960135b4b0ab6c8350e30f3ce11db71efa6f601954d33ce1e886c2b5ff742": "0xb78b24294829e6b0eaa6c65e3bafd62b839361a585a645d4bcb59a51912e627d", + "0x74311ef001b7c691790af0d30716943e7bf659c65f79abdf3b03607fafea6743": "0xea5766faaa6d05cdbad1c2e8f83657a46bd9c712ebf6523930f0b95b5e560792", + "0x744b52865dede01a471a51e5360d696870ac2c3135ec46d6123dba84fb4a2744": "0x3ae42ba5b3fb25cc30ecc86c1de737069cc9151aa8ec883c9b7cdedad1394576", + "0x745d806b1634483db1331ad1172be8cfb89c971fc1f39a498013714cec42a745": "0x7a89acd299066942e3f89e20236ba71b465f0e89330e23c3e4d2dc7265a4db0d", + "0x7464e3c1ba69b6cac106663424536f60b756babcde11e2c3705c373ac0de5746": "0x2ce761bc6fb99dc27293533140f50b9a2137d8d8366903e9efd0d8c2babcfb12", + "0x747bc0afc00decf955acb201e6a2abb54dd6b4badc03c3898d00fdcec01f6747": "0x89fa240ca0c90dd93c7e467f72792fbf44f753e159b4371c8aff0824a6faaab2", + "0x748f4ea012f0d3fb7aada93d7a04e479f07523f5712231eb3cb1d4848c262748": "0x7afe3b3ca3a1bc19ffdb1579ea81eb4dbaaed2b6a3813f630a335ada1e2edeb3", + "0x7495690d8cb34402311674a01330a3ef0670ce3d010f939d2249aee882a93749": "0xbe6b812edd2528315f2cc294f775c23813f34ab580de0ab13f7c1b499ae232c5", + "0x75043947ee397f36f20970d42dd63d2f1eb9d99b15b3a163e12a59ac71284750": "0x36c63216170c209b35149b83da0bf75087ae32379b73ca74a0cbd59729276f2a", + "0x7519350f91460dd54865c4f07abf42ec5283c5d5fe1ed46f0315f28f6e978751": "0xe9c46ddc916666b2c73fca05a24cac16bedb1652755d0f4588a8e4d1a2317c45", + "0x752ee3267905e14b966c6dd1c8429e93176c94a107b355223719be8699924752": "0x6e568f88d42a963511428e36bb3b7617ec03ddd6df0b99cc121628e8f2d10a28", + "0x7533acdb6274f78150199769fed213490ec92266c5891dac68fed370c77be753": "0x7ed3a8d5a4c785a0d10ed219b8800ed779fe95bb91ad0d032a04c9fe071a67d5", + "0x7542d642b5924d4879850cdadf5e803beb8a554102fd251043efd6fc3186e754": "0x2b5f4a35de6d11bef0e3af9b81cfe1071ed4a44e26c5a668d3a62fa53410a436", + "0x7553031ebe960637c8b9c95a9e0b1bae62237e6f0a6cc8ca656108d371fcc755": "0x52956fb77864fa2661f55a163c4d1041f3ef3f88c1cef908e3624fd2da492aa4", + "0x756388bd88e60fa86445fedb04f4d661a205bf1b04da19d46012f0c72aa62756": "0x5a9a4772faff0a73426f8a40a9873e072f0e5d5948503cdb77b9adf6441a6901", + "0x757e0f7b7c32ef038c405d5dc3dafddd36b53bdb4bd20098f45ae5e594659757": "0x310f74c2b7efff8feadc11afd9de7a54863472fcc24f8b754100dae56ed86845", + "0x75898c109fff5489969b8f740aa9e0b40f698437a7f1af5e18b19e809e920758": "0x8b31e7672cbfa8a156f6d614cc32f3938ae531ead95f847086e9ded9dc89a2b7", + "0x759393f69f3520b2c079c6533a8b27355acf97d3d1e1607284001e17825af759": "0x1044962a6bbeaf7e781722ae1f33512418b659ea593567636c336d95ff5ab844", + "0x7604d28ef07c5421f1b890cc37d74709ba94e3d0ecd57f1850dfca73c63d9760": "0x17d4f92cf7532d25416907fb5e15cf1ea68a59e0053e4813dea32f8cfc4acec1", + "0x761e8daf5d04db0bd15d09c58328a69766b6dca54d3ce80b037b9a8d022eb761": "0x803c87ae20ebcc9bc201c903db179a4232c854b99378d28cf6cae0d5cbf22319", + "0x762530fcaddc21f5bd789264007c11f1b67f4a159e6169e1d34d62f5f7500762": "0x71621d300662e25410790a742a9c3de923b434980294e7993c88c0d6e61aca38", + "0x7637cf8726bb96c1dd7caf290bfcd350e80ddfd8ded6778931bb8d2b10a7d763": "0x0e0977afdf33f32adb260a67671c41ca575820c1edb56d63698fb8da6f84b7ee", + "0x7646000034e397e0e1e1c17e537bcff2266d7b692480022aff15808afe56a764": "0xac75617167687e471a3a5c9e421d6be1c9ab7663a52a79964988287a7742b711", + "0x765a79a778c8e9b81e411d7d22da61babbe3b91e66719a08e47c90b751759765": "0xf1b1eb89931c2f1e78ab02243bf229248830e66c8590752c8d1db8de85ff9b9d", + "0x7663f98e6283d04a950dc390f54d6d1b4ca087d86dbdfbccd4bb1ed1cb967766": "0xff5ff19aad257f4d5c905560457fa306cfef588be35407f59e48554be8bd4dc0", + "0x767e77a50d71a9f85b102f8794deb7cc24e1fd2b2b2dfe829e7db3b8af377767": "0x2186c34cb5e8fa627c77236c42ca3c6b12ad0d835ca691fc45354f61bbc778ce", + "0x76845a8013823124894b0ebc921c57b05a67ce4365ba44aa5602370dfc1b8768": "0x7295191cb3ea96aa1fdefd2737a6ea50d801144459ae1fa5693d85f4a5282cba", + "0x76912df6597f0df2a91b37e54ed5b66b11f6e7efa1880cc31181a09e10a0d769": "0x60334d526e703a6ed9a040d7bd8562b77a2e1bc41c1cfbffb71019903933aa58", + "0x7700d778a9740cf35d7d40cdb2d3a05089f04c5ac1fe9ddad85a04b5d7f74770": "0x8536b1a1bfcb1408448d24c2facd3ed89328e076b3c16200f5bbe1d0ea75a4dd", + "0x771b961a8e9d0523fd5641fcf553cc99141caf17319a3c6b4e6481feb4aa0771": "0x0305821ad6ed261338a5e0404c1952214ead41d1236c7e1024c3733949dcbb3f", + "0x77280cc6a874c0c995e32412c27709bd5f0a971e473a7f920cd54abbda2b7772": "0x170a7d843619da4b321546cf0de819c550c6705885001a837f742091d59de34f", + "0x7732f5a92abd3af6e913fe436e5db23c2f63d91b87f7b12fb2c9d50e2894f773": "0x9435d9c19f74c4399a32cf1dfe90f919e53ce67d3306a7970a5cdc1f138a52ce", + "0x7742cbd3a5baa5a3c6d563b8a2dcf7e2da27c37aae1fc3956fc948bd64ad7774": "0x3a3096bd79de5fd3fa8420492378e8770da3ee486066d2bb7d14229bebe84f87", + "0x77539ebe1520db3d465a719e0e1be0126888877efa321c0f337d4a0aa7fb0775": "0x33fdeca8c7abb574eafa9401d55f4d6fa69c6a7d3f77f1990805f51d51d5bc63", + "0x776563b0fe055088f9e98f7fe880e5d3cb7fe6c3d156dd66a8dc6657b5e5d776": "0xd3f8d5c6160dcbf488e4bb9cc6ed1e7d64952a06764278448185bc54690b448c", + "0x7772ff5d11e7231dfc22d041f67661fd27755512cf39ab7da644cc161ae9a777": "0x9c2debd3c56e19f575772cc0b3daa2d13b1795de4811251e3b875071b55f4fe4", + "0x778cd615d5be300e1855b18a6513b0c48dc18e872bf36ccb6656d442cbd26778": "0x6be24b62ac021f56ad9173e756afa33351d1733399733ca266e83081420ee2c1", + "0x7799af6af261a8eb81e4d932a1ede297dc0764178bf384c0da05e04222b49779": "0x46a17f3afb06efe8c4ce6b55593c740e97ee6bc6352c578271009307a2dc1b1a", + "0x780f47fdcb987cc985771573282bdf9ef032a8ec1762b85c1f1f1399a3168780": "0x7634b8da5e0e8fd57fd7732ad3041aebcfb3748549bbd2795b11f016fc100e85", + "0x7815f1f3337f090e75299cda8229c7155ef0be2101b3549f48911fd7c6ca3781": "0x999e62da7d1478e310b243c1f4d8c6dc441c3003e65505145a3589cb6087c135", + "0x7822285432e50e365561bcb7e2244e8e46504ca4b36ad5f34083f4ec56971782": "0xf399db069139c2a8b029243d644c1abd827cb13a260b14c3f1cace4b8eb94001", + "0x7838409890e37398d04dd6a11ff3fbf2d2e859ad46692f8812ba0b6a56401783": "0x5706548cd699bd21a133867d33112d7f863738a3b347638eda79cbce17dc2bb0", + "0x78439e33d9b1d69a3b881088d3d673b1fce20091886ecf533d0b1c387bf48784": "0x078e4e6313a9b382adda8593cb9d07af04433e77236d1ca70f441020927615e0", + "0x785521c8a93c60313e7cce5a4249df6de73140a06708ba605eb1be212e74b785": "0xa1bad90196ccb3ca4e8458d4ae52035ac28ae92baa07af799121e64ac7c307ff", + "0x7866e7f3227c70eb4c5f7e7ed1ea33ccbf86eabe4c2cf72d75f2ebe2ef70e786": "0x34d5266956bf9d3c17900c334a29bd234a02d0552e5429485f6541a9dd811a97", + "0x787bcbf0da6418fbef40523caf2d3d78be7e1d0a7466b48590886aaf59f95787": "0xc098932c9125932b90d879ee2facef46e6bf28a316c51914314b9185a094632b", + "0x7884dab49179a18a065814566a67018ebc05dd878890fbc97974e0c6d00d8788": "0x9f6940e0fb017b10525c59802f79d74c0e4e0935c21b9eb5b2578aae39a60f60", + "0x789633c9e18d8bd921700a895a134c81505ab65e5f38c7cc0507f20308cf9789": "0x415a12c8ca13f056e3c04716c32dd6879574f3db2a21ebdf88623f848d64f969", + "0x790b640d3a73460eb9cd10cd4b3a6a89c30402c57fb561e63af23ea13b8f3790": "0x66414ee8d523935ef045b1822d417a58650653902c03c0c132ad96868a9e897b", + "0x7911a0cd362f3139dc4ef046c49bb62be85a321d6b3d1bdad38eb7f6c8a2a791": "0x5dca038121f324b95ca984835bf6c8e2a5d95eee737afeefcb478cf1c51a35c4", + "0x7921a7debb2db3ee73bf398a61dc99c28d1aaa0a986931bf0967808a24b4f792": "0x79b8d2d9cfa108001cd4d589e233d313ef95be7773943bd2cd263e381bb58595", + "0x793b0203a13ba4ece7ad140c5b14dce7fc7446ae66bf71f5400b245f703e7793": "0xfac3e9d7e965923a674e7823f1da2c0243cc06bb6b516113fddab03b259a632c", + "0x7947d12deaf880571632592531000ae27f90742ff1603807184ec91083a8e794": "0xac31d19533a7ab648a6f2491d1db0976c2492c1c64aa3f09e1e4d347b090c13f", + "0x7953ae561020726518e36ba2eebe582174f5a3ce3899dadde9f14cbdd778c795": "0xefbaee44bc3cdd12d66d213939deefc86757eecc0484f552d366c2c630a650e6", + "0x796b18305767ea820f20ffba8d1cb410b795e784dfb52fbf9ab19dc1493aa796": "0x7f684377a0f5337bc0eb2246fc90973636b0247c83ff801a1d0d702bf5f31ce6", + "0x797eb0ad865423b54083391ac69b9ff97d53010465b820cadf5362448b4fc797": "0x568468e29c4bf27465b9fe9730f92f1337da7bd421bd5a5cb5a60e60063689af", + "0x7983374a5e94f0bc0d76220c42cad8b461bc417a5eed7eb13fe6536b11a04798": "0xd37e5f77d18b4154e944457dd44980410722e37d8ae80cc6415666d18813e0fa", + "0x799ee5e91d022f8ab1a7df2eeb40324cbd76bd194b4762b1030b3d646568b799": "0x43c28fefe4943a19d2e4ba71fa90f0d7fbd513da12754cff9d19f5e88ebd0573", + "0x80021a35d7b0ecb5a8c0ff9d4588f2bc0f6159b04c3a2cfeae46a18ca624d800": "0x37ba2644fe16b3851d598720ed5684bfbbeb94fd07d8de3e570e0f18988d038e", + "0x8016aec194948fafd66eeeeb8ca37b963b0871fdf82497ca045d24e2d93af801": "0x5b84a137c6ae224fc402ceca6acbf64609c16da702be785ceb9de19efff54147", + "0x80210106e9b60838677ab770b58b4a78a67818cf703d0c1ae91101a5601e3802": "0x9a3e87604a4fbaa141ba803012909d17dcdc550e0bc8cb76391a0be1123a6c77", + "0x803437544b303545250b3810a15655c2d5f23158e277b0288f018ae73f006803": "0x34815173e1933093410c29c6e269b98f5abf053a132b514ef6ac5884d1c07bc8", + "0x804ec01268700b8218011e88a26debdffd6b85381d71bc6243469ecc5276e804": "0xb1533c1b763f49be81d02cdef9cd50688b1ae2e00185d861978c9250430272f2", + "0x805420e2516ff73a55f3e6ec56e0e7a3d099981c522c24556976946bca693805": "0xecc0ef99d7a44f43150baa126e63c4ab804cfa5fe24290f07a10bff6fd5089ba", + "0x806a31c270027d16acd3651889aa546dcb4cfd999b1268c199f98fd796c57806": "0x01b2be70838bd70258c1f4696b935d2545da33aadc0818bad385eab161c33748", + "0x80759f3794ea5ed35785735be3d1026e96badaef9f1279b3f92568b87899b807": "0x53012db7a5ea6caaa36fe6a9b9f2e9d3d9c841e5cc33f3564443ca88ba174208", + "0x808a30afcccfa08e77bf10239673ec0621798bcfc9548af9bad613c4629f4808": "0x43c0542f4999fe8b52ced4c350189449aad88b1a7a40821f3300f24492abb32b", + "0x80900ed88fc6178e54594680936daa67505aa385572fca32fecd37fe507ff809": "0x59d67ee007859cc6902894cd0d3cd07732e38dabec5f683642137aec3cd7e20e", + "0x810e83a3480968a406a733a5245ec7a59061a18d4de39afcfc1a204e4fdfa810": "0x30ab670f3ab119acef0d78df62e916c4e9a05b211e5d6fecec5636caa632b715", + "0x8113813d593914ff8484cb74ba60edc5ec5f391fa41528a5afe8d0a7e7df8811": "0x82bb4b2c039f24b60761116dfa4b036d2cdd66904f8b40a10aa94d709948017b", + "0x81201412091af5119aea5d1aa9695f9d144009adb0bcfe6ce92113b537913812": "0x56fa9db5f69f28f555e26eb4ecc30b3786cff79d21915c430b837125d59433d6", + "0x813999b14076fe6a8a3d2fce2edb896cfff3756bd434120d8825f049a26f8813": "0xf2fa7a97f352d5d8f14f19d510a4bed44e58ff6c92aae40d2832d55f751cdd79", + "0x81477bce7e29078c05415fed9a46bd6ea90de01d79fa016b17ad2dde32c16814": "0x663fb2120891aba82a07e07e88388c6422478bbde72d44056ea98b7f187e166b", + "0x815f643434ca067c7a6f482f910a94d7b9b82cb74b130c25abe307618e7e5815": "0x6921b630d2e7075172cb62268f5f425d534bfdd8746f493d0d340e0c8a8a9ca2", + "0x8165110e62e9a3bd44e6072206e9b22a973d84a72e5c1c3377d11ba1dccca816": "0xbf5a66189d77174449c99edaa61ddf7f95ce8d277c54b3b0907227bb3f7ac0c8", + "0x817b84518c537e72d39367c690b4750b83bbfc5d4e548918074f1f8fb10d4817": "0x3aad9a8268a14caba3fab1478d7d5f4e44acb4df163d8b154592a047da7995a2", + "0x818fb1c33fb793937d9ef91deb2a457b1772b4d046bb5c125f653e6c7625e818": "0x40165651bfd5c8889e40832bfab81c3acc2c302b4b64c39fc18624192ed3b84d", + "0x819334e04283f3facc855384761cca1d7b89dcafd33cdcd8b8c055e7d87ea819": "0xde17bd58add2bccdcd3a10d035d2a755b43aaccf67128f46f24f8e41ebbd479a", + "0x820e7e1e9473fe739d9e7202860686a87c989ef147aa9095f4f690e138535820": "0xdfe25f10100002aea10d807755a508ea557e5eaed3a712ad8711abbdd8dab4e4", + "0x821ed4710070c8ee6fa444c15dc436702f329e2106b223d65893841e761c1821": "0x35a385fed86917237bce5a5e4a7e52052f0f5438dc36f65e2dce2bd2495f674c", + "0x822b2829f2cd0289d7542fa5d495949c96247a8107dcc647913779daa8f7f822": "0xc8198df997e974bc36ed81b285831ddc22328374dc596fa4267f52193b20f271", + "0x823e8d7cac78f280b14b079180dee0cae43552c1a03892ae47b45f6af94b4823": "0xe1c665afb1e3edac0edb14f9389d9857a509b0067de451f9b97fb7248d06a8d4", + "0x8241f64f2195ee0d9f579ecdeab6385c824cff09011559d9fd712bb2aa131824": "0x150893a6cbfb856018c6dfb2020a1ea49261604deb9f6335e19b8ba3d14ea051", + "0x825580e6b474719a7291b77c583faba4e50cc321dafc96e9f9437df786bd0825": "0xe8176f777d70a28fbbf438bf863519a3455803143fd87b5c01b03d2682471261", + "0x8265927e22a04bfdcbbf2b7c1ba82a4f434ffbf3d4a7d19a9e5a8a087c110826": "0x614c2a4d75fd1df64deb9b9c09d5d76aa697b73b2f3135dc32f7fe0c4340043e", + "0x827ebe44406b826e04e0e5193aa6ed04018db7fc31a0d1263d12d9c075c87827": "0x4d71f765ffac6ee4dcdb0371ebf7fd451de5b57c4f3451a8d2b89eeb1b059d11", + "0x8280cbed91ffa537924b6b8863fb3acd7de7c2f778836c571d162e2009f33828": "0xc2745f18c1da2b9d62585ee07fa6fbe9021e38f4f1a8138eee6eaade4dd6633b", + "0x829b1a0f6528aeb3f97039cf40b3a5be469486cbfde61e53916f115376a70829": "0xa576ee3954bb22c2efa8a27790bf193ff79be7f4cbb718dbacf8476735223375", + "0x830e14bb8d33e26a5bb21a0f475046c3a194998f03e47d44edd9291422594830": "0x05e5d022f5246e51b5ebad665f5f55deb8bdebb76cac78f073ef800de1c37ebf", + "0x83171aaac78d0f8640e24f79946530bfd01dffbb26729e814916d7dc05ab2831": "0x10edc68efe0a1fd28f6139d73912475b7f83627b7ee85d5033c9328a94ccdd57", + "0x832ec3ca3060bb538c5f4235b5221f8f36e9cb75ec45912070f778d4d84f8832": "0xccab6340a9e4abd7982642fa562d9b30695dd74a479b95bba1fb8e144ca1a6ca", + "0x833200943275054ca02c84d45ad7a5252d5a15e0a61c9901b84bb808e5402833": "0x9895b5d3b864fd61014f986c1e1c4df1c3311375185a0caedbfa271eef2b5ec1", + "0x8345b5c8aba3c57db58fbe3e566dcddc63d6af651dfda2caab124766181d7834": "0x86c10ca39106f8670fdaed637830af914c8cbf738e1914251726e48c28aa7bae", + "0x835b54eaef4287279a1909777446fefda62c865ee693b3e281af6dcd9a060835": "0xb18c88fdd74ca951a333005c29626a519cf5388056d998dbd88e4536b555151e", + "0x8363cf916a374fdc6c9d4feb4a427ce62c39bbaaa544efebd69baf6f550ed836": "0x172a07e0f38da93bcdfd23ad5da154140f1ff0bd91a46594075ad11ab4224434", + "0x837aa07f64d83f88f90d21921596a97af2bac04018a38b4a8c9856a1f70b5837": "0x6d11b2bc510667040f5242e21df08a5279114e1bbcfc23ee938b929e4e2ced98", + "0x838930086bd8393e74b5f4b4a2bce0280b07f7d4188303d9b456167994709838": "0x5cf98efcb07873986615d7e934ae3104e7cb14cf5ccb845cf18569428d44fa63", + "0x839b880fe46f63c3b9eebbe390569e067ef8ffcfe0548a48cee5e19ee057e839": "0xd0e2e01cd21adc15075a46cd6b5d98b98758e62f1ec6906f3ca1b2475820b92e", + "0x8408f7256503ca4bc5c58fc6a63480440edaecc5a271afc3f08e2eb4e38b4840": "0x2edd49f40b9c0bf29cd4e81190a0cf1ced58431a97d9d4569624b20b6597252a", + "0x8414f741b462428dfca73ca575b833a021b77df3bba0e38b7b4674dae9970841": "0x0fc23e98bd4ddf61938367be50c40d7ea6b84319da59f82f5767252baca09549", + "0x842df3f5473af4000a6548f6245194071c5ae36be0e685bb2f7a7b854081a842": "0xfed14e3fe14b7b6e072129394a406bcf3f80d81e149a7b4bebd3da4d743adc20", + "0x843650d2deefd83a991fbb30eba316e596fd379d74f61852b94d1f0d96220843": "0xcfc58aef74bfabafd0ce960d7f17597ca0c5cca3a1b4e43a79885b1e597b293f", + "0x844427c7b6e392b6e5cb5200492af77ae0c3857e493489948f3b07b34e3e7844": "0x14ccd72c1348e5c057369c5107b1b43a51f8cdbfbdeb1a5296c9d627fea3888c", + "0x8458debd773c4b58f6c65d08bc202bf7dd527378aa44effc6bc30bb1f6637845": "0x76fda491736e9f237d82b10187b78fe0e12afd22bddceaf1a6e24d3126d3f50b", + "0x846331e031bd1021fedbe28197f75643a04d0b711fc74c22020cea295dce9846": "0x5fac14e5fe817342448cf6ac3d42c6b8cefbd6e5698951fd720f9d8451d0f71b", + "0x8475ccab3f1e94a5b09203cf3986b177b593855a0ac276c21331a73970b64847": "0x4d845ca0b7599116c730cbc8afc7f546ce285cdf449a998b3472a4fc5c5fa9d4", + "0x848324859dc63c779a0b7c69897f15eb4292cfd69c20821277248f68a903e848": "0x8986206006d5bf5777acd00f11a3ccf2c8606cf197161ee0eefa1aa434a1a2bc", + "0x8497b7f2c6f6d0e29e989c380e4ddc437a353fc099883cb0b222b026b182f849": "0x8c11621f38e86e4534b5b5defd86b69bbcebdf32fa016b7a2b0aab20c859dc39", + "0x8501fce28f11996c465ad4920f0bcecac5f18f24e65070a6c5009fbb4f929850": "0x8d6942cea45240b839855018ab3c95ce9e6266206ea7a81a89d1eb2ed32a99c5", + "0x851b93e864e99e1f313d80880e675d1f1af62ca73d1d8da5708e451ea5fe4851": "0x2382db806e5753c31e0d94bcc97fa7c74234b6b8b436e408b0034e8fe0e98665", + "0x852c86a585eee65d40fdeaf9cd7665651845c11b1eb36cf77fabbff903ce7852": "0x541f2575848c3eacf8ed5632076871cd1c78158d83ea82f356f5dcc3346cde7b", + "0x8534df33369bcfcb16ca140dfbeb44fd7782c0a22a8beac5d43cb12de3908853": "0xf817592f72314ff3844f2ef57bfc2f8de53702105e44c22dfef28330c16b4b19", + "0x8546c99ebd5fd360675e88957e87906e01e6d2af040975df1c329a566f1ab854": "0x1fbbda17caaf4e1697033e70954d9e779ac46007a5a559e41cd1617640280435", + "0x855da487b338214ce7455f1c70326ba4306106833660730b6ea341802b8a6855": "0xe589be221be7a7eb68b4651e187bf4276f41400fe0c2346f2856d2ea870637e9", + "0x856346f2af16931d48e67ba0c3ce4ecf1cc4d553bb525d883a8730f2e1758856": "0xd92b3805e29c672c907b876993e2a6412821f145d41ea1475798b5996af9d0b9", + "0x857913f63223a923a71f015b2bcf6e8a1a1735d1152e6f80419918ba9e5ea857": "0x2932434a8f67112218bdf4ea80732d599e3c79583827dd20176f4faf87ace889", + "0x8581c9640b2377d90fb03e699404610353bc899be3e0ffdf374816e8ce5ae858": "0x2027d61d619ff491990950e4da953cad15f07fe34c1da3630f4aecbb3bda4524", + "0x8593065de5197244b59e1626d8564d65aac23d127bd85b388f6e44cb44356859": "0x59e1cded10bb2966e5fa12233d3dcee994b8862d1bdf336f3c518555ab1f15c0", + "0x860ae20835e1f6dc56f1d77e3fd7eee524b3755ac4fad449a94759dc48fdc860": "0xc4b44c80e3974853c5051b40aa34085d8a41462bdc6be4ccfd3332f8a2dd9b5e", + "0x8611ccce6ef5501b0b67b7b9cd68e10d8e301db6180618473e64e563bdead861": "0xbdcc970aec5fbbf50892686c3e4946da7fb017afb6457e983e7e60ae0ce37a3a", + "0x862fd493bc5de2eee34822a58ef9997bbf2ceddeb91d0f4ab43c843e087e7862": "0x4fe9e0dc13c9f6f29dfa74390ad1aa854e386c1e15b4098143ed292c379b0900", + "0x86385637868397f988827e5fadb2ede30d75ae23c71eb8dd17296648f3d8b863": "0x2428aa161c50fe26be256cc22ffb4b11a193bdf503b83f190beb6348243ab774", + "0x8646406e46a2254cdfa78cd4414d8a5786bb9d28efbf76c00958c5da84b8d864": "0x36c4bdfc3989a7d70c955387f4f73446fa8304082c675d40f7275a380ce3cbbe", + "0x86526b0122747c826145cbedf04fe245310fe47120963eef0128811a9f36b865": "0x7265c1cb6bb4a3647174cf4ea400274e4aca25fa7c115442ee88314ead90ca83", + "0x86668f6616f47300225728b12c85ecac8b9f48b21bf99663ca91865729990866": "0xe0d7213db393cfb99a742ff36e7765940992a8a0dc315fd3f6ffa8213e6ab433", + "0x867cadfa15c7af27536e0bf204be5b6469c9d4e81fe89778bf187469bf103867": "0xbdc20aff6dba1634a02400cbb2d47225807448e06135b85b8a1729f9b689e16b", + "0x8685052d71b7e5d920126f2def3df9242d1a1faa590f12d371cbbc338e562868": "0x497bbbf26b3a7815526ea5a676ddf2b17826d1e34df16dec20d43faa2705500a", + "0x86927b950d639ad1edc38663ff1a3e1fd764fdb4bfc0d6f97effd776f0600869": "0x6a56e5cbe17410e5952b711104158af653277db530e50bf797102a9d97b3c602", + "0x87077c2fcd8ca27d313a87fdd805cdde6d92195244041771b8175315d58aa870": "0xde6e1611d6631bdeed67c6d9adcd7bfab509fbb67fa3f7888afce412ede8ba64", + "0x871f633422a35f5c5652748ed0098ceeb2e81f5de76718f93e119e4c6e05c871": "0x3672bf9388ff62495b70c30f97e56d9b67a901023ae6cec6bd6082432fa135a5", + "0x8726b6f250a4bb5c86e717b18bc5e2a99cd0095a4d4007f7e0c4ca1fcb266872": "0xbd7e6b5cdf4b292e4b55f0a037f2a863a733af4cce21ab30018706e08ce53a72", + "0x873d37b55b073fb5b19810adc8c6e770faaf78e54801a52bbaa8f9d0921a8873": "0xeaaf7fc8236f46ec142b07002b53d9cd8ad55dcc370a5116068835993ee563b9", + "0x874ddd4aceea78cd667bf2476f16758728e8ec12855cda938e75f32a4618d874": "0x9e092f3e2e2d72672facd325b41751f7be185ab6136d6cc711b04ea54b3dd2ad", + "0x8755f81c0575bd16425b9ff10e9c5a4e600958e428a9fc01f39841cdc07c1875": "0x36e6eefce1e4db6fc2a12d40e64300ea743bb32f1a703c244ac0595d300792be", + "0x87671118a6cb8c5a07b0e4ba7db3869284c20a1a94aa70af2a7a41b0e2859876": "0x348071b685e37fff2323e117f87a75446f27fa03efb8c6ef6121bcfde9265fca", + "0x877008bf3c0d9ccc1a9a4504ba9679ff44b43e5d067ee2d8130c06c57b437877": "0x739d2ead03553754a5b2781b5c0390994d1cd5ae0a4d0a16fce903c53ce6e98d", + "0x878e3865ea5c4793d032f1fc4a341df446d5b17872e3850333ffc16d906ee878": "0xdd487c069cc070ac55fb43c52058a08bda4f74edb25495de5e52886c14062390", + "0x87945dd0fd2a3913ae873a28c6aac5b0597035171a4a2a01ac275e53770e7879": "0xfa559b53a99b747c53a2ec127990c7e7421789bf1ea22acee1ec7593a0727618", + "0x8802452888d877aa422b7fb99d5da871d72688b771196b5b70ae0141e9efa880": "0x274cc243138b39b2719605eba4a6d58ee87c57901c5885d024cf03cc18a7e5fe", + "0x8812e291c8611088d8b4b08d6946b06970bc5b4dd2866074876b0de6a630d881": "0x6f4e397a9c58037954a00b545c8107fe93f02128290af0c68b447170c08707f9", + "0x88208b2d0e1124921d6df239307ff5014f22960f2915e8c7377e9b2973761882": "0x0bbb409494254e0d310db9387d5fd116e421c5f4d94aae5a6886b014c721bdbe", + "0x883d95aced27d608eb0bcf52beb08b0aecfc758cb3d385173ae47cbad031d883": "0xa2ae065cd8d10667f73fccf40c8b650179036b7ee1fab819b01b7836cf8dee25", + "0x884f77b14499d7ab9ca8feb30b70f271828265377958f4d3ab0a05c064951884": "0x802eb7682043cc798f36e101600d79126b74e4b1d083f4dfa2e8bf566613cfc3", + "0x885515e869a068a276d1af38e65c7641b918939214b1c77f8741530189f75885": "0x6d8a7c0172a2ee4ea9d398894f733c808828420c802c938ffd790b57ca4533a1", + "0x886c04839d9753c4e3bbfdc6a7de7beac2ef1fc550822a7f1e6a61afaaa83886": "0xbb76ecfed14912051064e1010edf964eb0c9b889042c27a6364bb3f91d992f5f", + "0x887b518155a3ee7cad812b13306800dc3a2c72bba5dfb8d347659e72e32a0887": "0xdb8619483dcdd57902f3ae49ff0a814344f195406974bec1959254e9678d0802", + "0x888a4c3e633db7727300ceadb558618dcb1a2aa11d43a31c7690faf7c5fc8888": "0xab1bd60af1a132ddf0d087a30fc1ecdb00ad32c923e5aca6f006ae322a10c2db", + "0x88911603f4be65d06cd3189d1aa89ec215837bea1f226030cd4aca78cbdae889": "0x183cf3559ba21176afd82287c9f7dd97791dc784f315c155c89ae45a9f83e23f", + "0x890de689eda88de720e681af8867ad650d9cafe047a77e532a7a987a4ea93890": "0x65b9e2ba524023eee93c85a4ed8cfea7e32b598bccf5e264fcafc87e73006514", + "0x89157a1c1984aef5cd28e845d436d2f291770b8b4930bf980deeb57c0985f891": "0x2038d968b5d0b547544817555a3cfd98131509436e5ca5d18f960429cc788818", + "0x8925ef7fd8c4021fcc2a425ca35d2a8561af72b418a52d47a5f594317f2ce892": "0x19558fe2c4f1445650a6a151e4955620e4bba2d83890e8ae856d4a9d287e1836", + "0x8932339df24bd2f1984d9e7932332e64dd3ec838a9b3bb6d730199a0a5a86893": "0x10941010922a2a11535685a5afd6f90be489afd4564f0676850581aa243da9f2", + "0x894651909f82f96698d105b7bca4fb64ec8a274af6e138078f789c53b9bca894": "0x3eb85da9b06fdc4b615c6250afe2925561de04bc990098b2b3ac07c2127a6783", + "0x8950617fdd377d362648bc6f32a6fc5ffcaa079787de1754d417c6d4d3e46895": "0x5fa10f33b0d373bb8138d9acfe582b6d3079782f9ef9c1d8709bd98b689e74ad", + "0x89623dba8bb77518ec4435fdd8e0bba162eb03081d3c8bb418eea32921faf896": "0xb48c81055676163dc505338cd3998316be49ee497dc131eeeb7b80d904eed35a", + "0x89703fd434808c5ed481427bc87c4d253d3db6c85aace635a08a6f99dfcee897": "0xbeb5fcf07f1bb6cf7250d34cbce0c92d124a3d3801498bf721c09e62eedf1667", + "0x89869cd5f0f9f1b85713ac390420696a6af5f482ccd29829fba7419340cb0898": "0xb123fa7c68dce38b1b1a0ccf7806a7e714663e1cf85f05370b36cf0d976fded5", + "0x8995645ce055bcb4d0396a1eba53c5e87887e6cd57615606ed6d7e70733a7899": "0xa3ebbecfcb8e761429c3607c6dfdd1e399329ebc1a7657f393fd0ab1254eae68", + "0x900261853e3eddb66e15cad8f6e453a4281bc5bf1e56f51e3b669b2578a54900": "0x780e46794eac945e695f6e56275dcbe3cea3d21249cd7b96004dd56115c821c2", + "0x901d181521105cd2a07a0ff6df2eac3e9d7f2ed998536c10ef8dd1654d4dd901": "0xc79ffe78d05044f44e06c0766ff74f51af2aa8e8a84b0f0ee10f162d99df5e7a", + "0x90278caa497778dee0c90b7bd952fdc7990cc8e7ba7de59874f25e4b0dfd6902": "0xde4f2dcdf59e7fea19a332babc1c40ac2e8abb97c43baa0fbe47f4de54be8e16", + "0x903090a0c1d539877604e0afc3f98f400421107d40b50efbff0f6fd30c979903": "0xdc9761c99be132aaa8e12535b4215308a99d554ebaa1d7a3ff7cadf1b96f4ba4", + "0x90444199b27e4358b595aed61f49e1a06882c3fbbf2a752c30439fec04772904": "0x9a612240821863733b51dc528f63a455bd813ff866c7afd34c5aba7ec2421f43", + "0x905c7d11de7cc2f4ddb8ca1c99122939a2db4acab6cd76b1eaed6e13f0788905": "0xf23f964bb1042bb096146c124ea35b58ec5abd8cb0071b63acc28a2fe552e202", + "0x906510467ce3345975d1873116c2c6b3d8dbebe94416be728c305c995a57e906": "0x6f2a9736d1bf1aab482b5767658786c1463688bc1c33a26d22f9d0ab9398560f", + "0x90722f03e465b387a20bef9f1da6b8c7f1afb830cce4eb278110f131df8d9907": "0xff7d26236037f7fa7b310a65bd66404115d1bd34ea3451ef8489d9f91d51cad9", + "0x90806c1c2dd177d405a938daf680fbd1fa2975cedb39cf6a9f1672efd324b908": "0xf00783fd344f390f64fa140352dd9b52f96fae7c50c20616b01894ecb2373796", + "0x90908299fd5b71ead643e427ad1d5515fdd08b595a2da7a76bac9a92c70ca909": "0xe64fef188a86259cc4ffd414ec7bff5ca8b1bad42376b8b88860c0721a70137f", + "0x910c03cb6b5d75cc9cc66545a0f17418200ad378e22d3bde29286aa8c2034910": "0xc565d850f0b9949246517402475680ac9fcbd75f7b9f57fcdf5a5c3495ce6439", + "0x9117304913da3b8101b819f4edac66db6281c56d13917c687308388d430c1911": "0x48788a859f454e65dd43f9f1386fae986015c289f7ff34aefc6d28927d247e28", + "0x912f93166c5ac2dba5b3e4115a284ed227051fa6174bd1c025e88b0974c56912": "0xcd425d339b4d4d564a4f32825adde4026f7718072f3321a506b9a37c706c4b05", + "0x9137789da6f5e3b8e43f782fab35b36d1cddea0d143287c4bc2413c437c2c913": "0x032526368e8934c2af2ba102506d558bb7fab232b112d0f05bcd49ac724e85d1", + "0x914f740a813da97e8fd121d5353363bf3a8b4848e11e84adc3137917fdc06914": "0x1b261e10390c5a6959f657d8743fb9dfd7f90988df63065d1311abbf54937322", + "0x915011afa720a8330c481a24db94e05fe01a3d335b2bc31904bff0b1edfd2915": "0xfeff87941e3e20418f3b02548dc40b4c974e372c99be00d5163718f04c92144e", + "0x916e792a0cab61fbec7c7bd0018d68beed0a95a8d7b6d204afa7176119684916": "0x06b3ee53ff1b8956c73abf6107b5eabd56d79395169a76bc530842ef8032b21b", + "0x9170ace14de5f7b637614d2da81b3a8f6de0ec1352cb489b2411fa5e37bae917": "0x1a7ab303b8aaca8dd5d97ed57121003d3ab95c605b19b64641eb4e38a0d3bf7f", + "0x91856f02aa401ebfe71ab3f40c0a263070fd9d1255b1d18367581e9272b41918": "0x9ee054184c5cdbe3353c086d0b161b1374e8e2740e24aad5f64657e2132a4680", + "0x9192beca9264d4e8c3d9c0d9548c30c15a4560772f18a82d0c98ee1bf3f31919": "0xd86f90b5700ceaf5467d39a3c3ac8a5761dfa04079437aa8ce1b6bb56d8ccb29", + "0x920eee5508fdf4485e12f2d297a6803d09e78fddf1ba481d9775b86b7f5dc920": "0xc117ad73c745db7cb376030ee8bb8e0ff2b8f3e034f0fcaa418dc6d52f59c6ed", + "0x9211c880a4549c2a5acda2798bb785f7eb9b447b82d4bad428a1b8d50085d921": "0x35d6c4f100eb620b351e19df0c1a3910ec3ace2a0e718ddaee484f132ef58ce2", + "0x922b404f083bb16b9e108546e0ce776b302d987f072a10651c25e3959a7c9922": "0xc1c9619f7bdd4fd1116a34e4bbef912fe633b4e1c4d9c3b51239ce14282f49f4", + "0x9232e6f157f3ababc82a67a83a7b0768139d8023cc42e2045b8b83910d4a0923": "0xc7f5fb17be62aafd7134491871a6145369d59745b9358816b33642bf08476203", + "0x924ff248e453e995a6d7f064983fd35157baa276160edeb0e06cc43de2983924": "0x171bf9007a471d082e41f5d42965567009264c935bbfc711969f82eaad68d4e5", + "0x925220305679aaf2f59e005989cb1d07151836a196df85cd7b422a618c5e6925": "0x08cdc0e519896c10652f0d6483e971ca219e18f9ad3a7686ccb4a36efbfc316b", + "0x926c13d6507752a9064a5c01e70e161a48b25838ac0be3b41d06ddc136628926": "0x8a2f61af291dbae6a14c161b5424ca85875a424b0ecd83bb3f9fc848d12bc299", + "0x9278d687088897633dbe1f2315ce56ca5f9021ad178276ccd71931e0b8f64927": "0xc7d346300284c34ac09d87858e7db915755cd572496fa9d7a15b075d2d3eb953", + "0x9284c9be09e9527869bf6164fb935a39ad7ca98ae5b21dc57ffe9f0fcb0e8928": "0x25cb65a8ee81353da973eb85cf4f29b27079134719572da22cdd041f9b082d41", + "0x929c989c30813065ead0c0322bb9d0a9efa197a6435dfbf5e2f76b2c5e35b929": "0x7c99f515ab38122cededa381688c85c8880becfb9950dc6d2c9bbdd01dd7d91d", + "0x9306aac573c7bd685d909aefb2863b9802e8b565552860b5cf5544683a8da930": "0xbdb1bdebaf1a2c7b16d30de75292cf358a2a18f7e207e098e3b44573b4962ac6", + "0x93158da43bc5556ed63a1f809b1872d43dcef8faa80fad370492d944aaba4931": "0x60220889d8b23db0908a2c4ec5344498508a2de6df7762238079585d0adcb3cf", + "0x9322aaa1a18f996e4c5e8ba5a47df70d43dae011285f1b749479ea07b16a3932": "0xb81bbdc27083c3d5ff88863b85f50425516c4abdbb3c960bffe846fa8504633d", + "0x9330a59ce5e47368ca00c29686fb9f1c7b8b2cb1e6a6db0b952f162a58bad933": "0xf560affcda9eb0aeaf32e5637c2a9f5208ff741d5eeffbc85a5aa7f12206780a", + "0x93442bad3a4e3e80f83806847735b643adecfba3cd8128aa0b56a7524477e934": "0x29f159d2d2f278270bef60510a3c7750d8ed84c5b7592c85b761d63bd13c7b76", + "0x93579322d95380e1939e9c5347aa76122d7ba83db82911da996c5905ac771935": "0xa40bf799ad3f75d007cd974ac4804114acd463a452ff501654a15d5fd35261cf", + "0x936e0c38d0c17b847d8573b5b6799fd4eeadaf4859dca07ad302900983372936": "0x51a94e052c6233263813c6d4e6ebe84624621e650c40517eaf896f9ddd25fd06", + "0x9373dcab5a15bc74f31adf3b6b601db14f5c4268d485d19d8e7333e9f3456937": "0x87395262f2d694aa83b95219e8a1ee5c19cf3c3effe720b926d03428febeb821", + "0x938db8b6e31004cc6993f7d521e36729bddea6ae4393569b667ad1fa3d484938": "0x74d824eea43e2b3e5d100aab3399e48af364d33cf1accb16b096866699501d30", + "0x93967c34246d9f8a0303d08236072144a8eb33b9571709687d255110290ff939": "0x3ebf2b3844c9d423153f12055f33371a4f404f6d00a86745c5d1c327a0be8e03", + "0x9401b6c7cde06635dc7a61c05f6dcbbfa5d96d2a7461bd6028b4638be082a940": "0x0b68af85f3dac205971770a755369f4ea9bf629f426468bd949c55f83408508c", + "0x941947a0d241c2fc3b3c2a3e401a69ed5db8fd26287e429de966e4d023a67941": "0x70950fc0d78a87d2c76edbf67d8cbbe72974924ad98413891346c998eba7d730", + "0x94269bad90f187b514d8ef7a44cd8cdf7970ce1248431d6e91c536f4be990942": "0xd26952e37b9f577fa18e7f4b2ad772acc7550f1ba4aa51bf90436a07dad5ae60", + "0x943142be7e1474947cc6dcac579ccc71acc5f62ccd448bda1de559e72191d943": "0x6004ae86d45608fc1c8b2a4d858b82c4ab5d822261034ccda58e2246586adc81", + "0x944127e3df8d1ca1b17ab7fea84a62e568b65ad068fca9ffc8233cca61c1e944": "0x45adc674b3575b029b70b8178691c702718bbe2d2ee1a297632b9a13e17fd574", + "0x9455400a7d2dacaec680f8eedd938c54c8a0023739ea7869464eebba23744945": "0x36a3a5fe80522ce934abf6cb53fdcb16bc0da1b08e5979d3cef16f1c9e679956", + "0x9464e285784881a2bf65dadf854934532257c41a1ac87752419b65d258551946": "0xbd2c2f61c00d789f4f38b483ea94d616f9695b6a51966b9b871cbab0ca645f48", + "0x94726c25ac532fe28f7bd6a73e024f959eda6eca85ac0781561054bd7e5e3947": "0x18be76bee9c5700d97068be64ac5595eaedb8f2e4de1ec8a8fc7b9d10a8f0283", + "0x9489564de9599281b3f2a35e059846ef7227ab99f3c8a5f1c294577c104e9948": "0x0db01bf66b5c6b0e12ebf8a5e84268e4502a76fc348520ce248a7a6baf2e1974", + "0x949e796a306a45e86bd392ce720077d6f179c25ce82edcd49a8bf0b180716949": "0x66dfcd184a51e7868eb59c936dc699d083e5635475ee059c85a8f6078e9f5709", + "0x950adf570e8df2fea689b56f8c420d44b8f6e5bf23dc7eeb523606b8a918e950": "0x7f0086b5466a40fa95ed096fdf8c37121652c827e414742382d277482ce0687c", + "0x951b1d6af54b53886573569cf5bb0a621eb6b821a8338ae8bf880ce2ee7b0951": "0xc13dfbdf260e2648ef87a1c59fde801d20ecbc4675ff97ef707b1916dc826b23", + "0x952f4e3793d06ca820f849dec279771da14c38f8ef0efc3909d543d2546af952": "0xaca444dc41628024e1fe426547cff00aff5b3a2f40b35ee67656e21373183ba8", + "0x9536a973a1083bcefa7a2ca16945e2f17a8547f2e29219241aafd6da02152953": "0xddc6bf802933c70c16e2ad39e197951cd50aa64396887932f6f74f667efc57a7", + "0x95478426b751b2e542f5e7b5cf369d5df838f3b33bfbe45737651fa2c2410954": "0x6ebcd0cdda3058e94622038340c211bc4f7fc9bfcff69665d29280049571fdf5", + "0x955a36a346d4641f9307c05ad28bd26ebda7c928405de37e65ecd85219b50955": "0xb573340bbb3f9250a27ebf1a7b371f182a6510d546d9ca99296d26d3e707824d", + "0x956f3a8d3851ceff1ad65f5a63b4327e76ae6e1462ebdad1e06ac951088b3956": "0x396f8fd963e79e0436a9028a101363572db07b00e31ba6b75b79d8cf480cb04c", + "0x95720cf0ffc6fd38aea22c0e52ad35ccbf96a34ac68cdafdb76bca89db67c957": "0x93897a5a1d13138bd8333acf2ff023594e1f0b07f0ae6a98924a25d24699d8dc", + "0x95805e66cbbed25693b06d0c5845df0cc2ee9ba2ae4a903f0e57899d5aa00958": "0x7e91c93663fbdd86dafe883fa2b94cbc102bf1c840ca148591818a0124ca6839", + "0x95913b92b5d45968525ede99eb423a000165544684fd7d93c9d9e4bf8f464959": "0x6d4aa68ee4c0f214f5103bc64e63f30c442c327e98cac80302560b8c09f2b4c5", + "0x960ce22d05f10ac45162b5357da44640b11d8159193762184adb1c8461b70960": "0x113d7db6f603975b5a61c9f684bd290a4879c04b992ba6fae044f7dfb9c6a347", + "0x9619c8f6f013bf9533514392fce4c30df07deffd989f9e68f35a6de176a68961": "0x22c4ca38140c4fc87f88734404820aaf9d33f5d8dee836d260cc0f167c681907", + "0x962f1c3c163780fd87b8e8bfeec65a7241e2ccc8eee53be4155403e86f98c962": "0x101b8a7b1ebecc7e74dd447b5dd222665b7a88eaab4831038ffdc7e3e2e49915", + "0x96341e3895b520112629a5ed404ff99359e1078adf2839addfe81e421c09e963": "0x023c757a9aca01a2545fe32047f093e4d54d82afb1042ec051a45d051b8331eb", + "0x964d04ac7ef45ac694a55eb92845608c2187c24e197d85c5cc3b26d5a5a75964": "0x46b5f382ea7e8fccbcb4ce3df4e835c6a8cf57038091703e8ab6f023b61dce4f", + "0x965c93277bcd3210d677bfae03ddf1813a31b05a87d8406c7119d1e226056965": "0x358aebdcd82748972accc96ad0d8fb086142ded41bb17ccb58193ca755d0ecf9", + "0x96651c6b8b03b4b7a61e16127da29c40b630dc8cb847321ef272f396e61ad966": "0xfff0c2115a595d8c69bc9a80846e768876583c069e1cec6b419adf07089b0525", + "0x967ad6fdf36c4297953fce8ed1a191058815d95213c76134a93164da4656a967": "0xa80e52f2dff7bf491412f0b0398bc41656c3a38cfcf5d9f1814ac3dae0eb4f2a", + "0x9680cc839eac22599a505ca56a800a5e081bf8a0fe92825c0bc65b1dc218b968": "0x9f40e0973e2f5320d4e9e85f9814077273391f708f843bd68d03db3177e2254f", + "0x969add9de1a1c8db8becca6d591d3d33a1437c1cdfcc57a43e72cdf873c14969": "0x4397eb83274521e0c32057864648ddbe54425bd3ba68afb915d3d5d340de0a71", + "0x97039684e863bff0fbfac14049eea9313c8c6e5ffbb71491bef1d864f77ff970": "0x4f3a7d931e14589ce0f03c39c60af29d8f97234ace48787cb1d9da18814fbf4c", + "0x971ef8394aa1443db968c7b7df7e6280585385970a089e0fe4c3529017f9d971": "0x88cdd32a01a5687600c0e16002c803146da00a58e7ef77a8c4d27809d13560cb", + "0x9723a01da7b285f46cb8e57d3612a4d51e8273d2d3729d55b1beed7a1908c972": "0xf6715e731a7903d7c68218447edaa9cfa03d455d2fca4dec6ae99d742a6b4a62", + "0x97331eed0b68d1f77f3b5a7244ec88a192f8e1b8c01c6f625b8e4b1ce8294973": "0x663d808eb09231fe371bb2c101d9d3940021d2dee621ad8c93b9a65b48de88cc", + "0x974c244d4461ab14e0c5608e45fa7ae68e2c87cf694cd32fa013ee59667a7974": "0xf19803118e78212272dfe4f7821b4fb523faddd6f7c9540d0f96b1c4e4c19f4d", + "0x97574ec6cc3cc6e48bb94568d03ae3bdc69bec9b3f13aa370a7802d7e7988975": "0x6cc5d00febd4a4956c4636347a10af3389c9d1d7447c8fff3a84e9eb06836b11", + "0x9768dd10da5d12e7fc66142b46c117c5d6a39206cdabdac2c568a04229e39976": "0x388450bac8b9303296364d39724f987aff0481d27f2266ff67564b681148a072", + "0x977f892039532a12ae2d838d55009b59380eb45815c7308d5fd6a5d00fd14977": "0x31a4a4b44b67cd8556a8187d22f66a3294e6d40f91cc699bd285ae96735690e1", + "0x9787d6650d609d774152459b4d929de68ee6e332066585b5c629410faacc2978": "0x5042ff4c8015694e2c03a848755f021ab2c4a9d46c7e93ef752c316f5910d513", + "0x9796528bf86a3e49fa0131f49dc4f646556cd5ea561779aaab5615e0611e9979": "0x75334a20fc5119694b654cd06e351f9fb7df3ece369b34fe0a4e518c8ec1f62f", + "0x980b3444e54cf22b17acf0b4d5ba15fd06c5e27061f189741e6e374e76599980": "0x3a3201dc1d296aefb4932996289614269d4f7dae948b1e2300f55197334b1e2d", + "0x9814a2b20a3ded7cb7f1c95e0c183ce3e0242dd588dfe92dfdd3817f9e63f981": "0x2fe5d6fc63c89f5db52974131858cdd509f011909da1bd4c1a779f6d470bb816", + "0x9820e95aade402834f7b6cda89f4a190ac78df59e9a75107587e09a0790ef982": "0xc2e884c75519ac9918691339638a0403a2a8261e08ee6d11137c911124946304", + "0x983ce907d35fadb239d074a0ac5485cdd8e5f94569b51709c9ad7b84763d2983": "0x56dabf183148b4af9c115eda84cf1ce7bc236fde856ca2875226213452eca9f5", + "0x984f92256b81749761d50eedb5b129fc342eece16d35de0a9b0d1bdd4abc5984": "0x229b9841195eafe317e2aa7b6a7c072ceb2d9762595282fffa71c28130d3430c", + "0x985ea6e648fe65cc28b4a776a04b9b0e6dc57f3ae6acad288705028c5d731985": "0x578b48482ed53633e061146e4690542a1b505d2c4cae32a1384b2c092d172496", + "0x986771ec9720aa67194147bb0c280ee8112d634e3880766825703e3c32103986": "0x11c7ac0ed8fe447714e7cef1ed4a6f671d101558873d78618716a6174c50a17c", + "0x98749f0964ceafd10ae91a078621de7e46c5dce0f16acdf220b8f7903d169987": "0xdc6714ede12ed69c4452f2bdc0957e27395e6148142ce0f25350360649264240", + "0x988da940817033734976612eee40c17b8d10c3eb6ad5531bf1549bc63b91b988": "0x76fc907c04cff2ea03eeb8d503e9bad81658b6652262df52082cbdd9ed5acc95", + "0x98936190220e66e55ca714496e4457196bc9dd8f62470bec0acf23fb81c99989": "0x87cda98eccd676191f2205064d85e112c1511c41ea46973f5204c3abb2b71e89", + "0x9909cb47ad05b9b69e747ea813d49b51944f0f805895d3b04842ebc87c097990": "0xe3b239ed1148cda471d8ee36791c7e321273182118e6a09ca7e32b0ed774385a", + "0x9911248ebd885046b654102e299528615b7375e2a02eb85dfd3a0f5d7aa12991": "0x1c2e133b13a229c6a340754a3b7f21b261275023f88f66b8d9849e6f9ef0654f", + "0x992e81f799e9196a3446d935ee972d39c01160322dfe2ef7644bc250f02f7992": "0xfcbcf166f7fc0883192090db2fe6017b4044fe53121bd494d6082813f43b52d0", + "0x993d060c4c6edcdf0699460a4c99ccf29c514e91623e2d875d4bf6ae44774993": "0xf43e5d8710703b94295e330acd7fe7aa52cc674448d9d70984ddc6c392825600", + "0x994da139a68252b1af5ee3c7badcb1ef1406cca3bdbd4f26610c96f2bf68a994": "0x37367872ab334045c1637c553a134c6088afe96cef0df49308451c13cc64c7f5", + "0x995fdcbd2d7ef742ed640403ef80d4d12ac037f43050165eb953df9a43b04995": "0x0da307d3103e09d1992469ddccaf62628cb6aaf5692da051470acdd1c1d098ac", + "0x996badd05a4761e0ffbed2fbd7858a7a7e7658545fdcc11627f80e6b7f5d9996": "0x0ce1d1ecf276ea86dfd6b538a478f8464c2b98340b2d3564feb337896f516307", + "0x99728b8adb34cd130201a74ab12344b8b7b8758051c267e1252440233c1a1997": "0x1c5af3fdf84023369a40053cd166e4c093a1d157a6495afa82aae4ed921a3bd4", + "0x9984a6245769d90fd8c5beae454fd0a623ec4957dadc36eb7a0b87bc6ffd9998": "0x46130e70e4bbf2c7dbafec5fcb3a860a2baa3f57cca127371b03194ed732b120", + "0x999b27fdeef76c58d821b79e8a53a8115fc2259995b74f28ce943bee7bb1d999": "0xfaea9212a14ae8e1655b8f0616fc05240412e770a31a210dd4dda885efd9bffb" +} diff --git a/src/docker/deployer/sh/build-batch-fund-payloads.sh b/src/docker/deployer/sh/build-batch-fund-payloads.sh new file mode 100644 index 000000000..73044b9a9 --- /dev/null +++ b/src/docker/deployer/sh/build-batch-fund-payloads.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# cspell:word argjson + +source /app/sh/colors.sh + +distribution_amount=10000000000000000 + +accounts_json_path="/app/json/test-accounts.json" +batch_fund_path_prefix="/app/json/batch-fund" + +# Calculate the number of accounts. +num_accounts=$(jq 'keys | length' $accounts_json_path) + +# Calculate amount per key (integer division) +amount_per_account=$((distribution_amount / num_accounts)) + +msg="Building the payload for" +msg="$msg distributing $distribution_amount to $num_accounts accounts" +log_info "$msg" + +for i in {1..2}; do + start_index=$(((i - 1) * 500)) + end_index=$((i * 500)) + + jq -r --arg amount "$amount_per_account" \ + --argjson start "$start_index" \ + --argjson end "$end_index" \ + ' + keys | + .[$start:$end] | + { + "args": [ + { + "type": "address", + "value": . + }, + { + "type": "u64", + "value": map($amount) + } + ], + "function_id": "0x1::aptos_account::batch_transfer", + "type_args": [] + } + ' \ + $accounts_json_path >"${batch_fund_path_prefix}-${i}.json" +done diff --git a/src/docker/deployer/sh/build-publish-payloads.sh b/src/docker/deployer/sh/build-publish-payloads.sh new file mode 100644 index 000000000..a30893660 --- /dev/null +++ b/src/docker/deployer/sh/build-publish-payloads.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +json_dir="/app/json" +move_dir="/app/move" + +source /app/sh/colors.sh + +profile="publisher" + +log_info "Building and publishing payloads..." + +aptos move build-publish-payload \ + --assume-yes \ + --named-addresses emojicoin_dot_fun=$profile \ + --override-size-check \ + --included-artifacts none \ + --package-dir $move_dir/emojicoin_dot_fun/ \ + --json-output-file $json_dir/emojicoin_dot_fun.json + +# Note the extra `--skip-fetch-latest-git-deps` flag because the previous +# command already fetches the latest git dependencies and the `rewards` module's +# dependencies are a subset of the dependencies for `emojicoin_dot_fun`. +aptos move build-publish-payload \ + --assume-yes \ + --named-addresses \ + rewards=$profile,integrator=$profile,emojicoin_dot_fun=$profile \ + --override-size-check \ + --included-artifacts none \ + --package-dir $move_dir/rewards/ \ + --json-output-file $json_dir/rewards.json \ + --skip-fetch-latest-git-deps diff --git a/src/docker/deployer/sh/cli-profile.sh b/src/docker/deployer/sh/cli-profile.sh new file mode 100644 index 000000000..48b439fd9 --- /dev/null +++ b/src/docker/deployer/sh/cli-profile.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# The Aptos CLI is really slow at running commands. Instead of calling +# `aptos account lookup-address` we can just parse the `account` +# field in the `/app/.aptos/config.yaml` file. +CONFIG_PATH="/app/.aptos/config.yaml" + +function get_publisher_address() { + if [ -f $CONFIG_PATH ]; then + echo $(cat $CONFIG_PATH | yq -r '.profiles.publisher.account') + else + echo "" + fi +} + +function get_publisher_private_key() { + if [ -f $CONFIG_PATH ]; then + echo $(cat $CONFIG_PATH | yq -r '.profiles.publisher.private_key') + else + echo "" + fi +} diff --git a/src/docker/deployer/sh/entrypoint.sh b/src/docker/deployer/sh/entrypoint.sh new file mode 100644 index 000000000..21ea9b7d5 --- /dev/null +++ b/src/docker/deployer/sh/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash + +source /app/sh/cli-profile.sh +source /app/sh/colors.sh + +profile="publisher" +fund_amount=20000000000000000 +extra_for_gas=200000000 +gas_unit_price=100 + +# ------------------------------------------------------------------------------ +# Re-initialize the CLI publisher profile if necessary +# ------------------------------------------------------------------------------ +# Check if the previous profile's private key matches the current private key. +# Generally, this will be the profile created at the image build time. +# If it doesn't match, ensure the CLI recreates the profile with the new key. +profile_private_key=$(get_publisher_private_key) +# Checks for address equality, with 0x and without it. +address_eq() { + [ "$1" == "$2" ] || [ "0x$1" == "$2" ] || [ "$1" == "0x$2" ] +} +if ! address_eq "$profile_private_key" "$PUBLISHER_PRIVATE_KEY"; then + log_warning \ + 'The private key for "publisher" does not match PUBLISHER_PRIVATE_KEY' + log_warning "PUBLISHER_PRIVATE_KEY: $PUBLISHER_PRIVATE_KEY" + log_warning "\"publisher\" profile: $profile_private_key" + msg="Rebuild the image to skip re-initializing the CLI profile and" + msg="$msg rebuilding the publish payloads on startup." + log_warning "$msg" + + # Re-initialize the profile and rebuild the publish payloads so that the + # new publisher profile is interpolated into the payloads. + bash /app/sh/init-profile.sh + bash /app/sh/build-publish-payloads.sh +fi + +already_published() { + aptos move view \ + --function-id "$profile"::emojicoin_dot_fun::registry_view \ + --profile $profile >/dev/null 2>&1 + return $? +} + +fund_and_publish() { + aptos account fund-with-faucet \ + --profile $profile \ + --account $profile \ + --amount $((fund_amount + extra_for_gas)) + + aptos move run \ + --assume-yes \ + --json-file /app/json/emojicoin_dot_fun.json \ + --max-gas 2000000 \ + --gas-unit-price $gas_unit_price \ + --profile $profile + + aptos move run \ + --assume-yes \ + --json-file /app/json/rewards.json \ + --max-gas 2000000 \ + --gas-unit-price $gas_unit_price \ + --profile $profile +} + +fund_test_accounts() { + batch_fund_path_prefix="/app/json/batch-fund" + num_batches=$(ls $batch_fund_path_prefix-*.json | wc -l) + max_gas=$(((extra_for_gas / gas_unit_price) / num_batches)) + + # Fund the test accounts and inadvertently create them on-chain. + for i in $(seq 1 $num_batches); do + batch_fund_output_path="${batch_fund_path_prefix}-${i}.json" + aptos move run \ + --assume-yes \ + --json-file $batch_fund_output_path \ + --max-gas $max_gas \ + --gas-unit-price 100 \ + --profile $profile + done +} + +# Run the initialization steps if the contract doesn't exist. +if ! already_published; then + log_info "Funding the publisher and publishing the contract." + fund_and_publish + fund_test_accounts +fi + +log_info "Smart contract is published and test accounts are funded!" diff --git a/src/docker/deployer/sh/init-profile.sh b/src/docker/deployer/sh/init-profile.sh new file mode 100644 index 000000000..7fa86f966 --- /dev/null +++ b/src/docker/deployer/sh/init-profile.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +set -e + +if [ -z "$PUBLISHER_PRIVATE_KEY" ]; then + echo "PUBLISHER_PRIVATE_KEY is not set. Exiting." + exit 1 +fi + +source /app/sh/cli-profile.sh +source /app/sh/colors.sh + +current_key=$(get_publisher_private_key) +if [ "$current_key" == "$PUBLISHER_PRIVATE_KEY" ]; then + echo "Profile publisher already exists. Skipping profile initialization." + exit 0 +fi + +# This script initializes a profile on the `testnet` network and then updates +# the profile to use the `custom` network with the correct rest and faucet URLs. +# This is a workaround to avoid having to run a local testnet during the image +# build process. +# This facilitates checking the derived address against the expected address at +# build time and initializing the profile and subsequent `aptos` config.yaml +# file without having to run a local testnet. +# This could always be run with a local testnet started prior to building the +# image if necessary. It's just easier to avoid that if possible. + +profile="publisher" + +# See the note above for why we use `testnet` below. +result_json=$(aptos init \ + --assume-yes \ + --profile $profile \ + --private-key $PUBLISHER_PRIVATE_KEY \ + --encoding hex \ + --network testnet 2>/dev/null) + +result=$(echo $result_json | jq -r '.Error') + +if [ -n "$result" ]; then + # Only throw an error if the profile wasn't initialized with the + # correct private key, since that's all we care about. + current_key=$(get_publisher_private_key) + if [ "$current_key" != "$PUBLISHER_PRIVATE_KEY" ]; then + log_error "Failed to initialize profile \"$profile\"" + log_error $(echo $result | jq -r '.Error') + exit 1 + fi +fi + +log_info "Profile successfully created." + +# Update the profile to use network: `Local` with correct REST and faucet URLs. +config_path="/app/.aptos/config.yaml" +rest_url="http://host.docker.internal:8080/v1" +faucet_url="http://host.docker.internal:8081" + +yq eval " + .profiles.$profile.network = \"Local\" | + .profiles.$profile.rest_url = \"$rest_url\" | + .profiles.$profile.faucet_url = \"$faucet_url\" +" -i "$config_path" diff --git a/src/docker/example.local.env b/src/docker/example.local.env index 9bb297fb7..268f5a1f2 100644 --- a/src/docker/example.local.env +++ b/src/docker/example.local.env @@ -77,8 +77,3 @@ FEE_RATE_BPS="100" # Secret hash seed. HASH_SEED="some random string that is not public" - -# The private key for the "big money guy", who sends transactions in tests. -# Corresponds to the address: -# 0xb168d5a1137a3254a9443459ae5b4959e8f5c835858f04e5a01fe133d237d00d -BIG_MONEY_GUY_PRIVATE_KEY="0xa5e11183d0c23b8c49b40dd71bba7fa0992aed9b89c42934a1bb8f6e4ccc4ec4" diff --git a/src/docker/localnet/.gitignore b/src/docker/localnet/.gitignore new file mode 100644 index 000000000..ccfc6000a --- /dev/null +++ b/src/docker/localnet/.gitignore @@ -0,0 +1 @@ +.aptos diff --git a/src/docker/localnet/Dockerfile b/src/docker/localnet/Dockerfile new file mode 100644 index 000000000..397df5be5 --- /dev/null +++ b/src/docker/localnet/Dockerfile @@ -0,0 +1,18 @@ +# cspell:word localnet + +FROM econialabs/aptos-cli:4.1.0 + +WORKDIR /app + +COPY src/docker/localnet/*.sh sh/ + +RUN chmod +x sh/*.sh + +ENTRYPOINT [ "/bin/sh", "sh/run-localnet.sh" ] + +HEALTHCHECK \ + --interval=5s \ + --timeout=5s \ + --start-period=30s \ + --retries=5 \ + CMD sh/healthcheck.sh diff --git a/src/docker/localnet/check-if-stale.sh b/src/docker/localnet/check-if-stale.sh new file mode 100644 index 000000000..d4e873f66 --- /dev/null +++ b/src/docker/localnet/check-if-stale.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# cspell:word localnet + +# Sometimes when the CLI container `local-testnet-postgres` is stopped, it +# doesn't remove its volume data with it, but the next start will restart +# the chain from genesis. This means the indexer database has stale data +# from an old localnet. +# The simplest way to check if the two are in sync is to check if the data +# for transaction version 1 has the same unique data in both the indexer API +# and the REST API. + +function check_if_stale() { + query=' + query FirstBlockMetadata { + block_metadata_transactions(where: {version: {_eq: "1"}}) { + proposer + } + } + ' + + set -e + + graphql_endpoint="http://localhost:8090/v1/graphql" + + response=$(curl -s -X POST \ + -H "Content-Type: application/json" \ + -d "{\"query\": $(echo $query | jq -R -s -c .)}" \ + "$graphql_endpoint") + + selector='.data.block_metadata_transactions[0].proposer' + proposer1=$(echo $response | jq -r "$selector") + + rest_api_endpoint="http://localhost:8080/v1/transactions/by_version/1" + proposer2=$(curl -s "$rest_api_endpoint" | jq -r '.proposer') + + if [[ $proposer1 == "$proposer2" ]]; then + echo "The indexer and the localnet are in sync, we're good to go!" + exit 0 + else + echo "ERROR: The localnet indexer has stale data from an old container." + solution_msg="Please prune the stale 'local-testnet-postgres-data' " + solution_msg+='volume or run `utils/prune.sh`.' + echo "$solution_msg" + echo "Proposer at transaction version 1, from the indexer API: $proposer1" + echo "Proposer at transaction version 1, from the REST API: $proposer2" + exit 1 + fi +} + +check_if_stale diff --git a/src/docker/localnet/healthcheck.sh b/src/docker/localnet/healthcheck.sh new file mode 100644 index 000000000..c5f8c9137 --- /dev/null +++ b/src/docker/localnet/healthcheck.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +set -e + +# Note that the response from the readiness endpoint at http://localhost:8070 +# is a JSON object of the following structure: +# +# { +# "ready": [ +# // Objects describing services that are ready. +# ], +# "not_ready": [ +# // Objects describing services that are not ready. +# ] +# } +# +# `curl` the readiness endpoint and check if the `not_ready` array is empty. +# Pipe the output from `jq` to `grep` to check if the length is 0. + +# `-e` flag tells `jq` to exit with a status code matching the boolean +# expression. If the expression is true, the status code is 0, otherwise 1. +curl -s http://localhost:8070/ | jq -e '.not_ready | length == 0' >/dev/null + +if [[ $? -eq 0 ]]; then + echo "All CLI services are ready." +else + echo "Not all CLI indexer processors are ready." + exit 1 +fi + +# Check if the indexer data is in sync with the current local testnet. +/app/sh/check-if-stale.sh +exit $? diff --git a/src/docker/localnet/run-localnet.sh b/src/docker/localnet/run-localnet.sh new file mode 100644 index 000000000..342953862 --- /dev/null +++ b/src/docker/localnet/run-localnet.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# cspell:word localnet + +# Note that the `--bind-to 0.0.0.0` flag is required to undo the default CLI +# behavior of binding to 127.0.0.1 since `aptos` v2.3.2. +# This is because the CLI is assumed to not be running inside a container, and +# issues can arise on Windows when binding to 0.0.0.0. +# See: https://github.com/aptos-labs/aptos-core/commit/d8eef35 + +# Reasoning behind using `exec`: https://stackoverflow.com/a/68578067/2142219 +exec aptos node run-localnet \ + --assume-yes \ + --with-indexer-api \ + --bind-to 0.0.0.0 diff --git a/src/docker/processor.overrides.yaml b/src/docker/processor.overrides.yaml new file mode 100644 index 000000000..eda3d600c --- /dev/null +++ b/src/docker/processor.overrides.yaml @@ -0,0 +1,8 @@ +# cspell:word localnet +--- +services: + processor: + depends_on: + localnet: + condition: 'service_healthy' +... diff --git a/src/docker/utils/prune.sh b/src/docker/utils/prune.sh new file mode 100755 index 000000000..9cb119c8e --- /dev/null +++ b/src/docker/utils/prune.sh @@ -0,0 +1,137 @@ +#!/bin/bash +# cspell:word localnet +# cspell:word toplevel + +root_dir=$(git rev-parse --show-toplevel) +docker_dir=$root_dir/src/docker +sh_utils=$root_dir/src/sh/utils + +source $sh_utils/colors.sh + +yes='' +reset_localnet='' + +################################################################################ +# Display help # +################################################################################ + +display_help_option() { + local option=$1 + local description=$2 + + indented_option=$(printf "%-24s" "$option") + colored_option=$(highlight_text "$indented_option") + printf " $colored_option %s\n" "$description" +} + +show_help() { + echo + executable=$(debug_text $0) + options=$(very_dim_text "[OPTIONS]") + echo "Usage: $executable $options" + echo + echo 'Prune the `emojicoin-dot-fun` Docker Compose environment.' + echo 'This will delete all `emojicoin` container and volume data.' + echo + echo "Options:" + display_help_option \ + "-y, --yes" \ + "Skip the confirmation prompt and prune." + display_help_option \ + "-r, --reset-localnet" \ + "Reset the localnet data as well." + echo + display_help_option \ + "-h, --help" \ + "Display this help message." +} + +################################################################################ +# Parse command line args # +################################################################################ + +while [[ $# -gt 0 ]]; do + case $1 in + --yes) yes=true ;; + -y) yes=true ;; + -r) reset_localnet=true ;; + --reset-localnet) reset_localnet=true ;; + -h) + show_help + exit 0 + ;; + --help) + show_help + exit 0 + ;; + *) + log_error "Unknown parameter passed: $1" + show_help + exit 1 + ;; + esac + shift +done + +################################################################################ +# Prompt the user # +################################################################################ + +if [ -z "$yes" ]; then + reset_msg="" + if [ -n "$reset_localnet" ]; then + reset_msg="force restart the localnet and delete" + else + reset_msg="delete" + fi + msg="This will $reset_msg all \`emojicoin\`" + msg+=" container and volume data." + log_warning "$msg" + msg="Are you sure you want to continue? (y/n)" + warning=$(log_warning "$msg") + + input='n' + read -r -p "$warning " input + + if [[ $input == "y" || $input == "Y" || $input == "yes" ]]; then + yes=true + fi +fi + +if [ -z "$yes" ]; then + log_info "Exiting..." + exit 0 +fi + +msg="Pruning things...🗑️" +log_info "$msg" $'\n' + +# Store the original working directory so we can return to it upon any exit. +original_cwd=$(pwd) + +function cleanup() { + cd "$original_cwd" || exit 1 +} + +# Call `cleanup` on exit. +trap cleanup EXIT + +################################################################################ +# Prune # +################################################################################ + +cd $docker_dir +docker compose -f compose.local.yaml down --volumes + +postgres="local-testnet-postgres" +api="local-testnet-indexer-api" + +docker stop -t 1 $postgres 2>/dev/null || echo "$postgres" +docker stop -t 1 $api 2>/dev/null || echo "$api" +docker rm -f $postgres --volumes 2>/dev/null +docker rm -f $api 2>/dev/null +docker volume rm -f $postgres-data + +if [ -n "$reset_localnet" ]; then + rm -rf $docker_dir/localnet/.aptos/* +fi diff --git a/src/sh/emojicoin/publish-random-acc.sh b/src/sh/emojicoin/publish-random-acc.sh deleted file mode 100644 index 1659b80e0..000000000 --- a/src/sh/emojicoin/publish-random-acc.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash -# cspell:word randint -# cspell:word toplevel -# cspell:word zfill - -network=$1 -json_name=$2 - -if [[ -z $network ]]; then - echo "Please provide a network." - exit 1 -fi - -function print_green_lines { - echo -e "\e[32m----------------------------------------------------------------------------------------------------\e[0m" -} - -original_cwd=$(pwd) - -function cleanup() { - cd "$original_cwd" || exit 1 -} - -# Ensure cleanup function is called on exit. -trap cleanup EXIT - -python_command="from random import randint; print(''.join([hex(randint(0, 255))[2:].zfill(2) for x in range(32)]))" -pk=$(python3 -c "$python_command") - -GIT_ROOT_DIR=$(git rev-parse --show-toplevel) -EMOJICOIN_CONTRACT_DIR=$GIT_ROOT_DIR/src/move/emojicoin_dot_fun/ -cd $EMOJICOIN_CONTRACT_DIR - -print_green_lines -aptos init --profile random_account --assume-yes --network $network --encoding hex --private-key $pk - -print_green_lines -aptos account fund-with-faucet --profile random_account - -print_green_lines -aptos move publish \ - --profile random_account \ - --named-addresses emojicoin_dot_fun=random_account \ - --included-artifacts=none \ - --assume-yes \ - --max-gas 2000000 \ - --skip-fetch-latest-git-deps diff --git a/src/sh/utils/colors.sh b/src/sh/utils/colors.sh new file mode 100644 index 000000000..e4aa5ebc9 --- /dev/null +++ b/src/sh/utils/colors.sh @@ -0,0 +1,98 @@ +#!/bin/bash + +# All functions in this file are intended to be +# sourced by other scripts, for example: +# source src/sh/utils/colors.sh +# log_info "This is an info message" +# log_warning "This is a warning message" + +ESCAPE_SEQ='\033' + +style() { + local style="$1" + echo "$ESCAPE_SEQ[$style" +} + +# Color definitions +BOLD_TEXT=$(style "1m") +HIGHLIGHT_COLOR=$(style "38;5;221m") +INFO_COLOR=$(style "38;5;115m") +ERROR_COLOR=$(style "38;5;009m") +WARNING_COLOR=$(style "38;5;172m") +HEADER_COLOR=$(style "1;32m") +DEBUG_COLOR=$(style "38;5;019m") +GRAY_TEXT=$(style "0;37m") +FADED_GRAY_TEXT=$(style "38;5;238m") +NO_STYLES=$(style "0m") + +# When the NO_COLOR env variable is set, it means the user prefers not to see +# colors in the terminal. In that case, leave terminal colors off. +if [ -n "$NO_COLOR" ]; then + INFO_COLOR="$NO_STYLES" + WARNING_COLOR="$NO_STYLES" + HEADER_COLOR="$NO_STYLES" +fi + +log_info() { + echo -e "${BOLD_TEXT}${INFO_COLOR}[INFO]${GRAY_TEXT} $*${NO_STYLES}" +} + +log_warning() { + echo -e "${BOLD_TEXT}${WARNING_COLOR}[WARNING]${NO_STYLES} $*${NO_STYLES}" +} + +log_error() { + echo -e "${BOLD_TEXT}${ERROR_COLOR}[ERROR]${NO_STYLES} $*${NO_STYLES}" +} + +log_debug() { + echo -e "${BOLD_TEXT}${DEBUG_COLOR}[DEBUG]${FADED_GRAY_TEXT} $*${NO_STYLES}" +} + +# Note this won't work if you nest it inside another function that styles text. +# To use it in a `log_info`, you'd have to do this: +# log_info "Here's something cool: $(highlight_text 'this is highlighted.')" +highlight_text() { + echo -e "${HIGHLIGHT_COLOR}$*${NO_STYLES}" +} + +debug_text() { + echo -e "${DEBUG_COLOR}$*${NO_STYLES}" +} + +dim_text() { + echo -e "${GRAY_TEXT}$*${NO_STYLES}" +} + +very_dim_text() { + echo -e "${FADED_GRAY_TEXT}$*${NO_STYLES}" +} + +# Function to print header begin with padding. +log_header_begin() { + local text="$1" + local padded_text + printf -v padded_text "%-78s" "$text" + echo -e "${HEADER_COLOR}╔${padded_text//?/═}╗${NO_STYLES}" +} + +# Function to print header end with padding. +log_header_end() { + local text="$1" + local padded_text + printf -v padded_text "%-78s" "$text" + echo -e "${HEADER_COLOR}╚${padded_text//?/═}╝${NO_STYLES}" +} + +# Function to print a full header with centered text. +log_header() { + local text="$1" + local text_length=${#text} + local padding=$(((78 - text_length) / 2)) + local padded_text + printf -v padded_text "%*s%s%*s" $padding "" "$text" $((78 - text_length - padding)) "" + + log_header_begin + echo -e "${HEADER_COLOR}║${padded_text:0:78}║${NO_STYLES}" + log_header_end +}