From d0be04638b689a00f156820e127c51ff60e7e34e Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 11 Sep 2019 12:06:01 +0300 Subject: [PATCH 001/342] do not stich json rpc config into module --- apps/explorer/lib/explorer/chain/cache/net_version.ex | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/explorer/lib/explorer/chain/cache/net_version.ex b/apps/explorer/lib/explorer/chain/cache/net_version.ex index 4a5c0cd144..43811a076b 100644 --- a/apps/explorer/lib/explorer/chain/cache/net_version.ex +++ b/apps/explorer/lib/explorer/chain/cache/net_version.ex @@ -3,8 +3,6 @@ defmodule Explorer.Chain.Cache.NetVersion do Caches chain version. """ - @json_rpc_named_arguments Application.get_env(:explorer, :json_rpc_named_arguments) - require Logger use Explorer.Chain.MapCache, @@ -12,7 +10,7 @@ defmodule Explorer.Chain.Cache.NetVersion do key: :version defp handle_fallback(:version) do - case EthereumJSONRPC.fetch_net_version(@json_rpc_named_arguments) do + case EthereumJSONRPC.fetch_net_version(Application.get_env(:explorer, :json_rpc_named_arguments)) do {:ok, value} -> {:update, value} From 251d35b81808277005025b49b03d1bb935b3c78c Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 11 Sep 2019 12:16:02 +0300 Subject: [PATCH 002/342] add CHANGELOG entry --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 343301eb65..8c419513f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,14 @@ ## Current ### Features -- [#2679](https://github.com/poanetwork/blockscout/pull/2679) - added fixed height for card chain blocks and card chain transactions +- [#2679](https://github.com/poanetwork/blockscout/pull/2679) - added fixed height for card chain blocks and card chain transactions - [#2678](https://github.com/poanetwork/blockscout/pull/2678) - fixed dashboard banner height bug -- [#2672](https://github.com/poanetwork/blockscout/pull/2672) - added new theme for xUSDT +- [#2672](https://github.com/poanetwork/blockscout/pull/2672) - added new theme for xUSDT - [#2663](https://github.com/poanetwork/blockscout/pull/2663) - Fetch address counters in parallel ### Fixes - [#2682](https://github.com/poanetwork/blockscout/pull/2682) - Use Task.start instead of Task.async in caches +- [#2690](https://github.com/poanetwork/blockscout/pull/2690) - do not stich json rpc config into module for net version cache ### Chore From 8d5d4a760059a6bc00ec21c1c1cb013dfc500279 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 18 Sep 2019 13:09:03 +0300 Subject: [PATCH 003/342] add tests for token balances runner --- .../runner/address/token_balances_test.exs | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 apps/explorer/test/explorer/chain/import/runner/address/token_balances_test.exs diff --git a/apps/explorer/test/explorer/chain/import/runner/address/token_balances_test.exs b/apps/explorer/test/explorer/chain/import/runner/address/token_balances_test.exs new file mode 100644 index 0000000000..a40cd8599e --- /dev/null +++ b/apps/explorer/test/explorer/chain/import/runner/address/token_balances_test.exs @@ -0,0 +1,109 @@ +defmodule Explorer.Chain.Import.Runner.Address.TokenBalancesTest do + use Explorer.DataCase + + alias Ecto.Multi + alias Explorer.Chain.Address.TokenBalance + alias Explorer.Chain.Import.Runner.Address.TokenBalances + + describe "run/2" do + test "inserts token balance" do + address = insert(:address) + token = insert(:token) + + options = %{ + timeout: :infinity, + timestamps: %{inserted_at: DateTime.utc_now(), updated_at: DateTime.utc_now()} + } + + value_fetched_at = DateTime.utc_now() + + block_number = 1 + + value = Decimal.new(100) + + token_contract_address_hash = token.contract_address_hash + address_hash = address.hash + + changes = %{ + address_hash: address_hash, + block_number: block_number, + token_contract_address_hash: token_contract_address_hash, + value: value, + value_fetched_at: value_fetched_at + } + + assert {:ok, + %{ + address_token_balances: [ + %TokenBalance{ + address_hash: address_hash, + block_number: ^block_number, + token_contract_address_hash: ^token_contract_address_hash, + value: ^value, + value_fetched_at: ^value_fetched_at + } + ] + }} = run_changes(changes, options) + end + + test "does not nillifies existing value" do + address = insert(:address) + token = insert(:token) + + options = %{ + timeout: :infinity, + timestamps: %{inserted_at: DateTime.utc_now(), updated_at: DateTime.utc_now()} + } + + value_fetched_at = DateTime.utc_now() + + block_number = 1 + + value = Decimal.new(100) + + token_contract_address_hash = token.contract_address_hash + address_hash = address.hash + + changes = %{ + address_hash: address_hash, + block_number: block_number, + token_contract_address_hash: token_contract_address_hash, + value: nil, + value_fetched_at: value_fetched_at + } + + assert {:ok, + %{ + address_token_balances: [ + %TokenBalance{ + address_hash: address_hash, + block_number: ^block_number, + token_contract_address_hash: ^token_contract_address_hash, + value: nil, + value_fetched_at: ^value_fetched_at + } + ] + }} = run_changes(changes, options) + + new_changes = %{ + address_hash: address_hash, + block_number: block_number, + token_contract_address_hash: token_contract_address_hash, + value: value, + value_fetched_at: DateTime.utc_now() + } + + run_changes(new_changes, options) |> IO.inspect() + end + end + + defp run_changes(changes, options) when is_map(changes) do + run_changes_list([changes], options) + end + + defp run_changes_list(changes_list, options) when is_list(changes_list) do + Multi.new() + |> TokenBalances.run(changes_list, options) + |> Repo.transaction() + end +end From 28c153fcdd32a5f03b63ab96f6ca59d0458c5c36 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 18 Sep 2019 13:09:32 +0300 Subject: [PATCH 004/342] refetch token balances with empty value --- apps/explorer/lib/explorer/chain.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 15f6644f25..99da578445 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -1496,7 +1496,7 @@ defmodule Explorer.Chain do query = from( balance in CoinBalance, - where: is_nil(balance.value_fetched_at), + where: is_nil(balance.value_fetched_at) or is_nil(balance.value), select: %{address_hash: balance.address_hash, block_number: balance.block_number} ) From 79fa24013c401dfb29c69dd091c2d01c4c2bbb42 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 18 Sep 2019 13:12:24 +0300 Subject: [PATCH 005/342] check if value is null in token balances refetch query --- apps/explorer/lib/explorer/chain.ex | 2 +- apps/explorer/lib/explorer/chain/address/token_balance.ex | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 99da578445..15f6644f25 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -1496,7 +1496,7 @@ defmodule Explorer.Chain do query = from( balance in CoinBalance, - where: is_nil(balance.value_fetched_at) or is_nil(balance.value), + where: is_nil(balance.value_fetched_at), select: %{address_hash: balance.address_hash, block_number: balance.block_number} ) diff --git a/apps/explorer/lib/explorer/chain/address/token_balance.ex b/apps/explorer/lib/explorer/chain/address/token_balance.ex index 1033d0a7ca..9a1c2f7b19 100644 --- a/apps/explorer/lib/explorer/chain/address/token_balance.ex +++ b/apps/explorer/lib/explorer/chain/address/token_balance.ex @@ -82,7 +82,7 @@ defmodule Explorer.Chain.Address.TokenBalance do tb in TokenBalance, join: t in Token, on: tb.token_contract_address_hash == t.contract_address_hash, - where: is_nil(tb.value_fetched_at), + where: is_nil(tb.value_fetched_at) or is_nil(tb.value), where: (tb.address_hash != ^@burn_address_hash and t.type != "ERC-721") or t.type == "ERC-20" ) end From 83bc664f9ceb7b587b7b3a1b93a9d92cd59d4ed0 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 18 Sep 2019 13:18:28 +0300 Subject: [PATCH 006/342] add CHANGELOG entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba474acce5..1358eade8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - [#2682](https://github.com/poanetwork/blockscout/pull/2682) - Use Task.start instead of Task.async in caches - [#2671](https://github.com/poanetwork/blockscout/pull/2671) - fixed buttons color at smart contract section - [#2691](https://github.com/poanetwork/blockscout/pull/2691) - fix exchange rate websocket update for Rootstock +- [#2704](https://github.com/poanetwork/blockscout/pull/2704) - refetch null values in token balances ### Chore From a30e65fa94854cccb810eec76b759b8c69ff72ad Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 2 Oct 2019 15:44:05 +0300 Subject: [PATCH 007/342] rewrite token updater --- .../lib/explorer/token/metadata_retriever.ex | 17 +++- .../lib/indexer/fetcher/token_updater.ex | 97 +++++++++++++------ apps/indexer/lib/indexer/supervisor.ex | 3 - 3 files changed, 82 insertions(+), 35 deletions(-) diff --git a/apps/explorer/lib/explorer/token/metadata_retriever.ex b/apps/explorer/lib/explorer/token/metadata_retriever.ex index 2a03358248..c765b5b42a 100644 --- a/apps/explorer/lib/explorer/token/metadata_retriever.ex +++ b/apps/explorer/lib/explorer/token/metadata_retriever.ex @@ -120,6 +120,21 @@ defmodule Explorer.Token.MetadataRetriever do It will retry to fetch each function in the Smart Contract according to :token_functions_reader_max_retries configured in the application env case one of them raised error. """ + + @spec get_functions_of(String.t()) :: Map.t() + def get_functions_of(hashes) when is_list(hashes) do + requests = + hashes + |> Enum.flat_map(fn hash -> + @contract_functions + |> Enum.map(fn {function, args} -> + %{contract_address: hash, function_name: function, args: args} + end) + end) + + Reader.query_contracts(requests, @contract_abi) + end + @spec get_functions_of(Hash.t()) :: Map.t() def get_functions_of(%Hash{byte_count: unquote(Hash.Address.byte_count())} = address) do address_string = Hash.to_string(address) @@ -128,7 +143,7 @@ defmodule Explorer.Token.MetadataRetriever do end @spec get_functions_of(String.t()) :: Map.t() - def get_functions_of(contract_address_hash) do + def get_functions_of(contract_address_hash) when is_binary(contract_address_hash) do contract_address_hash |> fetch_functions_from_contract(@contract_functions) |> format_contract_functions_result(contract_address_hash) diff --git a/apps/indexer/lib/indexer/fetcher/token_updater.ex b/apps/indexer/lib/indexer/fetcher/token_updater.ex index f596687ff8..aee5b95732 100644 --- a/apps/indexer/lib/indexer/fetcher/token_updater.ex +++ b/apps/indexer/lib/indexer/fetcher/token_updater.ex @@ -2,53 +2,88 @@ defmodule Indexer.Fetcher.TokenUpdater do @moduledoc """ Updates metadata for cataloged tokens """ - - use GenServer use Indexer.Fetcher + require Logger + alias Explorer.Chain alias Explorer.Chain.Token alias Explorer.Token.MetadataRetriever + alias Indexer.BufferedTask - def start_link([initial_state, gen_server_options]) do - GenServer.start_link(__MODULE__, initial_state, gen_server_options) - end + @behaviour BufferedTask + + @max_batch_size 10 + @max_concurrency 4 + @defaults [ + flush_interval: :timer.seconds(3), + max_concurrency: @max_concurrency, + max_batch_size: @max_batch_size, + task_supervisor: Indexer.Fetcher.TokenUpdater.TaskSupervisor, + metadata: [fetcher: :token_updater] + ] + + @doc false + def child_spec([init_options, gen_server_options]) do + {state, mergeable_init_options} = Keyword.pop(init_options, :json_rpc_named_arguments) - @impl true - def init(state) do - send(self(), :update_tokens) + unless state do + raise ArgumentError, + ":json_rpc_named_arguments must be provided to `#{__MODULE__}.child_spec " <> + "to allow for json_rpc calls when running." + end - {:ok, state} + merged_init_opts = + @defaults + |> Keyword.merge(mergeable_init_options) + |> Keyword.put(:state, state) + + Supervisor.child_spec({BufferedTask, [{__MODULE__, merged_init_opts}, gen_server_options]}, id: __MODULE__) end - @impl true - def handle_info(:update_tokens, state) do - {:ok, tokens} = Chain.stream_cataloged_token_contract_address_hashes([], &[&1 | &2]) + @impl BufferedTask + def init(initial, _reducer, _) do + {:ok, tokens} = Chain.stream_cataloged_token_contract_address_hashes(initial, &[&1 | &2]) tokens - |> Enum.reverse() - |> update_metadata() + end - Process.send_after(self(), :update_tokens, :timer.seconds(state.update_interval)) + @impl BufferedTask + def run(entries, _json_rpc_named_arguments) do + Logger.debug("updating tokens") - {:noreply, state} - end + entries + |> Enum.map(&to_string/1) + |> MetadataRetriever.get_functions_of() + |> case do + {:ok, params} -> + case Chain.import(%{ + tokens: %{params: params}, + timeout: :infinity + }) do + {:ok, _imported} -> + :ok - @doc false - def update_metadata(token_addresses) when is_list(token_addresses) do - options = [necessity_by_association: %{[contract_address: :smart_contract] => :optional}] - - Enum.each(token_addresses, fn address -> - case Chain.token_from_address_hash(address, options) do - {:ok, %Token{cataloged: true} = token} -> - update_metadata(token) - end - end) - end + {:error, step, reason, _changes_so_far} -> + Logger.error( + fn -> + [ + "failed to update tokens: ", + inspect(reason) + ] + end, + step: step + ) + + {:retry, entries} + end - def update_metadata(%Token{contract_address_hash: contract_address_hash} = token) do - contract_functions = MetadataRetriever.get_functions_of(contract_address_hash) + {:error, reason} -> + Logger.error(fn -> ["failed to update tokens: ", inspect(reason)] end, + error_count: Enum.count(entries) + ) - Chain.update_token(%{token | updated_at: DateTime.utc_now()}, contract_functions) + {:retry, entries} + end end end diff --git a/apps/indexer/lib/indexer/supervisor.ex b/apps/indexer/lib/indexer/supervisor.ex index 00fba8d428..e2fc4ff47b 100644 --- a/apps/indexer/lib/indexer/supervisor.ex +++ b/apps/indexer/lib/indexer/supervisor.ex @@ -72,8 +72,6 @@ defmodule Indexer.Supervisor do subscribe_named_arguments: subscribe_named_arguments } = named_arguments - metadata_updater_inverval = Application.get_env(:indexer, :metadata_updater_seconds_interval) - block_fetcher = named_arguments |> Map.drop(~w(block_interval blocks_concurrency memory_monitor subscribe_named_arguments realtime_overrides)a) @@ -120,7 +118,6 @@ defmodule Indexer.Supervisor do # Out-of-band fetchers {CoinBalanceOnDemand.Supervisor, [json_rpc_named_arguments]}, - {TokenUpdater.Supervisor, [%{update_interval: metadata_updater_inverval}]}, # Temporary workers {UncatalogedTokenTransfers.Supervisor, [[]]}, From 1676189c3f98eabdea68f7f44d5dbebf90682ada Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 2 Oct 2019 15:57:24 +0300 Subject: [PATCH 008/342] fix build --- apps/indexer/lib/indexer/fetcher/token_updater.ex | 1 - apps/indexer/lib/indexer/supervisor.ex | 1 - 2 files changed, 2 deletions(-) diff --git a/apps/indexer/lib/indexer/fetcher/token_updater.ex b/apps/indexer/lib/indexer/fetcher/token_updater.ex index aee5b95732..cdca81ac27 100644 --- a/apps/indexer/lib/indexer/fetcher/token_updater.ex +++ b/apps/indexer/lib/indexer/fetcher/token_updater.ex @@ -7,7 +7,6 @@ defmodule Indexer.Fetcher.TokenUpdater do require Logger alias Explorer.Chain - alias Explorer.Chain.Token alias Explorer.Token.MetadataRetriever alias Indexer.BufferedTask diff --git a/apps/indexer/lib/indexer/supervisor.ex b/apps/indexer/lib/indexer/supervisor.ex index e2fc4ff47b..0600b007ea 100644 --- a/apps/indexer/lib/indexer/supervisor.ex +++ b/apps/indexer/lib/indexer/supervisor.ex @@ -19,7 +19,6 @@ defmodule Indexer.Supervisor do StakingPools, Token, TokenBalance, - TokenUpdater, UncleBlock } From e8bdfd79f9666b4a70c85d6655bb04bc292310eb Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 3 Oct 2019 10:32:12 +0300 Subject: [PATCH 009/342] filter token to update by updated_at field Currently, we're updating all tokens periodically without considering that token is updated. --- apps/explorer/lib/explorer/chain.ex | 6 ++++-- apps/explorer/lib/explorer/chain/token.ex | 7 +++++-- .../test/explorer/chain/token_test.exs | 19 ++++++++++++++++--- apps/explorer/test/explorer/chain_test.exs | 13 ++++++++----- 4 files changed, 33 insertions(+), 12 deletions(-) diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 81f6061da5..5f89001786 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -2916,8 +2916,10 @@ defmodule Explorer.Chain do reducer :: (entry :: Hash.Address.t(), accumulator -> accumulator) ) :: {:ok, accumulator} when accumulator: term() - def stream_cataloged_token_contract_address_hashes(initial, reducer) when is_function(reducer, 2) do - Token.cataloged_tokens() + def stream_cataloged_token_contract_address_hashes(initial, reducer, hours_ago_updated \\ 48) + when is_function(reducer, 2) do + hours_ago_updated + |> Token.cataloged_tokens() |> order_by(asc: :updated_at) |> Repo.stream_reduce(initial, reducer) end diff --git a/apps/explorer/lib/explorer/chain/token.ex b/apps/explorer/lib/explorer/chain/token.ex index 275fd73659..b5cb289044 100644 --- a/apps/explorer/lib/explorer/chain/token.ex +++ b/apps/explorer/lib/explorer/chain/token.ex @@ -105,11 +105,14 @@ defmodule Explorer.Chain.Token do These are tokens with cataloged field set to true. """ - def cataloged_tokens do + def cataloged_tokens(hours \\ 48) do + date_now = DateTime.utc_now() + hours_ago_date = DateTime.add(date_now, -:timer.hours(hours), :millisecond) + from( token in __MODULE__, select: token.contract_address_hash, - where: token.cataloged == true + where: token.cataloged == true and token.updated_at <= ^hours_ago_date ) end end diff --git a/apps/explorer/test/explorer/chain/token_test.exs b/apps/explorer/test/explorer/chain/token_test.exs index 0cab67ecff..df8650530f 100644 --- a/apps/explorer/test/explorer/chain/token_test.exs +++ b/apps/explorer/test/explorer/chain/token_test.exs @@ -3,14 +3,27 @@ defmodule Explorer.Chain.TokenTest do import Explorer.Factory - alias Explorer.Chain + alias Explorer.Chain.Token + alias Explorer.Repo describe "cataloged_tokens/0" do test "filters only cataloged tokens" do - token = insert(:token, cataloged: true) + {:ok, date} = DateTime.now("Etc/UTC") + hours_ago_date = DateTime.add(date, -:timer.hours(60), :millisecond) + token = insert(:token, cataloged: true, updated_at: hours_ago_date) insert(:token, cataloged: false) - assert Repo.all(Chain.Token.cataloged_tokens()) == [token.contract_address_hash] + assert Repo.all(Token.cataloged_tokens()) == [token.contract_address_hash] + end + + test "filter tokens by updated_at filed" do + {:ok, date} = DateTime.now("Etc/UTC") + hours_ago_date = DateTime.add(date, -:timer.hours(60), :millisecond) + + token = insert(:token, cataloged: true, updated_at: hours_ago_date) + insert(:token, cataloged: true) + + assert Repo.all(Token.cataloged_tokens()) == [token.contract_address_hash] end end end diff --git a/apps/explorer/test/explorer/chain_test.exs b/apps/explorer/test/explorer/chain_test.exs index 872a3bc5c0..3a073fa4ab 100644 --- a/apps/explorer/test/explorer/chain_test.exs +++ b/apps/explorer/test/explorer/chain_test.exs @@ -3522,24 +3522,27 @@ defmodule Explorer.ChainTest do describe "stream_cataloged_token_contract_address_hashes/2" do test "reduces with given reducer and accumulator" do - %Token{contract_address_hash: catalog_address} = insert(:token, cataloged: true) + today = DateTime.utc_now() + yesterday = Timex.shift(today, days: -1) + %Token{contract_address_hash: catalog_address} = insert(:token, cataloged: true, updated_at: yesterday) insert(:token, cataloged: false) - assert Chain.stream_cataloged_token_contract_address_hashes([], &[&1 | &2]) == {:ok, [catalog_address]} + assert Chain.stream_cataloged_token_contract_address_hashes([], &[&1 | &2], 1) == {:ok, [catalog_address]} end test "sorts the tokens by updated_at in ascending order" do today = DateTime.utc_now() yesterday = Timex.shift(today, days: -1) + two_days_ago = Timex.shift(today, days: -2) - token1 = insert(:token, %{cataloged: true, updated_at: today}) - token2 = insert(:token, %{cataloged: true, updated_at: yesterday}) + token1 = insert(:token, %{cataloged: true, updated_at: yesterday}) + token2 = insert(:token, %{cataloged: true, updated_at: two_days_ago}) expected_response = [token1, token2] |> Enum.sort(&(Timex.to_unix(&1.updated_at) < Timex.to_unix(&2.updated_at))) |> Enum.map(& &1.contract_address_hash) - assert Chain.stream_cataloged_token_contract_address_hashes([], &(&2 ++ [&1])) == {:ok, expected_response} + assert Chain.stream_cataloged_token_contract_address_hashes([], &(&2 ++ [&1]), 12) == {:ok, expected_response} end end From f0ec3cec50eafe72c2bf1b14027db21ea5529cb1 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 3 Oct 2019 11:45:01 +0300 Subject: [PATCH 010/342] format get_function_of result --- .../lib/explorer/token/metadata_retriever.ex | 19 ++++++- .../token/metadata_retriever_test.exs | 55 +++++++++++++++++++ 2 files changed, 72 insertions(+), 2 deletions(-) diff --git a/apps/explorer/lib/explorer/token/metadata_retriever.ex b/apps/explorer/lib/explorer/token/metadata_retriever.ex index c765b5b42a..463a3c0446 100644 --- a/apps/explorer/lib/explorer/token/metadata_retriever.ex +++ b/apps/explorer/lib/explorer/token/metadata_retriever.ex @@ -121,7 +121,7 @@ defmodule Explorer.Token.MetadataRetriever do configured in the application env case one of them raised error. """ - @spec get_functions_of(String.t()) :: Map.t() + @spec get_functions_of([String.t()]) :: [Map.t()] def get_functions_of(hashes) when is_list(hashes) do requests = hashes @@ -132,7 +132,22 @@ defmodule Explorer.Token.MetadataRetriever do end) end) - Reader.query_contracts(requests, @contract_abi) + updated_at = DateTime.utc_now() + + requests + |> Reader.query_contracts(@contract_abi) + |> Enum.chunk_every(4) + |> Enum.zip(hashes) + |> Enum.map(fn {result, hash} -> + formatted_result = + ["decimals", "name", "symbol", "totalSupply"] + |> Enum.zip(result) + |> format_contract_functions_result(hash) + + formatted_result + |> Map.put(:contract_address_hash, hash) + |> Map.put(:updated_at, updated_at) + end) end @spec get_functions_of(Hash.t()) :: Map.t() diff --git a/apps/explorer/test/explorer/token/metadata_retriever_test.exs b/apps/explorer/test/explorer/token/metadata_retriever_test.exs index 4ef10ea05e..163f69d6cb 100644 --- a/apps/explorer/test/explorer/token/metadata_retriever_test.exs +++ b/apps/explorer/test/explorer/token/metadata_retriever_test.exs @@ -59,6 +59,61 @@ defmodule Explorer.Token.MetadataRetrieverTest do assert MetadataRetriever.get_functions_of(token.contract_address_hash) == expected end + test "returns results for multiple coins" do + token = insert(:token, contract_address: build(:contract_address)) + + expect( + EthereumJSONRPC.Mox, + :json_rpc, + 1, + fn requests, _opts -> + {:ok, + Enum.map(requests, fn + %{id: id, method: "eth_call", params: [%{data: "0x313ce567", to: _}, "latest"]} -> + %{ + id: id, + result: "0x0000000000000000000000000000000000000000000000000000000000000012" + } + + %{id: id, method: "eth_call", params: [%{data: "0x06fdde03", to: _}, "latest"]} -> + %{ + id: id, + result: + "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000642616e636f720000000000000000000000000000000000000000000000000000" + } + + %{id: id, method: "eth_call", params: [%{data: "0x95d89b41", to: _}, "latest"]} -> + %{ + id: id, + result: + "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003424e540000000000000000000000000000000000000000000000000000000000" + } + + %{id: id, method: "eth_call", params: [%{data: "0x18160ddd", to: _}, "latest"]} -> + %{ + id: id, + result: "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000" + } + end)} + end + ) + + assert [ + %{ + name: "Bancor", + symbol: "BNT", + total_supply: 1_000_000_000_000_000_000, + decimals: 18 + }, + %{ + name: "Bancor", + symbol: "BNT", + total_supply: 1_000_000_000_000_000_000, + decimals: 18 + } + ] = MetadataRetriever.get_functions_of([token.contract_address_hash, token.contract_address_hash]) + end + test "returns only the functions that were read without error" do token = insert(:token, contract_address: build(:contract_address)) From 351771907f2c565c794edead77679af58faeae94 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 3 Oct 2019 12:12:16 +0300 Subject: [PATCH 011/342] add TokenUpdater.Supervisor case --- .../lib/explorer/token/metadata_retriever.ex | 31 ++++++++++--------- .../indexer/fetcher/token_updater_test.exs | 10 ++++-- .../fetcher/token_updater_supervisor_case.ex | 17 ++++++++++ 3 files changed, 42 insertions(+), 16 deletions(-) create mode 100644 apps/indexer/test/support/indexer/fetcher/token_updater_supervisor_case.ex diff --git a/apps/explorer/lib/explorer/token/metadata_retriever.ex b/apps/explorer/lib/explorer/token/metadata_retriever.ex index 463a3c0446..dc3935206c 100644 --- a/apps/explorer/lib/explorer/token/metadata_retriever.ex +++ b/apps/explorer/lib/explorer/token/metadata_retriever.ex @@ -134,20 +134,23 @@ defmodule Explorer.Token.MetadataRetriever do updated_at = DateTime.utc_now() - requests - |> Reader.query_contracts(@contract_abi) - |> Enum.chunk_every(4) - |> Enum.zip(hashes) - |> Enum.map(fn {result, hash} -> - formatted_result = - ["decimals", "name", "symbol", "totalSupply"] - |> Enum.zip(result) - |> format_contract_functions_result(hash) - - formatted_result - |> Map.put(:contract_address_hash, hash) - |> Map.put(:updated_at, updated_at) - end) + fetched_result = + requests + |> Reader.query_contracts(@contract_abi) + |> Enum.chunk_every(4) + |> Enum.zip(hashes) + |> Enum.map(fn {result, hash} -> + formatted_result = + ["decimals", "name", "symbol", "totalSupply"] + |> Enum.zip(result) + |> format_contract_functions_result(hash) + + formatted_result + |> Map.put(:contract_address_hash, hash) + |> Map.put(:updated_at, updated_at) + end) + + {:ok, fetched_result} end @spec get_functions_of(Hash.t()) :: Map.t() diff --git a/apps/indexer/test/indexer/fetcher/token_updater_test.exs b/apps/indexer/test/indexer/fetcher/token_updater_test.exs index b7b3bfac55..6036c081dc 100644 --- a/apps/indexer/test/indexer/fetcher/token_updater_test.exs +++ b/apps/indexer/test/indexer/fetcher/token_updater_test.exs @@ -11,7 +11,13 @@ defmodule Indexer.Fetcher.TokenUpdaterTest do setup :set_mox_global test "updates tokens metadata on start" do - insert(:token, name: nil, symbol: nil, decimals: 10, cataloged: true) + insert(:token, + name: nil, + symbol: nil, + decimals: 10, + cataloged: true, + updated_at: DateTime.add(DateTime.utc_now(), -:timer.hours(50), :millisecond) + ) expect( EthereumJSONRPC.Mox, @@ -49,7 +55,7 @@ defmodule Indexer.Fetcher.TokenUpdaterTest do end ) - pid = start_supervised!({TokenUpdater, [%{update_interval: 1}, []]}) + pid = TokenUpdater.Supervisor.Case.start_supervised!(json_rpc_named_arguments: []) wait_for_results(fn -> updated = Repo.one!(from(t in Token, where: t.cataloged == true and not is_nil(t.name), limit: 1)) diff --git a/apps/indexer/test/support/indexer/fetcher/token_updater_supervisor_case.ex b/apps/indexer/test/support/indexer/fetcher/token_updater_supervisor_case.ex new file mode 100644 index 0000000000..9f8a70b74f --- /dev/null +++ b/apps/indexer/test/support/indexer/fetcher/token_updater_supervisor_case.ex @@ -0,0 +1,17 @@ +defmodule Indexer.Fetcher.TokenUpdater.Supervisor.Case do + alias Indexer.Fetcher.TokenUpdater + + def start_supervised!(fetcher_arguments \\ []) when is_list(fetcher_arguments) do + merged_fetcher_arguments = + Keyword.merge( + fetcher_arguments, + flush_interval: 50, + max_batch_size: 1, + max_concurrency: 1 + ) + + [merged_fetcher_arguments] + |> TokenUpdater.Supervisor.child_spec() + |> ExUnit.Callbacks.start_supervised!() + end +end From de497d8d94747001c73e33b2d052816bd9b9bdd5 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 3 Oct 2019 14:46:51 +0300 Subject: [PATCH 012/342] fix token updating --- .../lib/indexer/fetcher/token_updater.ex | 52 ++++++++----------- .../indexer/fetcher/token_updater_test.exs | 46 ++-------------- 2 files changed, 26 insertions(+), 72 deletions(-) diff --git a/apps/indexer/lib/indexer/fetcher/token_updater.ex b/apps/indexer/lib/indexer/fetcher/token_updater.ex index cdca81ac27..c5bde0cb3d 100644 --- a/apps/indexer/lib/indexer/fetcher/token_updater.ex +++ b/apps/indexer/lib/indexer/fetcher/token_updater.ex @@ -7,6 +7,8 @@ defmodule Indexer.Fetcher.TokenUpdater do require Logger alias Explorer.Chain + alias Explorer.Chain.Hash + alias Explorer.Chain.Token alias Explorer.Token.MetadataRetriever alias Indexer.BufferedTask @@ -41,8 +43,8 @@ defmodule Indexer.Fetcher.TokenUpdater do end @impl BufferedTask - def init(initial, _reducer, _) do - {:ok, tokens} = Chain.stream_cataloged_token_contract_address_hashes(initial, &[&1 | &2]) + def init(initial, reducer, _) do + {:ok, tokens} = Chain.stream_cataloged_token_contract_address_hashes(initial, reducer) tokens end @@ -56,33 +58,25 @@ defmodule Indexer.Fetcher.TokenUpdater do |> MetadataRetriever.get_functions_of() |> case do {:ok, params} -> - case Chain.import(%{ - tokens: %{params: params}, - timeout: :infinity - }) do - {:ok, _imported} -> - :ok - - {:error, step, reason, _changes_so_far} -> - Logger.error( - fn -> - [ - "failed to update tokens: ", - inspect(reason) - ] - end, - step: step - ) - - {:retry, entries} - end - - {:error, reason} -> - Logger.error(fn -> ["failed to update tokens: ", inspect(reason)] end, - error_count: Enum.count(entries) - ) - - {:retry, entries} + update_metadata(params) end end + + @doc false + def update_metadata(metadata_list) when is_list(metadata_list) do + options = [necessity_by_association: %{[contract_address: :smart_contract] => :optional}] + + Enum.each(metadata_list, fn %{contract_address_hash: contract_address_hash} = metadata -> + {:ok, hash} = Hash.Address.cast(contract_address_hash) + + case Chain.token_from_address_hash(hash, options) do + {:ok, %Token{cataloged: true} = token} -> + update_metadata(token, metadata) + end + end) + end + + def update_metadata(%Token{} = token, metadata) do + Chain.update_token(%{token | updated_at: DateTime.utc_now()}, metadata) + end end diff --git a/apps/indexer/test/indexer/fetcher/token_updater_test.exs b/apps/indexer/test/indexer/fetcher/token_updater_test.exs index 6036c081dc..735c29b75a 100644 --- a/apps/indexer/test/indexer/fetcher/token_updater_test.exs +++ b/apps/indexer/test/indexer/fetcher/token_updater_test.exs @@ -72,54 +72,14 @@ defmodule Indexer.Fetcher.TokenUpdaterTest do test "updates the metadata for a list of tokens" do token = insert(:token, name: nil, symbol: nil, decimals: 10) - expect( - EthereumJSONRPC.Mox, - :json_rpc, - 1, - fn requests, _opts -> - {:ok, - Enum.map(requests, fn - %{id: id, method: "eth_call", params: [%{data: "0x313ce567", to: _}, "latest"]} -> - %{ - id: id, - result: "0x0000000000000000000000000000000000000000000000000000000000000012" - } - - %{id: id, method: "eth_call", params: [%{data: "0x06fdde03", to: _}, "latest"]} -> - %{ - id: id, - result: - "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000642616e636f720000000000000000000000000000000000000000000000000000" - } - - %{id: id, method: "eth_call", params: [%{data: "0x95d89b41", to: _}, "latest"]} -> - %{ - id: id, - result: - "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003424e540000000000000000000000000000000000000000000000000000000000" - } - - %{id: id, method: "eth_call", params: [%{data: "0x18160ddd", to: _}, "latest"]} -> - %{ - id: id, - result: "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000" - } - end)} - end - ) - - TokenUpdater.update_metadata([token.contract_address_hash]) - - expected_supply = Decimal.new(1_000_000_000_000_000_000) - - decimals_expected = Decimal.new(18) + params = %{name: "Bancor", symbol: "BNT", contract_address_hash: to_string(token.contract_address_hash)} + + TokenUpdater.update_metadata([params]) assert {:ok, %Token{ name: "Bancor", symbol: "BNT", - total_supply: ^expected_supply, - decimals: ^decimals_expected, cataloged: true }} = Chain.token_from_address_hash(token.contract_address_hash) end From e59c41144e74b72f6879d8b1fce4613b2f361a33 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 3 Oct 2019 14:54:24 +0300 Subject: [PATCH 013/342] fix credo --- apps/indexer/lib/indexer/fetcher/token_updater.ex | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/indexer/lib/indexer/fetcher/token_updater.ex b/apps/indexer/lib/indexer/fetcher/token_updater.ex index c5bde0cb3d..d865dfa719 100644 --- a/apps/indexer/lib/indexer/fetcher/token_updater.ex +++ b/apps/indexer/lib/indexer/fetcher/token_updater.ex @@ -7,8 +7,7 @@ defmodule Indexer.Fetcher.TokenUpdater do require Logger alias Explorer.Chain - alias Explorer.Chain.Hash - alias Explorer.Chain.Token + alias Explorer.Chain.{Hash, Token} alias Explorer.Token.MetadataRetriever alias Indexer.BufferedTask @@ -59,6 +58,13 @@ defmodule Indexer.Fetcher.TokenUpdater do |> case do {:ok, params} -> update_metadata(params) + + other -> + Logger.error(fn -> ["failed to update tokens: ", inspect(other)] end, + error_count: Enum.count(entries) + ) + + {:retry, entries} end end From a59defcc8570b1971ccc7caf4a113963598e58bc Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 3 Oct 2019 14:57:02 +0300 Subject: [PATCH 014/342] fix test --- .../token/metadata_retriever_test.exs | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/apps/explorer/test/explorer/token/metadata_retriever_test.exs b/apps/explorer/test/explorer/token/metadata_retriever_test.exs index 163f69d6cb..9f8ead7468 100644 --- a/apps/explorer/test/explorer/token/metadata_retriever_test.exs +++ b/apps/explorer/test/explorer/token/metadata_retriever_test.exs @@ -98,20 +98,21 @@ defmodule Explorer.Token.MetadataRetrieverTest do end ) - assert [ - %{ - name: "Bancor", - symbol: "BNT", - total_supply: 1_000_000_000_000_000_000, - decimals: 18 - }, - %{ - name: "Bancor", - symbol: "BNT", - total_supply: 1_000_000_000_000_000_000, - decimals: 18 - } - ] = MetadataRetriever.get_functions_of([token.contract_address_hash, token.contract_address_hash]) + assert {:ok, + [ + %{ + name: "Bancor", + symbol: "BNT", + total_supply: 1_000_000_000_000_000_000, + decimals: 18 + }, + %{ + name: "Bancor", + symbol: "BNT", + total_supply: 1_000_000_000_000_000_000, + decimals: 18 + } + ]} = MetadataRetriever.get_functions_of([token.contract_address_hash, token.contract_address_hash]) end test "returns only the functions that were read without error" do From 487acfa643c6f73c8095494298fa90bfc92c51ad Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 3 Oct 2019 15:21:49 +0300 Subject: [PATCH 015/342] fix dialyzer --- apps/explorer/lib/explorer/token/metadata_retriever.ex | 5 +---- apps/indexer/lib/indexer/fetcher/token_updater.ex | 5 ++++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/explorer/lib/explorer/token/metadata_retriever.ex b/apps/explorer/lib/explorer/token/metadata_retriever.ex index dc3935206c..783ede59d2 100644 --- a/apps/explorer/lib/explorer/token/metadata_retriever.ex +++ b/apps/explorer/lib/explorer/token/metadata_retriever.ex @@ -120,8 +120,7 @@ defmodule Explorer.Token.MetadataRetriever do It will retry to fetch each function in the Smart Contract according to :token_functions_reader_max_retries configured in the application env case one of them raised error. """ - - @spec get_functions_of([String.t()]) :: [Map.t()] + @spec get_functions_of([String.t()] | Hash.t() | String.t()) :: Map.t() | {:ok, [Map.t()]} def get_functions_of(hashes) when is_list(hashes) do requests = hashes @@ -153,14 +152,12 @@ defmodule Explorer.Token.MetadataRetriever do {:ok, fetched_result} end - @spec get_functions_of(Hash.t()) :: Map.t() def get_functions_of(%Hash{byte_count: unquote(Hash.Address.byte_count())} = address) do address_string = Hash.to_string(address) get_functions_of(address_string) end - @spec get_functions_of(String.t()) :: Map.t() def get_functions_of(contract_address_hash) when is_binary(contract_address_hash) do contract_address_hash |> fetch_functions_from_contract(@contract_functions) diff --git a/apps/indexer/lib/indexer/fetcher/token_updater.ex b/apps/indexer/lib/indexer/fetcher/token_updater.ex index d865dfa719..ff344a5404 100644 --- a/apps/indexer/lib/indexer/fetcher/token_updater.ex +++ b/apps/indexer/lib/indexer/fetcher/token_updater.ex @@ -43,7 +43,10 @@ defmodule Indexer.Fetcher.TokenUpdater do @impl BufferedTask def init(initial, reducer, _) do - {:ok, tokens} = Chain.stream_cataloged_token_contract_address_hashes(initial, reducer) + metadata_updater_inverval = Application.get_env(:indexer, :metadata_updater_seconds_interval) + hour_interval = Kernel.round(metadata_updater_inverval / (60 * 60)) + + {:ok, tokens} = Chain.stream_cataloged_token_contract_address_hashes(initial, reducer, hour_interval) tokens end From 0a168dec6d219b068738e2ee5910aa5acf79f042 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 3 Oct 2019 15:29:22 +0300 Subject: [PATCH 016/342] add TokenUpdater to supervision tree --- apps/indexer/lib/indexer/supervisor.ex | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/indexer/lib/indexer/supervisor.ex b/apps/indexer/lib/indexer/supervisor.ex index 0600b007ea..ca92bf0e0d 100644 --- a/apps/indexer/lib/indexer/supervisor.ex +++ b/apps/indexer/lib/indexer/supervisor.ex @@ -19,6 +19,7 @@ defmodule Indexer.Supervisor do StakingPools, Token, TokenBalance, + TokenUpdater, UncleBlock } @@ -112,6 +113,8 @@ defmodule Indexer.Supervisor do [[json_rpc_named_arguments: json_rpc_named_arguments, memory_monitor: memory_monitor]]}, {TokenBalance.Supervisor, [[json_rpc_named_arguments: json_rpc_named_arguments, memory_monitor: memory_monitor]]}, + {TokenUpdater.Supervisor, + [[json_rpc_named_arguments: json_rpc_named_arguments, memory_monitor: memory_monitor]]}, {ReplacedTransaction.Supervisor, [[memory_monitor: memory_monitor]]}, {StakingPools.Supervisor, [[memory_monitor: memory_monitor]]}, From f04052c4c480987cf92d773eefe03d262b85f8ce Mon Sep 17 00:00:00 2001 From: pasqu4le Date: Wed, 9 Oct 2019 14:20:00 +0200 Subject: [PATCH 017/342] Remove nonconsensus blocks from cache after internal transactions importing Problem: after PR #2726 some blocks may lose consensus after internal transactions are imported. The cache is not aware of this and may hold outdated values. Solution: notify the cache to drop the blocks that lost consensus in such cases. --- CHANGELOG.md | 1 + .../lib/explorer/chain/cache/blocks.ex | 18 ++++++++++++++++++ .../import/runner/internal_transactions.ex | 1 + .../indexer/fetcher/internal_transaction.ex | 3 ++- 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b26ab858ad..3a0b91e943 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - [#2642](https://github.com/poanetwork/blockscout/pull/2642) - add ERC721 coin instance page ### Fixes +- [#2768](https://github.com/poanetwork/blockscout/pull/2768) - Remove nonconsensus blocks from cache after internal transactions importing - [#2753](https://github.com/poanetwork/blockscout/pull/2753) - fix nft token instance images - [#2750](https://github.com/poanetwork/blockscout/pull/2750) - fixed contract buttons color for NFT token instance on each theme - [#2746](https://github.com/poanetwork/blockscout/pull/2746) - fixed wrong alignment in logs decoded view diff --git a/apps/explorer/lib/explorer/chain/cache/blocks.ex b/apps/explorer/lib/explorer/chain/cache/blocks.ex index d2a5b47061..11b75a4d09 100644 --- a/apps/explorer/lib/explorer/chain/cache/blocks.ex +++ b/apps/explorer/lib/explorer/chain/cache/blocks.ex @@ -20,4 +20,22 @@ defmodule Explorer.Chain.Cache.Blocks do @type id :: non_neg_integer() def element_to_id(%Block{number: number}), do: number + + def drop_nonconsensus([]), do: :ok + + def drop_nonconsensus(numbers) when is_list(numbers) do + ConCache.update(cache_name(), ids_list_key(), fn ids -> + nonconsensus = MapSet.new(numbers) + + {lost_consensus, kept_consensus} = Enum.split_with(ids, &MapSet.member?(nonconsensus, &1)) + + # immediately delete the blocks that lost consensus + Enum.each(lost_consensus, &ConCache.delete(cache_name(), &1)) + + # ids_list is set to never expire + {:ok, %ConCache.Item{value: kept_consensus, ttl: :infinity}} + end) + end + + def drop_nonconsensus(number) when not is_nil(number), do: drop_nonconsensus([number]) end diff --git a/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex b/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex index b4704d382b..9d16328555 100644 --- a/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex +++ b/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex @@ -241,6 +241,7 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do b in Block, where: b.number in ^missing_transactions_block_numbers, where: b.hash in ^block_hashes, + select: b.number, # ShareLocks order already enforced by `internal_transactions_indexed_at_blocks` (see docs: sharelocks.md) update: [set: [consensus: false, internal_transactions_indexed_at: nil]] ) diff --git a/apps/indexer/lib/indexer/fetcher/internal_transaction.ex b/apps/indexer/lib/indexer/fetcher/internal_transaction.ex index 5ad7c5d506..77ba3cd6ec 100644 --- a/apps/indexer/lib/indexer/fetcher/internal_transaction.ex +++ b/apps/indexer/lib/indexer/fetcher/internal_transaction.ex @@ -14,7 +14,7 @@ defmodule Indexer.Fetcher.InternalTransaction do alias Explorer.Chain alias Explorer.Chain.{Block, Hash} - alias Explorer.Chain.Cache.Accounts + alias Explorer.Chain.Cache.{Accounts, Blocks} alias Indexer.{BufferedTask, Tracer} alias Indexer.Transform.Addresses @@ -220,6 +220,7 @@ defmodule Indexer.Fetcher.InternalTransaction do case imports do {:ok, imported} -> Accounts.drop(imported[:addreses]) + Blocks.drop_nonconsensus(imported[:remove_consensus_of_missing_transactions_blocks]) async_import_coin_balances(imported, %{ address_hash_to_fetched_balance_block_number: address_hash_to_block_number From d031294d04a14029f397620090dfe23bae6712d7 Mon Sep 17 00:00:00 2001 From: pasqu4le Date: Wed, 9 Oct 2019 14:35:20 +0200 Subject: [PATCH 018/342] allow nil to be passed to drop_nonconsensus --- apps/explorer/lib/explorer/chain/cache/blocks.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/explorer/lib/explorer/chain/cache/blocks.ex b/apps/explorer/lib/explorer/chain/cache/blocks.ex index 11b75a4d09..ca968fb56d 100644 --- a/apps/explorer/lib/explorer/chain/cache/blocks.ex +++ b/apps/explorer/lib/explorer/chain/cache/blocks.ex @@ -21,7 +21,7 @@ defmodule Explorer.Chain.Cache.Blocks do def element_to_id(%Block{number: number}), do: number - def drop_nonconsensus([]), do: :ok + def drop_nonconsensus(numbers) when is_nil(numbers) or numbers == [], do: :ok def drop_nonconsensus(numbers) when is_list(numbers) do ConCache.update(cache_name(), ids_list_key(), fn ids -> From d39f817bb085bfd67653a5247aa7347f5daec475 Mon Sep 17 00:00:00 2001 From: pasqu4le Date: Tue, 15 Oct 2019 12:01:45 +0200 Subject: [PATCH 019/342] Remove duplicate blocks from changes_list before import --- CHANGELOG.md | 1 + .../lib/explorer/chain/import/runner/blocks.ex | 5 ++++- .../explorer/chain/import/runner/blocks_test.exs | 14 ++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ba8881ece..c7c78d1b66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - [#2470](https://github.com/poanetwork/blockscout/pull/2470) - Allow Realtime Fetcher to wait for small skips ### Fixes +- [#2777](https://github.com/poanetwork/blockscout/pull/2777) - Remove duplicate blocks from changes_list before import - [#2755](https://github.com/poanetwork/blockscout/pull/2755) - various token instance fetcher fixes - [#2770](https://github.com/poanetwork/blockscout/pull/2770) - do not re-fetch token instances without uris - [#2761](https://github.com/poanetwork/blockscout/pull/2761) - add indexes for token instances fetching queries diff --git a/apps/explorer/lib/explorer/chain/import/runner/blocks.ex b/apps/explorer/lib/explorer/chain/import/runner/blocks.ex index ff970faad6..61fb6973c9 100644 --- a/apps/explorer/lib/explorer/chain/import/runner/blocks.ex +++ b/apps/explorer/lib/explorer/chain/import/runner/blocks.ex @@ -224,7 +224,10 @@ defmodule Explorer.Chain.Import.Runner.Blocks do on_conflict = Map.get_lazy(options, :on_conflict, &default_on_conflict/0) # Enforce Block ShareLocks order (see docs: sharelocks.md) - ordered_changes_list = Enum.sort_by(changes_list, & &1.hash) + ordered_changes_list = + changes_list + |> Enum.sort_by(& &1.hash) + |> Enum.dedup_by(& &1.hash) Import.insert_changes_list( repo, diff --git a/apps/explorer/test/explorer/chain/import/runner/blocks_test.exs b/apps/explorer/test/explorer/chain/import/runner/blocks_test.exs index 3cbd7f4834..c47204e749 100644 --- a/apps/explorer/test/explorer/chain/import/runner/blocks_test.exs +++ b/apps/explorer/test/explorer/chain/import/runner/blocks_test.exs @@ -382,6 +382,20 @@ defmodule Explorer.Chain.Import.Runner.BlocksTest do insert_transaction(transaction2, options) assert Chain.missing_block_number_ranges(range) == [(block_number + 1)..(block_number + 1)] end + + test "removes duplicate blocks (by hash) before inserting", + %{consensus_block: %{number: block_number, hash: block_hash, miner_hash: miner_hash}, options: options} do + new_block = params_for(:block, miner_hash: miner_hash, consensus: true) + + %Ecto.Changeset{valid?: true, changes: block_changes} = Block.changeset(%Block{}, new_block) + + result = + Multi.new() + |> Blocks.run([block_changes, block_changes], options) + |> Repo.transaction() + + assert {:ok, %{blocks: [%{hash: block_hash, consensus: true}]}} = result + end end defp insert_block(block_params, options) do From 71d92e600c30e52c42f07e44e78eb7a2b0a34313 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 30 Oct 2019 12:42:38 +0300 Subject: [PATCH 020/342] pass function to extract_contructor_arguments --- .../verifier/constructor_arguments.ex | 49 ++++++++++++++----- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex b/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex index 6e25b3cc52..d38c04a28d 100644 --- a/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex +++ b/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex @@ -13,10 +13,12 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do |> Chain.contract_creation_input_data() |> String.replace("0x", "") + check_func = fn assumed_arguments -> assumed_arguments == arguments_data end + if verify_older_version(creation_code, contract_code, arguments_data) do true else - extract_constructor_arguments(creation_code, arguments_data) + extract_constructor_arguments(creation_code, check_func) end end @@ -29,40 +31,61 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do |> Kernel.==(arguments_data) end - defp extract_constructor_arguments(code, passed_constructor_arguments) do + defp extract_constructor_arguments(code, check_func) do case code do # Solidity ~ 4.23 # https://solidity.readthedocs.io/en/v0.4.23/metadata.html "a165627a7a72305820" <> <<_::binary-size(64)>> <> "0029" <> constructor_arguments -> - if passed_constructor_arguments == constructor_arguments do - true + check_func_result = check_func.(constructor_arguments) + + if check_func_result do + check_func_result else - extract_constructor_arguments(constructor_arguments, passed_constructor_arguments) + extract_constructor_arguments(constructor_arguments, check_func) end # Solidity >= 0.5.10 https://solidity.readthedocs.io/en/v0.5.10/metadata.html "a265627a7a72305820" <> <<_::binary-size(64)>> <> "64736f6c6343" <> <<_::binary-size(6)>> <> "0032" <> constructor_arguments -> - if passed_constructor_arguments == constructor_arguments do - true + check_func_result = check_func.(constructor_arguments) + + if check_func_result do + check_func_result else - extract_constructor_arguments(constructor_arguments, passed_constructor_arguments) + extract_constructor_arguments(constructor_arguments, check_func) end # Solidity >= 0.5.11 https://github.com/ethereum/solidity/blob/develop/Changelog.md#0511-2019-08-12 # Metadata: Update the swarm hash to the current specification, changes bzzr0 to bzzr1 and urls to use bzz-raw:// "a265627a7a72315820" <> <<_::binary-size(64)>> <> "64736f6c6343" <> <<_::binary-size(6)>> <> "0032" <> constructor_arguments -> - if passed_constructor_arguments == constructor_arguments do - true + check_func_result = check_func.(constructor_arguments) + + if check_func_result do + check_func_result else - extract_constructor_arguments(constructor_arguments, passed_constructor_arguments) + extract_constructor_arguments(constructor_arguments, check_func) end <<>> -> - passed_constructor_arguments == "" + check_func.("") <<_::binary-size(2)>> <> rest -> - extract_constructor_arguments(rest, passed_constructor_arguments) + extract_constructor_arguments(rest, check_func) end end + + # def find_contructor_arguments(address_hash, contract_code, abi) do + # arguments_data = arguments_data |> String.trim_trailing() |> String.trim_leading("0x") + + # creation_code = + # address_hash + # |> Chain.contract_creation_input_data() + # |> String.replace("0x", "") + + # if verify_older_version(creation_code, contract_code, arguments_data) do + # true + # else + # extract_constructor_arguments(creation_code, arguments_data) + # end + # end end From e383413e7fce7ac84c78cedd7bc0b9be4d5cdb4a Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 30 Oct 2019 13:31:44 +0300 Subject: [PATCH 021/342] add find_contructor_arguments --- .../verifier/constructor_arguments.ex | 44 +++++--- .../verifier/constructor_arguments_test.exs | 105 +++++++++++------- 2 files changed, 92 insertions(+), 57 deletions(-) diff --git a/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex b/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex index d38c04a28d..34868a7592 100644 --- a/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex +++ b/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex @@ -2,7 +2,7 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do @moduledoc """ Smart contract contrstructor arguments verification logic. """ - + alias ABI.{FunctionSelector, TypeDecoder} alias Explorer.Chain def verify(address_hash, contract_code, arguments_data) do @@ -15,7 +15,7 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do check_func = fn assumed_arguments -> assumed_arguments == arguments_data end - if verify_older_version(creation_code, contract_code, arguments_data) do + if verify_older_version(creation_code, contract_code, check_func) do true else extract_constructor_arguments(creation_code, check_func) @@ -24,11 +24,11 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do # Earlier versions of Solidity didn't have whisper code. # constructor argument were directly appended to source code - defp verify_older_version(creation_code, contract_code, arguments_data) do + defp verify_older_version(creation_code, contract_code, check_func) do creation_code |> String.split(contract_code) |> List.last() - |> Kernel.==(arguments_data) + |> check_func.() end defp extract_constructor_arguments(code, check_func) do @@ -74,18 +74,30 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do end end - # def find_contructor_arguments(address_hash, contract_code, abi) do - # arguments_data = arguments_data |> String.trim_trailing() |> String.trim_leading("0x") + def find_contructor_arguments(address_hash, contract_code, abi) do + creation_code = + address_hash + |> Chain.contract_creation_input_data() + |> String.replace("0x", "") + + constructor_abi = Enum.find(abi, fn el -> el["type"] == "constructor" && el["inputs"] != [] end) - # creation_code = - # address_hash - # |> Chain.contract_creation_input_data() - # |> String.replace("0x", "") + input_types = Enum.map(constructor_abi["inputs"], &FunctionSelector.parse_specification_type/1) - # if verify_older_version(creation_code, contract_code, arguments_data) do - # true - # else - # extract_constructor_arguments(creation_code, arguments_data) - # end - # end + check_func = fn assumed_arguments -> + try do + _ = + assumed_arguments + |> Base.decode16!(case: :mixed) + |> TypeDecoder.decode_raw(input_types) + + assumed_arguments + rescue + _ -> false + end + end + + verify_older_version(creation_code, contract_code, check_func) || + extract_constructor_arguments(creation_code, check_func) + end end diff --git a/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs b/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs index 9c4f6c8f68..dbf81da78e 100644 --- a/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs +++ b/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs @@ -6,63 +6,86 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArgumentsTest do alias Explorer.Chain.Data alias Explorer.SmartContract.Verifier.ConstructorArguments - test "veriies constructor constructor arguments with whisper data" do - constructor_arguments = Base.encode16(:crypto.strong_rand_bytes(64), case: :lower) - address = insert(:address) + describe "verify/3" do + test "veriies constructor constructor arguments with whisper data" do + constructor_arguments = Base.encode16(:crypto.strong_rand_bytes(64), case: :lower) + address = insert(:address) - input = - "a165627a7a72305820" <> - Base.encode16(:crypto.strong_rand_bytes(32), case: :lower) <> "0029" <> constructor_arguments + input = + "a165627a7a72305820" <> + Base.encode16(:crypto.strong_rand_bytes(32), case: :lower) <> "0029" <> constructor_arguments - input_data = %Data{ - bytes: Base.decode16!(input, case: :lower) - } + input_data = %Data{ + bytes: Base.decode16!(input, case: :lower) + } - :transaction - |> insert(created_contract_address_hash: address.hash, input: input_data) - |> with_block() + :transaction + |> insert(created_contract_address_hash: address.hash, input: input_data) + |> with_block() - assert ConstructorArguments.verify(address.hash, "", constructor_arguments) - end + assert ConstructorArguments.verify(address.hash, "", constructor_arguments) + end - test "verifies with multiple nested constructor arguments" do - address = insert(:address) + test "verifies with multiple nested constructor arguments" do + address = insert(:address) - constructor_arguments = - "000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00000000000000000000000000000000000000000000000000000000590b09b0" + constructor_arguments = + "000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00000000000000000000000000000000000000000000000000000000590b09b0" - input = - "a165627a7a72305820fbfa6f8a2024760ef0e0eb29a332c9a820526e92f8b4fbcce6f00c7643234b1400297b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7a165627a7a723058203c2db82e7c80cd1e371fe349b03d49b812c324ba4a3fcd063b7bc2662353c5de0029000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00000000000000000000000000000000000000000000000000000000590b09b0" + input = + "a165627a7a72305820fbfa6f8a2024760ef0e0eb29a332c9a820526e92f8b4fbcce6f00c7643234b1400297b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7a165627a7a723058203c2db82e7c80cd1e371fe349b03d49b812c324ba4a3fcd063b7bc2662353c5de0029000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00000000000000000000000000000000000000000000000000000000590b09b0" - input_data = %Data{ - bytes: Base.decode16!(input, case: :lower) - } + input_data = %Data{ + bytes: Base.decode16!(input, case: :lower) + } - :transaction - |> insert(created_contract_address_hash: address.hash, input: input_data) - |> with_block() + :transaction + |> insert(created_contract_address_hash: address.hash, input: input_data) + |> with_block() - assert ConstructorArguments.verify(address.hash, "", constructor_arguments) - end + assert ConstructorArguments.verify(address.hash, "", constructor_arguments) + end + + test "verifies older version of Solidity where constructor_arguments were directly appended to source code" do + address = insert(:address) + + constructor_arguments = + "000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00000000000000000000000000000000000000000000000000000000590b09b0" - test "verifies older version of Solidity where constructor_arguments were directly appended to source code" do - address = insert(:address) + source_code = "0001" - constructor_arguments = - "000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00000000000000000000000000000000000000000000000000000000590b09b0" + input = source_code <> constructor_arguments + + input_data = %Data{ + bytes: Base.decode16!(input, case: :lower) + } + + :transaction + |> insert(created_contract_address_hash: address.hash, input: input_data) + |> with_block() + + assert ConstructorArguments.verify(address.hash, source_code, constructor_arguments) + end + end - source_code = "0001" + describe "find_contructor_arguments/3" do + test "finds contructor arguments" do + address = insert(:address) + expected_contructor_arguments = + "000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00000000000000000000000000000000000000000000000000000000590b09b0" - input = source_code <> constructor_arguments + input = + "a165627a7a72305820fbfa6f8a2024760ef0e0eb29a332c9a820526e92f8b4fbcce6f00c7643234b1400297b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7a165627a7a723058203c2db82e7c80cd1e371fe349b03d49b812c324ba4a3fcd063b7bc2662353c5de0029000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00000000000000000000000000000000000000000000000000000000590b09b0" - input_data = %Data{ - bytes: Base.decode16!(input, case: :lower) - } + input_data = %Data{ + bytes: Base.decode16!(input, case: :lower) + } - :transaction - |> insert(created_contract_address_hash: address.hash, input: input_data) - |> with_block() + :transaction + |> insert(created_contract_address_hash: address.hash, input: input_data) + |> with_block() - assert ConstructorArguments.verify(address.hash, source_code, constructor_arguments) + assert ConstructorArguments.find_contructor_arguments(address.hash, "", %{}) + end end end From ae8e162ed61dbde041566b872c6c5261ea8df1ac Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 30 Oct 2019 16:54:14 +0300 Subject: [PATCH 022/342] fix test --- .../verifier/constructor_arguments_test.exs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs b/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs index dbf81da78e..198d81c006 100644 --- a/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs +++ b/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs @@ -71,21 +71,30 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArgumentsTest do describe "find_contructor_arguments/3" do test "finds contructor arguments" do address = insert(:address) + expected_contructor_arguments = - "000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00000000000000000000000000000000000000000000000000000000590b09b0" + "0000000000000000000000007da82c7ab4771ff031b66538d2fb9b0b047f6cf90000000000000000000000007da82c7ab4771ff031b66538d2fb9b0b047f6cf9000000000000000000000000000000000000000000000000000000000027cab8000000000000000000000000000000000000000000000000000000000029b814" input = - "a165627a7a72305820fbfa6f8a2024760ef0e0eb29a332c9a820526e92f8b4fbcce6f00c7643234b1400297b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7a165627a7a723058203c2db82e7c80cd1e371fe349b03d49b812c324ba4a3fcd063b7bc2662353c5de0029000000000000000000000000314159265dd8dbb310642f98f50c066173c1259b93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00000000000000000000000000000000000000000000000000000000590b09b0" + "606060408190526002805460ff19166001179055608080610f99833960e06040529051905160a05160c051600160a060020a03841615156100e857610002565b83604051610542806101158339018082600160a060020a03168152602001915050604051809103906000f0801561000257600480546c01000000000000000000000000928302839004600160a060020a03199182161790915560038054868402849004921691909117905560028054868302929092046101000261010060a860020a03199092169190911790556000829055600181905550505050610942806106576000396000f35b600160a060020a03831615156100fd57610002565b43821161010957610002565b81811161003f5761000256606060408190526000600355602080610542833950608060405251600180546c0100000000000000000000000033810204600160a060020a031990911617905562ed4e004201600255600160a060020a0381166000908152602081905260408120614e2090556109c47f2f5182ca3c71fba9448b5797d92da7b954eeaeb24b669d38048e225561035564556102da7f45df8c30765988748331aa685f931bde8d58d486ac2309077e90fd6baaf79e038190557f7ea8a6eced6159c474e51a36ed2fdbeefcbc828cf6c05d46fdd1fad880f548ea8190557fd80aeb97d8ade363914f049101e13bc4c79be147033a8a1fa0e91f954320cfd18190557fd1a1c717e5b5609c72c4991362e166a35ee5521d47496bc9108fc3a6602538008190557fc61bf6c63255306aa3f1daf108b6b962c862b30a9ef9b3111a55cf9a1be9a8d6556102767fe4359dc5a3244eba9cfcf67269b2f0a0a57c214e4cb82f9b6912def299f047528190557fd933b2425e5345f54b48182cee8f889a1054dce093c93ee4a944524ad0af59c48190557ffbefcf091d9562d672e0fdc71891d2d3803db16d6743ea8a23fcfef88796a09d8190557fe5b2b0da35bec8da153886157cd88779fbd6472c27b66913d5c69e1445aa806f556101367f085c12f836c258aa880654d07c75055519a771d8386caee004632ed5afcbe9d155608a7f3a722b2d2783e2bd2f725b60f80f56ff256a418ebecca715894d57d5feb689715560877fd1c40006b594ba5b504908c67a40189432057d2394f1773ab7774bd3123bca545560647f0eef056c83f1149e261cf3b61d9e20a9e0c5f64ada6748701e1b27d1de158ce38190557f7070adbdb8f2d4019cc852cc26afe358144bc7fbe990d77bc637f5c7e722c41c8190557f581488c6d9a945dc9b0fd448f74525266c0b506653a1d4c8fbb199bb557cf58e8190557f943f08fbd86d9c14937cccb5045806305960ee93608df8764c86f5364a3102335560467fb6bd8179f2fe2847ab9692c0c2e093d2f25ee7f1808ba3b0e7d52c98fa7d9f558190557fb63e17ea19e0eaf429d63bb96f3600c9aca74fbce87db89dc7bc4577fc7683b78190557f502063b8af6f4e9d3f416f8166f86c7f3c6c0abe8692397a61182ba8dca7c1208190557fe7e3a4e3c5fd8cb5848bc5c4fe5e5566299670c2bf4adffd95984be3e33a61df55602a7f664cea02e91f34521fafc42bfb9f9365ac4cd7ca869351e22c8d1ed75d54157f5573d0af9f75ea618163944585bf56aca98204d0ab66905260197f0d038efd35c79f794bca2eb26019390c0b2b1975cb3389c23e540ef5ea1670275550610177806103cb6000396000f3606060405260e060020a6000350463a69df4b5811461001e575b610002565b346100025761003c6000600060026000505442101561004257610002565b005b5050565b60035415156100c357600160009054906101000a9004600160a060020a0316600160a060020a03166370a08231306000604051602001526040518260e060020a0281526004018082600160a060020a03168152602001915050602060405180830381600087803b156100025760325a03f11561000257505060405151600355505b600160a060020a03331660009081526020819052604081208054919055600354909250617530908302049050600160009054906101000a9004600160a060020a0316600160a060020a031663a9059cbb33836000604051602001526040518360e060020a0281526004018083600160a060020a0316815260200182815260200192505050602060405180830381600087803b156100025760325a03f115610002575050604051511515905061003e5761000256606060405236156101065760e060020a600035046306fdde03811461010b578063162229501461014a57806318160ddd1461016757806326316e5814610182578063313ce567146101a8578063454b0608146101b55780634bb278f3146101d0578063590e1ae3146101ee578063676d2e621461020c5780636f7920fd1461022357806370a082311461023b57806375e2ff65146102605780638328dbcd1461027b57806391b43d131461029257806395a0f5eb146102a057806395d89b41146102ae578063a9059cbb146102ed578063c039daf614610310578063cb4c86b714610327578063cf8d652c14610338578063d648a64714610346578063efc81a8c14610354575b610002565b346100025761036b60408051808201909152601381527f476f6c656d204e6574776f726b20546f6b656e00000000000000000000000000602082015281565b34610002576103d9600254600160a060020a036101009091041681565b34610002576005545b60408051918252519081900360200190f35b34610002576103f560043560035433600160a060020a0390811691161461042157610002565b34610002576103f7601281565b34610002576103f560043560025460ff161561046b57610002565b34610002576103f5600254600090819060ff16151561059457610002565b34610002576103f5600254600090819060ff16151561069557610002565b34610002576103d9600354600160a060020a031681565b34610002576101706b02a649c112686927b400000081565b3461000257600160a060020a0360043516600090815260066020526040902054610170565b34610002576103f560043560025460ff161561077e57610002565b34610002576103d9600754600160a060020a031681565b346100025761017060015481565b346100025761017060085481565b346100025761036b60408051808201909152600381527f474e540000000000000000000000000000000000000000000000000000000000602082015281565b346100025761040d600435602435600254600090819060ff16156107f057610002565b34610002576101706a7c13bc4b2c133c5600000081565b346100025761040d60025460ff1681565b34610002576101706103e881565b346100025761017060005481565b6103f560025460009060ff16151561089057610002565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156103cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60408051600160a060020a039092168252519081900360200190f35b005b6040805160ff9092168252519081900360200190f35b604080519115158252519081900360200190f35b600160a060020a038116151561043657610002565b600380546c010000000000000000000000008084020473ffffffffffffffffffffffffffffffffffffffff1990911617905550565b600754600160a060020a0316151561048257610002565b80151561048e57610002565b600160a060020a0333166000908152600660205260409020548111156104b357610002565b600160a060020a0333811660008181526006602052604080822080548690039055600580548690039055600880548601905560075481517f7a3130e30000000000000000000000000000000000000000000000000000000081526004810194909452602484018690529051931692637a3130e392604480820193929182900301818387803b156100025760325a03f115610002575050600754604080518481529051600160a060020a03928316935033909216917f18df02dcc52b9c494f391df09661519c0069bd8540141946280399408205ca1a9181900360200190a350565b600154431115806105b257506005546a7c13bc4b2c133c5600000090105b80156105cc57506005546b02a649c112686927b400000090105b156105d657610002565b50506002805460ff1916905560058054605260128083029190910491820190925560048054600160a060020a03908116600090815260066020908152604080832080548701905593548451868152945193169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36040516002546101009004600160a060020a0390811691309091163180156108fc02916000818181858888f19350505050151561069157610002565b5050565b60015443116106a357610002565b6005546a7c13bc4b2c133c5600000090106106bd57610002565b600160a060020a03331660009081526006602052604090205491508115156106e457610002565b600160a060020a0333166000908152600660205260408120556005805483900390556103e88204905033600160a060020a03167fbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d826040518082815260200191505060405180910390a2604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561069157610002565b600754600160a060020a03161561079457610002565b60035433600160a060020a039081169116146107af57610002565b600780546c010000000000000000000000008084020473ffffffffffffffffffffffffffffffffffffffff1990911617905550565b600091505b5092915050565b50600160a060020a03331660009081526006602052604090205482811080159061081a5750600083115b156107e457600160a060020a0333811660008181526006602090815260408083209588900395869055938816808352918490208054880190558351878152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3600191506107e9565b60005443101561089f57610002565b6001544311156108ae57610002565b3415156108ba57610002565b6005546103e8906b02a649c112686927b400000003043411156108dc57610002565b5060058054346103e802908101909155600160a060020a0333166000818152600660209081526040808320805486019055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350560000000000000000000000007da82c7ab4771ff031b66538d2fb9b0b047f6cf90000000000000000000000007da82c7ab4771ff031b66538d2fb9b0b047f6cf9000000000000000000000000000000000000000000000000000000000027cab8000000000000000000000000000000000000000000000000000000000029b814" input_data = %Data{ bytes: Base.decode16!(input, case: :lower) } + {:ok, abi} = + ~s([{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"golemFactory\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_master\",\"type\":\"address\"}],\"name\":\"setMigrationMaster\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"migrate\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finalize\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"refund\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"migrationMaster\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenCreationCap\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_agent\",\"type\":\"address\"}],\"name\":\"setMigrationAgent\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"migrationAgent\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fundingEndBlock\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalMigrated\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenCreationMin\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"funding\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenCreationRate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fundingStartBlock\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"create\",\"outputs\":[],\"payable\":true,\"type\":\"function\"},{\"inputs\":[{\"name\":\"_golemFactory\",\"type\":\"address\"},{\"name\":\"_migrationMaster\",\"type\":\"address\"},{\"name\":\"_fundingStartBlock\",\"type\":\"uint256\"},{\"name\":\"_fundingEndBlock\",\"type\":\"uint256\"}],\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Migrate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Refund\",\"type\":\"event\"}]) + |> Jason.decode() + + contract_code = + "606060405236156101065760e060020a600035046306fdde03811461010b578063162229501461014a57806318160ddd1461016757806326316e5814610182578063313ce567146101a8578063454b0608146101b55780634bb278f3146101d0578063590e1ae3146101ee578063676d2e621461020c5780636f7920fd1461022357806370a082311461023b57806375e2ff65146102605780638328dbcd1461027b57806391b43d131461029257806395a0f5eb146102a057806395d89b41146102ae578063a9059cbb146102ed578063c039daf614610310578063cb4c86b714610327578063cf8d652c14610338578063d648a64714610346578063efc81a8c14610354575b610002565b346100025761036b60408051808201909152601381527f476f6c656d204e6574776f726b20546f6b656e00000000000000000000000000602082015281565b34610002576103d9600254600160a060020a036101009091041681565b34610002576005545b60408051918252519081900360200190f35b34610002576103f560043560035433600160a060020a0390811691161461042157610002565b34610002576103f7601281565b34610002576103f560043560025460ff161561046b57610002565b34610002576103f5600254600090819060ff16151561059457610002565b34610002576103f5600254600090819060ff16151561069557610002565b34610002576103d9600354600160a060020a031681565b34610002576101706b02a649c112686927b400000081565b3461000257600160a060020a0360043516600090815260066020526040902054610170565b34610002576103f560043560025460ff161561077e57610002565b34610002576103d9600754600160a060020a031681565b346100025761017060015481565b346100025761017060085481565b346100025761036b60408051808201909152600381527f474e540000000000000000000000000000000000000000000000000000000000602082015281565b346100025761040d600435602435600254600090819060ff16156107f057610002565b34610002576101706a7c13bc4b2c133c5600000081565b346100025761040d60025460ff1681565b34610002576101706103e881565b346100025761017060005481565b6103f560025460009060ff16151561089057610002565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156103cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60408051600160a060020a039092168252519081900360200190f35b005b6040805160ff9092168252519081900360200190f35b604080519115158252519081900360200190f35b600160a060020a038116151561043657610002565b600380546c010000000000000000000000008084020473ffffffffffffffffffffffffffffffffffffffff1990911617905550565b600754600160a060020a0316151561048257610002565b80151561048e57610002565b600160a060020a0333166000908152600660205260409020548111156104b357610002565b600160a060020a0333811660008181526006602052604080822080548690039055600580548690039055600880548601905560075481517f7a3130e30000000000000000000000000000000000000000000000000000000081526004810194909452602484018690529051931692637a3130e392604480820193929182900301818387803b156100025760325a03f115610002575050600754604080518481529051600160a060020a03928316935033909216917f18df02dcc52b9c494f391df09661519c0069bd8540141946280399408205ca1a9181900360200190a350565b600154431115806105b257506005546a7c13bc4b2c133c5600000090105b80156105cc57506005546b02a649c112686927b400000090105b156105d657610002565b50506002805460ff1916905560058054605260128083029190910491820190925560048054600160a060020a03908116600090815260066020908152604080832080548701905593548451868152945193169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36040516002546101009004600160a060020a0390811691309091163180156108fc02916000818181858888f19350505050151561069157610002565b5050565b60015443116106a357610002565b6005546a7c13bc4b2c133c5600000090106106bd57610002565b600160a060020a03331660009081526006602052604090205491508115156106e457610002565b600160a060020a0333166000908152600660205260408120556005805483900390556103e88204905033600160a060020a03167fbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d826040518082815260200191505060405180910390a2604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561069157610002565b600754600160a060020a03161561079457610002565b60035433600160a060020a039081169116146107af57610002565b600780546c010000000000000000000000008084020473ffffffffffffffffffffffffffffffffffffffff1990911617905550565b600091505b5092915050565b50600160a060020a03331660009081526006602052604090205482811080159061081a5750600083115b156107e457600160a060020a0333811660008181526006602090815260408083209588900395869055938816808352918490208054880190558351878152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3600191506107e9565b60005443101561089f57610002565b6001544311156108ae57610002565b3415156108ba57610002565b6005546103e8906b02a649c112686927b400000003043411156108dc57610002565b5060058054346103e802908101909155600160a060020a0333166000818152600660209081526040808320805486019055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35056" + :transaction |> insert(created_contract_address_hash: address.hash, input: input_data) |> with_block() - assert ConstructorArguments.find_contructor_arguments(address.hash, "", %{}) + assert ConstructorArguments.find_contructor_arguments(address.hash, contract_code, abi) == + expected_contructor_arguments end end end From 1dda3e50c78e72a3056b3cfcf79f8592651b9b6a Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Wed, 30 Oct 2019 15:59:29 +0300 Subject: [PATCH 023/342] Estimated address count on the main page --- CHANGELOG.md | 1 + .../assets/js/pages/token_counters.js | 2 +- .../controllers/address_controller.ex | 2 +- .../controllers/chain_controller.ex | 3 +- .../lib/block_scout_web/notifier.ex | 2 +- .../channels/address_channel_test.exs | 11 -- .../controllers/address_controller_test.exs | 8 -- .../api/rpc/address_controller_test.exs | 3 +- .../api/rpc/eth_controller_test.exs | 3 +- .../controllers/chain_controller_test.exs | 4 - .../features/viewing_addresses_test.exs | 4 - .../features/viewing_app_test.exs | 4 - .../features/viewing_chain_test.exs | 25 ---- apps/explorer/config/config.exs | 5 - apps/explorer/config/test.exs | 2 - apps/explorer/lib/explorer/application.ex | 3 +- apps/explorer/lib/explorer/chain.ex | 29 ++-- .../lib/explorer/chain/cache/address_count.ex | 66 +++++++++ .../explorer/counters/addresses_counter.ex | 125 ------------------ .../chain/cache/address_count_test.ex | 54 ++++++++ apps/explorer/test/explorer/chain_test.exs | 17 --- .../counters/addresses_counter_test.exs | 16 --- 22 files changed, 150 insertions(+), 239 deletions(-) create mode 100644 apps/explorer/lib/explorer/chain/cache/address_count.ex delete mode 100644 apps/explorer/lib/explorer/counters/addresses_counter.ex create mode 100644 apps/explorer/test/explorer/chain/cache/address_count_test.ex delete mode 100644 apps/explorer/test/explorer/counters/addresses_counter_test.exs diff --git a/CHANGELOG.md b/CHANGELOG.md index 55b2dcb1de..8722791098 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### Features - [#2791](https://github.com/poanetwork/blockscout/pull/2791) - add ipc client - [#2449](https://github.com/poanetwork/blockscout/pull/2449) - add ability to send notification events through postgres notify +- [#2822](https://github.com/poanetwork/blockscout/pull/2822) - Estimated address count on the main page, if cache is empty ### Fixes - [#2800](https://github.com/poanetwork/blockscout/pull/2800) - return not found for not verified contract for token read_contract diff --git a/apps/block_scout_web/assets/js/pages/token_counters.js b/apps/block_scout_web/assets/js/pages/token_counters.js index dfbdca4f94..42f8b38792 100644 --- a/apps/block_scout_web/assets/js/pages/token_counters.js +++ b/apps/block_scout_web/assets/js/pages/token_counters.js @@ -66,7 +66,7 @@ const elements = { function loadCounters (store) { const $element = $('[data-async-counters]') - const path = $element.data().asyncCounters + const path = $element.data() && $element.data().asyncCounters function fetchCounters () { store.dispatch({type: 'START_REQUEST'}) $.getJSON(path) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_controller.ex index d91552229a..1a86669ad9 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/address_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_controller.ex @@ -60,7 +60,7 @@ defmodule BlockScoutWeb.AddressController do def index(conn, _params) do render(conn, "index.html", current_path: current_path(conn), - address_count: Chain.count_addresses_from_cache() + address_count: Chain.address_estimated_count() ) end diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/chain_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/chain_controller.ex index 936d3ab0a0..d358ca8158 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/chain_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/chain_controller.ex @@ -13,6 +13,7 @@ defmodule BlockScoutWeb.ChainController do def show(conn, _params) do transaction_estimated_count = Chain.transaction_estimated_count() block_count = Chain.block_estimated_count() + address_count = Chain.address_estimated_count() market_cap_calculation = case Application.get_env(:explorer, :supply) do @@ -28,7 +29,7 @@ defmodule BlockScoutWeb.ChainController do render( conn, "show.html", - address_count: Chain.count_addresses_from_cache(), + address_count: address_count, average_block_time: AverageBlockTime.average_block_time(), exchange_rate: exchange_rate, chart_data_path: market_history_chart_path(conn, :show), diff --git a/apps/block_scout_web/lib/block_scout_web/notifier.ex b/apps/block_scout_web/lib/block_scout_web/notifier.ex index 5955ca02d4..4bf9185d23 100644 --- a/apps/block_scout_web/lib/block_scout_web/notifier.ex +++ b/apps/block_scout_web/lib/block_scout_web/notifier.ex @@ -14,7 +14,7 @@ defmodule BlockScoutWeb.Notifier do alias Phoenix.View def handle_event({:chain_event, :addresses, type, addresses}) when type in [:realtime, :on_demand] do - Endpoint.broadcast("addresses:new_address", "count", %{count: Chain.count_addresses_from_cache()}) + Endpoint.broadcast("addresses:new_address", "count", %{count: Chain.address_estimated_count()}) addresses |> Stream.reject(fn %Address{fetched_coin_balance: fetched_coin_balance} -> is_nil(fetched_coin_balance) end) diff --git a/apps/block_scout_web/test/block_scout_web/channels/address_channel_test.exs b/apps/block_scout_web/test/block_scout_web/channels/address_channel_test.exs index 357a73eba8..d5bb63255c 100644 --- a/apps/block_scout_web/test/block_scout_web/channels/address_channel_test.exs +++ b/apps/block_scout_web/test/block_scout_web/channels/address_channel_test.exs @@ -1,11 +1,9 @@ defmodule BlockScoutWeb.AddressChannelTest do use BlockScoutWeb.ChannelCase, - # ETS tables are shared in `Explorer.Counters.AddressesCounter` async: false alias BlockScoutWeb.UserSocket alias BlockScoutWeb.Notifier - alias Explorer.Counters.AddressesCounter test "subscribed user is notified of new_address count event" do topic = "addresses:new_address" @@ -13,9 +11,6 @@ defmodule BlockScoutWeb.AddressChannelTest do address = insert(:address) - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - Notifier.handle_event({:chain_event, :addresses, :realtime, [address]}) assert_receive %Phoenix.Socket.Broadcast{topic: ^topic, event: "count", payload: %{count: _}}, :timer.seconds(5) @@ -55,9 +50,6 @@ defmodule BlockScoutWeb.AddressChannelTest do test "notified of balance_update for matching address", %{address: address, topic: topic} do address_with_balance = %{address | fetched_coin_balance: 1} - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - Notifier.handle_event({:chain_event, :addresses, :realtime, [address_with_balance]}) assert_receive %Phoenix.Socket.Broadcast{topic: ^topic, event: "balance_update", payload: payload}, @@ -67,9 +59,6 @@ defmodule BlockScoutWeb.AddressChannelTest do end test "not notified of balance_update if fetched_coin_balance is nil", %{address: address} do - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - Notifier.handle_event({:chain_event, :addresses, :realtime, [address]}) refute_receive _, 100, "Message was broadcast for nil fetched_coin_balance." diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs index baae81bc1f..157435f940 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs @@ -3,8 +3,6 @@ defmodule BlockScoutWeb.AddressControllerTest do # ETS tables are shared in `Explorer.Counters.*` async: false - alias Explorer.Counters.AddressesCounter - describe "GET index/2" do test "returns top addresses", %{conn: conn} do address_hashes = @@ -12,9 +10,6 @@ defmodule BlockScoutWeb.AddressControllerTest do |> Enum.map(&insert(:address, fetched_coin_balance: &1)) |> Enum.map(& &1.hash) - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - conn = get(conn, address_path(conn, :index, %{type: "JSON"})) {:ok, %{"items" => items}} = Poison.decode(conn.resp_body) @@ -25,9 +20,6 @@ defmodule BlockScoutWeb.AddressControllerTest do address = insert(:address, fetched_coin_balance: 1) insert(:address_name, address: address, primary: true, name: "POA Wallet") - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - conn = get(conn, address_path(conn, :index, %{type: "JSON"})) {:ok, %{"items" => [item]}} = Poison.decode(conn.resp_body) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs index 135fbe9948..85baf575fc 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs @@ -6,7 +6,7 @@ defmodule BlockScoutWeb.API.RPC.AddressControllerTest do alias BlockScoutWeb.API.RPC.AddressController alias Explorer.Chain alias Explorer.Chain.{Events.Subscriber, Transaction, Wei} - alias Explorer.Counters.{AddressesCounter, AverageBlockTime} + alias Explorer.Counters.AverageBlockTime alias Indexer.Fetcher.CoinBalanceOnDemand alias Explorer.Repo @@ -22,7 +22,6 @@ defmodule BlockScoutWeb.API.RPC.AddressControllerTest do start_supervised!({Task.Supervisor, name: Indexer.TaskSupervisor}) start_supervised!(AverageBlockTime) start_supervised!({CoinBalanceOnDemand, [mocked_json_rpc_named_arguments, [name: CoinBalanceOnDemand]]}) - start_supervised!(AddressesCounter) Application.put_env(:explorer, AverageBlockTime, enabled: true) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/eth_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/eth_controller_test.exs index 5ab050aefc..5facef3a46 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/eth_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/eth_controller_test.exs @@ -1,7 +1,7 @@ defmodule BlockScoutWeb.API.RPC.EthControllerTest do use BlockScoutWeb.ConnCase, async: false - alias Explorer.Counters.{AddressesCounter, AverageBlockTime} + alias Explorer.Counters.AverageBlockTime alias Explorer.Repo alias Indexer.Fetcher.CoinBalanceOnDemand @@ -14,7 +14,6 @@ defmodule BlockScoutWeb.API.RPC.EthControllerTest do start_supervised!({Task.Supervisor, name: Indexer.TaskSupervisor}) start_supervised!(AverageBlockTime) start_supervised!({CoinBalanceOnDemand, [mocked_json_rpc_named_arguments, [name: CoinBalanceOnDemand]]}) - start_supervised!(AddressesCounter) Application.put_env(:explorer, AverageBlockTime, enabled: true) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/chain_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/chain_controller_test.exs index 93777e16e3..3e96ed709b 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/chain_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/chain_controller_test.exs @@ -1,20 +1,16 @@ defmodule BlockScoutWeb.ChainControllerTest do use BlockScoutWeb.ConnCase, - # ETS table is shared in `Explorer.Counters.AddressesCounter` async: false import BlockScoutWeb.WebRouter.Helpers, only: [chain_path: 2, block_path: 3, transaction_path: 3, address_path: 3] alias Explorer.Chain.Block - alias Explorer.Counters.AddressesCounter setup do Supervisor.terminate_child(Explorer.Supervisor, Explorer.Chain.Cache.Blocks.child_id()) Supervisor.restart_child(Explorer.Supervisor, Explorer.Chain.Cache.Blocks.child_id()) Supervisor.terminate_child(Explorer.Supervisor, Explorer.Chain.Cache.Uncles.child_id()) Supervisor.restart_child(Explorer.Supervisor, Explorer.Chain.Cache.Uncles.child_id()) - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() :ok end diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs index bb223077a2..d50faf1a60 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs @@ -3,7 +3,6 @@ defmodule BlockScoutWeb.ViewingAddressesTest do # Because ETS tables is shared for `Explorer.Counters.*` async: false - alias Explorer.Counters.AddressesCounter alias BlockScoutWeb.{AddressPage, AddressView, Notifier} setup do @@ -58,9 +57,6 @@ defmodule BlockScoutWeb.ViewingAddressesTest do [first_address | _] = addresses [last_address | _] = Enum.reverse(addresses) - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - session |> AddressPage.visit_page() |> assert_has(AddressPage.address(first_address)) diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs index ff37eed468..b38ad10062 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs @@ -5,14 +5,10 @@ defmodule BlockScoutWeb.ViewingAppTest do alias BlockScoutWeb.AppPage alias BlockScoutWeb.Counters.BlocksIndexedCounter - alias Explorer.Counters.AddressesCounter alias Explorer.{Repo} alias Explorer.Chain.{Transaction} setup do - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - :ok end diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_chain_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_chain_test.exs index 367e8b8b7c..2fffe2762e 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_chain_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_chain_test.exs @@ -7,7 +7,6 @@ defmodule BlockScoutWeb.ViewingChainTest do alias BlockScoutWeb.{AddressPage, BlockPage, ChainPage, TransactionPage} alias Explorer.Chain.Block - alias Explorer.Counters.AddressesCounter setup do Supervisor.terminate_child(Explorer.Supervisor, Explorer.Chain.Cache.Blocks.child_id()) @@ -35,9 +34,6 @@ defmodule BlockScoutWeb.ViewingChainTest do test "search for address", %{session: session} do address = insert(:address) - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - session |> ChainPage.visit_page() |> ChainPage.search(to_string(address.hash)) @@ -49,9 +45,6 @@ defmodule BlockScoutWeb.ViewingChainTest do test "search for blocks from chain page", %{session: session} do block = insert(:block, number: 6) - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - session |> ChainPage.visit_page() |> ChainPage.search(to_string(block.number)) @@ -59,9 +52,6 @@ defmodule BlockScoutWeb.ViewingChainTest do end test "blocks list", %{session: session} do - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - session |> ChainPage.visit_page() |> assert_has(ChainPage.blocks(count: 4)) @@ -70,9 +60,6 @@ defmodule BlockScoutWeb.ViewingChainTest do test "inserts place holder blocks on render for out of order blocks", %{session: session} do insert(:block, number: 409) - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - session |> ChainPage.visit_page() |> assert_has(ChainPage.block(%Block{number: 408})) @@ -84,9 +71,6 @@ defmodule BlockScoutWeb.ViewingChainTest do test "search for transactions", %{session: session} do transaction = insert(:transaction) - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - session |> ChainPage.visit_page() |> ChainPage.search(to_string(transaction.hash)) @@ -94,9 +78,6 @@ defmodule BlockScoutWeb.ViewingChainTest do end test "transactions list", %{session: session} do - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - session |> ChainPage.visit_page() |> assert_has(ChainPage.transactions(count: 5)) @@ -111,9 +92,6 @@ defmodule BlockScoutWeb.ViewingChainTest do |> with_contract_creation(contract_address) |> with_block(block) - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - session |> ChainPage.visit_page() |> assert_has(ChainPage.contract_creation(transaction)) @@ -138,9 +116,6 @@ defmodule BlockScoutWeb.ViewingChainTest do token_contract_address: contract_token_address ) - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - session |> ChainPage.visit_page() |> assert_has(ChainPage.token_transfers(transaction, count: 1)) diff --git a/apps/explorer/config/config.exs b/apps/explorer/config/config.exs index 60b0afdb48..d36a09450e 100644 --- a/apps/explorer/config/config.exs +++ b/apps/explorer/config/config.exs @@ -65,11 +65,6 @@ config :explorer, Explorer.Counters.AddressesWithBalanceCounter, enable_consolidation: true, update_interval_in_seconds: balances_update_interval || 30 * 60 -config :explorer, Explorer.Counters.AddressesCounter, - enabled: true, - enable_consolidation: true, - update_interval_in_seconds: balances_update_interval || 30 * 60 - config :explorer, Explorer.ExchangeRates, enabled: true, store: :ets config :explorer, Explorer.KnownTokens, enabled: true, store: :ets diff --git a/apps/explorer/config/test.exs b/apps/explorer/config/test.exs index 58050cba2c..1133c92fdb 100644 --- a/apps/explorer/config/test.exs +++ b/apps/explorer/config/test.exs @@ -21,8 +21,6 @@ config :explorer, Explorer.Counters.AverageBlockTime, enabled: false config :explorer, Explorer.Counters.AddressesWithBalanceCounter, enabled: false, enable_consolidation: false -config :explorer, Explorer.Counters.AddressesCounter, enabled: false, enable_consolidation: false - config :explorer, Explorer.Market.History.Cataloger, enabled: false config :explorer, Explorer.Tracer, disabled?: false diff --git a/apps/explorer/lib/explorer/application.ex b/apps/explorer/lib/explorer/application.ex index 4f3e5585f9..709ce7c5a5 100644 --- a/apps/explorer/lib/explorer/application.ex +++ b/apps/explorer/lib/explorer/application.ex @@ -9,6 +9,7 @@ defmodule Explorer.Application do alias Explorer.Chain.Cache.{ Accounts, + AddressCount, BlockCount, BlockNumber, Blocks, @@ -47,6 +48,7 @@ defmodule Explorer.Application do {Admin.Recovery, [[], [name: Admin.Recovery]]}, TransactionCount, BlockCount, + AddressCount, Blocks, NetVersion, BlockNumber, @@ -73,7 +75,6 @@ defmodule Explorer.Application do configure(Explorer.Market.History.Cataloger), configure(Explorer.Chain.Events.Listener), configure(Explorer.Counters.AddressesWithBalanceCounter), - configure(Explorer.Counters.AddressesCounter), configure(Explorer.Counters.AverageBlockTime), configure(Explorer.Validator.MetadataProcessor), configure(Explorer.Staking.EpochCounter) diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 5b3cfc2928..dd500b7eb0 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -51,6 +51,7 @@ defmodule Explorer.Chain do alias Explorer.Chain.Cache.{ Accounts, + AddressCount, BlockCount, BlockNumber, Blocks, @@ -61,7 +62,7 @@ defmodule Explorer.Chain do } alias Explorer.Chain.Import.Runner - alias Explorer.Counters.{AddressesCounter, AddressesWithBalanceCounter} + alias Explorer.Counters.AddressesWithBalanceCounter alias Explorer.Market.MarketHistoryCache alias Explorer.{PagingOptions, Repo} @@ -121,14 +122,6 @@ defmodule Explorer.Chain do AddressesWithBalanceCounter.fetch() end - @doc """ - Gets from the cache the count of all `t:Explorer.Chain.Address.t/0`'s - """ - @spec count_addresses_from_cache :: non_neg_integer() - def count_addresses_from_cache do - AddressesCounter.fetch() - end - @doc """ Counts the number of addresses with fetched coin balance > 0. @@ -2394,6 +2387,24 @@ defmodule Explorer.Chain do end end + @doc """ + Estimated count of `t:Explorer.Chain.Address.t/0`. + + Estimated count of addresses. + """ + @spec address_estimated_count() :: non_neg_integer() + def address_estimated_count do + cached_value = AddressCount.get_count() + + if is_nil(cached_value) do + %Postgrex.Result{rows: [[count]]} = Repo.query!("SELECT reltuples FROM pg_class WHERE relname = 'addresses';") + + count + else + cached_value + end + end + @doc """ `t:Explorer.Chain.InternalTransaction/0`s in `t:Explorer.Chain.Transaction.t/0` with `hash`. diff --git a/apps/explorer/lib/explorer/chain/cache/address_count.ex b/apps/explorer/lib/explorer/chain/cache/address_count.ex new file mode 100644 index 0000000000..0b603cdbc5 --- /dev/null +++ b/apps/explorer/lib/explorer/chain/cache/address_count.ex @@ -0,0 +1,66 @@ +defmodule Explorer.Chain.Cache.AddressCount do + @moduledoc """ + Cache for address count. + """ + + require Logger + + @default_cache_period :timer.hours(2) + + use Explorer.Chain.MapCache, + name: :address_count, + key: :count, + key: :async_task, + global_ttl: cache_period(), + ttl_check_interval: :timer.minutes(1), + callback: &async_task_on_deletion(&1) + + alias Explorer.Chain.Address + alias Explorer.Repo + + defp handle_fallback(:count) do + # This will get the task PID if one exists and launch a new task if not + # See next `handle_fallback` definition + get_async_task() + + {:return, nil} + end + + defp handle_fallback(:async_task) do + # If this gets called it means an async task was requested, but none exists + # so a new one needs to be launched + {:ok, task} = + Task.start(fn -> + try do + result = Repo.aggregate(Address, :count, :hash, timeout: :infinity) + + set_count(result) + rescue + e -> + Logger.debug([ + "Coudn't update address count test #{inspect(e)}" + ]) + end + + set_async_task(nil) + end) + + {:update, task} + end + + # By setting this as a `callback` an async task will be started each time the + # `count` expires (unless there is one already running) + defp async_task_on_deletion({:delete, _, :count}), do: get_async_task() + + defp async_task_on_deletion(_data), do: nil + + defp cache_period do + "ADDRESS_COUNT_CACHE_PERIOD" + |> System.get_env("") + |> Integer.parse() + |> case do + {integer, ""} -> :timer.seconds(integer) + _ -> @default_cache_period + end + end +end diff --git a/apps/explorer/lib/explorer/counters/addresses_counter.ex b/apps/explorer/lib/explorer/counters/addresses_counter.ex deleted file mode 100644 index 5febd8fbb9..0000000000 --- a/apps/explorer/lib/explorer/counters/addresses_counter.ex +++ /dev/null @@ -1,125 +0,0 @@ -defmodule Explorer.Counters.AddressesCounter do - @moduledoc """ - Caches the number of all addresses. - - It loads the count asynchronously and in a time interval of 30 minutes. - """ - - use GenServer - - alias Explorer.Chain - - @table :addresses_counter - - @cache_key "addresses" - - def table_name do - @table - end - - def cache_key do - @cache_key - end - - # It is undesirable to automatically start the consolidation in all environments. - # Consider the test environment: if the consolidation initiates but does not - # finish before a test ends, that test will fail. This way, hundreds of - # tests were failing before disabling the consolidation and the scheduler in - # the test env. - config = Application.get_env(:explorer, Explorer.Counters.AddressesCounter) - @enable_consolidation Keyword.get(config, :enable_consolidation) - - @update_interval_in_seconds Keyword.get(config, :update_interval_in_seconds) - - @doc """ - Starts a process to periodically update the counter of the token holders. - """ - @spec start_link(term()) :: GenServer.on_start() - def start_link(_) do - GenServer.start_link(__MODULE__, :ok, name: __MODULE__) - end - - @impl true - def init(_args) do - create_table() - - {:ok, %{consolidate?: enable_consolidation?()}, {:continue, :ok}} - end - - def create_table do - opts = [ - :set, - :named_table, - :public, - read_concurrency: true - ] - - :ets.new(table_name(), opts) - end - - defp schedule_next_consolidation do - Process.send_after(self(), :consolidate, :timer.seconds(@update_interval_in_seconds)) - end - - @doc """ - Inserts new items into the `:ets` table. - """ - def insert_counter({key, info}) do - :ets.insert(table_name(), {key, info}) - end - - @impl true - def handle_continue(:ok, %{consolidate?: true} = state) do - consolidate() - schedule_next_consolidation() - - {:noreply, state} - end - - @impl true - def handle_continue(:ok, state) do - {:noreply, state} - end - - @impl true - def handle_info(:consolidate, state) do - consolidate() - - schedule_next_consolidation() - - {:noreply, state} - end - - @doc """ - Fetches the info for a specific item from the `:ets` table. - """ - def fetch do - do_fetch(:ets.lookup(table_name(), cache_key())) - end - - defp do_fetch([{_, result}]), do: result - defp do_fetch([]), do: 0 - - @doc """ - Consolidates the info by populating the `:ets` table with the current database information. - """ - def consolidate do - counter = Chain.count_addresses() - - insert_counter({cache_key(), counter}) - end - - @doc """ - Returns a boolean that indicates whether consolidation is enabled - - In order to choose whether or not to enable the scheduler and the initial - consolidation, change the following Explorer config: - - `config :explorer, Explorer.Counters.AddressesCounter, enable_consolidation: true` - - to: - - `config :explorer, Explorer.Counters.AddressesCounter, enable_consolidation: false` - """ - def enable_consolidation?, do: @enable_consolidation -end diff --git a/apps/explorer/test/explorer/chain/cache/address_count_test.ex b/apps/explorer/test/explorer/chain/cache/address_count_test.ex new file mode 100644 index 0000000000..9bb10543fe --- /dev/null +++ b/apps/explorer/test/explorer/chain/cache/address_count_test.ex @@ -0,0 +1,54 @@ +defmodule Explorer.Chain.Cache.AddressCountTest do + use Explorer.DataCase + + alias Explorer.Chain.Cache.AddressCount + + setup do + Supervisor.terminate_child(Explorer.Supervisor, AddressCount.child_id()) + Supervisor.restart_child(Explorer.Supervisor, AddressCount.child_id()) + :ok + end + + test "returns default address count" do + result = AddressCount.get_count() + + assert is_nil(result) + end + + test "updates cache if initial value is zero" do + insert(:address) + insert(:address) + + _result = AddressCount.get_count() + + Process.sleep(1000) + + updated_value = AddressCount.get_count() + + assert updated_value == 2 + end + + test "does not update cache if cache period did not pass" do + insert(:address) + insert(:address) + + _result = AddressCount.get_count() + + Process.sleep(1000) + + updated_value = AddressCount.get_count() + + assert updated_value == 2 + + insert(:address) + insert(:address) + + _updated_value = AddressCount.get_count() + + Process.sleep(1000) + + updated_value = AddressCount.get_count() + + assert updated_value == 2 + end +end diff --git a/apps/explorer/test/explorer/chain_test.exs b/apps/explorer/test/explorer/chain_test.exs index 94d4c70062..abdcc8a963 100644 --- a/apps/explorer/test/explorer/chain_test.exs +++ b/apps/explorer/test/explorer/chain_test.exs @@ -27,7 +27,6 @@ defmodule Explorer.ChainTest do alias Explorer.Chain.Supply.ProofOfAuthority alias Explorer.Counters.AddressesWithBalanceCounter - alias Explorer.Counters.AddressesCounter doctest Explorer.Chain @@ -51,22 +50,6 @@ defmodule Explorer.ChainTest do end end - describe "count_addresses_from_cache/0" do - test "returns the number of all addresses" do - insert(:address, fetched_coin_balance: 0) - insert(:address, fetched_coin_balance: 1) - insert(:address, fetched_coin_balance: 2) - - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - - addresses_with_balance = Chain.count_addresses_from_cache() - - assert is_integer(addresses_with_balance) - assert addresses_with_balance == 3 - end - end - describe "last_db_block_status/0" do test "return no_blocks errors if db is empty" do assert {:error, :no_blocks} = Chain.last_db_block_status() diff --git a/apps/explorer/test/explorer/counters/addresses_counter_test.exs b/apps/explorer/test/explorer/counters/addresses_counter_test.exs deleted file mode 100644 index b187fd8c0e..0000000000 --- a/apps/explorer/test/explorer/counters/addresses_counter_test.exs +++ /dev/null @@ -1,16 +0,0 @@ -defmodule Explorer.Counters.AddressesCounterTest do - use Explorer.DataCase - - alias Explorer.Counters.AddressesCounter - - test "populates the cache with the number of all addresses" do - insert(:address, fetched_coin_balance: 0) - insert(:address, fetched_coin_balance: 1) - insert(:address, fetched_coin_balance: 2) - - start_supervised!(AddressesCounter) - AddressesCounter.consolidate() - - assert AddressesCounter.fetch() == 3 - end -end From 61eab5226df5dce1d4f42b85e7e21f96847a2f61 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 31 Oct 2019 14:11:07 +0300 Subject: [PATCH 024/342] add autoappending to the verification template --- .../new.html.eex | 21 +++++++++++++++ .../lib/explorer/smart_contract/verifier.ex | 26 ++++++++++++++++--- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex index e73e1434f0..ab964737cb 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex @@ -99,6 +99,27 @@ +
+
+ <%= label f, "Try to fetch contructor arguments automatically" %> +
+
+
+ <%= radio_button f, :autodetect_contructor_args, false, checked: true, class: "form-check-input" %> +
+ <%= label :autodetect_contructor_args, :false, gettext("No"), class: "radio-text" %> +
+
+ <%= radio_button f, :autodetect_contructor_args, true, class: "form-check-input", "aria-describedby": "optimization-help-block" %> +
+ <%= label :autodetect_contructor_args, :true, gettext("Yes"), class: "radio-text" %> +
+
+ <%= error_tag f, :autodetect_contructor_args, id: "optimization-help-block", class: "text-danger form-error" %> +
+
+
+
<%= label f, :contructor_arguments, gettext("ABI-encoded Constructor Arguments (if required by the contract)") %> diff --git a/apps/explorer/lib/explorer/smart_contract/verifier.ex b/apps/explorer/lib/explorer/smart_contract/verifier.ex index ed1b6532c5..26018c1806 100644 --- a/apps/explorer/lib/explorer/smart_contract/verifier.ex +++ b/apps/explorer/lib/explorer/smart_contract/verifier.ex @@ -41,6 +41,7 @@ defmodule Explorer.SmartContract.Verifier do constructor_arguments = Map.get(params, "constructor_arguments", "") evm_version = Map.get(params, "evm_version") optimization_runs = Map.get(params, "optimization_runs", 200) + autodetect_contructor_arguments = params |> Map.get("autodetect_contructor_args", "false") |> parse_boolean() solc_output = CodeCompiler.run( @@ -53,13 +54,18 @@ defmodule Explorer.SmartContract.Verifier do external_libs: external_libraries ) - compare_bytecodes(solc_output, address_hash, constructor_arguments) + compare_bytecodes(solc_output, address_hash, constructor_arguments, autodetect_contructor_arguments) end - defp compare_bytecodes({:error, :name}, _, _), do: {:error, :name} - defp compare_bytecodes({:error, _}, _, _), do: {:error, :compilation} + defp compare_bytecodes({:error, :name}, _, _, _), do: {:error, :name} + defp compare_bytecodes({:error, _}, _, _, _), do: {:error, :compilation} - defp compare_bytecodes({:ok, %{"abi" => abi, "bytecode" => bytecode}}, address_hash, arguments_data) do + defp compare_bytecodes( + {:ok, %{"abi" => abi, "bytecode" => bytecode}}, + address_hash, + arguments_data, + autodetect_contructor_arguments + ) do generated_bytecode = extract_bytecode(bytecode) "0x" <> blockchain_bytecode = @@ -73,6 +79,15 @@ defmodule Explorer.SmartContract.Verifier do !try_library_verification(generated_bytecode, blockchain_bytecode_without_whisper) -> {:error, :generated_bytecode} + has_constructor_with_params?(abi) && autodetect_contructor_arguments -> + result = ConstructorArguments.find_contructor_arguments(address_hash, blockchain_bytecode_without_whisper, abi) + + if result do + {:ok, %{abi: abi, contructor_arguments: result}} + else + {:error, :constructor_arguments} + end + has_constructor_with_params?(abi) && !ConstructorArguments.verify(address_hash, blockchain_bytecode_without_whisper, arguments_data) -> {:error, :constructor_arguments} @@ -162,4 +177,7 @@ defmodule Explorer.SmartContract.Verifier do defp has_constructor_with_params?(abi) do Enum.any?(abi, fn el -> el["type"] == "constructor" && el["inputs"] != [] end) end + + defp parse_boolean("true"), do: true + defp parse_boolean("false"), do: false end From 95679ac670f98ed5079560ad16c7e363400b4ddf Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 31 Oct 2019 14:14:54 +0300 Subject: [PATCH 025/342] fix gettext --- apps/block_scout_web/priv/gettext/default.pot | 34 ++++++++++--------- .../priv/gettext/en/LC_MESSAGES/default.po | 34 ++++++++++--------- 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 0ac4b21bdf..0a8a07be5c 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -92,7 +92,7 @@ msgid "A string with the name of the module to be invoked." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:104 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:125 msgid "ABI-encoded Constructor Arguments (if required by the contract)" msgstr "" @@ -277,7 +277,7 @@ msgid "Call Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:253 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:274 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:54 msgid "Cancel" @@ -397,7 +397,7 @@ msgid "Contract Creation Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:118 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:139 msgid "Contract Libraries" msgstr "" @@ -1020,20 +1020,20 @@ msgid "Less than" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:133 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:155 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:177 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:199 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:221 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:154 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:176 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:198 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:220 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:242 msgid "Library Address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:123 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:145 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:167 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:189 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:211 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:144 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:166 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:188 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:210 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:232 msgid "Library Name" msgstr "" @@ -1059,7 +1059,7 @@ msgid "Loading..." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:247 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:268 msgid "Loading...." msgstr "" @@ -1156,6 +1156,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:67 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:110 msgid "No" msgstr "" @@ -1284,7 +1285,7 @@ msgid "Request URL" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:250 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:271 msgid "Reset" msgstr "" @@ -1662,7 +1663,7 @@ msgid "Verify & Publish" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:249 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:270 msgid "Verify & publish" msgstr "" @@ -1737,6 +1738,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:72 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:115 msgid "Yes" msgstr "" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 0ac4b21bdf..0a8a07be5c 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -92,7 +92,7 @@ msgid "A string with the name of the module to be invoked." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:104 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:125 msgid "ABI-encoded Constructor Arguments (if required by the contract)" msgstr "" @@ -277,7 +277,7 @@ msgid "Call Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:253 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:274 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:54 msgid "Cancel" @@ -397,7 +397,7 @@ msgid "Contract Creation Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:118 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:139 msgid "Contract Libraries" msgstr "" @@ -1020,20 +1020,20 @@ msgid "Less than" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:133 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:155 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:177 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:199 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:221 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:154 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:176 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:198 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:220 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:242 msgid "Library Address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:123 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:145 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:167 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:189 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:211 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:144 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:166 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:188 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:210 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:232 msgid "Library Name" msgstr "" @@ -1059,7 +1059,7 @@ msgid "Loading..." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:247 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:268 msgid "Loading...." msgstr "" @@ -1156,6 +1156,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:67 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:110 msgid "No" msgstr "" @@ -1284,7 +1285,7 @@ msgid "Request URL" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:250 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:271 msgid "Reset" msgstr "" @@ -1662,7 +1663,7 @@ msgid "Verify & Publish" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:249 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:270 msgid "Verify & publish" msgstr "" @@ -1737,6 +1738,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:72 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:115 msgid "Yes" msgstr "" From b5b2ff861e257ffd39b33a997f7c11bfef0e2f81 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 31 Oct 2019 15:06:57 +0300 Subject: [PATCH 026/342] save detected constructor arguments --- .../lib/explorer/smart_contract/publisher.ex | 6 ++++ .../smart_contract/publisher_test.exs | 32 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/apps/explorer/lib/explorer/smart_contract/publisher.ex b/apps/explorer/lib/explorer/smart_contract/publisher.ex index ae5a24c088..28769d2604 100644 --- a/apps/explorer/lib/explorer/smart_contract/publisher.ex +++ b/apps/explorer/lib/explorer/smart_contract/publisher.ex @@ -27,6 +27,12 @@ defmodule Explorer.SmartContract.Publisher do params_with_external_libaries = add_external_libraries(params, external_libraries) case Verifier.evaluate_authenticity(address_hash, params_with_external_libaries) do + {:ok, %{abi: abi, contructor_arguments: contructor_arguments}} -> + params_with_contructor_arguments = + Map.put(params_with_external_libaries, "constructor_arguments", contructor_arguments) + + publish_smart_contract(address_hash, params_with_contructor_arguments, abi) + {:ok, %{abi: abi}} -> publish_smart_contract(address_hash, params_with_external_libaries, abi) diff --git a/apps/explorer/test/explorer/smart_contract/publisher_test.exs b/apps/explorer/test/explorer/smart_contract/publisher_test.exs index 2749da8ce2..7a0d33fb45 100644 --- a/apps/explorer/test/explorer/smart_contract/publisher_test.exs +++ b/apps/explorer/test/explorer/smart_contract/publisher_test.exs @@ -34,6 +34,38 @@ defmodule Explorer.SmartContract.PublisherTest do assert smart_contract.abi == contract_code_info.abi end + test "detects and adds contructor arguments if autodetection is checked" do + path = File.cwd!() <> "/test/support/fixture/smart_contract/solidity_0.5.9_smart_contract.sol" + contract = File.read!(path) + + expected_constructor_arguments = + "00000000000000000000000000000000000000000000003635c9adc5dea000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000a54657374546f6b656e32000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006546f6b656e320000000000000000000000000000000000000000000000000000" + + bytecode = + "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633177029f116100715780633177029f1461025f57806354fd4d50146102c557806370a082311461034857806395d89b41146103a0578063a9059cbb14610423578063dd62ed3e14610489576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b6610501565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061059f565b604051808215151515815260200191505060405180910390f35b61019f610691565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610696565b604051808215151515815260200191505060405180910390f35b61024361090f565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610922565b604051808215151515815260200191505060405180910390f35b6102cd610a14565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561030d5780820151818401526020810190506102f2565b50505050905090810190601f16801561033a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61038a6004803603602081101561035e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab2565b6040518082815260200191505060405180910390f35b6103a8610afa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103e85780820151818401526020810190506103cd565b50505050905090810190601f1680156104155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61046f6004803603604081101561043957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b98565b604051808215151515815260200191505060405180910390f35b6104eb6004803603604081101561049f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cfe565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105975780601f1061056c57610100808354040283529160200191610597565b820191906000526020600020905b81548152906001019060200180831161057a57829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600090565b6000816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610762575081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b801561076e5750600082115b1561090357816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610908565b600090505b9392505050565b600460009054906101000a900460ff1681565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aaa5780601f10610a7f57610100808354040283529160200191610aaa565b820191906000526020600020905b815481529060010190602001808311610a8d57829003601f168201915b505050505081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b905780601f10610b6557610100808354040283529160200191610b90565b820191906000526020600020905b815481529060010190602001808311610b7357829003601f168201915b505050505081565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610be85750600082115b15610cf357816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610cf8565b600090505b92915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490509291505056fea265627a7a72305820fe0ba5210ac95870683c2cb054304b04565703bd16c7d7e956df694c9643c6d264736f6c63430005090032" + + contract_address = insert(:contract_address, contract_code: bytecode) + + :transaction + |> insert( + created_contract_address_hash: contract_address.hash, + input: bytecode <> expected_constructor_arguments + ) + |> with_block() + + params = %{ + "contract_source_code" => contract, + "compiler_version" => "v0.5.9+commit.e560f70d", + "evm_version" => "petersburg", + "name" => "TestToken", + "optimization" => false, + "autodetect_contructor_args" => "true" + } + + assert {:ok, result} = Publisher.publish(contract_address.hash, params) + assert result.constructor_arguments == expected_constructor_arguments + end + test "corresponding contract_methods are created for the abi" do contract_code_info = Factory.contract_code_info() From cec7f96a8731a2bacc28ca485b7d76bea7de1cc3 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 31 Oct 2019 15:11:04 +0300 Subject: [PATCH 027/342] add CHANGELOG entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55b2dcb1de..f8dc057caf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### Features - [#2791](https://github.com/poanetwork/blockscout/pull/2791) - add ipc client - [#2449](https://github.com/poanetwork/blockscout/pull/2449) - add ability to send notification events through postgres notify +- [#2821](https://github.com/poanetwork/blockscout/pull/2821) - add autodetection of constructor arguments ### Fixes - [#2800](https://github.com/poanetwork/blockscout/pull/2800) - return not found for not verified contract for token read_contract From b5b693531cb8d7dc459f898fb20717ebec3fb8d3 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 31 Oct 2019 16:00:43 +0300 Subject: [PATCH 028/342] add token transfers tab --- .../templates/address/_tabs.html.eex | 6 +++ .../lib/block_scout_web/views/address_view.ex | 2 + .../lib/block_scout_web/web_router.ex | 7 +++ apps/block_scout_web/priv/gettext/default.pot | 44 ++++++++++--------- .../priv/gettext/en/LC_MESSAGES/default.po | 44 ++++++++++--------- 5 files changed, 61 insertions(+), 42 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex index 339b2d67e7..3c535ece4f 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex @@ -16,6 +16,12 @@ "data-test": "internal_transactions_tab_link", to: address_internal_transaction_path(@conn, :index, @address.hash) ) %> + <%= link( + gettext("Token Transfers"), + class: "card-tab #{tab_status("token_transfers", @conn.request_path)}", + "data-test": "token_transfers_tab_link", + to: address_token_transfers_path(@conn, :index, @address.hash) + ) %> <%= link( gettext("Coin Balance History"), class: "card-tab #{tab_status("coin_balances", @conn.request_path)}", diff --git a/apps/block_scout_web/lib/block_scout_web/views/address_view.ex b/apps/block_scout_web/lib/block_scout_web/views/address_view.ex index 4e86dc00df..ff4362c050 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/address_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/address_view.ex @@ -16,6 +16,7 @@ defmodule BlockScoutWeb.AddressView do "contracts", "decompiled_contracts", "internal_transactions", + "token_transfers", "read_contract", "tokens", "transactions", @@ -306,6 +307,7 @@ defmodule BlockScoutWeb.AddressView do defp tab_name(["tokens"]), do: gettext("Tokens") defp tab_name(["transactions"]), do: gettext("Transactions") defp tab_name(["internal_transactions"]), do: gettext("Internal Transactions") + defp tab_name(["token_transfers"]), do: gettext("Token Transfers") defp tab_name(["contracts"]), do: gettext("Code") defp tab_name(["decompiled_contracts"]), do: gettext("Decompiled Code") defp tab_name(["read_contract"]), do: gettext("Read Contract") diff --git a/apps/block_scout_web/lib/block_scout_web/web_router.ex b/apps/block_scout_web/lib/block_scout_web/web_router.ex index 074041f19a..85499e0f95 100644 --- a/apps/block_scout_web/lib/block_scout_web/web_router.ex +++ b/apps/block_scout_web/lib/block_scout_web/web_router.ex @@ -119,6 +119,13 @@ defmodule BlockScoutWeb.WebRouter do as: :read_contract ) + resources( + "/token_transfers", + AddressTokenTransferController, + only: [:index], + as: :token_transfers + ) + resources("/tokens", AddressTokenController, only: [:index], as: :token) do resources( "/token_transfers", diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 0ac4b21bdf..71acc72b03 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -129,7 +129,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 #: lib/block_scout_web/templates/transaction_log/_logs.html.eex:19 -#: lib/block_scout_web/views/address_view.ex:99 +#: lib/block_scout_web/views/address_view.ex:100 msgid "Address" msgstr "" @@ -248,10 +248,10 @@ msgid "Blocks Indexed" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:32 +#: lib/block_scout_web/templates/address/_tabs.html.eex:38 #: lib/block_scout_web/templates/address/overview.html.eex:97 #: lib/block_scout_web/templates/address_validation/index.html.eex:13 -#: lib/block_scout_web/views/address_view.ex:313 +#: lib/block_scout_web/views/address_view.ex:315 msgid "Blocks Validated" msgstr "" @@ -300,18 +300,18 @@ msgid "Clear" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:42 +#: lib/block_scout_web/templates/address/_tabs.html.eex:48 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:165 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:126 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:149 -#: lib/block_scout_web/views/address_view.ex:309 +#: lib/block_scout_web/views/address_view.ex:311 msgid "Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/views/address_view.ex:312 +#: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: lib/block_scout_web/views/address_view.ex:314 msgid "Coin Balance History" msgstr "" @@ -365,14 +365,14 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:18 -#: lib/block_scout_web/views/address_view.ex:97 +#: lib/block_scout_web/views/address_view.ex:98 msgid "Contract Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 -#: lib/block_scout_web/views/address_view.ex:37 -#: lib/block_scout_web/views/address_view.ex:71 +#: lib/block_scout_web/views/address_view.ex:38 +#: lib/block_scout_web/views/address_view.ex:72 msgid "Contract Address Pending" msgstr "" @@ -526,12 +526,12 @@ msgid "Decoded" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_view.ex:310 +#: lib/block_scout_web/views/address_view.ex:312 msgid "Decompiled Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:52 +#: lib/block_scout_web/templates/address/_tabs.html.eex:58 msgid "Decompiled code" msgstr "" @@ -918,12 +918,14 @@ msgid "Token Transfer" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address/_tabs.html.eex:20 #: lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex:3 #: lib/block_scout_web/templates/tokens/instance/transfer/index.html.eex:16 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:14 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 +#: lib/block_scout_web/views/address_view.ex:310 #: lib/block_scout_web/views/tokens/instance/overview_view.ex:71 #: lib/block_scout_web/views/tokens/overview_view.ex:35 #: lib/block_scout_web/views/transaction_view.ex:313 @@ -934,7 +936,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 -#: lib/block_scout_web/views/address_view.ex:306 +#: lib/block_scout_web/views/address_view.ex:307 msgid "Tokens" msgstr "" @@ -987,7 +989,7 @@ msgstr "" #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/views/address_view.ex:309 #: lib/block_scout_web/views/transaction_view.ex:314 msgid "Internal Transactions" msgstr "" @@ -1072,11 +1074,11 @@ msgid "Log Data" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: lib/block_scout_web/templates/address/_tabs.html.eex:32 #: lib/block_scout_web/templates/address_logs/index.html.eex:8 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: lib/block_scout_web/templates/transaction_log/index.html.eex:8 -#: lib/block_scout_web/views/address_view.ex:314 +#: lib/block_scout_web/views/address_view.ex:316 #: lib/block_scout_web/views/transaction_view.ex:315 msgid "Logs" msgstr "" @@ -1094,8 +1096,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:31 #: lib/block_scout_web/templates/layout/app.html.eex:60 -#: lib/block_scout_web/views/address_view.ex:121 -#: lib/block_scout_web/views/address_view.ex:121 +#: lib/block_scout_web/views/address_view.ex:122 +#: lib/block_scout_web/views/address_view.ex:122 msgid "Market Cap" msgstr "" @@ -1265,9 +1267,9 @@ msgid "Raw Trace" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:58 +#: lib/block_scout_web/templates/address/_tabs.html.eex:64 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25 -#: lib/block_scout_web/views/address_view.ex:311 +#: lib/block_scout_web/views/address_view.ex:313 #: lib/block_scout_web/views/tokens/overview_view.ex:37 msgid "Read Contract" msgstr "" @@ -1559,7 +1561,7 @@ msgstr "" #: lib/block_scout_web/templates/block_transaction/index.html.eex:18 #: lib/block_scout_web/templates/chain/show.html.eex:145 #: lib/block_scout_web/templates/layout/_topnav.html.eex:50 -#: lib/block_scout_web/views/address_view.ex:307 +#: lib/block_scout_web/views/address_view.ex:308 msgid "Transactions" msgstr "" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 0ac4b21bdf..71acc72b03 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -129,7 +129,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 #: lib/block_scout_web/templates/transaction_log/_logs.html.eex:19 -#: lib/block_scout_web/views/address_view.ex:99 +#: lib/block_scout_web/views/address_view.ex:100 msgid "Address" msgstr "" @@ -248,10 +248,10 @@ msgid "Blocks Indexed" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:32 +#: lib/block_scout_web/templates/address/_tabs.html.eex:38 #: lib/block_scout_web/templates/address/overview.html.eex:97 #: lib/block_scout_web/templates/address_validation/index.html.eex:13 -#: lib/block_scout_web/views/address_view.ex:313 +#: lib/block_scout_web/views/address_view.ex:315 msgid "Blocks Validated" msgstr "" @@ -300,18 +300,18 @@ msgid "Clear" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:42 +#: lib/block_scout_web/templates/address/_tabs.html.eex:48 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:165 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:126 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:149 -#: lib/block_scout_web/views/address_view.ex:309 +#: lib/block_scout_web/views/address_view.ex:311 msgid "Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/views/address_view.ex:312 +#: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: lib/block_scout_web/views/address_view.ex:314 msgid "Coin Balance History" msgstr "" @@ -365,14 +365,14 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:18 -#: lib/block_scout_web/views/address_view.ex:97 +#: lib/block_scout_web/views/address_view.ex:98 msgid "Contract Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 -#: lib/block_scout_web/views/address_view.ex:37 -#: lib/block_scout_web/views/address_view.ex:71 +#: lib/block_scout_web/views/address_view.ex:38 +#: lib/block_scout_web/views/address_view.ex:72 msgid "Contract Address Pending" msgstr "" @@ -526,12 +526,12 @@ msgid "Decoded" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_view.ex:310 +#: lib/block_scout_web/views/address_view.ex:312 msgid "Decompiled Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:52 +#: lib/block_scout_web/templates/address/_tabs.html.eex:58 msgid "Decompiled code" msgstr "" @@ -918,12 +918,14 @@ msgid "Token Transfer" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address/_tabs.html.eex:20 #: lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex:3 #: lib/block_scout_web/templates/tokens/instance/transfer/index.html.eex:16 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:14 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 +#: lib/block_scout_web/views/address_view.ex:310 #: lib/block_scout_web/views/tokens/instance/overview_view.ex:71 #: lib/block_scout_web/views/tokens/overview_view.ex:35 #: lib/block_scout_web/views/transaction_view.ex:313 @@ -934,7 +936,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 -#: lib/block_scout_web/views/address_view.ex:306 +#: lib/block_scout_web/views/address_view.ex:307 msgid "Tokens" msgstr "" @@ -987,7 +989,7 @@ msgstr "" #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/views/address_view.ex:309 #: lib/block_scout_web/views/transaction_view.ex:314 msgid "Internal Transactions" msgstr "" @@ -1072,11 +1074,11 @@ msgid "Log Data" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: lib/block_scout_web/templates/address/_tabs.html.eex:32 #: lib/block_scout_web/templates/address_logs/index.html.eex:8 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: lib/block_scout_web/templates/transaction_log/index.html.eex:8 -#: lib/block_scout_web/views/address_view.ex:314 +#: lib/block_scout_web/views/address_view.ex:316 #: lib/block_scout_web/views/transaction_view.ex:315 msgid "Logs" msgstr "" @@ -1094,8 +1096,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:31 #: lib/block_scout_web/templates/layout/app.html.eex:60 -#: lib/block_scout_web/views/address_view.ex:121 -#: lib/block_scout_web/views/address_view.ex:121 +#: lib/block_scout_web/views/address_view.ex:122 +#: lib/block_scout_web/views/address_view.ex:122 msgid "Market Cap" msgstr "" @@ -1265,9 +1267,9 @@ msgid "Raw Trace" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:58 +#: lib/block_scout_web/templates/address/_tabs.html.eex:64 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25 -#: lib/block_scout_web/views/address_view.ex:311 +#: lib/block_scout_web/views/address_view.ex:313 #: lib/block_scout_web/views/tokens/overview_view.ex:37 msgid "Read Contract" msgstr "" @@ -1559,7 +1561,7 @@ msgstr "" #: lib/block_scout_web/templates/block_transaction/index.html.eex:18 #: lib/block_scout_web/templates/chain/show.html.eex:145 #: lib/block_scout_web/templates/layout/_topnav.html.eex:50 -#: lib/block_scout_web/views/address_view.ex:307 +#: lib/block_scout_web/views/address_view.ex:308 msgid "Transactions" msgstr "" From 3a6f81ede0fadfe43fc2dfb8e3ca3ad732b545ce Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 31 Oct 2019 16:21:19 +0300 Subject: [PATCH 029/342] fix address token transfers view --- .../address_token_transfer_controller.ex | 27 +++++++++++++++++++ .../address_token_transfer/index.html.eex | 3 +++ apps/block_scout_web/priv/gettext/default.pot | 6 ++--- .../priv/gettext/en/LC_MESSAGES/default.po | 6 ++--- 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex index 7d0c8c1284..81c7125219 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex @@ -98,4 +98,31 @@ defmodule BlockScoutWeb.AddressTokenTransferController do not_found(conn) end end + + def index( + conn, + %{"address_id" => address_hash_string} + ) do + with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), + {:ok, address} <- Chain.hash_to_address(address_hash) do + {transaction_count, validation_count} = transaction_and_validation_count(address_hash) + + render( + conn, + "index.html", + address: address, + coin_balance_status: CoinBalanceOnDemand.trigger_fetch(address), + exchange_rate: Market.get_exchange_rate(Explorer.coin()) || Token.null(), + current_path: current_path(conn), + transaction_count: transaction_count, + validation_count: validation_count + ) + else + :error -> + unprocessable_entity(conn) + + {:error, :not_found} -> + not_found(conn) + end + end end diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex index 738d70883d..6ffed31c9a 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex @@ -5,9 +5,12 @@
<%= render BlockScoutWeb.AddressView, "_tabs.html", assigns %>
+ + <%= if assigns[:token] do %>

<%= gettext "Tokens" %> / <%= token_name(@token) %>

+ <% end %> <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 71acc72b03..e7dec108e6 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -844,7 +844,7 @@ msgid "There are no logs for this transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:18 msgid "There are no token transfers for this address." msgstr "" @@ -935,7 +935,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:11 #: lib/block_scout_web/views/address_view.ex:307 msgid "Tokens" msgstr "" @@ -1377,7 +1377,7 @@ msgstr "" #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 #: lib/block_scout_web/templates/address_logs/index.html.eex:21 #: lib/block_scout_web/templates/address_token/index.html.eex:13 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:23 #: lib/block_scout_web/templates/address_transaction/index.html.eex:59 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 #: lib/block_scout_web/templates/block_transaction/index.html.eex:23 diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 71acc72b03..e7dec108e6 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -844,7 +844,7 @@ msgid "There are no logs for this transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:18 msgid "There are no token transfers for this address." msgstr "" @@ -935,7 +935,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:11 #: lib/block_scout_web/views/address_view.ex:307 msgid "Tokens" msgstr "" @@ -1377,7 +1377,7 @@ msgstr "" #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 #: lib/block_scout_web/templates/address_logs/index.html.eex:21 #: lib/block_scout_web/templates/address_token/index.html.eex:13 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:23 #: lib/block_scout_web/templates/address_transaction/index.html.eex:59 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 #: lib/block_scout_web/templates/block_transaction/index.html.eex:23 From 18fb504beba8de38232e73837f875e878bc9d770 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 31 Oct 2019 17:22:41 +0300 Subject: [PATCH 030/342] add address_to_token_transfer method --- apps/explorer/lib/explorer/chain.ex | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 5b3cfc2928..8c69515e25 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -339,6 +339,18 @@ defmodule Explorer.Chain do end) end + def address_to_token_transfers(address_hash, options) do + paging_options = Keyword.get(options, :paging_options, @default_paging_options) + direction = Keyword.get(options, :direction) + + transaction_hashes_from_token_transfers = + TokenTransfer.where_any_address_fields_match(direction, address_hash, paging_options) + + final_query = where(base_query, [t], t.hash in ^transaction_hashes_from_token_transfers) + + Repo.all(final_query) + end + @spec address_to_logs(Hash.Address.t(), Keyword.t()) :: [Log.t()] def address_to_logs(address_hash, options \\ []) when is_list(options) do paging_options = Keyword.get(options, :paging_options) || %PagingOptions{page_size: 50} From 018e6e903ed8db9f255d2b61b5e32a7362abd86a Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 1 Nov 2019 11:02:29 +0300 Subject: [PATCH 031/342] fix address_hash_to_token_transfers --- apps/explorer/lib/explorer/chain.ex | 5 +++-- apps/explorer/test/explorer/chain_test.exs | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 8c69515e25..8ceb2b6031 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -339,14 +339,15 @@ defmodule Explorer.Chain do end) end - def address_to_token_transfers(address_hash, options) do + @spec address_hash_to_token_transfers(Hash.Address.t(), Keyword.t()) :: [Transaction.t()] + def address_hash_to_token_transfers(address_hash, options \\ []) do paging_options = Keyword.get(options, :paging_options, @default_paging_options) direction = Keyword.get(options, :direction) transaction_hashes_from_token_transfers = TokenTransfer.where_any_address_fields_match(direction, address_hash, paging_options) - final_query = where(base_query, [t], t.hash in ^transaction_hashes_from_token_transfers) + final_query = where(Transaction, [t], t.hash in ^transaction_hashes_from_token_transfers) Repo.all(final_query) end diff --git a/apps/explorer/test/explorer/chain_test.exs b/apps/explorer/test/explorer/chain_test.exs index 94d4c70062..bcf3f0c7db 100644 --- a/apps/explorer/test/explorer/chain_test.exs +++ b/apps/explorer/test/explorer/chain_test.exs @@ -1282,6 +1282,26 @@ defmodule Explorer.ChainTest do end end + describe "address_hash_to_token_transfers/2" do + test "fetches token transfers by address hash" do + address = insert(:address) + + token_transfer = + insert( + :token_transfer, + from_address: address, + amount: 1 + ) + + [transaction_hash] = + address.hash + |> Chain.address_hash_to_token_transfers() + |> Enum.map(& &1.hash) + + assert transaction_hash == token_transfer.transaction_hash + end + end + # Full tests in `test/explorer/import_test.exs` describe "import/1" do @import_data %{ From 11afcfc3aba8ab7c8e802b2661457d28618a2d39 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 1 Nov 2019 11:23:15 +0300 Subject: [PATCH 032/342] add async endpoint to fetch token transfers --- .../address_token_transfer_controller.ex | 52 +++++++++++++++++++ apps/explorer/lib/explorer/chain.ex | 12 ++--- .../lib/explorer/chain/transaction.ex | 20 +++++++ 3 files changed, 77 insertions(+), 7 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex index 81c7125219..f349da1b6a 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex @@ -99,6 +99,58 @@ defmodule BlockScoutWeb.AddressTokenTransferController do end end + def index( + conn, + %{ + "address_id" => address_hash_string, + "type" => "JSON" + } = params + ) do + with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), + {:ok, address} <- Chain.hash_to_address(address_hash) do + transactions = + Chain.address_hash_to_token_transfers( + address_hash, + paging_options(params) + ) + + {transactions_paginated, next_page} = split_list_by_page(transactions) + + next_page_path = + case next_page_params(next_page, transactions_paginated, params) do + nil -> + nil + + next_page_params -> + address_token_transfers_path( + conn, + :index, + address_hash_string, + Map.delete(next_page_params, "type") + ) + end + + transfers_json = + Enum.map(transactions_paginated, fn transaction -> + View.render_to_string( + TransactionView, + "_tile.html", + conn: conn, + transaction: transaction, + current_address: address + ) + end) + + json(conn, %{items: transfers_json, next_page_path: next_page_path}) + else + :error -> + unprocessable_entity(conn) + + {:error, :not_found} -> + not_found(conn) + end + end + def index( conn, %{"address_id" => address_hash_string} diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 8ceb2b6031..06819bacae 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -342,14 +342,12 @@ defmodule Explorer.Chain do @spec address_hash_to_token_transfers(Hash.Address.t(), Keyword.t()) :: [Transaction.t()] def address_hash_to_token_transfers(address_hash, options \\ []) do paging_options = Keyword.get(options, :paging_options, @default_paging_options) - direction = Keyword.get(options, :direction) - - transaction_hashes_from_token_transfers = - TokenTransfer.where_any_address_fields_match(direction, address_hash, paging_options) - final_query = where(Transaction, [t], t.hash in ^transaction_hashes_from_token_transfers) - - Repo.all(final_query) + address_hash + |> Transaction.transactions_with_token_transfers() + |> Transaction.preload_token_transfers(address_hash) + |> handle_paging_options(paging_options) + |> Repo.all() end @spec address_to_logs(Hash.Address.t(), Keyword.t()) :: [Log.t()] diff --git a/apps/explorer/lib/explorer/chain/transaction.ex b/apps/explorer/lib/explorer/chain/transaction.ex index 1274202bd5..4cd14c4b54 100644 --- a/apps/explorer/lib/explorer/chain/transaction.ex +++ b/apps/explorer/lib/explorer/chain/transaction.ex @@ -598,6 +598,26 @@ defmodule Explorer.Chain.Transaction do ) end + def transactions_with_token_transfers(address_hash) do + query = transactions_with_token_transfers_query(address_hash) + + from( + t in subquery(query), + order_by: [desc: t.block_number, desc: t.index], + preload: [:from_address, :to_address, :created_contract_address, :block] + ) + end + + defp transactions_with_token_transfers_query(address_hash) do + from( + t in Transaction, + inner_join: tt in TokenTransfer, + on: t.hash == tt.transaction_hash, + where: tt.from_address_hash == ^address_hash or tt.to_address_hash == ^address_hash, + distinct: :hash + ) + end + @doc """ Builds an `Ecto.Query` to fetch transactions with the specified block_number """ From 114af3ebbec6bd5ed4fcb308d09161737361fc56 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 1 Nov 2019 12:29:23 +0300 Subject: [PATCH 033/342] fix token transfer loading --- .../templates/tokens/transfer/_token_transfer.html.eex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex index 1c2651a1cf..c7a80dcce0 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex @@ -8,7 +8,7 @@
<%= render BlockScoutWeb.TransactionView, "_link.html", transaction_hash: @token_transfer.transaction_hash %> - <%= link to: address_token_transfers_path(@conn, :index, @token_transfer.from_address, @token.contract_address_hash), "data-test": "address_hash_link" do %> + <%= link to: address_token_transfers_path(@conn, :index, to_string(@token_transfer.from_address), to_string(@token.contract_address_hash)), "data-test": "address_hash_link" do %> <%= render( BlockScoutWeb.AddressView, "_responsive_hash.html", @@ -18,7 +18,7 @@ ) %> <% end %> → - <%= link to: address_token_transfers_path(@conn, :index, @token_transfer.to_address, @token.contract_address_hash), "data-test": "address_hash_link" do %> + <%= link to: address_token_transfers_path(@conn, :index, to_string(@token_transfer.to_address), to_string(@token.contract_address_hash)), "data-test": "address_hash_link" do %> <%= render( BlockScoutWeb.AddressView, "_responsive_hash.html", From ed214fe281a09f02b0bb45e34ba4625eecb3fc78 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 1 Nov 2019 13:55:38 +0300 Subject: [PATCH 034/342] optimize request --- .../address_token_transfer_controller.ex | 22 +++++++++++++++++-- apps/explorer/lib/explorer/chain.ex | 19 +++++++++++----- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex index f349da1b6a..3390ce1588 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex @@ -10,7 +10,20 @@ defmodule BlockScoutWeb.AddressTokenTransferController do import BlockScoutWeb.AddressController, only: [transaction_and_validation_count: 1] import BlockScoutWeb.Chain, - only: [next_page_params: 3, paging_options: 1, split_list_by_page: 1] + only: [current_filter: 1, next_page_params: 3, paging_options: 1, split_list_by_page: 1] + + @transaction_necessity_by_association [ + necessity_by_association: %{ + [created_contract_address: :names] => :optional, + [from_address: :names] => :optional, + [to_address: :names] => :optional, + [token_transfers: :token] => :optional, + [token_transfers: :to_address] => :optional, + [token_transfers: :from_address] => :optional, + [token_transfers: :token_contract_address] => :optional, + :block => :required + } + ] def index( conn, @@ -108,10 +121,15 @@ defmodule BlockScoutWeb.AddressTokenTransferController do ) do with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), {:ok, address} <- Chain.hash_to_address(address_hash) do + options = + @transaction_necessity_by_association + |> Keyword.merge(paging_options(params)) + |> Keyword.merge(current_filter(params)) + transactions = Chain.address_hash_to_token_transfers( address_hash, - paging_options(params) + options ) {transactions_paginated, next_page} = split_list_by_page(transactions) diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 06819bacae..7bd109b948 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -341,13 +341,22 @@ defmodule Explorer.Chain do @spec address_hash_to_token_transfers(Hash.Address.t(), Keyword.t()) :: [Transaction.t()] def address_hash_to_token_transfers(address_hash, options \\ []) do + necessity_by_association = Keyword.get(options, :necessity_by_association, %{}) paging_options = Keyword.get(options, :paging_options, @default_paging_options) + direction = Keyword.get(options, :direction) - address_hash - |> Transaction.transactions_with_token_transfers() - |> Transaction.preload_token_transfers(address_hash) - |> handle_paging_options(paging_options) - |> Repo.all() + base_query = + paging_options + |> fetch_transactions() + |> join_associations(necessity_by_association) + |> Transaction.preload_token_transfers(address_hash) + + transaction_hashes_from_token_transfers = + TokenTransfer.where_any_address_fields_match(direction, address_hash, paging_options) + + final_query = from(transaction in base_query, where: transaction.hash in ^transaction_hashes_from_token_transfers) + + Repo.all(final_query) end @spec address_to_logs(Hash.Address.t(), Keyword.t()) :: [Log.t()] From 905a24c1a61bcede0ed68d3a7458574023c46227 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 1 Nov 2019 14:09:58 +0300 Subject: [PATCH 035/342] Clear assets script fix --- CHANGELOG.md | 1 + apps/explorer/package-lock.json | 477 +++++++++++--------------------- apps/explorer/package.json | 2 +- rel/commands/clear_build.sh | 3 +- 4 files changed, 159 insertions(+), 324 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3da3c2a4b2..d9b8903c33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2449](https://github.com/poanetwork/blockscout/pull/2449) - add ability to send notification events through postgres notify ### Fixes +- [#2828](https://github.com/poanetwork/blockscout/pull/2828) - Fix for script that clears compilation/launching assets - [#2800](https://github.com/poanetwork/blockscout/pull/2800) - return not found for not verified contract for token read_contract - [#2806](https://github.com/poanetwork/blockscout/pull/2806) - Fix blocks fetching on the main page - [#2803](https://github.com/poanetwork/blockscout/pull/2803) - Fix block validator custom tooltip diff --git a/apps/explorer/package-lock.json b/apps/explorer/package-lock.json index 60c9460594..29cf4e81a8 100644 --- a/apps/explorer/package-lock.json +++ b/apps/explorer/package-lock.json @@ -4,9 +4,17 @@ "lockfileVersion": 1, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } }, "balanced-match": { "version": "1.0.0", @@ -30,10 +38,33 @@ "concat-map": "0.0.1" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "command-exists": { "version": "1.2.8", @@ -45,40 +76,29 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, "fs-extra": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", @@ -97,19 +117,14 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", + "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -120,9 +135,9 @@ } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" }, "inflight": { "version": "1.0.6", @@ -138,28 +153,15 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, "jsonfile": { "version": "2.4.0", @@ -188,45 +190,13 @@ "graceful-fs": "^4.1.9" } }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "^1.0.0" - } - }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "requires": { - "p-locate": "^2.0.0", + "p-locate": "^3.0.0", "path-exists": "^3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - } - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "requires": { - "mimic-fn": "^1.0.0" } }, "memorystream": { @@ -234,11 +204,6 @@ "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -252,19 +217,6 @@ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -275,66 +227,61 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.0.0" } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "safe-buffer": { @@ -343,181 +290,48 @@ "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, "solc": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.1.tgz", - "integrity": "sha512-+RJfa5zRpWBm8DhEiEScIzEzPHWppwHSp/2yV9qvM/lNr0Y8cCv2mcNiXy+R6SSV0OoskhPEfe6Fwa4QQEgxlg==", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.12.tgz", + "integrity": "sha512-OX/AGZT04tuUsagoVXSZBiBZYJReA02hdwZOfRkB03/eeYP9Dl3pr+M+au+1MhssgiuWBlFPN7sRXFiqwkAW2g==", "requires": { "command-exists": "^1.2.8", "fs-extra": "^0.30.0", - "keccak": "^1.0.2", + "js-sha3": "0.8.0", "memorystream": "^0.3.1", "require-from-string": "^2.0.0", "semver": "^5.5.0", "tmp": "0.0.33", - "yargs": "^11.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "keccak": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", - "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", - "requires": { - "bindings": "^1.2.1", - "inherits": "^2.0.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "yargs": { - "version": "11.1.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" - } - }, - "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "requires": { - "camelcase": "^4.1.0" - } - } + "yargs": "^13.2.0" } }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^4.1.0" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -526,21 +340,19 @@ "os-tmpdir": "~1.0.2" } }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" } }, "wrappy": { @@ -549,14 +361,35 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } } diff --git a/apps/explorer/package.json b/apps/explorer/package.json index 371bb361b4..9010d39c7d 100644 --- a/apps/explorer/package.json +++ b/apps/explorer/package.json @@ -14,6 +14,6 @@ "scripts": {}, "dependencies": { "keccak": "^2.0.0", - "solc": "^0.5" + "solc": "^0.5.12" } } diff --git a/rel/commands/clear_build.sh b/rel/commands/clear_build.sh index a07a11870e..5a032809ba 100755 --- a/rel/commands/clear_build.sh +++ b/rel/commands/clear_build.sh @@ -4,7 +4,8 @@ rm -rf ./_build rm -rf ./deps logs=$(find . -not -path '*/\.*' -name "logs" -type d) dev=$(find ${logs} -name "dev") -rm -rf {ls -la ${dev}} +files_and_dirs_in_logs=$(ls -d ${dev}/*) +rm -rf $files_and_dirs_in_logs find . -name "node_modules" -type d -exec rm -rf '{}' + From ab2476bb71ab69ab21d015a2498b1335fac21c86 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 1 Nov 2019 16:34:13 +0300 Subject: [PATCH 036/342] remove token transfers from regular transaction endpoint --- apps/explorer/lib/explorer/chain.ex | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 7bd109b948..f3b238bbe1 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -304,22 +304,9 @@ defmodule Explorer.Chain do |> join_associations(necessity_by_association) |> Transaction.preload_token_transfers(address_hash) - direction_tasks = - base_query - |> Transaction.matching_address_queries_list(direction, address_hash) - |> Enum.map(fn query -> Task.async(fn -> Repo.all(query) end) end) - - token_transfers_task = - Task.async(fn -> - transaction_hashes_from_token_transfers = - TokenTransfer.where_any_address_fields_match(direction, address_hash, paging_options) - - final_query = where(base_query, [t], t.hash in ^transaction_hashes_from_token_transfers) - - Repo.all(final_query) - end) - - [token_transfers_task | direction_tasks] + base_query + |> Transaction.matching_address_queries_list(direction, address_hash) + |> Enum.map(fn query -> Task.async(fn -> Repo.all(query) end) end) end defp wait_for_address_transactions(tasks) do From 626571619b2110750cd483c10cdc1e9bfac117d2 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 1 Nov 2019 16:38:31 +0300 Subject: [PATCH 037/342] Fix viewing_app_test.exs --- .../test/block_scout_web/features/viewing_app_test.exs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs index b38ad10062..5f3d027f5f 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs @@ -9,6 +9,9 @@ defmodule BlockScoutWeb.ViewingAppTest do alias Explorer.Chain.{Transaction} setup do + Supervisor.terminate_child(Explorer.Supervisor, Explorer.Chain.Cache.BlockNumber.child_id()) + Supervisor.restart_child(Explorer.Supervisor, Explorer.Chain.Cache.BlockNumber.child_id()) + :ok end From 5539ad2a770c56008e33c8c7c280d815e8b0a5b5 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 1 Nov 2019 17:58:28 +0300 Subject: [PATCH 038/342] Revert refactor to generalized cache solution --- .../channels/address_channel_test.exs | 11 ++ .../controllers/address_controller_test.exs | 8 ++ .../api/rpc/address_controller_test.exs | 3 +- .../api/rpc/eth_controller_test.exs | 3 +- .../controllers/chain_controller_test.exs | 4 + .../features/viewing_addresses_test.exs | 4 + .../features/viewing_app_test.exs | 7 +- .../features/viewing_chain_test.exs | 25 ++++ apps/explorer/config/config.exs | 5 + apps/explorer/config/test.exs | 2 + apps/explorer/lib/explorer/application.ex | 3 +- apps/explorer/lib/explorer/chain.ex | 39 +++--- .../lib/explorer/chain/cache/address_count.ex | 66 --------- .../explorer/counters/addresses_counter.ex | 125 ++++++++++++++++++ .../chain/cache/address_count_test.ex | 54 -------- apps/explorer/test/explorer/chain_test.exs | 17 +++ .../counters/addresses_counter_test.exs | 16 +++ 17 files changed, 245 insertions(+), 147 deletions(-) delete mode 100644 apps/explorer/lib/explorer/chain/cache/address_count.ex create mode 100644 apps/explorer/lib/explorer/counters/addresses_counter.ex delete mode 100644 apps/explorer/test/explorer/chain/cache/address_count_test.ex create mode 100644 apps/explorer/test/explorer/counters/addresses_counter_test.exs diff --git a/apps/block_scout_web/test/block_scout_web/channels/address_channel_test.exs b/apps/block_scout_web/test/block_scout_web/channels/address_channel_test.exs index d5bb63255c..357a73eba8 100644 --- a/apps/block_scout_web/test/block_scout_web/channels/address_channel_test.exs +++ b/apps/block_scout_web/test/block_scout_web/channels/address_channel_test.exs @@ -1,9 +1,11 @@ defmodule BlockScoutWeb.AddressChannelTest do use BlockScoutWeb.ChannelCase, + # ETS tables are shared in `Explorer.Counters.AddressesCounter` async: false alias BlockScoutWeb.UserSocket alias BlockScoutWeb.Notifier + alias Explorer.Counters.AddressesCounter test "subscribed user is notified of new_address count event" do topic = "addresses:new_address" @@ -11,6 +13,9 @@ defmodule BlockScoutWeb.AddressChannelTest do address = insert(:address) + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + Notifier.handle_event({:chain_event, :addresses, :realtime, [address]}) assert_receive %Phoenix.Socket.Broadcast{topic: ^topic, event: "count", payload: %{count: _}}, :timer.seconds(5) @@ -50,6 +55,9 @@ defmodule BlockScoutWeb.AddressChannelTest do test "notified of balance_update for matching address", %{address: address, topic: topic} do address_with_balance = %{address | fetched_coin_balance: 1} + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + Notifier.handle_event({:chain_event, :addresses, :realtime, [address_with_balance]}) assert_receive %Phoenix.Socket.Broadcast{topic: ^topic, event: "balance_update", payload: payload}, @@ -59,6 +67,9 @@ defmodule BlockScoutWeb.AddressChannelTest do end test "not notified of balance_update if fetched_coin_balance is nil", %{address: address} do + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + Notifier.handle_event({:chain_event, :addresses, :realtime, [address]}) refute_receive _, 100, "Message was broadcast for nil fetched_coin_balance." diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs index f46b195471..6153aa6895 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs @@ -3,6 +3,8 @@ defmodule BlockScoutWeb.AddressControllerTest do # ETS tables are shared in `Explorer.Counters.*` async: false + alias Explorer.Counters.AddressesCounter + describe "GET index/2" do test "returns top addresses", %{conn: conn} do address_hashes = @@ -10,6 +12,9 @@ defmodule BlockScoutWeb.AddressControllerTest do |> Enum.map(&insert(:address, fetched_coin_balance: &1)) |> Enum.map(& &1.hash) + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + conn = get(conn, address_path(conn, :index, %{type: "JSON"})) {:ok, %{"items" => items}} = Poison.decode(conn.resp_body) @@ -20,6 +25,9 @@ defmodule BlockScoutWeb.AddressControllerTest do address = insert(:address, fetched_coin_balance: 1) insert(:address_name, address: address, primary: true, name: "POA Wallet") + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + conn = get(conn, address_path(conn, :index, %{type: "JSON"})) {:ok, %{"items" => [item]}} = Poison.decode(conn.resp_body) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs index 85baf575fc..135fbe9948 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs @@ -6,7 +6,7 @@ defmodule BlockScoutWeb.API.RPC.AddressControllerTest do alias BlockScoutWeb.API.RPC.AddressController alias Explorer.Chain alias Explorer.Chain.{Events.Subscriber, Transaction, Wei} - alias Explorer.Counters.AverageBlockTime + alias Explorer.Counters.{AddressesCounter, AverageBlockTime} alias Indexer.Fetcher.CoinBalanceOnDemand alias Explorer.Repo @@ -22,6 +22,7 @@ defmodule BlockScoutWeb.API.RPC.AddressControllerTest do start_supervised!({Task.Supervisor, name: Indexer.TaskSupervisor}) start_supervised!(AverageBlockTime) start_supervised!({CoinBalanceOnDemand, [mocked_json_rpc_named_arguments, [name: CoinBalanceOnDemand]]}) + start_supervised!(AddressesCounter) Application.put_env(:explorer, AverageBlockTime, enabled: true) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/eth_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/eth_controller_test.exs index 5facef3a46..5ab050aefc 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/eth_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/eth_controller_test.exs @@ -1,7 +1,7 @@ defmodule BlockScoutWeb.API.RPC.EthControllerTest do use BlockScoutWeb.ConnCase, async: false - alias Explorer.Counters.AverageBlockTime + alias Explorer.Counters.{AddressesCounter, AverageBlockTime} alias Explorer.Repo alias Indexer.Fetcher.CoinBalanceOnDemand @@ -14,6 +14,7 @@ defmodule BlockScoutWeb.API.RPC.EthControllerTest do start_supervised!({Task.Supervisor, name: Indexer.TaskSupervisor}) start_supervised!(AverageBlockTime) start_supervised!({CoinBalanceOnDemand, [mocked_json_rpc_named_arguments, [name: CoinBalanceOnDemand]]}) + start_supervised!(AddressesCounter) Application.put_env(:explorer, AverageBlockTime, enabled: true) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/chain_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/chain_controller_test.exs index 3e96ed709b..93777e16e3 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/chain_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/chain_controller_test.exs @@ -1,16 +1,20 @@ defmodule BlockScoutWeb.ChainControllerTest do use BlockScoutWeb.ConnCase, + # ETS table is shared in `Explorer.Counters.AddressesCounter` async: false import BlockScoutWeb.WebRouter.Helpers, only: [chain_path: 2, block_path: 3, transaction_path: 3, address_path: 3] alias Explorer.Chain.Block + alias Explorer.Counters.AddressesCounter setup do Supervisor.terminate_child(Explorer.Supervisor, Explorer.Chain.Cache.Blocks.child_id()) Supervisor.restart_child(Explorer.Supervisor, Explorer.Chain.Cache.Blocks.child_id()) Supervisor.terminate_child(Explorer.Supervisor, Explorer.Chain.Cache.Uncles.child_id()) Supervisor.restart_child(Explorer.Supervisor, Explorer.Chain.Cache.Uncles.child_id()) + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() :ok end diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs index d50faf1a60..bb223077a2 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs @@ -3,6 +3,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do # Because ETS tables is shared for `Explorer.Counters.*` async: false + alias Explorer.Counters.AddressesCounter alias BlockScoutWeb.{AddressPage, AddressView, Notifier} setup do @@ -57,6 +58,9 @@ defmodule BlockScoutWeb.ViewingAddressesTest do [first_address | _] = addresses [last_address | _] = Enum.reverse(addresses) + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + session |> AddressPage.visit_page() |> assert_has(AddressPage.address(first_address)) diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs index 5f3d027f5f..ff37eed468 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_app_test.exs @@ -5,13 +5,14 @@ defmodule BlockScoutWeb.ViewingAppTest do alias BlockScoutWeb.AppPage alias BlockScoutWeb.Counters.BlocksIndexedCounter + alias Explorer.Counters.AddressesCounter alias Explorer.{Repo} alias Explorer.Chain.{Transaction} setup do - Supervisor.terminate_child(Explorer.Supervisor, Explorer.Chain.Cache.BlockNumber.child_id()) - Supervisor.restart_child(Explorer.Supervisor, Explorer.Chain.Cache.BlockNumber.child_id()) - + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + :ok end diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_chain_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_chain_test.exs index 2fffe2762e..367e8b8b7c 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_chain_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_chain_test.exs @@ -7,6 +7,7 @@ defmodule BlockScoutWeb.ViewingChainTest do alias BlockScoutWeb.{AddressPage, BlockPage, ChainPage, TransactionPage} alias Explorer.Chain.Block + alias Explorer.Counters.AddressesCounter setup do Supervisor.terminate_child(Explorer.Supervisor, Explorer.Chain.Cache.Blocks.child_id()) @@ -34,6 +35,9 @@ defmodule BlockScoutWeb.ViewingChainTest do test "search for address", %{session: session} do address = insert(:address) + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + session |> ChainPage.visit_page() |> ChainPage.search(to_string(address.hash)) @@ -45,6 +49,9 @@ defmodule BlockScoutWeb.ViewingChainTest do test "search for blocks from chain page", %{session: session} do block = insert(:block, number: 6) + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + session |> ChainPage.visit_page() |> ChainPage.search(to_string(block.number)) @@ -52,6 +59,9 @@ defmodule BlockScoutWeb.ViewingChainTest do end test "blocks list", %{session: session} do + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + session |> ChainPage.visit_page() |> assert_has(ChainPage.blocks(count: 4)) @@ -60,6 +70,9 @@ defmodule BlockScoutWeb.ViewingChainTest do test "inserts place holder blocks on render for out of order blocks", %{session: session} do insert(:block, number: 409) + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + session |> ChainPage.visit_page() |> assert_has(ChainPage.block(%Block{number: 408})) @@ -71,6 +84,9 @@ defmodule BlockScoutWeb.ViewingChainTest do test "search for transactions", %{session: session} do transaction = insert(:transaction) + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + session |> ChainPage.visit_page() |> ChainPage.search(to_string(transaction.hash)) @@ -78,6 +94,9 @@ defmodule BlockScoutWeb.ViewingChainTest do end test "transactions list", %{session: session} do + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + session |> ChainPage.visit_page() |> assert_has(ChainPage.transactions(count: 5)) @@ -92,6 +111,9 @@ defmodule BlockScoutWeb.ViewingChainTest do |> with_contract_creation(contract_address) |> with_block(block) + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + session |> ChainPage.visit_page() |> assert_has(ChainPage.contract_creation(transaction)) @@ -116,6 +138,9 @@ defmodule BlockScoutWeb.ViewingChainTest do token_contract_address: contract_token_address ) + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + session |> ChainPage.visit_page() |> assert_has(ChainPage.token_transfers(transaction, count: 1)) diff --git a/apps/explorer/config/config.exs b/apps/explorer/config/config.exs index d36a09450e..60b0afdb48 100644 --- a/apps/explorer/config/config.exs +++ b/apps/explorer/config/config.exs @@ -65,6 +65,11 @@ config :explorer, Explorer.Counters.AddressesWithBalanceCounter, enable_consolidation: true, update_interval_in_seconds: balances_update_interval || 30 * 60 +config :explorer, Explorer.Counters.AddressesCounter, + enabled: true, + enable_consolidation: true, + update_interval_in_seconds: balances_update_interval || 30 * 60 + config :explorer, Explorer.ExchangeRates, enabled: true, store: :ets config :explorer, Explorer.KnownTokens, enabled: true, store: :ets diff --git a/apps/explorer/config/test.exs b/apps/explorer/config/test.exs index 1133c92fdb..58050cba2c 100644 --- a/apps/explorer/config/test.exs +++ b/apps/explorer/config/test.exs @@ -21,6 +21,8 @@ config :explorer, Explorer.Counters.AverageBlockTime, enabled: false config :explorer, Explorer.Counters.AddressesWithBalanceCounter, enabled: false, enable_consolidation: false +config :explorer, Explorer.Counters.AddressesCounter, enabled: false, enable_consolidation: false + config :explorer, Explorer.Market.History.Cataloger, enabled: false config :explorer, Explorer.Tracer, disabled?: false diff --git a/apps/explorer/lib/explorer/application.ex b/apps/explorer/lib/explorer/application.ex index 709ce7c5a5..4f3e5585f9 100644 --- a/apps/explorer/lib/explorer/application.ex +++ b/apps/explorer/lib/explorer/application.ex @@ -9,7 +9,6 @@ defmodule Explorer.Application do alias Explorer.Chain.Cache.{ Accounts, - AddressCount, BlockCount, BlockNumber, Blocks, @@ -48,7 +47,6 @@ defmodule Explorer.Application do {Admin.Recovery, [[], [name: Admin.Recovery]]}, TransactionCount, BlockCount, - AddressCount, Blocks, NetVersion, BlockNumber, @@ -75,6 +73,7 @@ defmodule Explorer.Application do configure(Explorer.Market.History.Cataloger), configure(Explorer.Chain.Events.Listener), configure(Explorer.Counters.AddressesWithBalanceCounter), + configure(Explorer.Counters.AddressesCounter), configure(Explorer.Counters.AverageBlockTime), configure(Explorer.Validator.MetadataProcessor), configure(Explorer.Staking.EpochCounter) diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 477c4b6da9..8f533748b0 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -51,7 +51,6 @@ defmodule Explorer.Chain do alias Explorer.Chain.Cache.{ Accounts, - AddressCount, BlockCount, BlockNumber, Blocks, @@ -62,7 +61,7 @@ defmodule Explorer.Chain do } alias Explorer.Chain.Import.Runner - alias Explorer.Counters.AddressesWithBalanceCounter + alias Explorer.Counters.{AddressesCounter, AddressesWithBalanceCounter} alias Explorer.Market.MarketHistoryCache alias Explorer.{PagingOptions, Repo} @@ -122,6 +121,24 @@ defmodule Explorer.Chain do AddressesWithBalanceCounter.fetch() end + @doc """ + Estimated count of `t:Explorer.Chain.Address.t/0`. + + Estimated count of addresses. + """ + @spec address_estimated_count() :: non_neg_integer() + def address_estimated_count do + cached_value = AddressesCounter.fetch() + + if is_nil(cached_value) do + %Postgrex.Result{rows: [[count]]} = Repo.query!("SELECT reltuples FROM pg_class WHERE relname = 'addresses';") + + count + else + cached_value + end + end + @doc """ Counts the number of addresses with fetched coin balance > 0. @@ -2387,24 +2404,6 @@ defmodule Explorer.Chain do end end - @doc """ - Estimated count of `t:Explorer.Chain.Address.t/0`. - - Estimated count of addresses. - """ - @spec address_estimated_count() :: non_neg_integer() - def address_estimated_count do - cached_value = AddressCount.get_count() - - if is_nil(cached_value) do - %Postgrex.Result{rows: [[count]]} = Repo.query!("SELECT reltuples FROM pg_class WHERE relname = 'addresses';") - - count - else - cached_value - end - end - @doc """ `t:Explorer.Chain.InternalTransaction/0`s in `t:Explorer.Chain.Transaction.t/0` with `hash`. diff --git a/apps/explorer/lib/explorer/chain/cache/address_count.ex b/apps/explorer/lib/explorer/chain/cache/address_count.ex deleted file mode 100644 index 0b603cdbc5..0000000000 --- a/apps/explorer/lib/explorer/chain/cache/address_count.ex +++ /dev/null @@ -1,66 +0,0 @@ -defmodule Explorer.Chain.Cache.AddressCount do - @moduledoc """ - Cache for address count. - """ - - require Logger - - @default_cache_period :timer.hours(2) - - use Explorer.Chain.MapCache, - name: :address_count, - key: :count, - key: :async_task, - global_ttl: cache_period(), - ttl_check_interval: :timer.minutes(1), - callback: &async_task_on_deletion(&1) - - alias Explorer.Chain.Address - alias Explorer.Repo - - defp handle_fallback(:count) do - # This will get the task PID if one exists and launch a new task if not - # See next `handle_fallback` definition - get_async_task() - - {:return, nil} - end - - defp handle_fallback(:async_task) do - # If this gets called it means an async task was requested, but none exists - # so a new one needs to be launched - {:ok, task} = - Task.start(fn -> - try do - result = Repo.aggregate(Address, :count, :hash, timeout: :infinity) - - set_count(result) - rescue - e -> - Logger.debug([ - "Coudn't update address count test #{inspect(e)}" - ]) - end - - set_async_task(nil) - end) - - {:update, task} - end - - # By setting this as a `callback` an async task will be started each time the - # `count` expires (unless there is one already running) - defp async_task_on_deletion({:delete, _, :count}), do: get_async_task() - - defp async_task_on_deletion(_data), do: nil - - defp cache_period do - "ADDRESS_COUNT_CACHE_PERIOD" - |> System.get_env("") - |> Integer.parse() - |> case do - {integer, ""} -> :timer.seconds(integer) - _ -> @default_cache_period - end - end -end diff --git a/apps/explorer/lib/explorer/counters/addresses_counter.ex b/apps/explorer/lib/explorer/counters/addresses_counter.ex new file mode 100644 index 0000000000..5febd8fbb9 --- /dev/null +++ b/apps/explorer/lib/explorer/counters/addresses_counter.ex @@ -0,0 +1,125 @@ +defmodule Explorer.Counters.AddressesCounter do + @moduledoc """ + Caches the number of all addresses. + + It loads the count asynchronously and in a time interval of 30 minutes. + """ + + use GenServer + + alias Explorer.Chain + + @table :addresses_counter + + @cache_key "addresses" + + def table_name do + @table + end + + def cache_key do + @cache_key + end + + # It is undesirable to automatically start the consolidation in all environments. + # Consider the test environment: if the consolidation initiates but does not + # finish before a test ends, that test will fail. This way, hundreds of + # tests were failing before disabling the consolidation and the scheduler in + # the test env. + config = Application.get_env(:explorer, Explorer.Counters.AddressesCounter) + @enable_consolidation Keyword.get(config, :enable_consolidation) + + @update_interval_in_seconds Keyword.get(config, :update_interval_in_seconds) + + @doc """ + Starts a process to periodically update the counter of the token holders. + """ + @spec start_link(term()) :: GenServer.on_start() + def start_link(_) do + GenServer.start_link(__MODULE__, :ok, name: __MODULE__) + end + + @impl true + def init(_args) do + create_table() + + {:ok, %{consolidate?: enable_consolidation?()}, {:continue, :ok}} + end + + def create_table do + opts = [ + :set, + :named_table, + :public, + read_concurrency: true + ] + + :ets.new(table_name(), opts) + end + + defp schedule_next_consolidation do + Process.send_after(self(), :consolidate, :timer.seconds(@update_interval_in_seconds)) + end + + @doc """ + Inserts new items into the `:ets` table. + """ + def insert_counter({key, info}) do + :ets.insert(table_name(), {key, info}) + end + + @impl true + def handle_continue(:ok, %{consolidate?: true} = state) do + consolidate() + schedule_next_consolidation() + + {:noreply, state} + end + + @impl true + def handle_continue(:ok, state) do + {:noreply, state} + end + + @impl true + def handle_info(:consolidate, state) do + consolidate() + + schedule_next_consolidation() + + {:noreply, state} + end + + @doc """ + Fetches the info for a specific item from the `:ets` table. + """ + def fetch do + do_fetch(:ets.lookup(table_name(), cache_key())) + end + + defp do_fetch([{_, result}]), do: result + defp do_fetch([]), do: 0 + + @doc """ + Consolidates the info by populating the `:ets` table with the current database information. + """ + def consolidate do + counter = Chain.count_addresses() + + insert_counter({cache_key(), counter}) + end + + @doc """ + Returns a boolean that indicates whether consolidation is enabled + + In order to choose whether or not to enable the scheduler and the initial + consolidation, change the following Explorer config: + + `config :explorer, Explorer.Counters.AddressesCounter, enable_consolidation: true` + + to: + + `config :explorer, Explorer.Counters.AddressesCounter, enable_consolidation: false` + """ + def enable_consolidation?, do: @enable_consolidation +end diff --git a/apps/explorer/test/explorer/chain/cache/address_count_test.ex b/apps/explorer/test/explorer/chain/cache/address_count_test.ex deleted file mode 100644 index 9bb10543fe..0000000000 --- a/apps/explorer/test/explorer/chain/cache/address_count_test.ex +++ /dev/null @@ -1,54 +0,0 @@ -defmodule Explorer.Chain.Cache.AddressCountTest do - use Explorer.DataCase - - alias Explorer.Chain.Cache.AddressCount - - setup do - Supervisor.terminate_child(Explorer.Supervisor, AddressCount.child_id()) - Supervisor.restart_child(Explorer.Supervisor, AddressCount.child_id()) - :ok - end - - test "returns default address count" do - result = AddressCount.get_count() - - assert is_nil(result) - end - - test "updates cache if initial value is zero" do - insert(:address) - insert(:address) - - _result = AddressCount.get_count() - - Process.sleep(1000) - - updated_value = AddressCount.get_count() - - assert updated_value == 2 - end - - test "does not update cache if cache period did not pass" do - insert(:address) - insert(:address) - - _result = AddressCount.get_count() - - Process.sleep(1000) - - updated_value = AddressCount.get_count() - - assert updated_value == 2 - - insert(:address) - insert(:address) - - _updated_value = AddressCount.get_count() - - Process.sleep(1000) - - updated_value = AddressCount.get_count() - - assert updated_value == 2 - end -end diff --git a/apps/explorer/test/explorer/chain_test.exs b/apps/explorer/test/explorer/chain_test.exs index abdcc8a963..12208cc3f0 100644 --- a/apps/explorer/test/explorer/chain_test.exs +++ b/apps/explorer/test/explorer/chain_test.exs @@ -27,6 +27,7 @@ defmodule Explorer.ChainTest do alias Explorer.Chain.Supply.ProofOfAuthority alias Explorer.Counters.AddressesWithBalanceCounter + alias Explorer.Counters.AddressesCounter doctest Explorer.Chain @@ -50,6 +51,22 @@ defmodule Explorer.ChainTest do end end + describe "address_estimated_count/0" do + test "returns the number of all addresses" do + insert(:address, fetched_coin_balance: 0) + insert(:address, fetched_coin_balance: 1) + insert(:address, fetched_coin_balance: 2) + + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + + addresses_with_balance = Chain.address_estimated_count() + + assert is_integer(addresses_with_balance) + assert addresses_with_balance == 3 + end + end + describe "last_db_block_status/0" do test "return no_blocks errors if db is empty" do assert {:error, :no_blocks} = Chain.last_db_block_status() diff --git a/apps/explorer/test/explorer/counters/addresses_counter_test.exs b/apps/explorer/test/explorer/counters/addresses_counter_test.exs new file mode 100644 index 0000000000..b187fd8c0e --- /dev/null +++ b/apps/explorer/test/explorer/counters/addresses_counter_test.exs @@ -0,0 +1,16 @@ +defmodule Explorer.Counters.AddressesCounterTest do + use Explorer.DataCase + + alias Explorer.Counters.AddressesCounter + + test "populates the cache with the number of all addresses" do + insert(:address, fetched_coin_balance: 0) + insert(:address, fetched_coin_balance: 1) + insert(:address, fetched_coin_balance: 2) + + start_supervised!(AddressesCounter) + AddressesCounter.consolidate() + + assert AddressesCounter.fetch() == 3 + end +end From 18e098e0dff43536b1a3b025e7d7b569e8e1b613 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 1 Nov 2019 19:10:40 +0300 Subject: [PATCH 039/342] Fix for stuck gas limit label and value --- CHANGELOG.md | 1 + .../lib/block_scout_web/templates/block/overview.html.eex | 4 +++- apps/block_scout_web/priv/gettext/default.pot | 2 +- apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35f1619f6f..6d0f9adfed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2449](https://github.com/poanetwork/blockscout/pull/2449) - add ability to send notification events through postgres notify ### Fixes +- [#2829](https://github.com/poanetwork/blockscout/pull/2829) - Fix for stuck gas limit label and value - [#2800](https://github.com/poanetwork/blockscout/pull/2800) - return not found for not verified contract for token read_contract - [#2806](https://github.com/poanetwork/blockscout/pull/2806) - Fix blocks fetching on the main page - [#2803](https://github.com/poanetwork/blockscout/pull/2803) - Fix block validator custom tooltip diff --git a/apps/block_scout_web/lib/block_scout_web/templates/block/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/block/overview.html.eex index f26167fa7e..0512d07540 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/block/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/block/overview.html.eex @@ -156,7 +156,9 @@ <%= @block.gas_used |> BlockScoutWeb.Cldr.Number.to_string! %> (<%= (Decimal.to_integer(@block.gas_used) / Decimal.to_integer(@block.gas_limit)) |> BlockScoutWeb.Cldr.Number.to_string!(format: "#.#%") %>) -

<%= @block.gas_limit |> BlockScoutWeb.Cldr.Number.to_string! %><%= gettext "Gas Limit" %>

+

<%= @block.gas_limit |> BlockScoutWeb.Cldr.Number.to_string! %> + <%= " "%> + <%= gettext "Gas Limit" %>

<% end %>
diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 23c32aab5d..49406a67c2 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -514,7 +514,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:57 #: lib/block_scout_web/templates/block/overview.html.eex:108 -#: lib/block_scout_web/templates/block/overview.html.eex:159 +#: lib/block_scout_web/templates/block/overview.html.eex:161 msgid "Gas Limit" msgstr "" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 23c32aab5d..49406a67c2 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -514,7 +514,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:57 #: lib/block_scout_web/templates/block/overview.html.eex:108 -#: lib/block_scout_web/templates/block/overview.html.eex:159 +#: lib/block_scout_web/templates/block/overview.html.eex:161 msgid "Gas Limit" msgstr "" From 8cf0a6f1a2258562309c9f73f1cf9caa01915b4b Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 11:51:13 +0300 Subject: [PATCH 040/342] always redirect to checksummed hash --- .../lib/block_scout_web/checksum_address.ex | 46 +++++++++++++++++++ .../lib/block_scout_web/web_router.ex | 1 + 2 files changed, 47 insertions(+) create mode 100644 apps/block_scout_web/lib/block_scout_web/checksum_address.ex diff --git a/apps/block_scout_web/lib/block_scout_web/checksum_address.ex b/apps/block_scout_web/lib/block_scout_web/checksum_address.ex new file mode 100644 index 0000000000..884f83c168 --- /dev/null +++ b/apps/block_scout_web/lib/block_scout_web/checksum_address.ex @@ -0,0 +1,46 @@ +defmodule BlockScoutWeb.ChecksumAddress do + @moduledoc """ + Adds checksummed version of address hashes. + """ + + import Plug.Conn + + alias Explorer.Chain + alias Explorer.Chain.Address + alias Phoenix.Controller + alias Plug.Conn + + def init(opts), do: opts + + def call(%Conn{params: %{"id" => id}} = conn, _opts) do + check_checksum(conn, id, "id") + end + + def call(%Conn{params: %{"address_id" => id}} = conn, _opts) do + check_checksum(conn, id, "address_id") + end + + def call(conn, _), do: conn + + defp check_checksum(conn, id, param_name) do + case Chain.string_to_address_hash(id) do + {:ok, address_hash} -> + checksummed_hash = Address.checksum(address_hash) + + if checksummed_hash != id do + conn = %{conn | params: Map.merge(conn.params, %{param_name => checksummed_hash})} + + new_path = String.replace(conn.request_path, id, checksummed_hash) + + conn + |> Controller.redirect(to: new_path) + |> halt + else + conn + end + + _ -> + conn + end + end +end diff --git a/apps/block_scout_web/lib/block_scout_web/web_router.ex b/apps/block_scout_web/lib/block_scout_web/web_router.ex index b17e67f7b7..34a2427624 100644 --- a/apps/block_scout_web/lib/block_scout_web/web_router.ex +++ b/apps/block_scout_web/lib/block_scout_web/web_router.ex @@ -10,6 +10,7 @@ defmodule BlockScoutWeb.WebRouter do plug(:fetch_flash) plug(:protect_from_forgery) plug(BlockScoutWeb.CSPHeader) + plug(BlockScoutWeb.ChecksumAddress) end # Disallows Iframes (write routes) From 8c6cf592f4d04d40795beb1e0d8e39629fc64b22 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 11:53:52 +0300 Subject: [PATCH 041/342] add CHANGELOG entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35f1619f6f..59b9c0c65c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## Current ### Features +- [#2834](https://github.com/poanetwork/blockscout/pull/2834) - always redirect to checksummed hash - [#2787](https://github.com/poanetwork/blockscout/pull/2787) - async fetching of address counters - [#2791](https://github.com/poanetwork/blockscout/pull/2791) - add ipc client - [#2449](https://github.com/poanetwork/blockscout/pull/2449) - add ability to send notification events through postgres notify From bcbbddf414d13f5c2c6ccfac353115903004c851 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 13:06:21 +0300 Subject: [PATCH 042/342] fix AddressTokenTransferControllerTest --- .../address_token_transfer_controller_test.exs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs index 70a362b109..cf4c859ce2 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs @@ -17,7 +17,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do test "with invalid token hash", %{conn: conn} do address_hash = "0x8bf38d4764929064f2d4d3a56520a76ab3df415b" - conn = get(conn, address_token_transfers_path(conn, :index, address_hash, "invalid_address")) + conn = get(conn, address_token_transfers_path(conn, :index, Address.checksum(address_hash), "invalid_address")) assert html_response(conn, 422) end @@ -25,14 +25,14 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do test "with an address that doesn't exist in our database", %{conn: conn} do address_hash = "0x8bf38d4764929064f2d4d3a56520a76ab3df415b" %Token{contract_address_hash: token_hash} = insert(:token) - conn = get(conn, address_token_transfers_path(conn, :index, address_hash, token_hash)) + conn = get(conn, address_token_transfers_path(conn, :index, Address.checksum(address_hash), token_hash)) assert html_response(conn, 404) end test "with an token that doesn't exist in our database", %{conn: conn} do %Address{hash: address_hash} = insert(:address) - token_hash = "0x8bf38d4764929064f2d4d3a56520a76ab3df415b" + token_hash = Address.checksum("0x8bf38d4764929064f2d4d3a56520a76ab3df415b") conn = get(conn, address_token_transfers_path(conn, :index, address_hash, token_hash)) assert html_response(conn, 404) @@ -78,7 +78,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do conn = get( conn, - address_token_transfers_path(conn, :index, address.hash, token.contract_address_hash), + address_token_transfers_path(conn, :index, Address.checksum(address.hash), token.contract_address_hash), %{type: "JSON"} ) @@ -201,7 +201,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do address_hash = "0x8bf38d4764929064f2d4d3a56520a76ab3df415b" conn = - get(conn, address_token_transfers_path(conn, :index, address_hash, "invalid_address"), %{ + get(conn, address_token_transfers_path(conn, :index, Address.checksum(address_hash), "invalid_address"), %{ type: "JSON" }) @@ -213,7 +213,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do %Token{contract_address_hash: token_hash} = insert(:token) conn = - get(conn, address_token_transfers_path(conn, :index, address_hash, token_hash), %{ + get(conn, address_token_transfers_path(conn, :index, Address.checksum(address_hash), token_hash), %{ type: "JSON" }) From cbdff574b800749c53ba0d10d9c43091e4b6a0c5 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 13:20:52 +0300 Subject: [PATCH 043/342] fix AddressTokenControllerTest --- .../controllers/address_token_controller_test.exs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs index 16df97b9fc..f4f1f1fe6d 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs @@ -3,7 +3,7 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do import BlockScoutWeb.WebRouter.Helpers, only: [address_token_path: 3] - alias Explorer.Chain.{Token} + alias Explorer.Chain.{Address, Token} describe "GET index/2" do test "with invalid address hash", %{conn: conn} do @@ -13,7 +13,7 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do end test "with valid address hash without address", %{conn: conn} do - conn = get(conn, address_token_path(conn, :index, "0x8bf38d4764929064f2d4d3a56520a76ab3df415b")) + conn = get(conn, address_token_path(conn, :index, Address.checksum("0x8bf38d4764929064f2d4d3a56520a76ab3df415b"))) assert html_response(conn, 404) end @@ -99,7 +99,7 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do %Token{name: name, type: type, inserted_at: inserted_at} = token conn = - get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, address.hash), %{ + get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash)), %{ "token_name" => name, "token_type" => type, "token_inserted_at" => inserted_at, @@ -145,7 +145,7 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do token = insert(:token) insert(:token_transfer, token_contract_address: token.contract_address, from_address: address) - conn = get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, address.hash), type: "JSON") + conn = get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash)), type: "JSON") {:ok, %{"next_page_path" => next_page_path}} = conn.resp_body From efa1f0acb43373b457e6e4d253c8022baf983e45 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 13:24:49 +0300 Subject: [PATCH 044/342] fix AddressTransactionControllerTest --- .../address_transaction_controller_test.exs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs index ccffa5672d..258d78887a 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs @@ -3,7 +3,7 @@ defmodule BlockScoutWeb.AddressTransactionControllerTest do import BlockScoutWeb.WebRouter.Helpers, only: [address_transaction_path: 3, address_transaction_path: 4] - alias Explorer.Chain.Transaction + alias Explorer.Chain.{Address, Transaction} alias Explorer.ExchangeRates.Token describe "GET index/2" do @@ -17,7 +17,9 @@ defmodule BlockScoutWeb.AddressTransactionControllerTest do conn = get( conn, - address_transaction_path(conn, :index, "0x8bf38d4764929064f2d4d3a56520a76ab3df415b", %{"type" => "JSON"}) + address_transaction_path(conn, :index, Address.checksum("0x8bf38d4764929064f2d4d3a56520a76ab3df415b"), %{ + "type" => "JSON" + }) ) assert json_response(conn, 200) @@ -73,7 +75,7 @@ defmodule BlockScoutWeb.AddressTransactionControllerTest do |> with_block() conn = - get(conn, address_transaction_path(BlockScoutWeb.Endpoint, :index, address.hash), %{ + get(conn, address_transaction_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash)), %{ "block_number" => Integer.to_string(block_number), "index" => Integer.to_string(index), "type" => "JSON" @@ -94,7 +96,7 @@ defmodule BlockScoutWeb.AddressTransactionControllerTest do |> insert_list(:transaction, from_address: address) |> with_block(block) - conn = get(conn, address_transaction_path(conn, :index, address.hash, %{"type" => "JSON"})) + conn = get(conn, address_transaction_path(conn, :index, Address.checksum(address.hash), %{"type" => "JSON"})) assert json_response(conn, 200)["next_page_path"] end @@ -151,7 +153,7 @@ defmodule BlockScoutWeb.AddressTransactionControllerTest do insert(:token_transfer, transaction: transaction, from_address: address) insert(:token_transfer, transaction: transaction, to_address: address) - conn = get(conn, "/token_transfers_csv", %{"address_id" => to_string(address.hash)}) + conn = get(conn, "/token_transfers_csv", %{"address_id" => Address.checksum(address.hash)}) assert conn.resp_body |> String.split("\n") |> Enum.count() == 4 end @@ -169,7 +171,7 @@ defmodule BlockScoutWeb.AddressTransactionControllerTest do |> insert(from_address: address) |> with_block() - conn = get(conn, "/transactions_csv", %{"address_id" => to_string(address.hash)}) + conn = get(conn, "/transactions_csv", %{"address_id" => Address.checksum(address.hash)}) assert conn.resp_body |> String.split("\n") |> Enum.count() == 4 end From 859d2e9fa52af3669a1dfa1f3bd886cb574d67e9 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 13:29:05 +0300 Subject: [PATCH 045/342] fix AddressInternalTransactionControllerTest --- ...s_internal_transaction_controller_test.exs | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs index 90b0c6500f..5024a0ce42 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs @@ -4,7 +4,7 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do import BlockScoutWeb.WebRouter.Helpers, only: [address_internal_transaction_path: 3, address_internal_transaction_path: 4] - alias Explorer.Chain.{Block, InternalTransaction, Transaction} + alias Explorer.Chain.{Address, Block, InternalTransaction, Transaction} alias Explorer.ExchangeRates.Token describe "GET index/3" do @@ -17,7 +17,15 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do end test "with valid address hash without address", %{conn: conn} do - conn = get(conn, address_internal_transaction_path(conn, :index, "0x8bf38d4764929064f2d4d3a56520a76ab3df415b")) + conn = + get( + conn, + address_internal_transaction_path( + conn, + :index, + Address.checksum("0x8bf38d4764929064f2d4d3a56520a76ab3df415b") + ) + ) assert html_response(conn, 404) end @@ -25,7 +33,8 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do test "includes USD exchange rate value for address in assigns", %{conn: conn} do address = insert(:address) - conn = get(conn, address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, address.hash)) + conn = + get(conn, address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash))) assert %Token{} = conn.assigns.exchange_rate end @@ -56,7 +65,7 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do transaction_index: transaction.index ) - path = address_internal_transaction_path(conn, :index, address, %{"type" => "JSON"}) + path = address_internal_transaction_path(conn, :index, Address.checksum(address), %{"type" => "JSON"}) conn = get(conn, path) internal_transaction_tiles = json_response(conn, 200)["items"] @@ -137,7 +146,9 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do transaction_index: transaction.index ) - path = address_internal_transaction_path(conn, :index, address, %{"filter" => "to", "type" => "JSON"}) + path = + address_internal_transaction_path(conn, :index, Address.checksum(address), %{"filter" => "to", "type" => "JSON"}) + conn = get(conn, path) internal_transaction_tiles = json_response(conn, 200)["items"] @@ -312,7 +323,7 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do get(conn, address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, address.hash, %{"type" => "JSON"})) expected_response = - address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, address.hash, %{ + address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash), %{ "block_number" => number, "index" => 11, "transaction_index" => transaction_index @@ -340,7 +351,12 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do end) conn = - get(conn, address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, address.hash, %{"type" => "JSON"})) + get( + conn, + address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash), %{ + "type" => "JSON" + }) + ) assert %{"next_page_path" => nil} = json_response(conn, 200) end From 2e46a3905ebbe7c31ce97c9d33cc308be60c2149 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 13:45:36 +0300 Subject: [PATCH 046/342] fix more tests --- .../block_scout_web/controllers/address_controller_test.exs | 3 ++- .../controllers/address_token_transfer_controller_test.exs | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs index 6153aa6895..c3bce3be95 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_controller_test.exs @@ -3,6 +3,7 @@ defmodule BlockScoutWeb.AddressControllerTest do # ETS tables are shared in `Explorer.Counters.*` async: false + alias Explorer.Chain.Address alias Explorer.Counters.AddressesCounter describe "GET index/2" do @@ -50,7 +51,7 @@ defmodule BlockScoutWeb.AddressControllerTest do test "returns address counters" do address = insert(:address) - conn = get(conn, "/address_counters", %{"id" => to_string(address.hash)}) + conn = get(conn, "/address_counters", %{"id" => Address.checksum(address.hash)}) assert conn.status == 200 {:ok, response} = Jason.decode(conn.resp_body) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs index cf4c859ce2..dcd40ec9b3 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs @@ -122,7 +122,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do conn = get( conn, - address_token_transfers_path(conn, :index, address.hash, token.contract_address_hash), + address_token_transfers_path(conn, :index, Address.checksum(address.hash), token.contract_address_hash), %{type: "JSON"} ) @@ -213,7 +213,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do %Token{contract_address_hash: token_hash} = insert(:token) conn = - get(conn, address_token_transfers_path(conn, :index, Address.checksum(address_hash), token_hash), %{ + get(conn, address_token_transfers_path(conn, :index, Address.checksum(address_hash), Address.checksum(token_hash)), %{ type: "JSON" }) @@ -225,7 +225,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do token_hash = "0x8bf38d4764929064f2d4d3a56520a76ab3df415b" conn = - get(conn, address_token_transfers_path(conn, :index, address_hash, token_hash), %{ + get(conn, address_token_transfers_path(conn, :index, Address.checksum(address_hash), Address.checksum(token_hash)), %{ type: "JSON" }) From dc2f816d0e4d238011ed9ad3884efdd390742d7f Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 1 Nov 2019 20:12:54 +0300 Subject: [PATCH 047/342] Currently deployed to blockscout.com xDai theme and fix for the color of copy contract icon on token instance page --- CHANGELOG.md | 1 + .../assets/css/theme/_dai_variables.scss | 59 +++++++------------ .../assets/static/images/dai_logo.svg | 2 +- .../network-selector-icons/xdai-chain.svg | 2 +- 4 files changed, 25 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35f1619f6f..61f789b08d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2449](https://github.com/poanetwork/blockscout/pull/2449) - add ability to send notification events through postgres notify ### Fixes +- [#2830](https://github.com/poanetwork/blockscout/pull/2830) - Fix wrong color of contract icon on xDai chain - [#2800](https://github.com/poanetwork/blockscout/pull/2800) - return not found for not verified contract for token read_contract - [#2806](https://github.com/poanetwork/blockscout/pull/2806) - Fix blocks fetching on the main page - [#2803](https://github.com/poanetwork/blockscout/pull/2803) - Fix block validator custom tooltip diff --git a/apps/block_scout_web/assets/css/theme/_dai_variables.scss b/apps/block_scout_web/assets/css/theme/_dai_variables.scss index edfc1a26fd..7c0c2de494 100644 --- a/apps/block_scout_web/assets/css/theme/_dai_variables.scss +++ b/apps/block_scout_web/assets/css/theme/_dai_variables.scss @@ -1,23 +1,23 @@ // general -$primary: #233174; -$secondary: #15f9bb; -$tertiary: #5a77ff; +$primary: #17314f; +$secondary: #15bba6; +$tertiary: #93d7ff; $additional-font: #fff; // footer -$footer-background-color:#202d6a; +$footer-background-color: $primary; $footer-title-color: #fff; -$footer-text-color: #b5c2ff; +$footer-text-color: #96bde8; $footer-item-disc-color: $secondary; .footer-logo { filter: brightness(0) invert(1); } -.footer-social-icon { color: $secondary!important; } + // dashboard $dashboard-line-color-price: $tertiary; // price left border $dashboard-line-color-market: $secondary; $dashboard-banner-chart-legend-label-color: $footer-text-color; -$dashboard-stats-item-label-color: #b4c1ff; +$dashboard-stats-item-label-color: $footer-text-color; $dashboard-banner-chart-legend-value-color: #fff; // chart labels $dashboard-stats-item-value-color: #fff; // stat values @@ -25,11 +25,9 @@ $dashboard-stats-item-border-color: $secondary; // stat border $dashboard-banner-gradient-start: $primary; // gradient begin -$dashboard-banner-gradient-end: #1e2a63; -// gradient end +$dashboard-banner-gradient-end: lighten($primary, 5); // gradient end -$dashboard-banner-network-plain-container-background-color: #273781 -; // stats bg +$dashboard-banner-network-plain-container-background-color: #20446e; // stats bg // navigation @@ -37,20 +35,21 @@ $dashboard-banner-network-plain-container-background-color: #273781 // buttons $btn-line-bg: #fff; // button bg -$btn-line-color: $primary; // button border and font color && hover bg color -$btn-copy-color: $primary; // btn copy -$btn-qr-color: $primary; // btn qr-code +$btn-line-color: $secondary; // button border and font color && hover bg color +$btn-copy-color: $secondary; // btn copy +$btn-qr-color: $secondary; // btn qr-code $btn-address-card-icon-color: $secondary; // btn address color +$btn-contract-color: $secondary; //links & tile -$tile-body-a-color: $tertiary; -$tile-type-block-color: $primary; -$tile-type-progress-bar-color: $primary; -a.tile-title { color: $primary !important; } +$tile-body-a-color: $secondary; +$tile-type-block-color: $secondary; +$tile-type-progress-bar-color: $secondary; +a.tile-title { color: $secondary !important; } // card -$card-background-1: $primary; -$card-tab-active: $primary; +$card-background-1: $secondary; +$card-tab-active: $secondary; .layout-container { .dashboard-banner-container { @@ -68,20 +67,6 @@ $badge-neutral-background-color: rgba(#20446e, .1); $api-text-monospace-color: #20446e; // Dark theme -$dark-primary: #233174; -$dark-secondary:#15f9bb; -$dark-tertiary: #5a77ff; - -.dark-theme-applied .tile .tile-body a, .dark-theme-applied .tile span[data-address-hash] { - color: $dark-tertiary!important; -} - -.dark-theme-applied .btn-line { - background-color: transparent!important; - border-color: $dark-tertiary!important; - color: $dark-tertiary!important; -} - -.dark-theme-applied .btn-line:hover { - color: $additional-font!important; -} \ No newline at end of file +$dark-primary: #15bba6; +$dark-secondary: #93d7ff; +$dark-primary-alternate: #15bba6; \ No newline at end of file diff --git a/apps/block_scout_web/assets/static/images/dai_logo.svg b/apps/block_scout_web/assets/static/images/dai_logo.svg index 2fddff632e..9c6539f45a 100644 --- a/apps/block_scout_web/assets/static/images/dai_logo.svg +++ b/apps/block_scout_web/assets/static/images/dai_logo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/block_scout_web/assets/static/images/network-selector-icons/xdai-chain.svg b/apps/block_scout_web/assets/static/images/network-selector-icons/xdai-chain.svg index d72d61baf4..3667adec4c 100644 --- a/apps/block_scout_web/assets/static/images/network-selector-icons/xdai-chain.svg +++ b/apps/block_scout_web/assets/static/images/network-selector-icons/xdai-chain.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From a7273de8a6dfe28f6204fe43d3d22ea9029c6d4f Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 14:02:25 +0300 Subject: [PATCH 048/342] fix Tokens.TokenControllerTest --- ...address_token_transfer_controller_test.exs | 20 +++++++++++++------ .../tokens/token_controller_test.exs | 6 ++++-- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs index dcd40ec9b3..7a77f7ddca 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs @@ -213,9 +213,13 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do %Token{contract_address_hash: token_hash} = insert(:token) conn = - get(conn, address_token_transfers_path(conn, :index, Address.checksum(address_hash), Address.checksum(token_hash)), %{ - type: "JSON" - }) + get( + conn, + address_token_transfers_path(conn, :index, Address.checksum(address_hash), Address.checksum(token_hash)), + %{ + type: "JSON" + } + ) assert html_response(conn, 404) end @@ -225,9 +229,13 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do token_hash = "0x8bf38d4764929064f2d4d3a56520a76ab3df415b" conn = - get(conn, address_token_transfers_path(conn, :index, Address.checksum(address_hash), Address.checksum(token_hash)), %{ - type: "JSON" - }) + get( + conn, + address_token_transfers_path(conn, :index, Address.checksum(address_hash), Address.checksum(token_hash)), + %{ + type: "JSON" + } + ) assert html_response(conn, 404) end diff --git a/apps/block_scout_web/test/block_scout_web/controllers/tokens/token_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/tokens/token_controller_test.exs index f2a347ebf0..d4f8010e0b 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/tokens/token_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/tokens/token_controller_test.exs @@ -1,11 +1,13 @@ defmodule BlockScoutWeb.Tokens.TokenControllerTest do use BlockScoutWeb.ConnCase, async: true + alias Explorer.Chain.Address + describe "GET show/2" do test "redirects to transfers page", %{conn: conn} do contract_address = insert(:address) - conn = get(conn, token_path(conn, :show, contract_address.hash)) + conn = get(conn, token_path(conn, :show, Address.checksum(contract_address.hash))) assert conn.status == 302 end @@ -25,7 +27,7 @@ defmodule BlockScoutWeb.Tokens.TokenControllerTest do token_id: token_id ) - conn = get(conn, "/token_counters", %{"id" => to_string(contract_address.hash)}) + conn = get(conn, "/token_counters", %{"id" => Address.checksum(contract_address.hash)}) assert conn.status == 200 {:ok, response} = Jason.decode(conn.resp_body) From 09a2048ccb721be0897166f441e937c487b30c8e Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 14:26:08 +0300 Subject: [PATCH 049/342] fix remaining tests --- ...ss_coin_balance_by_day_controller_test.exs | 4 +- .../address_contract_controller_test.exs | 9 ++-- .../address_read_contract_controller_test.exs | 9 ++-- .../address_token_balance_controller_test.exs | 3 +- .../address_token_controller_test.exs | 4 +- ...address_token_transfer_controller_test.exs | 47 ++++++++++++++----- .../address_transaction_controller_test.exs | 6 +-- .../smart_contract_controller_test.exs | 2 +- .../features/pages/address_page.ex | 2 +- 9 files changed, 59 insertions(+), 27 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_coin_balance_by_day_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_coin_balance_by_day_controller_test.exs index df714247c2..3778793300 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_coin_balance_by_day_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_coin_balance_by_day_controller_test.exs @@ -1,6 +1,8 @@ defmodule BlockScoutWeb.AddressCoinBalanceByDayControllerTest do use BlockScoutWeb.ConnCase + alias Explorer.Chain.Address + describe "GET index/2" do test "returns the coin balance history grouped by date", %{conn: conn} do address = insert(:address) @@ -10,7 +12,7 @@ defmodule BlockScoutWeb.AddressCoinBalanceByDayControllerTest do insert(:fetched_balance, address_hash: address.hash, value: 1000, block_number: block.number) insert(:fetched_balance, address_hash: address.hash, value: 2000, block_number: block_one_day_ago.number) - conn = get(conn, address_coin_balance_by_day_path(conn, :index, address), %{"type" => "JSON"}) + conn = get(conn, address_coin_balance_by_day_path(conn, :index, Address.checksum(address)), %{"type" => "JSON"}) response = json_response(conn, 200) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_contract_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_contract_controller_test.exs index 1d5d00ab95..a2363aa505 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_contract_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_contract_controller_test.exs @@ -3,7 +3,7 @@ defmodule BlockScoutWeb.AddressContractControllerTest do import BlockScoutWeb.WebRouter.Helpers, only: [address_contract_path: 3] - alias Explorer.Chain.Hash + alias Explorer.Chain.{Address, Hash} alias Explorer.ExchangeRates.Token alias Explorer.Factory @@ -11,7 +11,8 @@ defmodule BlockScoutWeb.AddressContractControllerTest do test "returns not found for nonexistent address", %{conn: conn} do nonexistent_address_hash = Hash.to_string(Factory.address_hash()) - conn = get(conn, address_contract_path(BlockScoutWeb.Endpoint, :index, nonexistent_address_hash)) + conn = + get(conn, address_contract_path(BlockScoutWeb.Endpoint, :index, Address.checksum(nonexistent_address_hash))) assert html_response(conn, 404) end @@ -27,7 +28,7 @@ defmodule BlockScoutWeb.AddressContractControllerTest do test "returns not found when the address isn't a contract", %{conn: conn} do address = insert(:address) - conn = get(conn, address_contract_path(BlockScoutWeb.Endpoint, :index, address)) + conn = get(conn, address_contract_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address))) assert html_response(conn, 404) end @@ -44,7 +45,7 @@ defmodule BlockScoutWeb.AddressContractControllerTest do created_contract_address: address ) - conn = get(conn, address_contract_path(BlockScoutWeb.Endpoint, :index, address)) + conn = get(conn, address_contract_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address))) assert html_response(conn, 200) assert address.hash == conn.assigns.address.hash diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_read_contract_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_read_contract_controller_test.exs index 0e66980768..4ac18320c1 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_read_contract_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_read_contract_controller_test.exs @@ -2,6 +2,7 @@ defmodule BlockScoutWeb.AddressReadContractControllerTest do use BlockScoutWeb.ConnCase, async: true alias Explorer.ExchangeRates.Token + alias Explorer.Chain.Address describe "GET index/3" do test "with invalid address hash", %{conn: conn} do @@ -13,7 +14,7 @@ defmodule BlockScoutWeb.AddressReadContractControllerTest do test "with valid address that is not a contract", %{conn: conn} do address = insert(:address) - conn = get(conn, address_read_contract_path(BlockScoutWeb.Endpoint, :index, address.hash)) + conn = get(conn, address_read_contract_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash))) assert html_response(conn, 404) end @@ -32,7 +33,8 @@ defmodule BlockScoutWeb.AddressReadContractControllerTest do insert(:smart_contract, address_hash: contract_address.hash) - conn = get(conn, address_read_contract_path(BlockScoutWeb.Endpoint, :index, contract_address.hash)) + conn = + get(conn, address_read_contract_path(BlockScoutWeb.Endpoint, :index, Address.checksum(contract_address.hash))) assert html_response(conn, 200) assert contract_address.hash == conn.assigns.address.hash @@ -51,7 +53,8 @@ defmodule BlockScoutWeb.AddressReadContractControllerTest do created_contract_address: contract_address ) - conn = get(conn, address_read_contract_path(BlockScoutWeb.Endpoint, :index, contract_address.hash)) + conn = + get(conn, address_read_contract_path(BlockScoutWeb.Endpoint, :index, Address.checksum(contract_address.hash))) assert html_response(conn, 404) end diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs index 6346b7daf3..e342069098 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs @@ -24,7 +24,8 @@ defmodule BlockScoutWeb.AddressTokenBalanceControllerTest do test "with AJAX with valid address without address still returns token balances", %{conn: conn} do ajax_conn = ajax(conn) - response_conn = get(ajax_conn, address_token_balance_path(ajax_conn, :index, Factory.address_hash())) + response_conn = + get(ajax_conn, address_token_balance_path(ajax_conn, :index, Factory.Address.checksum(address_hash()))) assert html_response(response_conn, 200) end diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs index f4f1f1fe6d..4da34ade1a 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs @@ -57,7 +57,7 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do to_address: address ) - conn = get(conn, address_token_path(conn, :index, address), type: "JSON") + conn = get(conn, address_token_path(conn, :index, Address.checksum(address)), type: "JSON") {:ok, %{"items" => items}} = conn.resp_body @@ -131,7 +131,7 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do insert(:token_transfer, token_contract_address: token.contract_address, from_address: address) end) - conn = get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, address.hash), type: "JSON") + conn = get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash)), type: "JSON") {:ok, %{"next_page_path" => next_page_path}} = conn.resp_body diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs index 7a77f7ddca..40a1e283ca 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs @@ -33,7 +33,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do test "with an token that doesn't exist in our database", %{conn: conn} do %Address{hash: address_hash} = insert(:address) token_hash = Address.checksum("0x8bf38d4764929064f2d4d3a56520a76ab3df415b") - conn = get(conn, address_token_transfers_path(conn, :index, address_hash, token_hash)) + conn = get(conn, address_token_transfers_path(conn, :index, Address.checksum(address_hash), token_hash)) assert html_response(conn, 404) end @@ -45,9 +45,13 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do %Token{contract_address_hash: token_hash} = insert(:token) conn = - get(conn, address_token_transfers_path(conn, :index, address_hash, token_hash), %{ - type: "JSON" - }) + get( + conn, + address_token_transfers_path(conn, :index, Address.checksum(address_hash), Address.checksum(token_hash)), + %{ + type: "JSON" + } + ) assert json_response(conn, 200) == %{"items" => [], "next_page_path" => nil} end @@ -78,7 +82,12 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do conn = get( conn, - address_token_transfers_path(conn, :index, Address.checksum(address.hash), token.contract_address_hash), + address_token_transfers_path( + conn, + :index, + Address.checksum(address.hash), + Address.checksum(token.contract_address_hash) + ), %{type: "JSON"} ) @@ -122,7 +131,12 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do conn = get( conn, - address_token_transfers_path(conn, :index, Address.checksum(address.hash), token.contract_address_hash), + address_token_transfers_path( + conn, + :index, + Address.checksum(address.hash), + Address.checksum(token.contract_address_hash) + ), %{type: "JSON"} ) @@ -173,15 +187,26 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do conn = get( conn, - address_token_transfers_path(conn, :index, address.hash, token.contract_address_hash), + address_token_transfers_path( + conn, + :index, + Address.checksum(address.hash), + Address.checksum(token.contract_address_hash) + ), %{type: "JSON"} ) expected_path = - address_token_transfers_path(conn, :index, address.hash, token.contract_address_hash, %{ - block_number: page_last_transfer.block_number, - index: page_last_transfer.index - }) + address_token_transfers_path( + conn, + :index, + Address.checksum(address.hash), + Address.checksum(token.contract_address_hash), + %{ + block_number: page_last_transfer.block_number, + index: page_last_transfer.index + } + ) assert Map.get(json_response(conn, 200), "next_page_path") == expected_path end diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs index 258d78887a..e97507eff4 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs @@ -55,7 +55,7 @@ defmodule BlockScoutWeb.AddressTransactionControllerTest do test "includes USD exchange rate value for address in assigns", %{conn: conn} do address = insert(:address) - conn = get(conn, address_transaction_path(BlockScoutWeb.Endpoint, :index, address.hash)) + conn = get(conn, address_transaction_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash))) assert %Token{} = conn.assigns.exchange_rate end @@ -108,7 +108,7 @@ defmodule BlockScoutWeb.AddressTransactionControllerTest do |> insert(from_address: address) |> with_block() - conn = get(conn, address_transaction_path(conn, :index, address.hash, %{"type" => "JSON"})) + conn = get(conn, address_transaction_path(conn, :index, Address.checksum(address.hash), %{"type" => "JSON"})) refute json_response(conn, 200)["next_page_path"] end @@ -131,7 +131,7 @@ defmodule BlockScoutWeb.AddressTransactionControllerTest do transaction: transaction ) - conn = get(conn, address_transaction_path(conn, :index, address), %{"type" => "JSON"}) + conn = get(conn, address_transaction_path(conn, :index, Address.checksum(address)), %{"type" => "JSON"}) transaction_tiles = json_response(conn, 200)["items"] diff --git a/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs index 975b0e36a1..4458428f41 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs @@ -63,7 +63,7 @@ defmodule BlockScoutWeb.SmartContractControllerTest do describe "GET show/3" do test "returns not found for nonexistent address" do - nonexistent_address_hash = Hash.to_string(Factory.address_hash()) + nonexistent_address_hash = Address.checksum(Hash.to_string(Factory.address_hash())) path = smart_contract_path( diff --git a/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex b/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex index 99b66dde1f..c2f9596d5c 100644 --- a/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex +++ b/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex @@ -169,7 +169,7 @@ defmodule BlockScoutWeb.AddressPage do def visit_page(session, %Address{hash: address_hash}), do: visit_page(session, address_hash) def visit_page(session, address_hash) do - visit(session, "/address/#{address_hash}") + visit(session, "/address/#{Address.checksum(address_hash)}") end def visit_page(session) do From 932d3cacf69479533b31368cdd9d2d02238edadd Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 14:40:24 +0300 Subject: [PATCH 050/342] fix tests --- .../address_internal_transaction_controller_test.exs | 4 +++- .../controllers/address_token_balance_controller_test.exs | 3 +-- .../controllers/smart_contract_controller_test.exs | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs index 5024a0ce42..72d0f5d8b9 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs @@ -191,7 +191,9 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do transaction_index: transaction.index ) - path = address_internal_transaction_path(conn, :index, address, %{"filter" => "to", "type" => "JSON"}) + path = + address_internal_transaction_path(conn, :index, Address.checksum(address), %{"filter" => "to", "type" => "JSON"}) + conn = get(conn, path) internal_transaction_tiles = json_response(conn, 200)["items"] diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs index e342069098..7d7744a9a4 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs @@ -24,8 +24,7 @@ defmodule BlockScoutWeb.AddressTokenBalanceControllerTest do test "with AJAX with valid address without address still returns token balances", %{conn: conn} do ajax_conn = ajax(conn) - response_conn = - get(ajax_conn, address_token_balance_path(ajax_conn, :index, Factory.Address.checksum(address_hash()))) + response_conn = get(ajax_conn, address_token_balance_path(ajax_conn, :index, Address.checksum(address_hash()))) assert html_response(response_conn, 200) end diff --git a/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs index 4458428f41..f59fb37203 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs @@ -3,7 +3,7 @@ defmodule BlockScoutWeb.SmartContractControllerTest do import Mox - alias Explorer.Chain.Hash + alias Explorer.Chain.{Address, Hash} alias Explorer.Factory setup :verify_on_exit! @@ -127,7 +127,7 @@ defmodule BlockScoutWeb.SmartContractControllerTest do smart_contract_path( BlockScoutWeb.Endpoint, :show, - smart_contract.address_hash, + Address.checksum(smart_contract.address_hash), function_name: "get", args: [] ) From a2fc77c6dc21784b47e0cf3a1204afe6bc83df96 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 15:03:33 +0300 Subject: [PATCH 051/342] fix tests --- .../controllers/address_token_balance_controller_test.exs | 2 +- .../controllers/address_transaction_controller_test.exs | 2 +- apps/explorer/test/support/factory.ex | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs index 7d7744a9a4..355a32b515 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs @@ -34,7 +34,7 @@ defmodule BlockScoutWeb.AddressTokenBalanceControllerTest do ajax_conn = ajax(conn) - response_conn = get(ajax_conn, address_token_balance_path(ajax_conn, :index, hash)) + response_conn = get(ajax_conn, address_token_balance_path(ajax_conn, :index, Address.checksum(hash))) assert html_response(response_conn, 200) end diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs index e97507eff4..3256546edc 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_transaction_controller_test.exs @@ -42,7 +42,7 @@ defmodule BlockScoutWeb.AddressTransactionControllerTest do |> insert(to_address: address) |> with_block(block) - conn = get(conn, address_transaction_path(conn, :index, address, %{"type" => "JSON"})) + conn = get(conn, address_transaction_path(conn, :index, Address.checksum(address), %{"type" => "JSON"})) transaction_tiles = json_response(conn, 200)["items"] transaction_hashes = Enum.map([to_transaction.hash, from_transaction.hash], &to_string(&1)) diff --git a/apps/explorer/test/support/factory.ex b/apps/explorer/test/support/factory.ex index b2a1feeac6..8722598855 100644 --- a/apps/explorer/test/support/factory.ex +++ b/apps/explorer/test/support/factory.ex @@ -72,7 +72,7 @@ defmodule Explorer.Factory do def contract_address_factory do %Address{ - hash: address_hash(), + hash: Address.checksum(address_hash()), contract_code: Map.fetch!(contract_code_info(), :bytecode) } end From 1da1893075f5437564d9e397234888aac70b61df Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 4 Nov 2019 16:00:50 +0300 Subject: [PATCH 052/342] fix remaining tests --- ...ss_internal_transaction_controller_test.exs | 18 ++++++++++++++---- .../address_token_balance_controller_test.exs | 2 +- .../smart_contract_controller_test.exs | 2 +- .../features/pages/address_page.ex | 2 +- apps/explorer/test/support/factory.ex | 2 +- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs index 72d0f5d8b9..1239192f37 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_internal_transaction_controller_test.exs @@ -104,7 +104,12 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do transaction_index: transaction.index ) - path = address_internal_transaction_path(conn, :index, address, %{"filter" => "from", "type" => "JSON"}) + path = + address_internal_transaction_path(conn, :index, Address.checksum(address), %{ + "filter" => "from", + "type" => "JSON" + }) + conn = get(conn, path) internal_transaction_tiles = json_response(conn, 200)["items"] @@ -282,7 +287,7 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do ) conn = - get(conn, address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, address.hash), %{ + get(conn, address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash)), %{ "block_number" => Integer.to_string(b_block.number), "transaction_index" => Integer.to_string(transaction_3.index), "index" => Integer.to_string(index), @@ -322,10 +327,15 @@ defmodule BlockScoutWeb.AddressInternalTransactionControllerTest do end) conn = - get(conn, address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, address.hash, %{"type" => "JSON"})) + get( + conn, + address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash), %{ + "type" => "JSON" + }) + ) expected_response = - address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, Address.checksum(address.hash), %{ + address_internal_transaction_path(BlockScoutWeb.Endpoint, :index, address.hash, %{ "block_number" => number, "index" => 11, "transaction_index" => transaction_index diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs index 355a32b515..cdafe886d5 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_balance_controller_test.exs @@ -8,7 +8,7 @@ defmodule BlockScoutWeb.AddressTokenBalanceControllerTest do test "without AJAX", %{conn: conn} do %Address{hash: hash} = Factory.insert(:address) - response_conn = get(conn, address_token_balance_path(conn, :index, to_string(hash))) + response_conn = get(conn, address_token_balance_path(conn, :index, Address.checksum(hash))) assert html_response(response_conn, 404) end diff --git a/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs index f59fb37203..5e4f723b75 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/smart_contract_controller_test.exs @@ -107,7 +107,7 @@ defmodule BlockScoutWeb.SmartContractControllerTest do smart_contract_path( BlockScoutWeb.Endpoint, :show, - smart_contract.address_hash, + Address.checksum(smart_contract.address_hash), function_name: "get", args: [] ) diff --git a/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex b/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex index c2f9596d5c..f4a1cc72eb 100644 --- a/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex +++ b/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex @@ -166,7 +166,7 @@ defmodule BlockScoutWeb.AddressPage do css("[data-identifier-hash='#{transaction_hash}'] [data-test='token_transfers_expansion']") end - def visit_page(session, %Address{hash: address_hash}), do: visit_page(session, address_hash) + def visit_page(session, %Address{hash: address_hash}), do: visit_page(session, Address.checksum(address_hash)) def visit_page(session, address_hash) do visit(session, "/address/#{Address.checksum(address_hash)}") diff --git a/apps/explorer/test/support/factory.ex b/apps/explorer/test/support/factory.ex index 8722598855..b2a1feeac6 100644 --- a/apps/explorer/test/support/factory.ex +++ b/apps/explorer/test/support/factory.ex @@ -72,7 +72,7 @@ defmodule Explorer.Factory do def contract_address_factory do %Address{ - hash: Address.checksum(address_hash()), + hash: address_hash(), contract_code: Map.fetch!(contract_code_info(), :bytecode) } end From 845fdf558822851e32d5d82008e06a40b0de6f6c Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Tue, 5 Nov 2019 11:13:20 +0300 Subject: [PATCH 053/342] fix ViewingAddressesTest --- .../features/viewing_addresses_test.exs | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs index bb223077a2..3c1e7af4f8 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs @@ -3,6 +3,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do # Because ETS tables is shared for `Explorer.Counters.*` async: false + alias Explorer.Chain.Address alias Explorer.Counters.AddressesCounter alias BlockScoutWeb.{AddressPage, AddressView, Notifier} @@ -69,10 +70,10 @@ defmodule BlockScoutWeb.ViewingAddressesTest do end test "viewing address overview information", %{session: session} do - address = insert(:address, fetched_coin_balance: 500) + address = insert(:address, fetched_coin_balance: 500, hash: Address.checksum(address_hash())) session - |> AddressPage.visit_page(address) + |> AddressPage.visit_page(address.hash) |> assert_text(AddressPage.balance(), "0.0000000000000005 Ether") end @@ -95,7 +96,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transaction_hash = AddressView.trimmed_hash(transaction.hash) session - |> AddressPage.visit_page(internal_transaction.created_contract_address) + |> AddressPage.visit_page(Address.checksum(internal_transaction.created_contract_address)) |> assert_text(AddressPage.contract_creator(), "#{address_hash} at #{transaction_hash}") end @@ -128,7 +129,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transaction_hash = AddressView.trimmed_hash(transaction.hash) session - |> AddressPage.visit_page(internal_transaction.created_contract_address) + |> AddressPage.visit_page(Address.checksum(internal_transaction.created_contract_address)) |> assert_text(AddressPage.contract_creator(), "#{contract_hash} at #{transaction_hash}") end end @@ -140,7 +141,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transactions: transactions } do session - |> AddressPage.visit_page(addresses.lincoln) + |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) |> assert_has(AddressPage.transaction(transactions.from_taft)) |> assert_has(AddressPage.transaction(transactions.from_lincoln)) |> assert_has(AddressPage.transaction_status(transactions.from_lincoln)) @@ -152,7 +153,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transactions: transactions } do session - |> AddressPage.visit_page(addresses.lincoln) + |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) |> AddressPage.apply_filter("From") |> assert_has(AddressPage.transaction(transactions.from_lincoln)) |> refute_has(AddressPage.transaction(transactions.from_taft)) @@ -164,7 +165,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transactions: transactions } do session - |> AddressPage.visit_page(addresses.lincoln) + |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) |> AddressPage.apply_filter("To") |> refute_has(AddressPage.transaction(transactions.from_lincoln)) |> assert_has(AddressPage.transaction(transactions.from_taft)) @@ -176,7 +177,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transactions: transactions } do session - |> AddressPage.visit_page(addresses.lincoln) + |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) |> assert_has(AddressPage.transaction_address_link(transactions.from_lincoln, :to)) |> refute_has(AddressPage.transaction_address_link(transactions.from_lincoln, :from)) end @@ -189,7 +190,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do Application.put_env(:block_scout_web, BlockScoutWeb.Chain, has_emission_funds: true) session - |> AddressPage.visit_page(addresses.lincoln) + |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) |> assert_has(AddressPage.transaction(transactions.from_taft)) |> assert_has(AddressPage.transaction(transactions.from_lincoln)) @@ -228,7 +229,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do session: session } do session - |> AddressPage.visit_page(addresses.lincoln) + |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) |> AddressPage.click_internal_transactions() |> assert_has(AddressPage.internal_transaction_address_link(internal_transaction, :from)) |> refute_has(AddressPage.internal_transaction_address_link(internal_transaction, :to)) @@ -241,7 +242,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do |> with_block(insert(:block, number: 7000)) session - |> AddressPage.visit_page(addresses.lincoln) + |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) |> AddressPage.click_internal_transactions() |> assert_has(AddressPage.internal_transactions(count: 2)) @@ -288,7 +289,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do ) session - |> AddressPage.visit_page(lincoln) + |> AddressPage.visit_page(Address.checksum(lincoln)) |> assert_has(AddressPage.token_transfers(transaction, count: 1)) |> assert_has(AddressPage.token_transfer(transaction, lincoln, count: 1)) |> assert_has(AddressPage.token_transfer(transaction, taft, count: 1)) @@ -363,7 +364,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do ) session - |> AddressPage.visit_page(lincoln) + |> AddressPage.visit_page(Address.checksum(lincoln)) |> assert_has(AddressPage.token_transfers(transaction, count: 1)) end @@ -393,7 +394,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do ) session - |> AddressPage.visit_page(lincoln) + |> AddressPage.visit_page(Address.checksum(lincoln)) |> click(AddressPage.token_transfers_expansion(transaction)) |> assert_has(AddressPage.token_transfers(transaction, count: 3)) end @@ -427,7 +428,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do insert(:address_current_token_balance, address: lincoln, token_contract_address_hash: contract_address.hash) session - |> AddressPage.visit_page(lincoln) + |> AddressPage.visit_page(Address.checksum(lincoln)) |> AddressPage.click_tokens() |> AddressPage.click_token_transfers(token) |> assert_has(AddressPage.token_transfers(transaction, count: 1)) @@ -484,7 +485,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do test "filter tokens balances by token name", %{session: session, lincoln: lincoln} do session - |> AddressPage.visit_page(lincoln) + |> AddressPage.visit_page(Address.checksum(lincoln)) |> AddressPage.click_balance_dropdown_toggle() |> AddressPage.fill_balance_dropdown_search("ato") |> assert_has(AddressPage.token_balance(count: 2)) @@ -526,7 +527,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do test "see list of coin balances", %{session: session, address: address} do session - |> AddressPage.visit_page(address) + |> AddressPage.visit_page(Address.checksum(address)) |> AddressPage.click_coin_balance_history() |> assert_has(AddressPage.coin_balances(count: 2)) end From f83d560491d6085e7e18eeffb06b07e124613bc4 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Tue, 5 Nov 2019 11:27:24 +0300 Subject: [PATCH 054/342] disable checksumming for address page feature test --- apps/block_scout_web/config/config.exs | 3 +- .../lib/block_scout_web/checksum_address.ex | 32 ++++++++------- .../features/pages/address_page.ex | 4 +- .../features/viewing_addresses_test.exs | 41 +++++++++++-------- 4 files changed, 45 insertions(+), 35 deletions(-) diff --git a/apps/block_scout_web/config/config.exs b/apps/block_scout_web/config/config.exs index e5d7ed947c..53da0a1b96 100644 --- a/apps/block_scout_web/config/config.exs +++ b/apps/block_scout_web/config/config.exs @@ -12,7 +12,8 @@ config :block_scout_web, version: System.get_env("BLOCKSCOUT_VERSION"), release_link: System.get_env("RELEASE_LINK"), decompiled_smart_contract_token: System.get_env("DECOMPILED_SMART_CONTRACT_TOKEN"), - show_percentage: if(System.get_env("SHOW_ADDRESS_MARKETCAP_PERCENTAGE", "true") == "false", do: false, else: true) + show_percentage: if(System.get_env("SHOW_ADDRESS_MARKETCAP_PERCENTAGE", "true") == "false", do: false, else: true), + checksum_address_hashed: if(System.get_env("CHECKSUM_ADDRESS_HASHES", "true") == "false", do: false, else: true) config :block_scout_web, BlockScoutWeb.Chain, network: System.get_env("NETWORK"), diff --git a/apps/block_scout_web/lib/block_scout_web/checksum_address.ex b/apps/block_scout_web/lib/block_scout_web/checksum_address.ex index 884f83c168..279affa0b9 100644 --- a/apps/block_scout_web/lib/block_scout_web/checksum_address.ex +++ b/apps/block_scout_web/lib/block_scout_web/checksum_address.ex @@ -23,24 +23,28 @@ defmodule BlockScoutWeb.ChecksumAddress do def call(conn, _), do: conn defp check_checksum(conn, id, param_name) do - case Chain.string_to_address_hash(id) do - {:ok, address_hash} -> - checksummed_hash = Address.checksum(address_hash) + if Application.get_env(:block_scout_web, :checksum_address_hashes) do + case Chain.string_to_address_hash(id) do + {:ok, address_hash} -> + checksummed_hash = Address.checksum(address_hash) - if checksummed_hash != id do - conn = %{conn | params: Map.merge(conn.params, %{param_name => checksummed_hash})} + if checksummed_hash != id do + conn = %{conn | params: Map.merge(conn.params, %{param_name => checksummed_hash})} - new_path = String.replace(conn.request_path, id, checksummed_hash) + new_path = String.replace(conn.request_path, id, checksummed_hash) - conn - |> Controller.redirect(to: new_path) - |> halt - else - conn - end + conn + |> Controller.redirect(to: new_path) + |> halt + else + conn + end - _ -> - conn + _ -> + conn + end + else + conn end end end diff --git a/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex b/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex index f4a1cc72eb..99b66dde1f 100644 --- a/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex +++ b/apps/block_scout_web/test/block_scout_web/features/pages/address_page.ex @@ -166,10 +166,10 @@ defmodule BlockScoutWeb.AddressPage do css("[data-identifier-hash='#{transaction_hash}'] [data-test='token_transfers_expansion']") end - def visit_page(session, %Address{hash: address_hash}), do: visit_page(session, Address.checksum(address_hash)) + def visit_page(session, %Address{hash: address_hash}), do: visit_page(session, address_hash) def visit_page(session, address_hash) do - visit(session, "/address/#{Address.checksum(address_hash)}") + visit(session, "/address/#{address_hash}") end def visit_page(session) do diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs index 3c1e7af4f8..40ade02f19 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs @@ -3,11 +3,12 @@ defmodule BlockScoutWeb.ViewingAddressesTest do # Because ETS tables is shared for `Explorer.Counters.*` async: false - alias Explorer.Chain.Address alias Explorer.Counters.AddressesCounter alias BlockScoutWeb.{AddressPage, AddressView, Notifier} setup do + Application.put_env(:block_scout_web, :checksum_address_hashes, false) + block = insert(:block, number: 42) lincoln = insert(:address, fetched_coin_balance: 5) @@ -39,6 +40,10 @@ defmodule BlockScoutWeb.ViewingAddressesTest do address_type: :validator ) + on_exit(fn -> + Application.put_env(:block_scout_web, :checksum_address_hashes, true) + end) + {:ok, %{ addresses: %{lincoln: lincoln, taft: taft}, @@ -70,10 +75,10 @@ defmodule BlockScoutWeb.ViewingAddressesTest do end test "viewing address overview information", %{session: session} do - address = insert(:address, fetched_coin_balance: 500, hash: Address.checksum(address_hash())) + address = insert(:address, fetched_coin_balance: 500) session - |> AddressPage.visit_page(address.hash) + |> AddressPage.visit_page(address) |> assert_text(AddressPage.balance(), "0.0000000000000005 Ether") end @@ -96,7 +101,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transaction_hash = AddressView.trimmed_hash(transaction.hash) session - |> AddressPage.visit_page(Address.checksum(internal_transaction.created_contract_address)) + |> AddressPage.visit_page(internal_transaction.created_contract_address) |> assert_text(AddressPage.contract_creator(), "#{address_hash} at #{transaction_hash}") end @@ -129,7 +134,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transaction_hash = AddressView.trimmed_hash(transaction.hash) session - |> AddressPage.visit_page(Address.checksum(internal_transaction.created_contract_address)) + |> AddressPage.visit_page(internal_transaction.created_contract_address) |> assert_text(AddressPage.contract_creator(), "#{contract_hash} at #{transaction_hash}") end end @@ -141,7 +146,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transactions: transactions } do session - |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) + |> AddressPage.visit_page(addresses.lincoln) |> assert_has(AddressPage.transaction(transactions.from_taft)) |> assert_has(AddressPage.transaction(transactions.from_lincoln)) |> assert_has(AddressPage.transaction_status(transactions.from_lincoln)) @@ -153,7 +158,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transactions: transactions } do session - |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) + |> AddressPage.visit_page(addresses.lincoln) |> AddressPage.apply_filter("From") |> assert_has(AddressPage.transaction(transactions.from_lincoln)) |> refute_has(AddressPage.transaction(transactions.from_taft)) @@ -165,7 +170,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transactions: transactions } do session - |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) + |> AddressPage.visit_page(addresses.lincoln) |> AddressPage.apply_filter("To") |> refute_has(AddressPage.transaction(transactions.from_lincoln)) |> assert_has(AddressPage.transaction(transactions.from_taft)) @@ -177,7 +182,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do transactions: transactions } do session - |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) + |> AddressPage.visit_page(addresses.lincoln) |> assert_has(AddressPage.transaction_address_link(transactions.from_lincoln, :to)) |> refute_has(AddressPage.transaction_address_link(transactions.from_lincoln, :from)) end @@ -190,7 +195,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do Application.put_env(:block_scout_web, BlockScoutWeb.Chain, has_emission_funds: true) session - |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) + |> AddressPage.visit_page(addresses.lincoln) |> assert_has(AddressPage.transaction(transactions.from_taft)) |> assert_has(AddressPage.transaction(transactions.from_lincoln)) @@ -229,7 +234,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do session: session } do session - |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) + |> AddressPage.visit_page(addresses.lincoln) |> AddressPage.click_internal_transactions() |> assert_has(AddressPage.internal_transaction_address_link(internal_transaction, :from)) |> refute_has(AddressPage.internal_transaction_address_link(internal_transaction, :to)) @@ -242,7 +247,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do |> with_block(insert(:block, number: 7000)) session - |> AddressPage.visit_page(Address.checksum(addresses.lincoln)) + |> AddressPage.visit_page(addresses.lincoln) |> AddressPage.click_internal_transactions() |> assert_has(AddressPage.internal_transactions(count: 2)) @@ -289,7 +294,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do ) session - |> AddressPage.visit_page(Address.checksum(lincoln)) + |> AddressPage.visit_page(lincoln) |> assert_has(AddressPage.token_transfers(transaction, count: 1)) |> assert_has(AddressPage.token_transfer(transaction, lincoln, count: 1)) |> assert_has(AddressPage.token_transfer(transaction, taft, count: 1)) @@ -364,7 +369,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do ) session - |> AddressPage.visit_page(Address.checksum(lincoln)) + |> AddressPage.visit_page(lincoln) |> assert_has(AddressPage.token_transfers(transaction, count: 1)) end @@ -394,7 +399,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do ) session - |> AddressPage.visit_page(Address.checksum(lincoln)) + |> AddressPage.visit_page(lincoln) |> click(AddressPage.token_transfers_expansion(transaction)) |> assert_has(AddressPage.token_transfers(transaction, count: 3)) end @@ -428,7 +433,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do insert(:address_current_token_balance, address: lincoln, token_contract_address_hash: contract_address.hash) session - |> AddressPage.visit_page(Address.checksum(lincoln)) + |> AddressPage.visit_page(lincoln) |> AddressPage.click_tokens() |> AddressPage.click_token_transfers(token) |> assert_has(AddressPage.token_transfers(transaction, count: 1)) @@ -485,7 +490,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do test "filter tokens balances by token name", %{session: session, lincoln: lincoln} do session - |> AddressPage.visit_page(Address.checksum(lincoln)) + |> AddressPage.visit_page(lincoln) |> AddressPage.click_balance_dropdown_toggle() |> AddressPage.fill_balance_dropdown_search("ato") |> assert_has(AddressPage.token_balance(count: 2)) @@ -527,7 +532,7 @@ defmodule BlockScoutWeb.ViewingAddressesTest do test "see list of coin balances", %{session: session, address: address} do session - |> AddressPage.visit_page(Address.checksum(address)) + |> AddressPage.visit_page(address) |> AddressPage.click_coin_balance_history() |> assert_has(AddressPage.coin_balances(count: 2)) end From ccbacf69445fbe90237586df86f6ff2aaa7b939e Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Tue, 5 Nov 2019 12:41:58 +0300 Subject: [PATCH 055/342] fix merging conflicts --- .../address_token_transfer_controller.ex | 4 +- apps/block_scout_web/priv/gettext/default.pot | 50 ++++++++++--------- .../priv/gettext/en/LC_MESSAGES/default.po | 50 ++++++++++--------- 3 files changed, 53 insertions(+), 51 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex index e02c12b6e0..1be7a9c8c0 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex @@ -170,7 +170,6 @@ defmodule BlockScoutWeb.AddressTokenTransferController do ) do with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), {:ok, address} <- Chain.hash_to_address(address_hash) do - {transaction_count, validation_count} = transaction_and_validation_count(address_hash) render( conn, @@ -179,8 +178,7 @@ defmodule BlockScoutWeb.AddressTokenTransferController do coin_balance_status: CoinBalanceOnDemand.trigger_fetch(address), exchange_rate: Market.get_exchange_rate(Explorer.coin()) || Token.null(), current_path: current_path(conn), - transaction_count: transaction_count, - validation_count: validation_count + counters_path: address_path(conn, :address_counters, %{"id" => to_string(address_hash)}) ) else :error -> diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 23c32aab5d..70f6db824d 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -124,7 +124,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 #: lib/block_scout_web/templates/transaction_log/_logs.html.eex:19 -#: lib/block_scout_web/views/address_view.ex:99 +#: lib/block_scout_web/views/address_view.ex:100 msgid "Address" msgstr "" @@ -336,14 +336,14 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:18 -#: lib/block_scout_web/views/address_view.ex:97 +#: lib/block_scout_web/views/address_view.ex:98 msgid "Contract Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 -#: lib/block_scout_web/views/address_view.ex:37 -#: lib/block_scout_web/views/address_view.ex:71 +#: lib/block_scout_web/views/address_view.ex:38 +#: lib/block_scout_web/views/address_view.ex:72 msgid "Contract Address Pending" msgstr "" @@ -497,7 +497,7 @@ msgid "Decoded" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:50 +#: lib/block_scout_web/templates/address/_tabs.html.eex:56 msgid "Decompiled code" msgstr "" @@ -810,7 +810,7 @@ msgid "There are no logs for this transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:18 msgid "There are no token transfers for this address." msgstr "" @@ -884,12 +884,14 @@ msgid "Token Transfer" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address/_tabs.html.eex:20 #: lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex:3 #: lib/block_scout_web/templates/tokens/instance/transfer/index.html.eex:16 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:14 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 +#: lib/block_scout_web/views/address_view.ex:308 #: lib/block_scout_web/views/tokens/instance/overview_view.ex:71 #: lib/block_scout_web/views/tokens/overview_view.ex:35 #: lib/block_scout_web/views/transaction_view.ex:313 @@ -1027,8 +1029,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:31 #: lib/block_scout_web/templates/layout/app.html.eex:60 -#: lib/block_scout_web/views/address_view.ex:125 -#: lib/block_scout_web/views/address_view.ex:125 +#: lib/block_scout_web/views/address_view.ex:126 +#: lib/block_scout_web/views/address_view.ex:126 msgid "Market Cap" msgstr "" @@ -1300,7 +1302,7 @@ msgstr "" #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 #: lib/block_scout_web/templates/address_logs/index.html.eex:21 #: lib/block_scout_web/templates/address_token/index.html.eex:13 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:23 #: lib/block_scout_web/templates/address_transaction/index.html.eex:59 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 #: lib/block_scout_web/templates/block_transaction/index.html.eex:23 @@ -1788,30 +1790,30 @@ msgid "Copy Txn Input" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:31 +#: lib/block_scout_web/templates/address/_tabs.html.eex:37 #: lib/block_scout_web/templates/address_validation/index.html.eex:13 -#: lib/block_scout_web/views/address_view.ex:311 +#: lib/block_scout_web/views/address_view.ex:313 msgid "Blocks Validated" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:40 +#: lib/block_scout_web/templates/address/_tabs.html.eex:46 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:165 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:126 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:149 -#: lib/block_scout_web/views/address_view.ex:307 +#: lib/block_scout_web/views/address_view.ex:309 msgid "Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/views/address_view.ex:310 +#: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: lib/block_scout_web/views/address_view.ex:312 msgid "Coin Balance History" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/views/address_view.ex:310 msgid "Decompiled Code" msgstr "" @@ -1820,25 +1822,25 @@ msgstr "" #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/views/address_view.ex:306 +#: lib/block_scout_web/views/address_view.ex:307 #: lib/block_scout_web/views/transaction_view.ex:314 msgid "Internal Transactions" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: lib/block_scout_web/templates/address/_tabs.html.eex:32 #: lib/block_scout_web/templates/address_logs/index.html.eex:8 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: lib/block_scout_web/templates/transaction_log/index.html.eex:8 -#: lib/block_scout_web/views/address_view.ex:312 +#: lib/block_scout_web/views/address_view.ex:314 #: lib/block_scout_web/views/transaction_view.ex:315 msgid "Logs" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:56 +#: lib/block_scout_web/templates/address/_tabs.html.eex:62 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25 -#: lib/block_scout_web/views/address_view.ex:309 +#: lib/block_scout_web/views/address_view.ex:311 #: lib/block_scout_web/views/tokens/overview_view.ex:37 msgid "Read Contract" msgstr "" @@ -1846,8 +1848,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 -#: lib/block_scout_web/views/address_view.ex:304 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:11 +#: lib/block_scout_web/views/address_view.ex:305 msgid "Tokens" msgstr "" @@ -1858,6 +1860,6 @@ msgstr "" #: lib/block_scout_web/templates/block_transaction/index.html.eex:18 #: lib/block_scout_web/templates/chain/show.html.eex:145 #: lib/block_scout_web/templates/layout/_topnav.html.eex:50 -#: lib/block_scout_web/views/address_view.ex:305 +#: lib/block_scout_web/views/address_view.ex:306 msgid "Transactions" msgstr "" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 23c32aab5d..70f6db824d 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -124,7 +124,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 #: lib/block_scout_web/templates/transaction_log/_logs.html.eex:19 -#: lib/block_scout_web/views/address_view.ex:99 +#: lib/block_scout_web/views/address_view.ex:100 msgid "Address" msgstr "" @@ -336,14 +336,14 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:18 -#: lib/block_scout_web/views/address_view.ex:97 +#: lib/block_scout_web/views/address_view.ex:98 msgid "Contract Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 -#: lib/block_scout_web/views/address_view.ex:37 -#: lib/block_scout_web/views/address_view.ex:71 +#: lib/block_scout_web/views/address_view.ex:38 +#: lib/block_scout_web/views/address_view.ex:72 msgid "Contract Address Pending" msgstr "" @@ -497,7 +497,7 @@ msgid "Decoded" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:50 +#: lib/block_scout_web/templates/address/_tabs.html.eex:56 msgid "Decompiled code" msgstr "" @@ -810,7 +810,7 @@ msgid "There are no logs for this transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:18 msgid "There are no token transfers for this address." msgstr "" @@ -884,12 +884,14 @@ msgid "Token Transfer" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address/_tabs.html.eex:20 #: lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex:3 #: lib/block_scout_web/templates/tokens/instance/transfer/index.html.eex:16 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:14 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 +#: lib/block_scout_web/views/address_view.ex:308 #: lib/block_scout_web/views/tokens/instance/overview_view.ex:71 #: lib/block_scout_web/views/tokens/overview_view.ex:35 #: lib/block_scout_web/views/transaction_view.ex:313 @@ -1027,8 +1029,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:31 #: lib/block_scout_web/templates/layout/app.html.eex:60 -#: lib/block_scout_web/views/address_view.ex:125 -#: lib/block_scout_web/views/address_view.ex:125 +#: lib/block_scout_web/views/address_view.ex:126 +#: lib/block_scout_web/views/address_view.ex:126 msgid "Market Cap" msgstr "" @@ -1300,7 +1302,7 @@ msgstr "" #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 #: lib/block_scout_web/templates/address_logs/index.html.eex:21 #: lib/block_scout_web/templates/address_token/index.html.eex:13 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:23 #: lib/block_scout_web/templates/address_transaction/index.html.eex:59 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 #: lib/block_scout_web/templates/block_transaction/index.html.eex:23 @@ -1788,30 +1790,30 @@ msgid "Copy Txn Input" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:31 +#: lib/block_scout_web/templates/address/_tabs.html.eex:37 #: lib/block_scout_web/templates/address_validation/index.html.eex:13 -#: lib/block_scout_web/views/address_view.ex:311 +#: lib/block_scout_web/views/address_view.ex:313 msgid "Blocks Validated" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:40 +#: lib/block_scout_web/templates/address/_tabs.html.eex:46 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:165 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:126 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:149 -#: lib/block_scout_web/views/address_view.ex:307 +#: lib/block_scout_web/views/address_view.ex:309 msgid "Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/views/address_view.ex:310 +#: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: lib/block_scout_web/views/address_view.ex:312 msgid "Coin Balance History" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/views/address_view.ex:310 msgid "Decompiled Code" msgstr "" @@ -1820,25 +1822,25 @@ msgstr "" #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/views/address_view.ex:306 +#: lib/block_scout_web/views/address_view.ex:307 #: lib/block_scout_web/views/transaction_view.ex:314 msgid "Internal Transactions" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: lib/block_scout_web/templates/address/_tabs.html.eex:32 #: lib/block_scout_web/templates/address_logs/index.html.eex:8 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: lib/block_scout_web/templates/transaction_log/index.html.eex:8 -#: lib/block_scout_web/views/address_view.ex:312 +#: lib/block_scout_web/views/address_view.ex:314 #: lib/block_scout_web/views/transaction_view.ex:315 msgid "Logs" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:56 +#: lib/block_scout_web/templates/address/_tabs.html.eex:62 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25 -#: lib/block_scout_web/views/address_view.ex:309 +#: lib/block_scout_web/views/address_view.ex:311 #: lib/block_scout_web/views/tokens/overview_view.ex:37 msgid "Read Contract" msgstr "" @@ -1846,8 +1848,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 -#: lib/block_scout_web/views/address_view.ex:304 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:11 +#: lib/block_scout_web/views/address_view.ex:305 msgid "Tokens" msgstr "" @@ -1858,6 +1860,6 @@ msgstr "" #: lib/block_scout_web/templates/block_transaction/index.html.eex:18 #: lib/block_scout_web/templates/chain/show.html.eex:145 #: lib/block_scout_web/templates/layout/_topnav.html.eex:50 -#: lib/block_scout_web/views/address_view.ex:305 +#: lib/block_scout_web/views/address_view.ex:306 msgid "Transactions" msgstr "" From 67e0e3c3339552df2073a261755d95512cf2f1c5 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Tue, 5 Nov 2019 13:40:30 +0300 Subject: [PATCH 056/342] select distinct token transfers by transaction hash --- .../controllers/address_token_transfer_controller.ex | 1 - apps/explorer/lib/explorer/chain/token_transfer.ex | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex index 1be7a9c8c0..c67055c3e2 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex @@ -170,7 +170,6 @@ defmodule BlockScoutWeb.AddressTokenTransferController do ) do with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), {:ok, address} <- Chain.hash_to_address(address_hash) do - render( conn, "index.html", diff --git a/apps/explorer/lib/explorer/chain/token_transfer.ex b/apps/explorer/lib/explorer/chain/token_transfer.ex index 900a57e759..b6171219bf 100644 --- a/apps/explorer/lib/explorer/chain/token_transfer.ex +++ b/apps/explorer/lib/explorer/chain/token_transfer.ex @@ -215,7 +215,8 @@ defmodule Explorer.Chain.TokenTransfer do from( tt in TokenTransfer, where: tt.to_address_hash == ^address_hash, - select: type(tt.transaction_hash, :binary) + select: type(tt.transaction_hash, :binary), + distinct: tt.transaction_hash ) query @@ -229,7 +230,8 @@ defmodule Explorer.Chain.TokenTransfer do from( tt in TokenTransfer, where: tt.from_address_hash == ^address_hash, - select: type(tt.transaction_hash, :binary) + select: type(tt.transaction_hash, :binary), + distinct: tt.transaction_hash ) query @@ -249,6 +251,7 @@ defmodule Explorer.Chain.TokenTransfer do from(token_transfer in TokenTransfer, where: token_transfer.to_address_hash == ^address_bytes or token_transfer.from_address_hash == ^address_bytes, select: type(token_transfer.transaction_hash, :binary), + distinct: token_transfer.transaction_hash, limit: ^page_size ) From 84c5bba3919fd79efa8f80d1c1fbc112d009c796 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Tue, 5 Nov 2019 14:25:54 +0300 Subject: [PATCH 057/342] fix AddressTokenTransferControllerTest --- .../address_token_transfer_controller_test.exs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs index 70a362b109..5228c5aa84 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_transfer_controller_test.exs @@ -25,7 +25,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do test "with an address that doesn't exist in our database", %{conn: conn} do address_hash = "0x8bf38d4764929064f2d4d3a56520a76ab3df415b" %Token{contract_address_hash: token_hash} = insert(:token) - conn = get(conn, address_token_transfers_path(conn, :index, address_hash, token_hash)) + conn = get(conn, address_token_transfers_path(conn, :index, to_string(address_hash), to_string(token_hash))) assert html_response(conn, 404) end @@ -45,7 +45,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do %Token{contract_address_hash: token_hash} = insert(:token) conn = - get(conn, address_token_transfers_path(conn, :index, address_hash, token_hash), %{ + get(conn, address_token_transfers_path(conn, :index, to_string(address_hash), to_string(token_hash)), %{ type: "JSON" }) @@ -78,7 +78,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do conn = get( conn, - address_token_transfers_path(conn, :index, address.hash, token.contract_address_hash), + address_token_transfers_path(conn, :index, to_string(address.hash), to_string(token.contract_address_hash)), %{type: "JSON"} ) @@ -122,7 +122,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do conn = get( conn, - address_token_transfers_path(conn, :index, address.hash, token.contract_address_hash), + address_token_transfers_path(conn, :index, to_string(address.hash), to_string(token.contract_address_hash)), %{type: "JSON"} ) @@ -173,7 +173,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do conn = get( conn, - address_token_transfers_path(conn, :index, address.hash, token.contract_address_hash), + address_token_transfers_path(conn, :index, to_string(address.hash), to_string(token.contract_address_hash)), %{type: "JSON"} ) @@ -213,7 +213,7 @@ defmodule BlockScoutWeb.AddressTokenTransferControllerTest do %Token{contract_address_hash: token_hash} = insert(:token) conn = - get(conn, address_token_transfers_path(conn, :index, address_hash, token_hash), %{ + get(conn, address_token_transfers_path(conn, :index, to_string(address_hash), to_string(token_hash)), %{ type: "JSON" }) From 1667bdef0c71c2fcb864c9b6c9fe40f0fa765836 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Tue, 5 Nov 2019 14:47:36 +0300 Subject: [PATCH 058/342] fix remaining tests --- .../templates/address_token/_tokens.html.eex | 2 +- .../address_token_balance/_tokens.html.eex | 2 +- .../tokens/inventory/_token.html.eex | 2 +- .../address_token_controller_test.exs | 6 ++-- .../features/viewing_addresses_test.exs | 31 ------------------- 5 files changed, 6 insertions(+), 37 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_token/_tokens.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_token/_tokens.html.eex index c974ff549a..5296512291 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_token/_tokens.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_token/_tokens.html.eex @@ -2,7 +2,7 @@
<%= link( - to: address_token_transfers_path(@conn, :index, @address.hash, @token.contract_address_hash), + to: address_token_transfers_path(@conn, :index, to_string(@address.hash), to_string(@token.contract_address_hash)), class: "tile-title-lg", "data-test": "token_transfers_#{@token.contract_address_hash}" ) do %> diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_token_balance/_tokens.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_token_balance/_tokens.html.eex index 1366a83a0a..0fa96e73bd 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_token_balance/_tokens.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_token_balance/_tokens.html.eex @@ -11,7 +11,7 @@ data-token-symbol="<%= token_balance.token.symbol %>" > <%= link( - to: token_path(@conn, :show, token_balance.token.contract_address_hash), + to: token_path(@conn, :show, to_string(token_balance.token.contract_address_hash)), class: "dropdown-item" ) do %>
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/inventory/_token.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/inventory/_token.html.eex index f4e70f59ac..a905f72de9 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/inventory/_token.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/inventory/_token.html.eex @@ -10,7 +10,7 @@ <%= gettext "Token ID" %>: - <%= link(@token_transfer.token_id, to: token_instance_path(@conn, :show, @token.contract_address_hash, to_string(@token_transfer.token_id))) %> + <%= link(@token_transfer.token_id, to: token_instance_path(@conn, :show, "#{@token.contract_address_hash}", "#{@token_transfer.token_id}")) %> diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs index 16df97b9fc..b1697e32a6 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs @@ -57,7 +57,7 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do to_address: address ) - conn = get(conn, address_token_path(conn, :index, address), type: "JSON") + conn = get(conn, address_token_path(conn, :index, to_string(address.hash)), type: "JSON") {:ok, %{"items" => items}} = conn.resp_body @@ -99,7 +99,7 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do %Token{name: name, type: type, inserted_at: inserted_at} = token conn = - get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, address.hash), %{ + get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, to_string(address.hash)), %{ "token_name" => name, "token_type" => type, "token_inserted_at" => inserted_at, @@ -131,7 +131,7 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do insert(:token_transfer, token_contract_address: token.contract_address, from_address: address) end) - conn = get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, address.hash), type: "JSON") + conn = get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, to_string(address.hash)), type: "JSON") {:ok, %{"next_page_path" => next_page_path}} = conn.resp_body diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs index bb223077a2..61edb22a7c 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs @@ -336,37 +336,6 @@ defmodule BlockScoutWeb.ViewingAddressesTest do |> refute_has(AddressPage.token_transfer(transaction, taft, count: 1)) end - test "transactions with multiple token transfers shows only the first one by default", %{ - addresses: addresses, - block: block, - session: session - } do - lincoln = addresses.lincoln - taft = addresses.taft - - contract_address = insert(:contract_address) - - insert(:token, contract_address: contract_address) - - transaction = - :transaction - |> insert(from_address: lincoln, to_address: contract_address) - |> with_block(block) - - insert_list( - 3, - :token_transfer, - from_address: lincoln, - to_address: taft, - transaction: transaction, - token_contract_address: contract_address - ) - - session - |> AddressPage.visit_page(lincoln) - |> assert_has(AddressPage.token_transfers(transaction, count: 1)) - end - test "transaction with multiple token transfers shows all transfers if expanded", %{ addresses: addresses, block: block, From 6f5ba5577e5bbd99d96b75c83438382056d77399 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Tue, 5 Nov 2019 15:09:16 +0300 Subject: [PATCH 059/342] add CHANGELOG entry --- CHANGELOG.md | 1 + .../features/viewing_addresses_test.exs | 41 --------------- apps/explorer/test/explorer/chain_test.exs | 50 ------------------- 3 files changed, 1 insertion(+), 91 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d39c3fca5..eda5bf0cd4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## Current ### Features +- [#2825](https://github.com/poanetwork/blockscout/pull/2825) - separate token transfers and transactions - [#2787](https://github.com/poanetwork/blockscout/pull/2787) - async fetching of address counters - [#2791](https://github.com/poanetwork/blockscout/pull/2791) - add ipc client - [#2449](https://github.com/poanetwork/blockscout/pull/2449) - add ability to send notification events through postgres notify diff --git a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs index 61edb22a7c..7b7db0e31c 100644 --- a/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs +++ b/apps/block_scout_web/test/block_scout_web/features/viewing_addresses_test.exs @@ -295,47 +295,6 @@ defmodule BlockScoutWeb.ViewingAddressesTest do |> refute_has(AddressPage.token_transfers_expansion(transaction)) end - test "contributor can see only token transfers related to him", %{ - addresses: addresses, - block: block, - session: session - } do - lincoln = addresses.lincoln - taft = addresses.taft - morty = build(:address) - - contract_address = insert(:contract_address) - insert(:token, contract_address: contract_address) - - transaction = - :transaction - |> insert(from_address: lincoln, to_address: contract_address) - |> with_block(block) - - insert( - :token_transfer, - from_address: lincoln, - to_address: taft, - transaction: transaction, - token_contract_address: contract_address - ) - - insert( - :token_transfer, - from_address: lincoln, - to_address: morty, - transaction: transaction, - token_contract_address: contract_address - ) - - session - |> AddressPage.visit_page(morty) - |> assert_has(AddressPage.token_transfers(transaction, count: 1)) - |> assert_has(AddressPage.token_transfer(transaction, lincoln, count: 1)) - |> assert_has(AddressPage.token_transfer(transaction, morty, count: 1)) - |> refute_has(AddressPage.token_transfer(transaction, taft, count: 1)) - end - test "transaction with multiple token transfers shows all transfers if expanded", %{ addresses: addresses, block: block, diff --git a/apps/explorer/test/explorer/chain_test.exs b/apps/explorer/test/explorer/chain_test.exs index 404d2d85c7..96af37378c 100644 --- a/apps/explorer/test/explorer/chain_test.exs +++ b/apps/explorer/test/explorer/chain_test.exs @@ -529,56 +529,6 @@ defmodule Explorer.ChainTest do assert Enum.count(transaction.token_transfers) == 2 end - test "returns all transactions that the address is present only in the token transfers" do - john = insert(:address) - paul = insert(:address) - contract_address = insert(:contract_address) - - transaction_one = - :transaction - |> insert( - from_address: john, - from_address_hash: john.hash, - to_address: contract_address, - to_address_hash: contract_address.hash - ) - |> with_block() - - insert( - :token_transfer, - from_address: john, - to_address: paul, - transaction: transaction_one, - amount: 1 - ) - - transaction_two = - :transaction - |> insert( - from_address: john, - from_address_hash: john.hash, - to_address: contract_address, - to_address_hash: contract_address.hash - ) - |> with_block() - - insert( - :token_transfer, - from_address: john, - to_address: paul, - transaction: transaction_two, - amount: 1 - ) - - transactions_hashes = - paul.hash - |> Chain.address_to_transactions_with_rewards() - |> Enum.map(& &1.hash) - - assert Enum.member?(transactions_hashes, transaction_one.hash) == true - assert Enum.member?(transactions_hashes, transaction_two.hash) == true - end - test "with transactions can be paginated" do %Address{hash: address_hash} = address = insert(:address) From 0c747834efeafdefca2fa190183d4e78b3f16632 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Tue, 5 Nov 2019 16:23:11 +0300 Subject: [PATCH 060/342] fix txlist ordering issue --- apps/explorer/lib/explorer/etherscan.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/explorer/lib/explorer/etherscan.ex b/apps/explorer/lib/explorer/etherscan.ex index 6bbeaa1d7c..71ee5794f7 100644 --- a/apps/explorer/lib/explorer/etherscan.ex +++ b/apps/explorer/lib/explorer/etherscan.ex @@ -272,7 +272,7 @@ defmodule Explorer.Etherscan do from( t in Transaction, inner_join: b in assoc(t, :block), - order_by: [{^options.order_by_direction, b.number}], + order_by: [{^options.order_by_direction, t.block_number}], limit: ^options.page_size, offset: ^offset(options), select: From 2e632fea70a278f76d77a187d2fcd072515df806 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Tue, 5 Nov 2019 16:25:36 +0300 Subject: [PATCH 061/342] add CHANGELOG entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d39c3fca5..2f8a995cff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - [#2822](https://github.com/poanetwork/blockscout/pull/2822) - Estimated address count on the main page, if cache is empty ### Fixes +- [#2837](https://github.com/poanetwork/blockscout/pull/2837) - fix txlist ordering issue - [#2830](https://github.com/poanetwork/blockscout/pull/2830) - Fix wrong color of contract icon on xDai chain - [#2829](https://github.com/poanetwork/blockscout/pull/2829) - Fix for stuck gas limit label and value - [#2828](https://github.com/poanetwork/blockscout/pull/2828) - Fix for script that clears compilation/launching assets From 6aea425975420dae3b02dddbd015332fdcff9dd6 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 6 Nov 2019 12:21:45 +0300 Subject: [PATCH 062/342] make token transfers tab second --- .../block_scout_web/templates/address/_tabs.html.eex | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex index 070b3ecfc2..b615035ac4 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex @@ -4,6 +4,12 @@ class: "card-tab #{tab_status("transactions", @conn.request_path)}", to: address_transaction_path(@conn, :index, @address.hash) ) %> + <%= link( + gettext("Token Transfers"), + class: "card-tab #{tab_status("token_transfers", @conn.request_path)}", + "data-test": "token_transfers_tab_link", + to: address_token_transfers_path(@conn, :index, @address.hash) + ) %> <%= link( gettext("Tokens"), class: "card-tab #{tab_status("tokens", @conn.request_path)}", @@ -16,12 +22,6 @@ "data-test": "internal_transactions_tab_link", to: address_internal_transaction_path(@conn, :index, @address.hash) ) %> - <%= link( - gettext("Token Transfers"), - class: "card-tab #{tab_status("token_transfers", @conn.request_path)}", - "data-test": "token_transfers_tab_link", - to: address_token_transfers_path(@conn, :index, @address.hash) - ) %> <%= link( gettext("Coin Balance History"), class: "card-tab #{tab_status("coin_balances", @conn.request_path)}", From e4b5a0bd18b972a3bd7baac29e697718b051f822 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 6 Nov 2019 12:54:14 +0300 Subject: [PATCH 063/342] remove token transfers from transactions tab --- .../controllers/address_transaction_controller.ex | 4 ---- .../lib/block_scout_web/views/transaction_view.ex | 1 + apps/explorer/lib/explorer/chain.ex | 1 - 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_transaction_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_transaction_controller.ex index b79800a464..2bac5acdb2 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/address_transaction_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_transaction_controller.ex @@ -19,10 +19,6 @@ defmodule BlockScoutWeb.AddressTransactionController do [created_contract_address: :names] => :optional, [from_address: :names] => :optional, [to_address: :names] => :optional, - [token_transfers: :token] => :optional, - [token_transfers: :to_address] => :optional, - [token_transfers: :from_address] => :optional, - [token_transfers: :token_contract_address] => :optional, :block => :required } ] diff --git a/apps/block_scout_web/lib/block_scout_web/views/transaction_view.ex b/apps/block_scout_web/lib/block_scout_web/views/transaction_view.ex index 121bd6ad5e..ede96a048d 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/transaction_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/transaction_view.ex @@ -230,6 +230,7 @@ defmodule BlockScoutWeb.TransactionView do def involves_token_transfers?(%Transaction{token_transfers: []}), do: false def involves_token_transfers?(%Transaction{token_transfers: transfers}) when is_list(transfers), do: true + def involves_token_transfers?(_), do: false def qr_code(%Transaction{hash: hash}) do hash diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 77d7066757..4ed62f0fe7 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -312,7 +312,6 @@ defmodule Explorer.Chain do paging_options |> fetch_transactions() |> join_associations(necessity_by_association) - |> Transaction.preload_token_transfers(address_hash) base_query |> Transaction.matching_address_queries_list(direction, address_hash) From 3da7c8d05775ac5264c8b4f62afab063fa4cb454 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 6 Nov 2019 12:55:34 +0300 Subject: [PATCH 064/342] fix gettext --- apps/block_scout_web/priv/gettext/default.pot | 22 +++++++++---------- .../priv/gettext/en/LC_MESSAGES/default.po | 22 +++++++++---------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 3ef2c631b2..40af873b35 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -353,12 +353,12 @@ msgid "Contract Byte Code" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:261 +#: lib/block_scout_web/views/transaction_view.ex:262 msgid "Contract Call" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:260 +#: lib/block_scout_web/views/transaction_view.ex:261 msgid "Contract Creation" msgstr "" @@ -879,12 +879,12 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 #: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 -#: lib/block_scout_web/views/transaction_view.ex:259 +#: lib/block_scout_web/views/transaction_view.ex:260 msgid "Token Transfer" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:20 +#: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex:3 #: lib/block_scout_web/templates/tokens/instance/transfer/index.html.eex:16 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 @@ -894,7 +894,7 @@ msgstr "" #: lib/block_scout_web/views/address_view.ex:308 #: lib/block_scout_web/views/tokens/instance/overview_view.ex:71 #: lib/block_scout_web/views/tokens/overview_view.ex:35 -#: lib/block_scout_web/views/transaction_view.ex:313 +#: lib/block_scout_web/views/transaction_view.ex:314 msgid "Token Transfers" msgstr "" @@ -910,7 +910,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/_logs.html.eex:18 -#: lib/block_scout_web/views/transaction_view.ex:262 +#: lib/block_scout_web/views/transaction_view.ex:263 msgid "Transaction" msgstr "" @@ -1195,7 +1195,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 #: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 -#: lib/block_scout_web/views/transaction_view.ex:316 +#: lib/block_scout_web/views/transaction_view.ex:317 msgid "Raw Trace" msgstr "" @@ -1818,12 +1818,12 @@ msgid "Decompiled Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:14 +#: lib/block_scout_web/templates/address/_tabs.html.eex:20 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 #: lib/block_scout_web/views/address_view.ex:307 -#: lib/block_scout_web/views/transaction_view.ex:314 +#: lib/block_scout_web/views/transaction_view.ex:315 msgid "Internal Transactions" msgstr "" @@ -1833,7 +1833,7 @@ msgstr "" #: lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: lib/block_scout_web/templates/transaction_log/index.html.eex:8 #: lib/block_scout_web/views/address_view.ex:314 -#: lib/block_scout_web/views/transaction_view.ex:315 +#: lib/block_scout_web/views/transaction_view.ex:316 msgid "Logs" msgstr "" @@ -1846,7 +1846,7 @@ msgid "Read Contract" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:8 +#: lib/block_scout_web/templates/address/_tabs.html.eex:14 #: lib/block_scout_web/templates/address_token/index.html.eex:8 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:11 #: lib/block_scout_web/views/address_view.ex:305 diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 3ef2c631b2..40af873b35 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -353,12 +353,12 @@ msgid "Contract Byte Code" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:261 +#: lib/block_scout_web/views/transaction_view.ex:262 msgid "Contract Call" msgstr "" #, elixir-format -#: lib/block_scout_web/views/transaction_view.ex:260 +#: lib/block_scout_web/views/transaction_view.ex:261 msgid "Contract Creation" msgstr "" @@ -879,12 +879,12 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 #: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 -#: lib/block_scout_web/views/transaction_view.ex:259 +#: lib/block_scout_web/views/transaction_view.ex:260 msgid "Token Transfer" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:20 +#: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex:3 #: lib/block_scout_web/templates/tokens/instance/transfer/index.html.eex:16 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 @@ -894,7 +894,7 @@ msgstr "" #: lib/block_scout_web/views/address_view.ex:308 #: lib/block_scout_web/views/tokens/instance/overview_view.ex:71 #: lib/block_scout_web/views/tokens/overview_view.ex:35 -#: lib/block_scout_web/views/transaction_view.ex:313 +#: lib/block_scout_web/views/transaction_view.ex:314 msgid "Token Transfers" msgstr "" @@ -910,7 +910,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/_logs.html.eex:18 -#: lib/block_scout_web/views/transaction_view.ex:262 +#: lib/block_scout_web/views/transaction_view.ex:263 msgid "Transaction" msgstr "" @@ -1195,7 +1195,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 #: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 -#: lib/block_scout_web/views/transaction_view.ex:316 +#: lib/block_scout_web/views/transaction_view.ex:317 msgid "Raw Trace" msgstr "" @@ -1818,12 +1818,12 @@ msgid "Decompiled Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:14 +#: lib/block_scout_web/templates/address/_tabs.html.eex:20 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 #: lib/block_scout_web/views/address_view.ex:307 -#: lib/block_scout_web/views/transaction_view.ex:314 +#: lib/block_scout_web/views/transaction_view.ex:315 msgid "Internal Transactions" msgstr "" @@ -1833,7 +1833,7 @@ msgstr "" #: lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: lib/block_scout_web/templates/transaction_log/index.html.eex:8 #: lib/block_scout_web/views/address_view.ex:314 -#: lib/block_scout_web/views/transaction_view.ex:315 +#: lib/block_scout_web/views/transaction_view.ex:316 msgid "Logs" msgstr "" @@ -1846,7 +1846,7 @@ msgid "Read Contract" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:8 +#: lib/block_scout_web/templates/address/_tabs.html.eex:14 #: lib/block_scout_web/templates/address_token/index.html.eex:8 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:11 #: lib/block_scout_web/views/address_view.ex:305 From 85fd91faacdd0b1b0022caf285d33c82917dba36 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Wed, 6 Nov 2019 13:14:13 +0300 Subject: [PATCH 065/342] add filter to token transfers --- .../address_token_transfer_controller.ex | 3 +- .../address_token_transfer/index.html.eex | 42 +++++++++++++++++++ .../views/address_token_transfer_view.ex | 8 ++++ apps/block_scout_web/priv/gettext/default.pot | 11 ++++- .../priv/gettext/en/LC_MESSAGES/default.po | 11 ++++- 5 files changed, 70 insertions(+), 5 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex index c67055c3e2..af7a4c93f4 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_transfer_controller.ex @@ -166,7 +166,7 @@ defmodule BlockScoutWeb.AddressTokenTransferController do def index( conn, - %{"address_id" => address_hash_string} + %{"address_id" => address_hash_string} = params ) do with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), {:ok, address} <- Chain.hash_to_address(address_hash) do @@ -176,6 +176,7 @@ defmodule BlockScoutWeb.AddressTokenTransferController do address: address, coin_balance_status: CoinBalanceOnDemand.trigger_fetch(address), exchange_rate: Market.get_exchange_rate(Explorer.coin()) || Token.null(), + filter: params["filter"], current_path: current_path(conn), counters_path: address_path(conn, :address_counters, %{"id" => to_string(address_hash)}) ) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex index 6ffed31c9a..a24338c3ab 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex @@ -12,6 +12,48 @@ <% end %> + <%= if !assigns[:token] do %> +
+

<%= gettext "Transactions" %>

+ +
+ <% end %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %>
+ diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_logs/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_logs/index.html.eex index fabbc7f7d8..8d5c49f430 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_logs/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_logs/index.html.eex @@ -36,5 +36,6 @@
+ diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_transaction/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_transaction/index.html.eex index 83c5454627..37efc48007 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_transaction/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_transaction/index.html.eex @@ -82,5 +82,6 @@
+ diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_validation/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_validation/index.html.eex index 03b37369bc..df34bab807 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_validation/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_validation/index.html.eex @@ -30,5 +30,6 @@
+
From bcd86a1b7a3f5381af67603e089f7eb3958c3c10 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Wed, 8 Jan 2020 15:45:50 +0300 Subject: [PATCH 228/342] separate blocks page logic --- apps/block_scout_web/assets/js/app.js | 1 - apps/block_scout_web/assets/webpack.config.js | 1 + .../lib/block_scout_web/templates/block/index.html.eex | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/block_scout_web/assets/js/app.js b/apps/block_scout_web/assets/js/app.js index 0b47f0f550..dcdfcfdb3f 100644 --- a/apps/block_scout_web/assets/js/app.js +++ b/apps/block_scout_web/assets/js/app.js @@ -20,7 +20,6 @@ import 'bootstrap' import './locale' -import './pages/blocks' import './pages/pending_transactions' import './pages/transaction' import './pages/transactions' diff --git a/apps/block_scout_web/assets/webpack.config.js b/apps/block_scout_web/assets/webpack.config.js index 4b89ec5ae5..0ebf74beae 100644 --- a/apps/block_scout_web/assets/webpack.config.js +++ b/apps/block_scout_web/assets/webpack.config.js @@ -77,6 +77,7 @@ const appJs = stakes: './js/pages/stakes.js', 'chart-loader': './js/chart-loader.js', 'chain': './js/pages/chain.js', + 'blocks': './js/pages/blocks.js', 'address': './js/pages/address.js', 'address-transactions': './js/pages/address/transactions.js', 'address-coin-balances': './js/pages/address/coin_balances.js', diff --git a/apps/block_scout_web/lib/block_scout_web/templates/block/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/block/index.html.eex index dd8a3ed093..fca5d0e1e3 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/block/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/block/index.html.eex @@ -22,4 +22,5 @@ + From e8896c2840ae9a399d85d8f08a92a1b3b1ba9a88 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Wed, 8 Jan 2020 16:43:04 +0300 Subject: [PATCH 229/342] separate transactions logic --- apps/block_scout_web/assets/js/app.js | 3 --- apps/block_scout_web/assets/webpack.config.js | 3 +++ .../templates/pending_transaction/index.html.eex | 1 + .../lib/block_scout_web/templates/transaction/index.html.eex | 1 + .../block_scout_web/templates/transaction/overview.html.eex | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/block_scout_web/assets/js/app.js b/apps/block_scout_web/assets/js/app.js index dcdfcfdb3f..6df3c96830 100644 --- a/apps/block_scout_web/assets/js/app.js +++ b/apps/block_scout_web/assets/js/app.js @@ -20,9 +20,6 @@ import 'bootstrap' import './locale' -import './pages/pending_transactions' -import './pages/transaction' -import './pages/transactions' import './pages/layout' import './pages/verification_form' import './pages/token_counters' diff --git a/apps/block_scout_web/assets/webpack.config.js b/apps/block_scout_web/assets/webpack.config.js index 0ebf74beae..44dcf841c4 100644 --- a/apps/block_scout_web/assets/webpack.config.js +++ b/apps/block_scout_web/assets/webpack.config.js @@ -84,6 +84,9 @@ const appJs = 'address-internal-transactions': './js/pages/address/internal_transactions.js', 'address-logs': './js/pages/address/logs.js', 'address-validations': './js/pages/address/validations.js', + 'validated-transactions': './js/pages/transactions.js', + 'pending-transactions': './js/pages/pending_transactions.js', + 'transaction': './js/pages/transaction.js', 'non-critical': './css/non-critical.scss' }, output: { diff --git a/apps/block_scout_web/lib/block_scout_web/templates/pending_transaction/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/pending_transaction/index.html.eex index e819285629..396c034fb7 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/pending_transaction/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/pending_transaction/index.html.eex @@ -31,4 +31,5 @@ + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/index.html.eex index bce59eb00b..d4c997aa80 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/index.html.eex @@ -35,4 +35,5 @@ <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex index 68f6fe98b8..99b8d6f60c 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex @@ -255,5 +255,5 @@ <% end %> - + From eaec2df421f885cb6487c1f7dd577ef844274b28 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Wed, 8 Jan 2020 17:37:51 +0300 Subject: [PATCH 230/342] Actualize additional_internal_transaction_constraints script --- CHANGELOG.md | 1 + ...ional_internal_transaction_constraints.sql | 76 ++++++++++--------- 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b13d14555e..0eb587ba94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - [2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table ### Chore +- [#2940](https://github.com/poanetwork/blockscout/pull/2940) - Actualize additional_internal_transaction_constraints script - [#2896](https://github.com/poanetwork/blockscout/pull/2896) - Disable Parity websockets tests diff --git a/apps/explorer/priv/repo/migrations/scripts/20181108205650_additional_internal_transaction_constraints.sql b/apps/explorer/priv/repo/migrations/scripts/20181108205650_additional_internal_transaction_constraints.sql index 69a6fa24dd..2b46109775 100644 --- a/apps/explorer/priv/repo/migrations/scripts/20181108205650_additional_internal_transaction_constraints.sql +++ b/apps/explorer/priv/repo/migrations/scripts/20181108205650_additional_internal_transaction_constraints.sql @@ -1,69 +1,77 @@ +-- UPDATE (2020-08-01): use pending_block_operations table DO $$ DECLARE row_count integer := 1; - batch_size integer := 50000; -- HOW MANY ITEMS WILL BE UPDATED AT TIME + batch_size integer := 500; -- HOW MANY ITEMS WILL BE UPDATED AT TIME iterator integer := batch_size; max_row_number integer; next_iterator integer; - updated_transaction_count integer; + updated_blocks_count integer; deleted_internal_transaction_count integer; deleted_row_count integer; BEGIN - DROP TABLE IF EXISTS transactions_with_deprecated_internal_transactions; + DROP TABLE IF EXISTS blocks_with_deprecated_internal_transactions; -- CREATES TEMP TABLE TO STORE DATA TO BE UPDATED - CREATE TEMP TABLE transactions_with_deprecated_internal_transactions( - hash bytea NOT NULL, + CREATE TEMP TABLE blocks_with_deprecated_internal_transactions( + block_number integer NOT NULL, row_number integer ); - INSERT INTO transactions_with_deprecated_internal_transactions - SELECT DISTINCT ON (transaction_hash) - transaction_hash, + INSERT INTO blocks_with_deprecated_internal_transactions + SELECT DISTINCT ON (a.block_number) + a.block_number, ROW_NUMBER () OVER () - FROM internal_transactions - WHERE - -- call_has_call_type CONSTRAINT - (type = 'call' AND call_type IS NULL) OR - -- call_has_input CONSTRAINT - (type = 'call' AND input IS NULL) OR - -- create_has_init CONSTRAINT - (type = 'create' AND init is NULL) - ORDER BY transaction_hash DESC; - - max_row_number := (SELECT MAX(row_number) FROM transactions_with_deprecated_internal_transactions); - RAISE NOTICE '% transactions to be updated', max_row_number + 1; + FROM ( + SELECT DISTINCT i.block_number, i.transaction_index + FROM internal_transactions i + WHERE + i.block_number IS NOT NULL + AND + -- call_has_call_type CONSTRAINT + ((i.type = 'call' AND i.call_type IS NULL) OR + -- call_has_input CONSTRAINT + (i.type = 'call' AND i.input IS NULL) OR + -- create_has_init CONSTRAINT + (i.type = 'create' AND i.init is NULL)) + ORDER BY i.block_number DESC, i.transaction_index + ) a; + + max_row_number := (SELECT MAX(row_number) FROM blocks_with_deprecated_internal_transactions); + RAISE NOTICE '% blocks to be updated', max_row_number + 1; -- ITERATES THROUGH THE ITEMS UNTIL THE TEMP TABLE IS EMPTY WHILE iterator <= max_row_number LOOP next_iterator := iterator + batch_size; - RAISE NOTICE '-> transactions with deprecated internal transactions % to % to be updated', iterator, next_iterator - 1; + RAISE NOTICE '-> blocks with deprecated internal transactions % to % to be updated', iterator, next_iterator - 1; - UPDATE transactions - SET internal_transactions_indexed_at = NULL, - error = NULL - FROM transactions_with_deprecated_internal_transactions - WHERE transactions.hash = transactions_with_deprecated_internal_transactions.hash AND - transactions_with_deprecated_internal_transactions.row_number < next_iterator; + INSERT INTO pending_block_operations (block_hash, inserted_at, updated_at, fetch_internal_transactions) + SELECT b.hash, NOW(), NOW(), true + FROM blocks_with_deprecated_internal_transactions bd, blocks b + WHERE bd.block_number = b.number + AND bd.row_number < next_iterator + AND b.consensus = true + ON CONFLICT (block_hash) + DO NOTHING; - GET DIAGNOSTICS updated_transaction_count = ROW_COUNT; + GET DIAGNOSTICS updated_blocks_count = ROW_COUNT; - RAISE NOTICE '-> % transactions updated to refetch internal transactions', updated_transaction_count; + RAISE NOTICE '-> % blocks updated to refetch internal transactions', updated_blocks_count; DELETE FROM internal_transactions - USING transactions_with_deprecated_internal_transactions - WHERE internal_transactions.transaction_hash = transactions_with_deprecated_internal_transactions.hash AND - transactions_with_deprecated_internal_transactions.row_number < next_iterator; + USING blocks_with_deprecated_internal_transactions + WHERE internal_transactions.block_number = blocks_with_deprecated_internal_transactions.block_number AND + blocks_with_deprecated_internal_transactions.row_number < next_iterator; GET DIAGNOSTICS deleted_internal_transaction_count = ROW_COUNT; RAISE NOTICE '-> % internal transactions deleted', deleted_internal_transaction_count; - DELETE FROM transactions_with_deprecated_internal_transactions + DELETE FROM blocks_with_deprecated_internal_transactions WHERE row_number < next_iterator; GET DIAGNOSTICS deleted_row_count = ROW_COUNT; - ASSERT updated_transaction_count = deleted_row_count; + ASSERT updated_blocks_count = deleted_row_count; -- COMMITS THE BATCH UPDATES CHECKPOINT; From c9e06657d2346bd35e6276ac662647259321c66d Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Wed, 8 Jan 2020 17:56:14 +0300 Subject: [PATCH 231/342] Update CHANGELOG entry --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0eb587ba94..4924554fb7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ ## Current ### Features -- [#2835](https://github.com/poanetwork/blockscout/pull/2835), [#2871](https://github.com/poanetwork/blockscout/pull/2871), [#2872](https://github.com/poanetwork/blockscout/pull/2872), [#2886](https://github.com/poanetwork/blockscout/pull/2886), [#2925](https://github.com/poanetwork/blockscout/pull/2925), [#2936](https://github.com/poanetwork/blockscout/pull/2936) - Add "block_hash" to logs, token_transfers and internal transactions and "pending blocks operations" approach +- [#2835](https://github.com/poanetwork/blockscout/pull/2835), [#2871](https://github.com/poanetwork/blockscout/pull/2871), [#2872](https://github.com/poanetwork/blockscout/pull/2872), [#2886](https://github.com/poanetwork/blockscout/pull/2886), [#2925](https://github.com/poanetwork/blockscout/pull/2925), [#2936](https://github.com/poanetwork/blockscout/pull/2936), [#2940](https://github.com/poanetwork/blockscout/pull/2940) - Add "block_hash" to logs, token_transfers and internal transactions and "pending blocks operations" approach - [#2926](https://github.com/poanetwork/blockscout/pull/2926) - API endpoint: sum balances except burnt address - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly @@ -23,7 +23,6 @@ - [2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table ### Chore -- [#2940](https://github.com/poanetwork/blockscout/pull/2940) - Actualize additional_internal_transaction_constraints script - [#2896](https://github.com/poanetwork/blockscout/pull/2896) - Disable Parity websockets tests From c418a70a95129be1e3e1bca32983111213f8655e Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Thu, 9 Jan 2020 14:52:30 +0300 Subject: [PATCH 232/342] separate remaining pages logic --- apps/block_scout_web/assets/js/app.js | 4 ---- apps/block_scout_web/assets/webpack.config.js | 3 +++ .../templates/address_contract_verification/new.html.eex | 2 +- .../block_scout_web/templates/admin/dashboard/index.html.eex | 1 + .../templates/tokens/overview/_details.html.eex | 1 + 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/block_scout_web/assets/js/app.js b/apps/block_scout_web/assets/js/app.js index 6df3c96830..6c38421050 100644 --- a/apps/block_scout_web/assets/js/app.js +++ b/apps/block_scout_web/assets/js/app.js @@ -21,12 +21,8 @@ import 'bootstrap' import './locale' import './pages/layout' -import './pages/verification_form' -import './pages/token_counters' import './pages/dark-mode-switcher' -import './pages/admin/tasks.js' - import './lib/clipboard_buttons' import './lib/currency' import './lib/from_now' diff --git a/apps/block_scout_web/assets/webpack.config.js b/apps/block_scout_web/assets/webpack.config.js index 44dcf841c4..53cd26f2c3 100644 --- a/apps/block_scout_web/assets/webpack.config.js +++ b/apps/block_scout_web/assets/webpack.config.js @@ -87,6 +87,9 @@ const appJs = 'validated-transactions': './js/pages/transactions.js', 'pending-transactions': './js/pages/pending_transactions.js', 'transaction': './js/pages/transaction.js', + 'verification-form': './js/pages/verification_form.js', + 'token-counters': './js/pages/token_counters.js', + 'admin-tasks': './js/pages/admin/tasks.js', 'non-critical': './css/non-critical.scss' }, output: { diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex index ddaa85a18b..462292a73a 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex @@ -279,5 +279,5 @@ <% end %> - + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/admin/dashboard/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/admin/dashboard/index.html.eex index 40fb11a06a..bd18d6596e 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/admin/dashboard/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/admin/dashboard/index.html.eex @@ -33,4 +33,5 @@ + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex index d46dbb25ac..c005db9a12 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex @@ -96,6 +96,7 @@ <% end %> + + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/read_contract/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/read_contract/index.html.eex index 46a076eef8..8613a93bb0 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/read_contract/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/read_contract/index.html.eex @@ -22,4 +22,5 @@ + From 2a97b6831ffab5cfc0f41d45ccaa236cf5bc6220 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Thu, 9 Jan 2020 17:24:02 +0300 Subject: [PATCH 234/342] remove token balance dropdown logic from app.js --- apps/block_scout_web/assets/js/app.js | 2 -- apps/block_scout_web/assets/js/pages/address.js | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/block_scout_web/assets/js/app.js b/apps/block_scout_web/assets/js/app.js index d2c1f7ee8e..13933f92e0 100644 --- a/apps/block_scout_web/assets/js/app.js +++ b/apps/block_scout_web/assets/js/app.js @@ -32,8 +32,6 @@ import './lib/pending_transactions_toggle' import './lib/pretty_json' import './lib/reload_button' import './lib/stop_propagation' -import './lib/token_balance_dropdown' -import './lib/token_balance_dropdown_search' import './lib/token_transfers_toggle' import './lib/transaction_input_dropdown' import './lib/async_listing_load' diff --git a/apps/block_scout_web/assets/js/pages/address.js b/apps/block_scout_web/assets/js/pages/address.js index 97f66d2483..ffb679b456 100644 --- a/apps/block_scout_web/assets/js/pages/address.js +++ b/apps/block_scout_web/assets/js/pages/address.js @@ -7,6 +7,7 @@ import socket, { subscribeChannel } from '../socket' import { createStore, connectElements } from '../lib/redux_helpers.js' import { updateAllCalculatedUsdValues } from '../lib/currency.js' import { loadTokenBalanceDropdown } from '../lib/token_balance_dropdown' +import '../lib/token_balance_dropdown_search' export const initialState = { channelDisconnected: false, From a4e1f0124c218931462effbb6a2ca93526554c34 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Thu, 9 Jan 2020 19:16:59 +0300 Subject: [PATCH 235/342] move some libs to separate files --- apps/block_scout_web/assets/js/app.js | 4 ---- apps/block_scout_web/assets/js/pages/transaction.js | 1 + apps/block_scout_web/assets/webpack.config.js | 3 +++ .../block_scout_web/templates/api_docs/_action_tile.html.eex | 3 ++- .../block_scout_web/templates/api_docs/_eth_rpc_item.html.eex | 3 ++- .../lib/block_scout_web/templates/transaction/_tile.html.eex | 1 + 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/block_scout_web/assets/js/app.js b/apps/block_scout_web/assets/js/app.js index 13933f92e0..610f9bb46e 100644 --- a/apps/block_scout_web/assets/js/app.js +++ b/apps/block_scout_web/assets/js/app.js @@ -32,11 +32,7 @@ import './lib/pending_transactions_toggle' import './lib/pretty_json' import './lib/reload_button' import './lib/stop_propagation' -import './lib/token_transfers_toggle' -import './lib/transaction_input_dropdown' import './lib/async_listing_load' import './lib/tooltip' import './lib/modals' -import './lib/try_api' -import './lib/try_eth_api' import './lib/card_tabs' diff --git a/apps/block_scout_web/assets/js/pages/transaction.js b/apps/block_scout_web/assets/js/pages/transaction.js index 144b613022..869c2234d3 100644 --- a/apps/block_scout_web/assets/js/pages/transaction.js +++ b/apps/block_scout_web/assets/js/pages/transaction.js @@ -4,6 +4,7 @@ import humps from 'humps' import numeral from 'numeral' import socket from '../socket' import { createStore, connectElements } from '../lib/redux_helpers.js' +import '../lib/transaction_input_dropdown' export const initialState = { blockNumber: null, diff --git a/apps/block_scout_web/assets/webpack.config.js b/apps/block_scout_web/assets/webpack.config.js index e38c2b3b39..37bce76496 100644 --- a/apps/block_scout_web/assets/webpack.config.js +++ b/apps/block_scout_web/assets/webpack.config.js @@ -91,6 +91,9 @@ const appJs = 'token-counters': './js/pages/token_counters.js', 'admin-tasks': './js/pages/admin/tasks.js', 'smart-contract-helpers': './js/lib/smart_contract/index.js', + 'token-transfers-toggle': './js/lib/token_transfers_toggle.js', + 'try-api': './js/lib/try_api.js', + 'try-eth-api': './js/lib/try_eth_api.js', 'non-critical': './css/non-critical.scss' }, output: { diff --git a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_action_tile.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_action_tile.html.eex index f7611e9f54..68de4d366d 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_action_tile.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_action_tile.html.eex @@ -256,4 +256,5 @@ <% end %> - \ No newline at end of file + + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex index f464533c7e..d59e57b504 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex @@ -179,4 +179,5 @@ - \ No newline at end of file + + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/_tile.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/_tile.html.eex index 91a7d9973a..c8a966c9f2 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/_tile.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/_tile.html.eex @@ -76,4 +76,5 @@ <% end %> + From bcd222e56750f94261675cc6559da58623fafe20 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Thu, 9 Jan 2020 19:18:54 +0300 Subject: [PATCH 236/342] fix internalization files --- apps/block_scout_web/priv/gettext/default.pot | 26 +++++++++---------- .../priv/gettext/en/LC_MESSAGES/default.po | 26 +++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 27513a79b2..397819bd85 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -233,7 +233,7 @@ msgid "BlockScout provides analytics data, API, and Smart Contract tools for the msgstr "" #, elixir-format -#: lib/block_scout_web/templates/chain/show.html.eex:81 +#: lib/block_scout_web/templates/chain/show.html.eex:82 #: lib/block_scout_web/templates/layout/_topnav.html.eex:31 #: lib/block_scout_web/templates/layout/_topnav.html.eex:35 msgid "Blocks" @@ -1067,7 +1067,7 @@ msgid "More internal transactions have come in" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/chain/show.html.eex:142 +#: lib/block_scout_web/templates/chain/show.html.eex:143 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:10 #: lib/block_scout_web/templates/transaction/index.html.eex:10 msgid "More transactions have come in" @@ -1176,11 +1176,11 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:131 +#: lib/block_scout_web/templates/address/overview.html.eex:132 #: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:51 #: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:93 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 msgid "QR Code" msgstr "" @@ -1313,7 +1313,7 @@ msgstr "" #: lib/block_scout_web/templates/address_transaction/index.html.eex:59 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 #: lib/block_scout_web/templates/block_transaction/index.html.eex:23 -#: lib/block_scout_web/templates/chain/show.html.eex:85 +#: lib/block_scout_web/templates/chain/show.html.eex:86 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/tokens/holder/index.html.eex:20 #: lib/block_scout_web/templates/tokens/instance/transfer/index.html.eex:21 @@ -1327,7 +1327,7 @@ msgid "Something went wrong, click to reload." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/chain/show.html.eex:148 +#: lib/block_scout_web/templates/chain/show.html.eex:149 msgid "Something went wrong, click to retry." msgstr "" @@ -1597,12 +1597,12 @@ msgid "Version" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/chain/show.html.eex:80 +#: lib/block_scout_web/templates/chain/show.html.eex:81 msgid "View All Blocks" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/chain/show.html.eex:138 +#: lib/block_scout_web/templates/chain/show.html.eex:139 msgid "View All Transactions" msgstr "" @@ -1718,12 +1718,12 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/overview.html.eex:132 -#: lib/block_scout_web/templates/address/overview.html.eex:140 +#: lib/block_scout_web/templates/address/overview.html.eex:133 +#: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:94 #: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:102 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:107 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:115 msgid "Close" msgstr "" @@ -1866,7 +1866,7 @@ msgstr "" #: lib/block_scout_web/templates/address_transaction/index.html.eex:15 #: lib/block_scout_web/templates/block_transaction/index.html.eex:10 #: lib/block_scout_web/templates/block_transaction/index.html.eex:18 -#: lib/block_scout_web/templates/chain/show.html.eex:139 +#: lib/block_scout_web/templates/chain/show.html.eex:140 #: lib/block_scout_web/templates/layout/_topnav.html.eex:50 #: lib/block_scout_web/views/address_view.ex:306 msgid "Transactions" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 27513a79b2..397819bd85 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -233,7 +233,7 @@ msgid "BlockScout provides analytics data, API, and Smart Contract tools for the msgstr "" #, elixir-format -#: lib/block_scout_web/templates/chain/show.html.eex:81 +#: lib/block_scout_web/templates/chain/show.html.eex:82 #: lib/block_scout_web/templates/layout/_topnav.html.eex:31 #: lib/block_scout_web/templates/layout/_topnav.html.eex:35 msgid "Blocks" @@ -1067,7 +1067,7 @@ msgid "More internal transactions have come in" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/chain/show.html.eex:142 +#: lib/block_scout_web/templates/chain/show.html.eex:143 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:10 #: lib/block_scout_web/templates/transaction/index.html.eex:10 msgid "More transactions have come in" @@ -1176,11 +1176,11 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:131 +#: lib/block_scout_web/templates/address/overview.html.eex:132 #: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:51 #: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:93 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 msgid "QR Code" msgstr "" @@ -1313,7 +1313,7 @@ msgstr "" #: lib/block_scout_web/templates/address_transaction/index.html.eex:59 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 #: lib/block_scout_web/templates/block_transaction/index.html.eex:23 -#: lib/block_scout_web/templates/chain/show.html.eex:85 +#: lib/block_scout_web/templates/chain/show.html.eex:86 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/tokens/holder/index.html.eex:20 #: lib/block_scout_web/templates/tokens/instance/transfer/index.html.eex:21 @@ -1327,7 +1327,7 @@ msgid "Something went wrong, click to reload." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/chain/show.html.eex:148 +#: lib/block_scout_web/templates/chain/show.html.eex:149 msgid "Something went wrong, click to retry." msgstr "" @@ -1597,12 +1597,12 @@ msgid "Version" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/chain/show.html.eex:80 +#: lib/block_scout_web/templates/chain/show.html.eex:81 msgid "View All Blocks" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/chain/show.html.eex:138 +#: lib/block_scout_web/templates/chain/show.html.eex:139 msgid "View All Transactions" msgstr "" @@ -1718,12 +1718,12 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/overview.html.eex:132 -#: lib/block_scout_web/templates/address/overview.html.eex:140 +#: lib/block_scout_web/templates/address/overview.html.eex:133 +#: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:94 #: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:102 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:107 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:115 msgid "Close" msgstr "" @@ -1866,7 +1866,7 @@ msgstr "" #: lib/block_scout_web/templates/address_transaction/index.html.eex:15 #: lib/block_scout_web/templates/block_transaction/index.html.eex:10 #: lib/block_scout_web/templates/block_transaction/index.html.eex:18 -#: lib/block_scout_web/templates/chain/show.html.eex:139 +#: lib/block_scout_web/templates/chain/show.html.eex:140 #: lib/block_scout_web/templates/layout/_topnav.html.eex:50 #: lib/block_scout_web/views/address_view.ex:306 msgid "Transactions" From 7453495b6705a40a355ec52632b74795f2978fa0 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 10 Jan 2020 13:29:17 +0300 Subject: [PATCH 237/342] Fix npm deps --- CHANGELOG.md | 1 + apps/block_scout_web/assets/package-lock.json | 52 +++++++++---------- 2 files changed, 25 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b13d14555e..a31c105489 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - [2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table ### Chore +- [#2946](https://github.com/poanetwork/blockscout/pull/2946) - Fix vulnerable NPM deps - [#2896](https://github.com/poanetwork/blockscout/pull/2896) - Disable Parity websockets tests diff --git a/apps/block_scout_web/assets/package-lock.json b/apps/block_scout_web/assets/package-lock.json index b24d278bae..5cdcd178fd 100644 --- a/apps/block_scout_web/assets/package-lock.json +++ b/apps/block_scout_web/assets/package-lock.json @@ -5883,9 +5883,9 @@ "dev": true }, "handlebars": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.1.tgz", - "integrity": "sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.6.0.tgz", + "integrity": "sha512-i1ZUP7Qp2JdkMaFon2a+b0m5geE8Z4ZTLaGkgrObkEd+OkUKyRbRWw4KxuFCoHfdETSY1yf9/574eVoNSiK7pw==", "dev": true, "requires": { "neo-async": "^2.6.0", @@ -11466,9 +11466,9 @@ "dev": true }, "serialize-javascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.0.tgz", - "integrity": "sha512-a/mxFfU00QT88umAJQsNWOnUKckhNCqOl028N48e7wFmo2/EHpTo9Wso+iJJCMrQnmFvcjto5RJdAHEvVhcyUQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", "dev": true }, "set-blocking": { @@ -12672,9 +12672,9 @@ "dev": true }, "uglify-js": { - "version": "3.6.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.9.tgz", - "integrity": "sha512-pcnnhaoG6RtrvHJ1dFncAe8Od6Nuy30oaJ82ts6//sGSXOP5UjBMEthiProjXmMNHOfd93sqlkztifFMcb+4yw==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.4.tgz", + "integrity": "sha512-tinYWE8X1QfCHxS1lBS8yiDekyhSXOO6R66yNOCdUJeojxxw+PX2BHAz/BWyW7PQ7pkiWVxJfIEbiDxyLWvUGg==", "dev": true, "optional": true, "requires": { @@ -13312,12 +13312,6 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -13325,20 +13319,31 @@ "dev": true }, "terser-webpack-plugin": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", - "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^1.7.0", + "serialize-javascript": "^2.1.2", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", "worker-farm": "^1.7.0" + }, + "dependencies": { + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + } } } } @@ -13586,15 +13591,6 @@ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", From 99710767c9190b898b63831e57917bec49bcfeff Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 10 Jan 2020 14:13:13 +0300 Subject: [PATCH 238/342] improve migrations --- ...20191128124415_remove_duplicate_indexes_token_entities.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/explorer/priv/repo/migrations/20191128124415_remove_duplicate_indexes_token_entities.exs b/apps/explorer/priv/repo/migrations/20191128124415_remove_duplicate_indexes_token_entities.exs index 35a19839d5..9a9415ada4 100644 --- a/apps/explorer/priv/repo/migrations/20191128124415_remove_duplicate_indexes_token_entities.exs +++ b/apps/explorer/priv/repo/migrations/20191128124415_remove_duplicate_indexes_token_entities.exs @@ -2,8 +2,8 @@ defmodule Explorer.Repo.Migrations.RemoveDuplicateIndexesTokenEntities do use Ecto.Migration def change do - drop(index(:address_token_balances, [:block_number])) + drop_if_exists(index(:address_token_balances, [:block_number], name: "address_token_balances_block_number_index")) - drop(index(:token_instances, [:token_id])) + drop_if_exists(index(:token_instances, [:token_id], name: "token_instances_token_id_index")) end end From 4cb31f20737ab20b08b0f4520433dcffcd1de527 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 10 Jan 2020 14:21:06 +0300 Subject: [PATCH 239/342] Upgrade Circle CI postgres Docker image --- .circleci/config.yml | 8 ++++---- CHANGELOG.md | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 50b28b631b..f93c373f73 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -345,7 +345,7 @@ jobs: # PGUSER: postgres # ETHEREUM_JSONRPC_CASE: "EthereumJSONRPC.Case.Geth.HTTPWebSocket" # ETHEREUM_JSONRPC_WEB_SOCKET_CASE: "EthereumJSONRPC.WebSocket.Case.Geth" - # - image: circleci/postgres:10.3-alpine + # - image: circleci/postgres:10.10-alpine # environment: # # Match apps/explorer/config/test.exs config :explorer, Explorer.Repo, database # POSTGRES_DB: explorer_test @@ -399,7 +399,7 @@ jobs: # PGUSER: postgres # ETHEREUM_JSONRPC_CASE: "EthereumJSONRPC.Case.Geth.Mox" # ETHEREUM_JSONRPC_WEB_SOCKET_CASE: "EthereumJSONRPC.WebSocket.Case.Mox" - # - image: circleci/postgres:10.3-alpine + # - image: circleci/postgres:10.10-alpine # environment: # # Match apps/explorer/config/test.exs config :explorer, Explorer.Repo, database # POSTGRES_DB: explorer_test @@ -453,7 +453,7 @@ jobs: # PGUSER: postgres # ETHEREUM_JSONRPC_CASE: "EthereumJSONRPC.Case.Parity.HTTPWebSocket" # ETHEREUM_JSONRPC_WEB_SOCKET_CASE: "EthereumJSONRPC.WebSocket.Case.Parity" - # - image: circleci/postgres:10.3-alpine + # - image: circleci/postgres:10.10-alpine # environment: # # Match apps/explorer/config/test.exs config :explorer, Explorer.Repo, database # POSTGRES_DB: explorer_test @@ -507,7 +507,7 @@ jobs: PGUSER: postgres ETHEREUM_JSONRPC_CASE: "EthereumJSONRPC.Case.Parity.Mox" ETHEREUM_JSONRPC_WEB_SOCKET_CASE: "EthereumJSONRPC.WebSocket.Case.Mox" - - image: circleci/postgres:10.3-alpine + - image: circleci/postgres:10.10-alpine environment: # Match apps/explorer/config/test.exs config :explorer, Explorer.Repo, database POSTGRES_DB: explorer_test diff --git a/CHANGELOG.md b/CHANGELOG.md index b13d14555e..76f6358dac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - [2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table ### Chore +- [#2947](https://github.com/poanetwork/blockscout/pull/2947) - Upgrade Circle CI postgres Docker image - [#2896](https://github.com/poanetwork/blockscout/pull/2896) - Disable Parity websockets tests From 58519085471faea1d4905eedcf3ca1d571e30c67 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Mon, 13 Jan 2020 14:16:30 +0300 Subject: [PATCH 240/342] fix api templates --- .../lib/block_scout_web/templates/api_docs/_action_tile.html.eex | 1 - .../block_scout_web/templates/api_docs/_eth_rpc_item.html.eex | 1 - .../lib/block_scout_web/templates/api_docs/eth_rpc.html.eex | 1 + .../lib/block_scout_web/templates/api_docs/index.html.eex | 1 + 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_action_tile.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_action_tile.html.eex index 68de4d366d..240294c88a 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_action_tile.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_action_tile.html.eex @@ -256,5 +256,4 @@ <% end %> - diff --git a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex index d59e57b504..3330a3a565 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex @@ -179,5 +179,4 @@ - diff --git a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex index 7b8a9a98de..ac80b13597 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex @@ -21,4 +21,5 @@ <%= render "_eth_rpc_item.html", action: method, info: info %> <% end %> + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/index.html.eex index 59dae38cdb..6f27e0bc47 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/index.html.eex @@ -14,4 +14,5 @@ <%= for module <- @documentation do %> <%= render "_module_card.html", module: module %> <% end %> + From ee7fb49c03603cb1141da982b29537eb85f9c361 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Mon, 13 Jan 2020 15:38:18 +0300 Subject: [PATCH 241/342] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bb5120ae1..78a2a1ff33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly ### Fixes +- [#2944](https://github.com/poanetwork/blockscout/pull/2944) - Split js logic into multiple files - [#2933](https://github.com/poanetwork/blockscout/pull/2933) - Get rid of deadlock in the query to address_current_token_balance table - [#2932](https://github.com/poanetwork/blockscout/pull/2932) - fix duplicate websocket connection - [#2928](https://github.com/poanetwork/blockscout/pull/2928) - Speedup pending block ops int txs to fetch query From 04bce6a0f6247e7e959b199bdf3e7c65e2b1f286 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Thu, 9 Jan 2020 18:21:16 +0300 Subject: [PATCH 242/342] Actualize Docker setup --- CHANGELOG.md | 1 + docker/Dockerfile | 6 +- docker/Makefile | 172 ++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 163 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b13d14555e..f854ed3c11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - [2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table ### Chore +- [#2942](https://github.com/poanetwork/blockscout/pull/2942) - Actualize Docker setup - [#2896](https://github.com/poanetwork/blockscout/pull/2896) - Disable Parity websockets tests diff --git a/docker/Dockerfile b/docker/Dockerfile index f73c4b34f0..65a46ccced 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM bitwalker/alpine-elixir-phoenix:1.9.0 +FROM bitwalker/alpine-elixir-phoenix:1.9.1 RUN apk --no-cache --update add alpine-sdk gmp-dev automake libtool inotify-tools autoconf python @@ -15,7 +15,7 @@ ADD apps/explorer/mix.exs ./apps/explorer/ ADD apps/ethereum_jsonrpc/mix.exs ./apps/ethereum_jsonrpc/ ADD apps/indexer/mix.exs ./apps/indexer/ -RUN mix do deps.get, deps.compile +RUN mix do deps.get, local.rebar --force, deps.compile ADD . . @@ -37,6 +37,8 @@ RUN cd apps/explorer/ && \ # RUN mix do ecto.drop --force, ecto.create, ecto.migrate +RUN mix phx.digest + # USER default # CMD ["mix", "phx.server"] diff --git a/docker/Makefile b/docker/Makefile index 6005fbdaeb..7b13f9e860 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -3,7 +3,7 @@ HOST = host.docker.internal DOCKER_IMAGE = blockscout_prod BS_CONTAINER_NAME = blockscout PG_CONTAINER_NAME = postgres -PG_CONTAINER_IMAGE = postgres:10.6 +PG_CONTAINER_IMAGE = postgres:10.10 THIS_FILE = $(lastword $(MAKEFILE_LIST)) ifeq ($(SYSTEM), Linux) @@ -16,35 +16,179 @@ BLOCKSCOUT_CONTAINNER_PARAMS = -e 'MIX_ENV=prod' \ ifeq ($(SYSTEM), Linux) BLOCKSCOUT_CONTAINNER_PARAMS += --network=host endif +ifdef NETWORK + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'NETWORK=$(NETWORK)' +endif +ifdef SUBNETWORK + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SUBNETWORK=$(SUBNETWORK)' +endif +ifdef NETWORK_ICON + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'NETWORK_ICON=$(NETWORK_ICON)' +endif +ifdef LOGO + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'LOGO=$(LOGO)' +endif +ifdef LOGO_FOOTER + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'LOGO_FOOTER=$(LOGO_FOOTER)' +endif ifdef ETHEREUM_JSONRPC_VARIANT BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_VARIANT=$(ETHEREUM_JSONRPC_VARIANT)' endif ifdef ETHEREUM_JSONRPC_HTTP_URL BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_HTTP_URL=$(ETHEREUM_JSONRPC_HTTP_URL)' endif +ifdef ETHEREUM_JSONRPC_TRACE_URL + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_TRACE_URL=$(ETHEREUM_JSONRPC_TRACE_URL)' +endif ifdef ETHEREUM_JSONRPC_WS_URL BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_WS_URL=$(ETHEREUM_JSONRPC_WS_URL)' endif -ifdef ETHEREUM_JSONRPC_TRACE_URL - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_TRACE_URL=$(ETHEREUM_JSONRPC_TRACE_URL)' +ifdef ETHEREUM_JSONRPC_JSON_RPC_TRANSPORT + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_JSON_RPC_TRANSPORT=$(ETHEREUM_JSONRPC_JSON_RPC_TRANSPORT)' +endif +ifdef IPC_PATH + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'IPC_PATH=$(IPC_PATH)' +endif +ifdef NETWORK_PATH + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'NETWORK_PATH=$(NETWORK_PATH)' +endif +ifdef CHECK_ORIGIN + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'CHECK_ORIGIN=$(CHECK_ORIGIN)' endif ifdef COIN BLOCKSCOUT_CONTAINNER_PARAMS += -e 'COIN=$(COIN)' endif -ifdef LOGO - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'LOGO=$(LOGO)' +ifdef METADATA_CONTRACT + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'METADATA_CONTRACT=$(METADATA_CONTRACT)' endif -ifdef NETWORK - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'NETWORK=$(NETWORK)' +ifdef VALIDATORS_CONTRACT + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'VALIDATORS_CONTRACT=$(VALIDATORS_CONTRACT)' endif -ifdef SUBNETWORK - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SUBNETWORK=$(SUBNETWORK)' +ifdef SUPPLY_MODULE + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SUPPLY_MODULE=$(SUPPLY_MODULE)' endif -ifdef NETWORK_ICON - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'NETWORK_ICON=$(NETWORK_ICON)' +ifdef SOURCE_MODULE + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SOURCE_MODULE=$(SOURCE_MODULE)' endif -ifdef NETWORK_PATH - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'NETWORK_PATH=$(NETWORK_PATH)' +ifdef POOL_SIZE + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'POOL_SIZE=$(POOL_SIZE)' +endif +ifdef ECTO_USE_SSL + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ECTO_USE_SSL=$(ECTO_USE_SSL)' +endif +ifdef DATADOG_HOST + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DATADOG_HOST=$(DATADOG_HOST)' +endif +ifdef DATADOG_PORT + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DATADOG_PORT=$(DATADOG_PORT)' +endif +ifdef SPANDEX_BATCH_SIZE + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SPANDEX_BATCH_SIZE=$(SPANDEX_BATCH_SIZE)' +endif +ifdef SPANDEX_SYNC_THRESHOLD + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SPANDEX_SYNC_THRESHOLD=$(SPANDEX_SYNC_THRESHOLD)' +endif +ifdef HEART_BEAT_TIMEOUT + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'HEART_BEAT_TIMEOUT=$(HEART_BEAT_TIMEOUT)' +endif +ifdef HEART_COMMAND + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'HEART_COMMAND=$(HEART_COMMAND)' +endif +ifdef BLOCKSCOUT_VERSION + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCKSCOUT_VERSION=$(BLOCKSCOUT_VERSION)' +endif +ifdef RELEASE_LINK + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'RELEASE_LINK=$(RELEASE_LINK)' +endif +ifdef ELIXIR_VERSION + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ELIXIR_VERSION=$(ELIXIR_VERSION)' +endif +ifdef BLOCK_TRANSFORMER + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCK_TRANSFORMER=$(BLOCK_TRANSFORMER)' +endif +ifdef GRAPHIQL_TRANSACTION + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'GRAPHIQL_TRANSACTION=$(GRAPHIQL_TRANSACTION)' +endif +ifdef FIRST_BLOCK + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'FIRST_BLOCK=$(FIRST_BLOCK)' +endif +ifdef LAST_BLOCK + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'LAST_BLOCK=$(LAST_BLOCK)' +endif +ifdef TXS_COUNT_CACHE_PERIOD + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'TXS_COUNT_CACHE_PERIOD=$(TXS_COUNT_CACHE_PERIOD)' +endif +ifdef ADDRESS_WITH_BALANCES_UPDATE_INTERVAL + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=$(ADDRESS_WITH_BALANCES_UPDATE_INTERVAL)' +endif +ifdef LINK_TO_OTHER_EXPLORERS + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'LINK_TO_OTHER_EXPLORERS=$(LINK_TO_OTHER_EXPLORERS)' +endif +ifdef COINMARKETCAP_PAGES + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'COINMARKETCAP_PAGES=$(COINMARKETCAP_PAGES)' +endif +ifdef SUPPORTED_CHAINS + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SUPPORTED_CHAINS=$(SUPPORTED_CHAINS)' +endif +ifdef BLOCK_COUNT_CACHE_PERIOD + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCK_COUNT_CACHE_PERIOD=$(BLOCK_COUNT_CACHE_PERIOD)' +endif +ifdef ADDRESS_SUM_CACHE_PERIOD + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ADDRESS_SUM_CACHE_PERIOD=$(ADDRESS_SUM_CACHE_PERIOD)' +endif +ifdef ADDRESS_COUNT_CACHE_PERIOD + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ADDRESS_COUNT_CACHE_PERIOD=$(ADDRESS_COUNT_CACHE_PERIOD)' +endif +ifdef ALLOWED_EVM_VERSIONS + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ALLOWED_EVM_VERSIONS=$(ALLOWED_EVM_VERSIONS)' +endif +ifdef UNCLES_IN_AVERAGE_BLOCK_TIME + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'UNCLES_IN_AVERAGE_BLOCK_TIME=$(UNCLES_IN_AVERAGE_BLOCK_TIME)' +endif +ifdef AVERAGE_BLOCK_CACHE_PERIOD + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'AVERAGE_BLOCK_CACHE_PERIOD=$(AVERAGE_BLOCK_CACHE_PERIOD)' +endif +ifdef MARKET_HISTORY_CACHE_PERIOD + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'MARKET_HISTORY_CACHE_PERIOD=$(MARKET_HISTORY_CACHE_PERIOD)' +endif +ifdef DISABLE_WEBAPP + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DISABLE_WEBAPP=$(DISABLE_WEBAPP)' +endif +ifdef DISABLE_READ_API + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DISABLE_READ_API=$(DISABLE_READ_API)' +endif +ifdef DISABLE_WRITE_API + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DISABLE_WRITE_API=$(DISABLE_WRITE_API)' +endif +ifdef DISABLE_INDEXER + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DISABLE_INDEXER=$(DISABLE_INDEXER)' +endif +ifdef WEBAPP_URL + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'WEBAPP_URL=$(WEBAPP_URL)' +endif +ifdef API_URL + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'API_URL=$(API_URL)' +endif +ifdef CHAIN_SPEC_PATH + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'CHAIN_SPEC_PATH=$(CHAIN_SPEC_PATH)' +endif +ifdef COIN_GECKO_ID + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'COIN_GECKO_ID=$(COIN_GECKO_ID)' +endif +ifdef EMISSION_FORMAT + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'EMISSION_FORMAT=$(EMISSION_FORMAT)' +endif +ifdef REWARDS_CONTRACT_ADDRESS + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'REWARDS_CONTRACT_ADDRESS=$(REWARDS_CONTRACT_ADDRESS)' +endif +ifdef SHOW_ADDRESS_MARKETCAP_PERCENTAGE + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SHOW_ADDRESS_MARKETCAP_PERCENTAGE=$(SHOW_ADDRESS_MARKETCAP_PERCENTAGE)' +endif +ifdef BLOCKSCOUT_PROTOCOL + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCKSCOUT_PROTOCOL=$(BLOCKSCOUT_PROTOCOL)' +endif +ifdef DECOMPILED_SMART_CONTRACT_TOKEN + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DECOMPILED_SMART_CONTRACT_TOKEN=$(DECOMPILED_SMART_CONTRACT_TOKEN)' endif HAS_BLOCKSCOUT_IMAGE := $(shell docker images | grep ${DOCKER_IMAGE}) @@ -61,7 +205,7 @@ migrate: build postgres @echo "==> Running migrations" @docker run --rm \ $(BLOCKSCOUT_CONTAINNER_PARAMS) \ - $(DOCKER_IMAGE) /bin/sh -c "echo $$MIX_ENV && mix do ecto.drop --force, ecto.create, ecto.migrate" + $(DOCKER_IMAGE) /bin/sh -c "echo $$MIX_ENV && mix do ecto.create, ecto.migrate" PG_EXIST := $(shell docker ps -a --filter name=${PG_CONTAINER_NAME} | grep ${PG_CONTAINER_NAME}) From e1b8ff59c27efbb0fc95b661ace2fe8be751e3a6 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Tue, 14 Jan 2020 14:02:42 +0300 Subject: [PATCH 243/342] Prevent filling pending_block_operations table for RSK variant --- CHANGELOG.md | 2 +- .../explorer/chain/import/runner/blocks.ex | 42 ++++++++++--------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b13d14555e..f90788beaf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ ## Current ### Features -- [#2835](https://github.com/poanetwork/blockscout/pull/2835), [#2871](https://github.com/poanetwork/blockscout/pull/2871), [#2872](https://github.com/poanetwork/blockscout/pull/2872), [#2886](https://github.com/poanetwork/blockscout/pull/2886), [#2925](https://github.com/poanetwork/blockscout/pull/2925), [#2936](https://github.com/poanetwork/blockscout/pull/2936) - Add "block_hash" to logs, token_transfers and internal transactions and "pending blocks operations" approach +- [#2835](https://github.com/poanetwork/blockscout/pull/2835), [#2871](https://github.com/poanetwork/blockscout/pull/2871), [#2872](https://github.com/poanetwork/blockscout/pull/2872), [#2886](https://github.com/poanetwork/blockscout/pull/2886), [#2925](https://github.com/poanetwork/blockscout/pull/2925), [#2936](https://github.com/poanetwork/blockscout/pull/2936), [#2949](https://github.com/poanetwork/blockscout/pull/2949) - Add "block_hash" to logs, token_transfers and internal transactions and "pending blocks operations" approach - [#2926](https://github.com/poanetwork/blockscout/pull/2926) - API endpoint: sum balances except burnt address - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly diff --git a/apps/explorer/lib/explorer/chain/import/runner/blocks.ex b/apps/explorer/lib/explorer/chain/import/runner/blocks.ex index 3190c1abae..ddce8d0200 100644 --- a/apps/explorer/lib/explorer/chain/import/runner/blocks.ex +++ b/apps/explorer/lib/explorer/chain/import/runner/blocks.ex @@ -310,25 +310,29 @@ defmodule Explorer.Chain.Import.Runner.Blocks do end defp new_pending_operations(repo, nonconsensus_hashes, hashes, %{timeout: timeout, timestamps: timestamps}) do - sorted_pending_ops = - nonconsensus_hashes - |> MapSet.new() - |> MapSet.union(MapSet.new(hashes)) - |> Enum.sort() - |> Enum.map(fn hash -> - %{block_hash: hash, fetch_internal_transactions: true} - end) - - Import.insert_changes_list( - repo, - sorted_pending_ops, - conflict_target: :block_hash, - on_conflict: PendingBlockOperation.default_on_conflict(), - for: PendingBlockOperation, - returning: true, - timeout: timeout, - timestamps: timestamps - ) + if Application.get_env(:explorer, :json_rpc_named_arguments)[:variant] == EthereumJSONRPC.RSK do + {:ok, []} + else + sorted_pending_ops = + nonconsensus_hashes + |> MapSet.new() + |> MapSet.union(MapSet.new(hashes)) + |> Enum.sort() + |> Enum.map(fn hash -> + %{block_hash: hash, fetch_internal_transactions: true} + end) + + Import.insert_changes_list( + repo, + sorted_pending_ops, + conflict_target: :block_hash, + on_conflict: PendingBlockOperation.default_on_conflict(), + for: PendingBlockOperation, + returning: true, + timeout: timeout, + timestamps: timestamps + ) + end end defp delete_address_token_balances(_, [], _), do: {:ok, []} From e03378d6f28fc2344bcf656b5971ce469daec324 Mon Sep 17 00:00:00 2001 From: varasev <33550681+varasev@users.noreply.github.com> Date: Tue, 14 Jan 2020 15:24:54 +0300 Subject: [PATCH 244/342] Add `creationMethod` to `entry_to_elixir` Extends EthereumJSONRPC.Parity.Trace.Action.entry_to_elixir --- .../lib/ethereum_jsonrpc/parity/trace/action.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ethereum_jsonrpc/lib/ethereum_jsonrpc/parity/trace/action.ex b/apps/ethereum_jsonrpc/lib/ethereum_jsonrpc/parity/trace/action.ex index 4b3442b9fe..4785c0d0cf 100644 --- a/apps/ethereum_jsonrpc/lib/ethereum_jsonrpc/parity/trace/action.ex +++ b/apps/ethereum_jsonrpc/lib/ethereum_jsonrpc/parity/trace/action.ex @@ -45,7 +45,7 @@ defmodule EthereumJSONRPC.Parity.Trace.Action do end defp entry_to_elixir({key, value} = entry) - when key in ~w(address callType from init input refundAddress to) and is_binary(value), + when key in ~w(address callType from init input refundAddress to creationMethod) and is_binary(value), do: entry defp entry_to_elixir({key, quantity}) when key in ~w(balance gas value) do From 2b23ecc18fae513a13deb0a20d5bf5df2da126f7 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Thu, 16 Jan 2020 17:48:23 +0300 Subject: [PATCH 245/342] fix eth api docs --- .../lib/block_scout_web/templates/api_docs/eth_rpc.html.eex | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex index ac80b13597..5d665131fe 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex @@ -21,5 +21,6 @@ <%= render "_eth_rpc_item.html", action: method, info: info %> <% end %> + From bd589433fc517f3d1bf5dc5b50f7f12a2a35eb9e Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Thu, 16 Jan 2020 18:50:18 +0300 Subject: [PATCH 246/342] move socket path to env --- apps/block_scout_web/assets/js/socket.js | 2 +- apps/block_scout_web/assets/webpack.config.js | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/block_scout_web/assets/js/socket.js b/apps/block_scout_web/assets/js/socket.js index 3490157a8b..ef0846220b 100644 --- a/apps/block_scout_web/assets/js/socket.js +++ b/apps/block_scout_web/assets/js/socket.js @@ -1,7 +1,7 @@ import { Socket } from 'phoenix' import { locale } from './locale' -const socket = new Socket('/socket', { params: { locale: locale } }) +const socket = new Socket(process.env.SOCKET_ROOT + '/socket', { params: { locale: locale } }) socket.connect() export default socket diff --git a/apps/block_scout_web/assets/webpack.config.js b/apps/block_scout_web/assets/webpack.config.js index 07452b55c8..76abc70bee 100644 --- a/apps/block_scout_web/assets/webpack.config.js +++ b/apps/block_scout_web/assets/webpack.config.js @@ -5,6 +5,7 @@ const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin') const CopyWebpackPlugin = require('copy-webpack-plugin') const { ContextReplacementPlugin } = require('webpack') const glob = require('glob') +const webpack = require('webpack') function transpileViewScript(file) { return { @@ -136,7 +137,10 @@ const appJs = filename: '../css/[name].css' }), new CopyWebpackPlugin([{ from: 'static/', to: '../' }]), - new ContextReplacementPlugin(/moment[\/\\]locale$/, /en/) + new ContextReplacementPlugin(/moment[\/\\]locale$/, /en/), + new webpack.DefinePlugin({ + 'process.env.SOCKET_ROOT': JSON.stringify(process.env.SOCKET_ROOT || '') + }) ] } From 2a2789bbf678350b16eef08bf420060df99bd04f Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Thu, 16 Jan 2020 19:00:43 +0300 Subject: [PATCH 247/342] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f90788beaf..941303f78b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly ### Fixes +- [#2955](https://github.com/poanetwork/blockscout/pull/2955) - Move socket path to env - [#2934](https://github.com/poanetwork/blockscout/pull/2934) - RSK release 1.2.0 breaking changes support - [#2933](https://github.com/poanetwork/blockscout/pull/2933) - Get rid of deadlock in the query to address_current_token_balance table - [#2932](https://github.com/poanetwork/blockscout/pull/2932) - fix duplicate websocket connection From 253e43914d7a29d6e5a9d434b9f6889350f4e4c3 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Thu, 16 Jan 2020 19:10:00 +0300 Subject: [PATCH 248/342] fix tests --- apps/block_scout_web/assets/js/socket.js | 2 +- apps/block_scout_web/assets/webpack.config.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/block_scout_web/assets/js/socket.js b/apps/block_scout_web/assets/js/socket.js index ef0846220b..416052fa20 100644 --- a/apps/block_scout_web/assets/js/socket.js +++ b/apps/block_scout_web/assets/js/socket.js @@ -1,7 +1,7 @@ import { Socket } from 'phoenix' import { locale } from './locale' -const socket = new Socket(process.env.SOCKET_ROOT + '/socket', { params: { locale: locale } }) +const socket = new Socket((process.env.SOCKET_ROOT || '') + '/socket', { params: { locale: locale } }) socket.connect() export default socket diff --git a/apps/block_scout_web/assets/webpack.config.js b/apps/block_scout_web/assets/webpack.config.js index 76abc70bee..1cf3ac2b62 100644 --- a/apps/block_scout_web/assets/webpack.config.js +++ b/apps/block_scout_web/assets/webpack.config.js @@ -139,7 +139,7 @@ const appJs = new CopyWebpackPlugin([{ from: 'static/', to: '../' }]), new ContextReplacementPlugin(/moment[\/\\]locale$/, /en/), new webpack.DefinePlugin({ - 'process.env.SOCKET_ROOT': JSON.stringify(process.env.SOCKET_ROOT || '') + 'process.env.SOCKET_ROOT': JSON.stringify(process.env.SOCKET_ROOT) }) ] } From cfa6fa70b6c93ab6006f63092cdeadf3b714fd75 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Thu, 16 Jan 2020 15:09:04 +0300 Subject: [PATCH 249/342] Upgrade absinthe and ecto --- CHANGELOG.md | 1 + apps/block_scout_web/mix.exs | 10 ++++----- apps/explorer/lib/explorer/admin/role.ex | 2 +- .../lib/explorer/chain/block/range.ex | 2 +- .../chain/block/reward/address_type.ex | 2 +- apps/explorer/lib/explorer/chain/data.ex | 2 +- .../lib/explorer/chain/hash/address.ex | 2 +- apps/explorer/lib/explorer/chain/hash/full.ex | 2 +- .../explorer/lib/explorer/chain/hash/nonce.ex | 2 +- .../chain/import/runner/staking_pools.ex | 6 ++--- .../chain/internal_transaction/call_type.ex | 2 +- .../chain/internal_transaction/type.ex | 2 +- .../lib/explorer/chain/method_identifier.ex | 2 +- .../lib/explorer/chain/transaction/status.ex | 2 +- apps/explorer/lib/explorer/chain/wei.ex | 2 +- apps/explorer/mix.exs | 6 ++--- mix.lock | 22 +++++++++---------- 17 files changed, 35 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f90788beaf..519b6749dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - [2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table ### Chore +- [#2954](https://github.com/poanetwork/blockscout/pull/2954) - Upgrade absinthe and ecto deps - [#2896](https://github.com/poanetwork/blockscout/pull/2896) - Disable Parity websockets tests diff --git a/apps/block_scout_web/mix.exs b/apps/block_scout_web/mix.exs index 029819a202..6a53ffd4e7 100644 --- a/apps/block_scout_web/mix.exs +++ b/apps/block_scout_web/mix.exs @@ -60,13 +60,13 @@ defmodule BlockScoutWeb.Mixfile do defp deps do [ # GraphQL toolkit - {:absinthe, "~> 1.4"}, + {:absinthe, "~> 1.5.0-rc.2"}, # Integrates Absinthe subscriptions with Phoenix - {:absinthe_phoenix, git: "https://github.com/ayrat555/absinthe_phoenix.git", branch: "ab-update-plug"}, + {:absinthe_phoenix, "~> 1.5.0-rc.0"}, # Plug support for Absinthe - {:absinthe_plug, git: "https://github.com/ayrat555/absinthe_plug.git", branch: "ab-enable-default-query"}, + {:absinthe_plug, "~> 1.5.0-rc.1"}, # Absinthe support for the Relay framework - {:absinthe_relay, "~> 1.4"}, + {:absinthe_relay, "~> 1.5.0-rc.0"}, {:bypass, "~> 1.0", only: :test}, # To add (CORS)(https://www.w3.org/TR/cors/) {:cors_plug, "~> 2.0"}, @@ -76,7 +76,7 @@ defmodule BlockScoutWeb.Mixfile do {:dialyxir, "~> 0.5", only: [:dev, :test], runtime: false}, # Need until https://github.com/absinthe-graphql/absinthe_relay/pull/125 is released, then can be removed # The current `absinthe_relay` is compatible though as shown from that PR - {:ecto, "~> 3.0", override: true}, + {:ecto, "~> 3.3", override: true}, {:ex_cldr, "~> 2.7"}, {:ex_cldr_numbers, "~> 2.6"}, {:ex_cldr_units, "~> 2.5"}, diff --git a/apps/explorer/lib/explorer/admin/role.ex b/apps/explorer/lib/explorer/admin/role.ex index 1fe753d400..ef31ed957c 100644 --- a/apps/explorer/lib/explorer/admin/role.ex +++ b/apps/explorer/lib/explorer/admin/role.ex @@ -3,7 +3,7 @@ defmodule Explorer.Admin.Administrator.Role do Supported roles for an administrator. """ - @behaviour Ecto.Type + use Ecto.Type @typedoc """ Supported role atoms for an administrator. diff --git a/apps/explorer/lib/explorer/chain/block/range.ex b/apps/explorer/lib/explorer/chain/block/range.ex index c60cd2039d..354ccd6d42 100644 --- a/apps/explorer/lib/explorer/chain/block/range.ex +++ b/apps/explorer/lib/explorer/chain/block/range.ex @@ -19,7 +19,7 @@ defmodule Explorer.Chain.Block.Range do to: integer() | :infinity } - @behaviour Ecto.Type + use Ecto.Type @doc """ The underlying Postgres type, `int8range`. diff --git a/apps/explorer/lib/explorer/chain/block/reward/address_type.ex b/apps/explorer/lib/explorer/chain/block/reward/address_type.ex index aac552a16e..9e0fe2ac52 100644 --- a/apps/explorer/lib/explorer/chain/block/reward/address_type.ex +++ b/apps/explorer/lib/explorer/chain/block/reward/address_type.ex @@ -3,7 +3,7 @@ defmodule Explorer.Chain.Block.Reward.AddressType do Block reward address types """ - @behaviour Ecto.Type + use Ecto.Type @typedoc """ * `:emission_funds` diff --git a/apps/explorer/lib/explorer/chain/data.ex b/apps/explorer/lib/explorer/chain/data.ex index a3bec019af..ed07de1249 100644 --- a/apps/explorer/lib/explorer/chain/data.ex +++ b/apps/explorer/lib/explorer/chain/data.ex @@ -9,7 +9,7 @@ defmodule Explorer.Chain.Data do alias Explorer.Chain.Data alias Poison.Encoder.BitString - @behaviour Ecto.Type + use Ecto.Type @typedoc """ A variable-byte-length binary, wrapped in a struct, so that it can use protocols. diff --git a/apps/explorer/lib/explorer/chain/hash/address.ex b/apps/explorer/lib/explorer/chain/hash/address.ex index 4cb1ba751f..80a51e0af8 100644 --- a/apps/explorer/lib/explorer/chain/hash/address.ex +++ b/apps/explorer/lib/explorer/chain/hash/address.ex @@ -8,7 +8,7 @@ defmodule Explorer.Chain.Hash.Address do alias Explorer.Chain.Hash - @behaviour Ecto.Type + use Ecto.Type @behaviour Hash @byte_count 20 diff --git a/apps/explorer/lib/explorer/chain/hash/full.ex b/apps/explorer/lib/explorer/chain/hash/full.ex index f5c0855536..eb8ae148dd 100644 --- a/apps/explorer/lib/explorer/chain/hash/full.ex +++ b/apps/explorer/lib/explorer/chain/hash/full.ex @@ -5,7 +5,7 @@ defmodule Explorer.Chain.Hash.Full do alias Explorer.Chain.Hash - @behaviour Ecto.Type + use Ecto.Type @behaviour Hash @byte_count 32 diff --git a/apps/explorer/lib/explorer/chain/hash/nonce.ex b/apps/explorer/lib/explorer/chain/hash/nonce.ex index e5dbf3fe73..f8be6c2762 100644 --- a/apps/explorer/lib/explorer/chain/hash/nonce.ex +++ b/apps/explorer/lib/explorer/chain/hash/nonce.ex @@ -5,7 +5,7 @@ defmodule Explorer.Chain.Hash.Nonce do alias Explorer.Chain.Hash - @behaviour Ecto.Type + use Ecto.Type @behaviour Hash @byte_count 8 diff --git a/apps/explorer/lib/explorer/chain/import/runner/staking_pools.ex b/apps/explorer/lib/explorer/chain/import/runner/staking_pools.ex index fa4fa97a75..3568b0da6e 100644 --- a/apps/explorer/lib/explorer/chain/import/runner/staking_pools.ex +++ b/apps/explorer/lib/explorer/chain/import/runner/staking_pools.ex @@ -154,7 +154,7 @@ defmodule Explorer.Chain.Import.Runner.StakingPools do total = repo.one!(total_query) - if total > Decimal.new(0) do + if total.value > Decimal.new(0) do update_query = from( p in StakingPool, @@ -162,8 +162,8 @@ defmodule Explorer.Chain.Import.Runner.StakingPools do # ShareLocks order already enforced by `acquire_all_staking_pools` (see docs: sharelocks.md) update: [ set: [ - staked_ratio: p.staked_amount / ^total * 100, - likelihood: p.staked_amount / ^total * 100 + staked_ratio: p.staked_amount / ^total.value * 100, + likelihood: p.staked_amount / ^total.value * 100 ] ] ) diff --git a/apps/explorer/lib/explorer/chain/internal_transaction/call_type.ex b/apps/explorer/lib/explorer/chain/internal_transaction/call_type.ex index 8d354553ee..2f94ca901d 100644 --- a/apps/explorer/lib/explorer/chain/internal_transaction/call_type.ex +++ b/apps/explorer/lib/explorer/chain/internal_transaction/call_type.ex @@ -3,7 +3,7 @@ defmodule Explorer.Chain.InternalTransaction.CallType do Internal transaction types """ - @behaviour Ecto.Type + use Ecto.Type @typedoc """ * `:call` - call a function in a contract by jumping into the contract's context diff --git a/apps/explorer/lib/explorer/chain/internal_transaction/type.ex b/apps/explorer/lib/explorer/chain/internal_transaction/type.ex index 0a13587afe..6c2890c59b 100644 --- a/apps/explorer/lib/explorer/chain/internal_transaction/type.ex +++ b/apps/explorer/lib/explorer/chain/internal_transaction/type.ex @@ -3,7 +3,7 @@ defmodule Explorer.Chain.InternalTransaction.Type do Internal transaction types """ - @behaviour Ecto.Type + use Ecto.Type @typedoc """ * `:call` diff --git a/apps/explorer/lib/explorer/chain/method_identifier.ex b/apps/explorer/lib/explorer/chain/method_identifier.ex index 56cc2d5e93..e6097b59d9 100644 --- a/apps/explorer/lib/explorer/chain/method_identifier.ex +++ b/apps/explorer/lib/explorer/chain/method_identifier.ex @@ -5,7 +5,7 @@ defmodule Explorer.Chain.MethodIdentifier do Represented in the database as a 4 byte integer, decodes into a 4 byte bitstring """ - @behaviour Ecto.Type + use Ecto.Type @type t :: binary diff --git a/apps/explorer/lib/explorer/chain/transaction/status.ex b/apps/explorer/lib/explorer/chain/transaction/status.ex index 22d0eb976e..df4e56597f 100644 --- a/apps/explorer/lib/explorer/chain/transaction/status.ex +++ b/apps/explorer/lib/explorer/chain/transaction/status.ex @@ -8,7 +8,7 @@ defmodule Explorer.Chain.Transaction.Status do for failure. """ - @behaviour Ecto.Type + use Ecto.Type @typedoc """ * `:ok` - transaction succeeded diff --git a/apps/explorer/lib/explorer/chain/wei.ex b/apps/explorer/lib/explorer/chain/wei.ex index 78483632a7..6a2a6f7683 100644 --- a/apps/explorer/lib/explorer/chain/wei.ex +++ b/apps/explorer/lib/explorer/chain/wei.ex @@ -24,7 +24,7 @@ defmodule Explorer.Chain.Wei do defstruct ~w(value)a - @behaviour Ecto.Type + use Ecto.Type @impl Ecto.Type def type, do: :decimal diff --git a/apps/explorer/mix.exs b/apps/explorer/mix.exs index 4d73894d5e..7eb0be4d13 100644 --- a/apps/explorer/mix.exs +++ b/apps/explorer/mix.exs @@ -74,9 +74,9 @@ defmodule Explorer.Mixfile do {:decimal, "~> 1.0"}, {:dialyxir, "~> 0.5", only: [:dev, :test], runtime: false}, # `override: true` for `ex_machina` compatibility - {:ecto, "~> 3.1", override: true}, + {:ecto, "~> 3.3", override: true}, # Storing blockchain data and derived data in PostgreSQL. - {:ecto_sql, "~> 3.1"}, + {:ecto_sql, "~> 3.3"}, # JSONRPC access to query smart contracts {:ethereum_jsonrpc, in_umbrella: true}, # Data factory for testing @@ -110,7 +110,7 @@ defmodule Explorer.Mixfile do # `:spandex` tracing of `:ecto` {:spandex_ecto, "~> 0.4.0"}, # Attach `:prometheus_ecto` to `:ecto` - {:telemetry, "~> 0.4.0"}, + {:telemetry, "~> 0.4.1"}, # `Timex.Duration` for `Explorer.Counters.AverageBlockTime.average_block_time/0` {:timex, "~> 3.6"}, {:con_cache, "~> 0.13"} diff --git a/mix.lock b/mix.lock index 081e2eec49..40d7bc5bb3 100644 --- a/mix.lock +++ b/mix.lock @@ -1,8 +1,8 @@ %{ - "absinthe": {:hex, :absinthe, "1.4.16", "0933e4d9f12652b12115d5709c0293a1bf78a22578032e9ad0dad4efee6b9eb1", [:mix], [{:dataloader, "~> 1.0.0", [hex: :dataloader, repo: "hexpm", optional: true]}, {:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"}, - "absinthe_phoenix": {:git, "https://github.com/ayrat555/absinthe_phoenix.git", "4dbb73a25a0935a4d292e63876698e18534d835f", [branch: "ab-update-plug"]}, - "absinthe_plug": {:git, "https://github.com/ayrat555/absinthe_plug.git", "cbe1c170e11e60b3b0146b925a1ce6ec562840ce", [branch: "ab-enable-default-query"]}, - "absinthe_relay": {:hex, :absinthe_relay, "1.4.6", "ec0e2288994b388556247cf9601245abec785cdf206d6e844f2992d29de21624", [:mix], [{:absinthe, "~> 1.4.0", [hex: :absinthe, repo: "hexpm", optional: false]}, {:ecto, "~> 2.0 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm"}, + "absinthe": {:hex, :absinthe, "1.5.0-rc.2", "132ceb90783a39454cba1a043e833add5385036ed1e6fe8e889b85fc2b7cd89f", [:mix], [{:dataloader, "~> 1.0.0", [hex: :dataloader, repo: "hexpm", optional: true]}, {:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}, {:nimble_parsec, "~> 0.5", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm"}, + "absinthe_phoenix": {:hex, :absinthe_phoenix, "1.5.0-rc.0", "63558295f77f09c9e412fa0a4ef92a66003eaf539821a810fd928c1c67a6005d", [:mix], [{:absinthe, "~> 1.5.0-rc.0", [hex: :absinthe, repo: "hexpm", optional: false]}, {:absinthe_plug, "~> 1.5.0-rc.0", [hex: :absinthe_plug, repo: "hexpm", optional: false]}, {:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.13", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 1.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}], "hexpm"}, + "absinthe_plug": {:hex, :absinthe_plug, "1.5.0-rc.1", "f6d8a7a74c42cb1547f9d62cf728b8aab960c5246b8415deb0cb1f5aac1fb671", [:mix], [{:absinthe, "~> 1.5.0-rc.2", [hex: :absinthe, repo: "hexpm", optional: false]}, {:plug, "~> 1.3.2 or ~> 1.4", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"}, + "absinthe_relay": {:hex, :absinthe_relay, "1.5.0-rc.0", "99048f5a8239dbcecf6c600f6a2410e1b157832df01d3f4859bc804565ddf1bc", [:mix], [{:absinthe, "~> 1.5.0-rc.1", [hex: :absinthe, repo: "hexpm", optional: false]}, {:ecto, "~> 2.0 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm"}, "accept": {:hex, :accept, "0.3.5", "b33b127abca7cc948bbe6caa4c263369abf1347cfa9d8e699c6d214660f10cd1", [:rebar3], [], "hexpm"}, "bcrypt_elixir": {:hex, :bcrypt_elixir, "1.1.1", "6b5560e47a02196ce5f0ab3f1d8265db79a23868c137e973b27afef928ed8006", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm"}, "benchee": {:hex, :benchee, "0.13.2", "30cd4ff5f593fdd218a9b26f3c24d580274f297d88ad43383afe525b1543b165", [:mix], [{:deep_merge, "~> 0.1", [hex: :deep_merge, repo: "hexpm", optional: false]}], "hexpm"}, @@ -22,15 +22,15 @@ "cowlib": {:hex, :cowlib, "2.7.3", "a7ffcd0917e6d50b4d5fb28e9e2085a0ceb3c97dea310505f7460ff5ed764ce9", [:rebar3], [], "hexpm"}, "credo": {:hex, :credo, "1.1.2", "02b6422f3e659eb74b05aca3c20c1d8da0119a05ee82577a82e6c2938bf29f81", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm"}, "csv": {:hex, :csv, "2.3.1", "9ce11eff5a74a07baf3787b2b19dd798724d29a9c3a492a41df39f6af686da0e", [:mix], [{:parallel_stream, "~> 1.0.4", [hex: :parallel_stream, repo: "hexpm", optional: false]}], "hexpm"}, - "dataloader": {:hex, :dataloader, "1.0.6", "fb724d6d3fb6acb87d27e3b32dea3a307936ad2d245faf9cf5221d1323d6a4ba", [:mix], [{:ecto, ">= 0.0.0", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm"}, - "db_connection": {:hex, :db_connection, "2.1.1", "a51e8a2ee54ef2ae6ec41a668c85787ed40cb8944928c191280fe34c15b76ae5", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, repo: "hexpm", optional: false]}], "hexpm"}, - "decimal": {:hex, :decimal, "1.8.0", "ca462e0d885f09a1c5a342dbd7c1dcf27ea63548c65a65e67334f4b61803822e", [:mix], [], "hexpm"}, + "dataloader": {:hex, :dataloader, "1.0.7", "58351b335673cf40601429bfed6c11fece6ce7ad169b2ac0f0fe83e716587391", [:mix], [{:ecto, ">= 0.0.0", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm"}, + "db_connection": {:hex, :db_connection, "2.2.0", "e923e88887cd60f9891fd324ac5e0290954511d090553c415fbf54be4c57ee63", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, repo: "hexpm", optional: false]}], "hexpm"}, + "decimal": {:hex, :decimal, "1.8.1", "a4ef3f5f3428bdbc0d35374029ffcf4ede8533536fa79896dd450168d9acdf3c", [:mix], [], "hexpm"}, "decorator": {:hex, :decorator, "1.3.0", "6203dbd6e4e519a21a079e2a74e50fddaf03e80be22711b92eb4cd410173abea", [:mix], [], "hexpm"}, "deep_merge": {:hex, :deep_merge, "0.2.0", "c1050fa2edf4848b9f556fba1b75afc66608a4219659e3311d9c9427b5b680b3", [:mix], [], "hexpm"}, "dialyxir": {:hex, :dialyxir, "0.5.1", "b331b091720fd93e878137add264bac4f644e1ddae07a70bf7062c7862c4b952", [:mix], [], "hexpm"}, "earmark": {:hex, :earmark, "1.3.5", "0db71c8290b5bc81cb0101a2a507a76dca659513984d683119ee722828b424f6", [:mix], [], "hexpm"}, - "ecto": {:hex, :ecto, "3.1.7", "fa21d06ef56cdc2fdaa62574e8c3ba34a2751d44ea34c30bc65f0728421043e5", [:mix], [{:decimal, "~> 1.6", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm"}, - "ecto_sql": {:hex, :ecto_sql, "3.1.6", "1e80e30d16138a729c717f73dcb938590bcdb3a4502f3012414d0cbb261045d8", [:mix], [{:db_connection, "~> 2.0", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.1.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:mariaex, "~> 0.9.1", [hex: :mariaex, repo: "hexpm", optional: true]}, {:myxql, "~> 0.2.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.14.0 or ~> 0.15.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm"}, + "ecto": {:hex, :ecto, "3.3.1", "82ab74298065bf0c64ca299f6c6785e68ea5d6b980883ee80b044499df35aba1", [:mix], [{:decimal, "~> 1.6", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm"}, + "ecto_sql": {:hex, :ecto_sql, "3.3.2", "92804e0de69bb63e621273c3492252cb08a29475c05d40eeb6f41ad2d483cfd3", [:mix], [{:db_connection, "~> 2.2", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.3", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.3.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.15.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm"}, "elixir_make": {:hex, :elixir_make, "0.6.0", "38349f3e29aff4864352084fc736fa7fa0f2995a819a737554f7ebd28b85aaab", [:mix], [], "hexpm"}, "ex_abi": {:hex, :ex_abi, "0.1.18", "19db9bffdd201edbdff97d7dd5849291218b17beda045c1b76bff5248964f37d", [:mix], [{:exth_crypto, "~> 0.1.4", [hex: :exth_crypto, repo: "hexpm", optional: false]}], "hexpm"}, "ex_cldr": {:hex, :ex_cldr, "2.7.2", "d79a1af6ed12630a15175d2b88d4381b22db5d6f835c5da8de132f0cf712b233", [:mix], [{:cldr_utils, "~> 2.1", [hex: :cldr_utils, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:gettext, "~> 0.13", [hex: :gettext, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:nimble_parsec, "~> 0.5", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:plug, "~> 1.4", [hex: :plug, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm"}, @@ -92,7 +92,7 @@ "plug_crypto": {:hex, :plug_crypto, "1.0.0", "18e49317d3fa343f24620ed22795ec29d4a5e602d52d1513ccea0b07d8ea7d4d", [:mix], [], "hexpm"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, "poolboy": {:hex, :poolboy, "1.5.2", "392b007a1693a64540cead79830443abf5762f5d30cf50bc95cb2c1aaafa006b", [:rebar3], [], "hexpm"}, - "postgrex": {:hex, :postgrex, "0.15.0", "dd5349161019caeea93efa42f9b22f9d79995c3a86bdffb796427b4c9863b0f0", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm"}, + "postgrex": {:hex, :postgrex, "0.15.3", "5806baa8a19a68c4d07c7a624ccdb9b57e89cbc573f1b98099e3741214746ae4", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm"}, "prometheus": {:hex, :prometheus, "4.4.1", "1e96073b3ed7788053768fea779cbc896ddc3bdd9ba60687f2ad50b252ac87d6", [:mix, :rebar3], [], "hexpm"}, "prometheus_ecto": {:hex, :prometheus_ecto, "1.4.3", "3dd4da1812b8e0dbee81ea58bb3b62ed7588f2eae0c9e97e434c46807ff82311", [:mix], [{:ecto, "~> 2.0 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:prometheus_ex, "~> 1.1 or ~> 2.0 or ~> 3.0", [hex: :prometheus_ex, repo: "hexpm", optional: false]}], "hexpm"}, "prometheus_ex": {:hex, :prometheus_ex, "3.0.5", "fa58cfd983487fc5ead331e9a3e0aa622c67232b3ec71710ced122c4c453a02f", [:mix], [{:prometheus, "~> 4.0", [hex: :prometheus, repo: "hexpm", optional: false]}], "hexpm"}, @@ -108,7 +108,7 @@ "spandex_ecto": {:hex, :spandex_ecto, "0.4.0", "deaeaddc11a35f1c551206c53d09bb93a0da5808dbef751430e465c8c7de01d3", [:mix], [{:spandex, "~> 2.2", [hex: :spandex, repo: "hexpm", optional: false]}], "hexpm"}, "spandex_phoenix": {:hex, :spandex_phoenix, "0.3.2", "e81889d80852a895cf62ce2e25181b15766d21e8647962e0a4458414b935feb3", [:mix], [{:plug, "~> 1.3", [hex: :plug, repo: "hexpm", optional: false]}, {:spandex, "~> 2.2", [hex: :spandex, repo: "hexpm", optional: false]}], "hexpm"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.5", "6eaf7ad16cb568bb01753dbbd7a95ff8b91c7979482b95f38443fe2c8852a79b", [:make, :mix, :rebar3], [], "hexpm"}, - "telemetry": {:hex, :telemetry, "0.4.0", "8339bee3fa8b91cb84d14c2935f8ecf399ccd87301ad6da6b71c09553834b2ab", [:rebar3], [], "hexpm"}, + "telemetry": {:hex, :telemetry, "0.4.1", "ae2718484892448a24470e6aa341bc847c3277bfb8d4e9289f7474d752c09c7f", [:rebar3], [], "hexpm"}, "timex": {:hex, :timex, "3.6.1", "efdf56d0e67a6b956cc57774353b0329c8ab7726766a11547e529357ffdc1d56", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5 or ~> 1.0.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm"}, "tzdata": {:hex, :tzdata, "1.0.1", "f6027a331af7d837471248e62733c6ebee86a72e57c613aa071ebb1f750fc71a", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm"}, From 5523508da2bd17cb00470d3c56c85ae7360ff326 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Fri, 17 Jan 2020 13:23:14 +0300 Subject: [PATCH 250/342] allow to set "/" --- apps/block_scout_web/assets/js/socket.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/block_scout_web/assets/js/socket.js b/apps/block_scout_web/assets/js/socket.js index 416052fa20..fcf502a794 100644 --- a/apps/block_scout_web/assets/js/socket.js +++ b/apps/block_scout_web/assets/js/socket.js @@ -1,7 +1,12 @@ import { Socket } from 'phoenix' import { locale } from './locale' -const socket = new Socket((process.env.SOCKET_ROOT || '') + '/socket', { params: { locale: locale } }) +let websocketRootUrl = process.env.SOCKET_ROOT; +if (!websocketRootUrl || websocketRootUrl == '/') { + websocketRootUrl = '' +} + +const socket = new Socket(websocketRootUrl + '/socket', { params: { locale: locale } }) socket.connect() export default socket From 288a69a46eafa1216d6442c27225054fb51fb489 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Fri, 17 Jan 2020 13:33:33 +0300 Subject: [PATCH 251/342] fix linter errors --- apps/block_scout_web/assets/js/socket.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/block_scout_web/assets/js/socket.js b/apps/block_scout_web/assets/js/socket.js index fcf502a794..b2eaa282df 100644 --- a/apps/block_scout_web/assets/js/socket.js +++ b/apps/block_scout_web/assets/js/socket.js @@ -1,8 +1,8 @@ import { Socket } from 'phoenix' import { locale } from './locale' -let websocketRootUrl = process.env.SOCKET_ROOT; -if (!websocketRootUrl || websocketRootUrl == '/') { +let websocketRootUrl = process.env.SOCKET_ROOT +if (!websocketRootUrl || websocketRootUrl === '/') { websocketRootUrl = '' } From a487969ca53f986bcea5d9f6ad758739a5832939 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 17 Jan 2020 13:49:08 +0300 Subject: [PATCH 252/342] Take away block hash, block index dups processing script from migration --- CHANGELOG.md | 2 +- ...054_add_pending_internal_txs_operation.exs | 70 ------------------ ...ock_hash_block_index_dups_to_carnitine.sql | 73 +++++++++++++++++++ 3 files changed, 74 insertions(+), 71 deletions(-) create mode 100644 apps/explorer/priv/repo/migrations/scripts/20191018140054_send_block_hash_block_index_dups_to_carnitine.sql diff --git a/CHANGELOG.md b/CHANGELOG.md index eab2f68be7..a6bf84e290 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ ## Current ### Features -- [#2835](https://github.com/poanetwork/blockscout/pull/2835), [#2871](https://github.com/poanetwork/blockscout/pull/2871), [#2872](https://github.com/poanetwork/blockscout/pull/2872), [#2886](https://github.com/poanetwork/blockscout/pull/2886), [#2925](https://github.com/poanetwork/blockscout/pull/2925), [#2936](https://github.com/poanetwork/blockscout/pull/2936), [#2949](https://github.com/poanetwork/blockscout/pull/2949), [#2940](https://github.com/poanetwork/blockscout/pull/2940) - Add "block_hash" to logs, token_transfers and internal transactions and "pending blocks operations" approach +- [#2835](https://github.com/poanetwork/blockscout/pull/2835), [#2871](https://github.com/poanetwork/blockscout/pull/2871), [#2872](https://github.com/poanetwork/blockscout/pull/2872), [#2886](https://github.com/poanetwork/blockscout/pull/2886), [#2925](https://github.com/poanetwork/blockscout/pull/2925), [#2936](https://github.com/poanetwork/blockscout/pull/2936), [#2949](https://github.com/poanetwork/blockscout/pull/2949), [#2940](https://github.com/poanetwork/blockscout/pull/2940), [#2958](https://github.com/poanetwork/blockscout/pull/2958) - Add "block_hash" to logs, token_transfers and internal transactions and "pending blocks operations" approach - [#2926](https://github.com/poanetwork/blockscout/pull/2926) - API endpoint: sum balances except burnt address - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly diff --git a/apps/explorer/priv/repo/migrations/20191018140054_add_pending_internal_txs_operation.exs b/apps/explorer/priv/repo/migrations/20191018140054_add_pending_internal_txs_operation.exs index 41af522005..13d46ab013 100644 --- a/apps/explorer/priv/repo/migrations/20191018140054_add_pending_internal_txs_operation.exs +++ b/apps/explorer/priv/repo/migrations/20191018140054_add_pending_internal_txs_operation.exs @@ -55,76 +55,6 @@ defmodule Explorer.Repo.Migrations.AddPendingInternalTxsOperation do DELETE FROM internal_transactions WHERE block_hash IS NULL; """) - execute(""" - DO $$ - DECLARE - duplicates_count INTEGER := 0; - blocks_scanned INTEGER := 0; - int_txs_count INTEGER := 0; - temprow RECORD; - BEGIN - SELECT COUNT(*) INTO int_txs_count FROM internal_transactions; - IF int_txs_count < 10000000 THEN - - FOR temprow IN - SELECT block_hash FROM internal_transactions - GROUP BY block_hash, block_index HAVING COUNT(*) > 1 - LOOP - duplicates_count := duplicates_count + 1; - RAISE NOTICE '% duplicates, blocks scanned %, block #%, block hash is %', duplicates_count, blocks_scanned, temprow.number , temprow.hash; - - IF NOT EXISTS ( - SELECT 1 FROM pending_block_operations - WHERE block_hash = temprow.block_hash - ) THEN - INSERT INTO pending_block_operations - (block_hash, inserted_at, updated_at, fetch_internal_transactions) - SELECT b.hash, now(), now(), TRUE FROM blocks b - WHERE b.hash = temprow.block_hash; - END IF; - - DELETE FROM internal_transactions - WHERE block_hash = temprow.block_hash; - - RAISE NOTICE 'DELETED'; - END LOOP; - - ELSE - FOR temprow IN SELECT number, hash FROM blocks LOOP - blocks_scanned := blocks_scanned + 1; - IF EXISTS ( - SELECT 1 FROM transactions WHERE block_hash = temprow.hash - ) THEN - IF EXISTS ( - SELECT block_hash, block_index FROM internal_transactions - WHERE block_hash = temprow.hash - GROUP BY block_hash, block_index HAVING COUNT(*) > 1 - ) THEN - duplicates_count := duplicates_count + 1; - RAISE NOTICE '% duplicates, blocks scanned %, block #%, block hash is %', duplicates_count, blocks_scanned, temprow.number , temprow.hash; - - IF NOT EXISTS ( - SELECT 1 FROM pending_block_operations - WHERE block_hash = temprow.hash - ) THEN - INSERT INTO pending_block_operations - (block_hash, inserted_at, updated_at, fetch_internal_transactions) - SELECT b.hash, now(), now(), TRUE FROM blocks b - WHERE b.hash = temprow.hash; - END IF; - - DELETE FROM internal_transactions - WHERE block_hash = temprow.hash; - - RAISE NOTICE 'DELETED'; - END IF; - END IF; - END LOOP; - END IF; - RAISE NOTICE 'SCRIPT FINISHED'; - END $$; - """) - execute(""" ALTER table internal_transactions DROP CONSTRAINT internal_transactions_pkey, diff --git a/apps/explorer/priv/repo/migrations/scripts/20191018140054_send_block_hash_block_index_dups_to_carnitine.sql b/apps/explorer/priv/repo/migrations/scripts/20191018140054_send_block_hash_block_index_dups_to_carnitine.sql new file mode 100644 index 0000000000..a35667d26f --- /dev/null +++ b/apps/explorer/priv/repo/migrations/scripts/20191018140054_send_block_hash_block_index_dups_to_carnitine.sql @@ -0,0 +1,73 @@ +-- This script should be a part of migration to "pennding_block_operations" internal transactions indexing approach +-- if 20191018140054_add_pending_internal_txs_operation.exs migration failed due to occasional duplicates of +-- {block_hash, block_index} pair in the DB, that could exist due to bugs in previous versions of the application +--, before setting a primary key on those columns. If so, this script should be inserted at line 57 of that migration +-- just before changing of a primary key. + +DO $$ +DECLARE + duplicates_count INTEGER := 0; + blocks_scanned INTEGER := 0; + int_txs_count INTEGER := 0; + temprow RECORD; +BEGIN + SELECT COUNT(*) INTO int_txs_count FROM internal_transactions; + IF int_txs_count < 10000000 THEN + + FOR temprow IN + SELECT block_hash FROM internal_transactions + GROUP BY block_hash, block_index HAVING COUNT(*) > 1 + LOOP + duplicates_count := duplicates_count + 1; + RAISE NOTICE '% duplicates, blocks scanned %, block #%, block hash is %', duplicates_count, blocks_scanned, temprow.number , temprow.hash; + + IF NOT EXISTS ( + SELECT 1 FROM pending_block_operations + WHERE block_hash = temprow.block_hash + ) THEN + INSERT INTO pending_block_operations + (block_hash, inserted_at, updated_at, fetch_internal_transactions) + SELECT b.hash, now(), now(), TRUE FROM blocks b + WHERE b.hash = temprow.block_hash; + END IF; + + DELETE FROM internal_transactions + WHERE block_hash = temprow.block_hash; + + RAISE NOTICE 'DELETED'; + END LOOP; + + ELSE + FOR temprow IN SELECT number, hash FROM blocks LOOP + blocks_scanned := blocks_scanned + 1; + IF EXISTS ( + SELECT 1 FROM transactions WHERE block_hash = temprow.hash + ) THEN + IF EXISTS ( + SELECT block_hash, block_index FROM internal_transactions + WHERE block_hash = temprow.hash + GROUP BY block_hash, block_index HAVING COUNT(*) > 1 + ) THEN + duplicates_count := duplicates_count + 1; + RAISE NOTICE '% duplicates, blocks scanned %, block #%, block hash is %', duplicates_count, blocks_scanned, temprow.number , temprow.hash; + + IF NOT EXISTS ( + SELECT 1 FROM pending_block_operations + WHERE block_hash = temprow.hash + ) THEN + INSERT INTO pending_block_operations + (block_hash, inserted_at, updated_at, fetch_internal_transactions) + SELECT b.hash, now(), now(), TRUE FROM blocks b + WHERE b.hash = temprow.hash; + END IF; + + DELETE FROM internal_transactions + WHERE block_hash = temprow.hash; + + RAISE NOTICE 'DELETED'; + END IF; + END IF; + END LOOP; + END IF; + RAISE NOTICE 'SCRIPT FINISHED'; +END $$; \ No newline at end of file From 2890f04e10c82815bb3ad8bc059ce41436bef543 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 17 Jan 2020 14:36:19 +0300 Subject: [PATCH 253/342] Add SOCKET_ROOT env var --- docker/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/Makefile b/docker/Makefile index 7b13f9e860..b56d7615a5 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -190,6 +190,9 @@ endif ifdef DECOMPILED_SMART_CONTRACT_TOKEN BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DECOMPILED_SMART_CONTRACT_TOKEN=$(DECOMPILED_SMART_CONTRACT_TOKEN)' endif +ifdef SOCKET_ROOT + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SOCKET_ROOT=$(SOCKET_ROOT)' +endif HAS_BLOCKSCOUT_IMAGE := $(shell docker images | grep ${DOCKER_IMAGE}) build: From 08a1ad9b9e4001b739152df7c04c27e7671f4482 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 17 Jan 2020 15:24:43 +0300 Subject: [PATCH 254/342] Remove logs from test folder too inn the cleaning script --- CHANGELOG.md | 1 + rel/commands/clear_build.sh | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 471f4b6e4a..e686211803 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ - [2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table ### Chore +- [#2959](https://github.com/poanetwork/blockscout/pull/2959) - Remove logs from test folder too in the cleaning script - [#2947](https://github.com/poanetwork/blockscout/pull/2947) - Upgrade Circle CI postgres Docker image - [#2946](https://github.com/poanetwork/blockscout/pull/2946) - Fix vulnerable NPM deps - [#2942](https://github.com/poanetwork/blockscout/pull/2942) - Actualize Docker setup diff --git a/rel/commands/clear_build.sh b/rel/commands/clear_build.sh index 5a032809ba..7c79a85ec3 100755 --- a/rel/commands/clear_build.sh +++ b/rel/commands/clear_build.sh @@ -4,8 +4,12 @@ rm -rf ./_build rm -rf ./deps logs=$(find . -not -path '*/\.*' -name "logs" -type d) dev=$(find ${logs} -name "dev") -files_and_dirs_in_logs=$(ls -d ${dev}/*) -rm -rf $files_and_dirs_in_logs +files_and_dirs_in_logs_dev=$(ls -d ${dev}/*) +rm -rf $files_and_dirs_in_logs_dev + +test=$(find ${logs} -name "test") +files_and_dirs_in_logs_test=$(ls -d ${test}/*) +rm -rf $files_and_dirs_in_logs_test find . -name "node_modules" -type d -exec rm -rf '{}' + From a50c313aef379d1af0f23c094c589cc4ed8d2421 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 17 Jan 2020 19:15:15 +0300 Subject: [PATCH 255/342] add BLOCKSCOUT_HOST to Docker setup --- CHANGELOG.md | 4 ++-- docker/Makefile | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e686211803..ec8895d27c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly ### Fixes +- [#2960](https://github.com/poanetwork/blockscout/pull/2960) - Add BLOCKSCOUT_HOST to docker setup - [#2955](https://github.com/poanetwork/blockscout/pull/2955) - Move socket path to env - [#2938](https://github.com/poanetwork/blockscout/pull/2938) - utf8 copy tx input tooltip - [#2934](https://github.com/poanetwork/blockscout/pull/2934) - RSK release 1.2.0 breaking changes support @@ -15,6 +16,7 @@ - [#2924](https://github.com/poanetwork/blockscout/pull/2924) - Speedup address to logs query - [#2915](https://github.com/poanetwork/blockscout/pull/2915) - Speedup of blocks_without_reward_query - [#2914](https://github.com/poanetwork/blockscout/pull/2914) - Reduce execution time of stream_unfetched_token_instances query +- [2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table - [#2908](https://github.com/poanetwork/blockscout/pull/2908) - Fix performance of address page - [#2906](https://github.com/poanetwork/blockscout/pull/2906) - fix address sum cache - [#2902](https://github.com/poanetwork/blockscout/pull/2902) - Offset in blocks retrieval for average block time @@ -22,8 +24,6 @@ - [#2899](https://github.com/poanetwork/blockscout/pull/2899) - fix empty buffered task - [#2887](https://github.com/poanetwork/blockscout/pull/2887) - increase chart loading speed -- [2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table - ### Chore - [#2959](https://github.com/poanetwork/blockscout/pull/2959) - Remove logs from test folder too in the cleaning script - [#2947](https://github.com/poanetwork/blockscout/pull/2947) - Upgrade Circle CI postgres Docker image diff --git a/docker/Makefile b/docker/Makefile index b56d7615a5..7f23069c15 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -187,6 +187,9 @@ endif ifdef BLOCKSCOUT_PROTOCOL BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCKSCOUT_PROTOCOL=$(BLOCKSCOUT_PROTOCOL)' endif +ifdef BLOCKSCOUT_HOST + BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCKSCOUT_HOST=$(BLOCKSCOUT_HOST)' +endif ifdef DECOMPILED_SMART_CONTRACT_TOKEN BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DECOMPILED_SMART_CONTRACT_TOKEN=$(DECOMPILED_SMART_CONTRACT_TOKEN)' endif From 3271dc83b474c71810c905980f6f8ffb53e1a4f8 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Sat, 18 Jan 2020 13:04:50 +0300 Subject: [PATCH 256/342] use useBuiltIns option in webpack instead of importing @babel/polyfill --- apps/block_scout_web/assets/.babelrc | 2 +- apps/block_scout_web/assets/js/app.js | 1 - apps/block_scout_web/assets/webpack.config.js | 10 ++-------- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/apps/block_scout_web/assets/.babelrc b/apps/block_scout_web/assets/.babelrc index 1320b9a327..971cfd0449 100644 --- a/apps/block_scout_web/assets/.babelrc +++ b/apps/block_scout_web/assets/.babelrc @@ -1,3 +1,3 @@ { - "presets": ["@babel/preset-env"] + "presets": [["@babel/preset-env", { "useBuiltIns": "usage" }]] } diff --git a/apps/block_scout_web/assets/js/app.js b/apps/block_scout_web/assets/js/app.js index 610f9bb46e..f30aca4ec6 100644 --- a/apps/block_scout_web/assets/js/app.js +++ b/apps/block_scout_web/assets/js/app.js @@ -9,7 +9,6 @@ import '../css/app.scss' // // Import dependencies // -import '@babel/polyfill' import 'phoenix_html' import 'bootstrap' diff --git a/apps/block_scout_web/assets/webpack.config.js b/apps/block_scout_web/assets/webpack.config.js index 37bce76496..93f8d6d6d0 100644 --- a/apps/block_scout_web/assets/webpack.config.js +++ b/apps/block_scout_web/assets/webpack.config.js @@ -19,10 +19,7 @@ function transpileViewScript(file) { test: /\.js$/, exclude: /node_modules/, use: { - loader: 'babel-loader', - options: { - presets: ['@babel/preset-env'] - } + loader: 'babel-loader' } } ] @@ -109,10 +106,7 @@ const appJs = test: /\.js$/, exclude: /node_modules/, use: { - loader: 'babel-loader', - options: { - presets: ['@babel/preset-env'] - } + loader: 'babel-loader' } }, { From 0e3e9f2b8aac9d7e20b740f7ca66e77abf47aeb3 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Mon, 20 Jan 2020 14:41:00 +0300 Subject: [PATCH 257/342] Handle addresses is enum in values function in read contract page --- CHANGELOG.md | 1 + .../lib/block_scout_web/views/smart_contract_view.ex | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ec8895d27c..37e2202f95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly ### Fixes +- [#2961](https://github.com/poanetwork/blockscout/pull/2961) - Add a guard that addresses is enum in `values` function in `read contract` page - [#2960](https://github.com/poanetwork/blockscout/pull/2960) - Add BLOCKSCOUT_HOST to docker setup - [#2955](https://github.com/poanetwork/blockscout/pull/2955) - Move socket path to env - [#2938](https://github.com/poanetwork/blockscout/pull/2938) - utf8 copy tx input tooltip diff --git a/apps/block_scout_web/lib/block_scout_web/views/smart_contract_view.ex b/apps/block_scout_web/lib/block_scout_web/views/smart_contract_view.ex index c96c5efe91..fef4fbc9d2 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/smart_contract_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/smart_contract_view.ex @@ -10,7 +10,7 @@ defmodule BlockScoutWeb.SmartContractView do def named_argument?(%{"name" => _}), do: true def named_argument?(_), do: false - def values(addresses, type) when type == "address[]" do + def values(addresses, type) when is_list(addresses) and type == "address[]" do addresses |> Enum.map(&values(&1, "address")) |> Enum.join(", ") From 0b24d783e22b2df04055a90c4842b8066596e396 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Thu, 16 Jan 2020 19:50:03 +0300 Subject: [PATCH 258/342] Add support of 0.6.x version of Solidity compiler --- CHANGELOG.md | 1 + apps/block_scout_web/assets/package.json | 4 +- apps/explorer/config/config.exs | 2 +- .../lib/explorer/smart_contract/verifier.ex | 16 ++ .../verifier/constructor_arguments.ex | 48 +++-- apps/explorer/package-lock.json | 204 ++---------------- apps/explorer/package.json | 6 +- .../explorer/smart_contract/verifier_test.exs | 1 + 8 files changed, 64 insertions(+), 218 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f90788beaf..bd26decfaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly ### Fixes +- [#2956](https://github.com/poanetwork/blockscout/pull/2956) - Add support of 0.6.x version of compiler - [#2934](https://github.com/poanetwork/blockscout/pull/2934) - RSK release 1.2.0 breaking changes support - [#2933](https://github.com/poanetwork/blockscout/pull/2933) - Get rid of deadlock in the query to address_current_token_balance table - [#2932](https://github.com/poanetwork/blockscout/pull/2932) - fix duplicate websocket connection diff --git a/apps/block_scout_web/assets/package.json b/apps/block_scout_web/assets/package.json index 8d36aa8797..ec3192a2a4 100644 --- a/apps/block_scout_web/assets/package.json +++ b/apps/block_scout_web/assets/package.json @@ -8,8 +8,8 @@ "author": "POA Network", "license": "GPL-3.0", "engines": { - "node": "9.x", - "npm": "5.x" + "node": "12.x", + "npm": "6.x" }, "scripts": { "deploy": "webpack --mode production", diff --git a/apps/explorer/config/config.exs b/apps/explorer/config/config.exs index 21025cd480..d69ee6238f 100644 --- a/apps/explorer/config/config.exs +++ b/apps/explorer/config/config.exs @@ -12,7 +12,7 @@ config :explorer, token_functions_reader_max_retries: 3, allowed_evm_versions: System.get_env("ALLOWED_EVM_VERSIONS") || - "homestead,tangerineWhistle,spuriousDragon,byzantium,constantinople,petersburg,default", + "homestead,tangerineWhistle,spuriousDragon,byzantium,constantinople,petersburg,istanbul,default", include_uncles_in_average_block_time: if(System.get_env("UNCLES_IN_AVERAGE_BLOCK_TIME") == "true", do: true, else: false), healthy_blocks_period: System.get_env("HEALTHY_BLOCKS_PERIOD") || :timer.minutes(5), diff --git a/apps/explorer/lib/explorer/smart_contract/verifier.ex b/apps/explorer/lib/explorer/smart_contract/verifier.ex index a81bc3d0ec..9b49dca97d 100644 --- a/apps/explorer/lib/explorer/smart_contract/verifier.ex +++ b/apps/explorer/lib/explorer/smart_contract/verifier.ex @@ -151,6 +151,22 @@ defmodule Explorer.SmartContract.Verifier do |> Enum.reverse() |> :binary.list_to_bin() + # Solidity >= 0.6.0 https://github.com/ethereum/solidity/blob/develop/Changelog.md#060-2019-12-17 + # https://github.com/ethereum/solidity/blob/26b700771e9cc9c956f0503a05de69a1be427963/docs/metadata.rst#encoding-of-the-metadata-hash-in-the-bytecode + # IPFS is used instead of Swarm + # The current version of the Solidity compiler usually adds the following to the end of the deployed bytecode: + # 0xa2 + # 0x64 'i' 'p' 'f' 's' 0x58 0x22 <34 bytes IPFS hash> + # 0x64 's' 'o' 'l' 'c' 0x43 <3 byte version encoding> + # 0x00 0x32 + # Note: there is a bug in the docs. Instead of 0x32, 0x33 should be used. + # Fixing PR has been created https://github.com/ethereum/solidity/pull/8174 + "a264697066735822" <> + <<_::binary-size(68)>> <> "64736f6c6343" <> <<_::binary-size(6)>> <> "0033" <> _constructor_arguments -> + extracted + |> Enum.reverse() + |> :binary.list_to_bin() + <> <> rest -> do_extract_bytecode([next | extracted], rest) end diff --git a/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex b/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex index 576ff78168..69e93f450b 100644 --- a/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex +++ b/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex @@ -35,36 +35,32 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do case code do # Solidity ~ 4.23 # https://solidity.readthedocs.io/en/v0.4.23/metadata.html "a165627a7a72305820" <> <<_::binary-size(64)>> <> "0029" <> constructor_arguments -> - check_func_result = check_func.(constructor_arguments) - - if check_func_result do - check_func_result - else - extract_constructor_arguments(constructor_arguments, check_func) - end + extract_constructor_arguments_check_func(constructor_arguments, check_func) # Solidity >= 0.5.10 https://solidity.readthedocs.io/en/v0.5.10/metadata.html "a265627a7a72305820" <> <<_::binary-size(64)>> <> "64736f6c6343" <> <<_::binary-size(6)>> <> "0032" <> constructor_arguments -> - check_func_result = check_func.(constructor_arguments) - - if check_func_result do - check_func_result - else - extract_constructor_arguments(constructor_arguments, check_func) - end + extract_constructor_arguments_check_func(constructor_arguments, check_func) # Solidity >= 0.5.11 https://github.com/ethereum/solidity/blob/develop/Changelog.md#0511-2019-08-12 # Metadata: Update the swarm hash to the current specification, changes bzzr0 to bzzr1 and urls to use bzz-raw:// "a265627a7a72315820" <> <<_::binary-size(64)>> <> "64736f6c6343" <> <<_::binary-size(6)>> <> "0032" <> constructor_arguments -> - check_func_result = check_func.(constructor_arguments) - - if check_func_result do - check_func_result - else - extract_constructor_arguments(constructor_arguments, check_func) - end + extract_constructor_arguments_check_func(constructor_arguments, check_func) + + # Solidity >= 0.6.0 https://github.com/ethereum/solidity/blob/develop/Changelog.md#060-2019-12-17 + # https://github.com/ethereum/solidity/blob/26b700771e9cc9c956f0503a05de69a1be427963/docs/metadata.rst#encoding-of-the-metadata-hash-in-the-bytecode + # IPFS is used instead of Swarm + # The current version of the Solidity compiler usually adds the following to the end of the deployed bytecode: + # 0xa2 + # 0x64 'i' 'p' 'f' 's' 0x58 0x22 <34 bytes IPFS hash> + # 0x64 's' 'o' 'l' 'c' 0x43 <3 byte version encoding> + # 0x00 0x32 + # Note: there is a bug in the docs. Instead of 0x32, 0x33 should be used. + # Fixing PR has been created https://github.com/ethereum/solidity/pull/8174 + "a264697066735822" <> + <<_::binary-size(68)>> <> "64736f6c6343" <> <<_::binary-size(6)>> <> "0033" <> constructor_arguments -> + extract_constructor_arguments_check_func(constructor_arguments, check_func) <<>> -> check_func.("") @@ -74,6 +70,16 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do end end + defp extract_constructor_arguments_check_func(constructor_arguments, check_func) do + check_func_result = check_func.(constructor_arguments) + + if check_func_result do + check_func_result + else + extract_constructor_arguments(constructor_arguments, check_func) + end + end + def find_constructor_arguments(address_hash, abi) do creation_code = address_hash diff --git a/apps/explorer/package-lock.json b/apps/explorer/package-lock.json index 29cf4e81a8..2c3c20aed5 100644 --- a/apps/explorer/package-lock.json +++ b/apps/explorer/package-lock.json @@ -3,19 +3,6 @@ "requires": true, "lockfileVersion": 1, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -38,67 +25,26 @@ "concat-map": "0.0.1" } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, "command-exists": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" }, + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, "fs-extra": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", @@ -116,15 +62,10 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, "glob": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", - "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -153,11 +94,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, "js-sha3": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", @@ -190,15 +126,6 @@ "graceful-fs": "^4.1.9" } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, "memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -230,52 +157,16 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -294,42 +185,19 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, "solc": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.12.tgz", - "integrity": "sha512-OX/AGZT04tuUsagoVXSZBiBZYJReA02hdwZOfRkB03/eeYP9Dl3pr+M+au+1MhssgiuWBlFPN7sRXFiqwkAW2g==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.1.tgz", + "integrity": "sha512-iKqNYps2p++x8L9sBg7JeAJb7EmW8VJ/2asAzwlLYcUhj86AzuWLe94UTSQHv1SSCCj/x6lya8twvXkZtlTbIQ==", "requires": { "command-exists": "^1.2.8", + "commander": "3.0.2", "fs-extra": "^0.30.0", "js-sha3": "0.8.0", "memorystream": "^0.3.1", "require-from-string": "^2.0.0", "semver": "^5.5.0", - "tmp": "0.0.33", - "yargs": "^13.2.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" + "tmp": "0.0.33" } }, "tmp": { @@ -340,56 +208,10 @@ "os-tmpdir": "~1.0.2" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" - } - }, - "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } } diff --git a/apps/explorer/package.json b/apps/explorer/package.json index 9010d39c7d..8fdead7f1d 100644 --- a/apps/explorer/package.json +++ b/apps/explorer/package.json @@ -8,12 +8,12 @@ "author": "POA Network", "license": "GPL-3.0", "engines": { - "node": "9.x", - "npm": "5.x" + "node": "12.x", + "npm": "6.x" }, "scripts": {}, "dependencies": { "keccak": "^2.0.0", - "solc": "^0.5.12" + "solc": "^0.6.1" } } diff --git a/apps/explorer/test/explorer/smart_contract/verifier_test.exs b/apps/explorer/test/explorer/smart_contract/verifier_test.exs index 088820beea..4cab8028c8 100644 --- a/apps/explorer/test/explorer/smart_contract/verifier_test.exs +++ b/apps/explorer/test/explorer/smart_contract/verifier_test.exs @@ -212,6 +212,7 @@ defmodule Explorer.SmartContract.VerifierTest do params = %{ "contract_source_code" => different_code, "compiler_version" => contract_code_info.version, + "evm_version" => "istanbul", "name" => contract_code_info.name, "optimization" => contract_code_info.optimized } From 7f2cb10f2fc2cf1eef89d72cdbb007305658b832 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Mon, 20 Jan 2020 19:29:11 +0300 Subject: [PATCH 259/342] remove async_listing_load lib import from app.js --- apps/block_scout_web/assets/js/app.js | 1 - apps/block_scout_web/assets/js/pages/token_counters.js | 1 + apps/block_scout_web/assets/js/pages/transaction.js | 1 + apps/block_scout_web/assets/webpack.config.js | 1 + .../lib/block_scout_web/templates/address/index.html.eex | 1 + .../lib/block_scout_web/templates/address_token/index.html.eex | 1 + .../templates/address_token_transfer/index.html.eex | 1 + .../block_scout_web/templates/block_transaction/index.html.eex | 1 + 8 files changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/block_scout_web/assets/js/app.js b/apps/block_scout_web/assets/js/app.js index f30aca4ec6..f8e6f65d77 100644 --- a/apps/block_scout_web/assets/js/app.js +++ b/apps/block_scout_web/assets/js/app.js @@ -31,7 +31,6 @@ import './lib/pending_transactions_toggle' import './lib/pretty_json' import './lib/reload_button' import './lib/stop_propagation' -import './lib/async_listing_load' import './lib/tooltip' import './lib/modals' import './lib/card_tabs' diff --git a/apps/block_scout_web/assets/js/pages/token_counters.js b/apps/block_scout_web/assets/js/pages/token_counters.js index 2aeadd3f67..a21fc82ab0 100644 --- a/apps/block_scout_web/assets/js/pages/token_counters.js +++ b/apps/block_scout_web/assets/js/pages/token_counters.js @@ -2,6 +2,7 @@ import $ from 'jquery' import omit from 'lodash/omit' import humps from 'humps' import { createStore, connectElements } from '../lib/redux_helpers.js' +import '../lib/async_listing_load' export const initialState = { channelDisconnected: false, diff --git a/apps/block_scout_web/assets/js/pages/transaction.js b/apps/block_scout_web/assets/js/pages/transaction.js index 869c2234d3..547125e3da 100644 --- a/apps/block_scout_web/assets/js/pages/transaction.js +++ b/apps/block_scout_web/assets/js/pages/transaction.js @@ -5,6 +5,7 @@ import numeral from 'numeral' import socket from '../socket' import { createStore, connectElements } from '../lib/redux_helpers.js' import '../lib/transaction_input_dropdown' +import '../lib/async_listing_load' export const initialState = { blockNumber: null, diff --git a/apps/block_scout_web/assets/webpack.config.js b/apps/block_scout_web/assets/webpack.config.js index 93f8d6d6d0..da6a5af046 100644 --- a/apps/block_scout_web/assets/webpack.config.js +++ b/apps/block_scout_web/assets/webpack.config.js @@ -91,6 +91,7 @@ const appJs = 'token-transfers-toggle': './js/lib/token_transfers_toggle.js', 'try-api': './js/lib/try_api.js', 'try-eth-api': './js/lib/try_eth_api.js', + 'async-listing-load': './js/lib/async_listing_load', 'non-critical': './css/non-critical.scss' }, output: { diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/index.html.eex index c1069a0b82..75f316aceb 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/index.html.eex @@ -49,4 +49,5 @@ <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex index 8510bdca64..485617f1aa 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex @@ -36,5 +36,6 @@ + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex index a24338c3ab..17fdeefcdd 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex @@ -74,5 +74,6 @@ + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/index.html.eex index e0847cac86..adc200e596 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/index.html.eex @@ -36,5 +36,6 @@ <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> + From 49da9898d22e10edeea08e19f67ae1f6a03a6393 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Mon, 20 Jan 2020 21:30:24 +0300 Subject: [PATCH 260/342] do not load app.js on the first page --- apps/block_scout_web/assets/js/pages/chain.js | 7 +++++++ .../lib/block_scout_web/templates/layout/app.html.eex | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/block_scout_web/assets/js/pages/chain.js b/apps/block_scout_web/assets/js/pages/chain.js index 0421558e1c..f5340ca661 100644 --- a/apps/block_scout_web/assets/js/pages/chain.js +++ b/apps/block_scout_web/assets/js/pages/chain.js @@ -12,6 +12,13 @@ import { createStore, connectElements } from '../lib/redux_helpers.js' import { batchChannel, showLoader } from '../lib/utils' import listMorph from '../lib/list_morph' +// duplicated from app.js so that the script can work separately +import 'phoenix_html' +import 'bootstrap' +import '../locale' +import './dark-mode-switcher' +import '../lib/indexing' + const BATCH_THRESHOLD = 6 export const initialState = { diff --git a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex index cde1169f3d..ab47c4ec00 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex @@ -64,7 +64,9 @@ <%= render BlockScoutWeb.LayoutView, "_footer.html", assigns %> - + <%= if @view_module != Elixir.BlockScoutWeb.ChainView do %> + + <% end %> <%= render_existing(@view_module, "scripts.html", assigns) %> From 467b900b64772e908ae1c8bd41c982d752079357 Mon Sep 17 00:00:00 2001 From: EtherCore Contributor Date: Tue, 21 Jan 2020 22:49:11 +0900 Subject: [PATCH 261/342] Add EtherCore support --- .../_ethercore_variables-non-critical.scss | 7 + .../css/theme/_ethercore_variables.scss | 84 ++++++ .../css/theme/_variables-non-critical.scss | 3 +- .../assets/css/theme/_variables.scss | 1 + .../assets/static/images/ethercore_logo.svg | 242 ++++++++++++++++++ 5 files changed, 336 insertions(+), 1 deletion(-) create mode 100644 apps/block_scout_web/assets/css/theme/_ethercore_variables-non-critical.scss create mode 100644 apps/block_scout_web/assets/css/theme/_ethercore_variables.scss create mode 100644 apps/block_scout_web/assets/static/images/ethercore_logo.svg diff --git a/apps/block_scout_web/assets/css/theme/_ethercore_variables-non-critical.scss b/apps/block_scout_web/assets/css/theme/_ethercore_variables-non-critical.scss new file mode 100644 index 0000000000..05844600df --- /dev/null +++ b/apps/block_scout_web/assets/css/theme/_ethercore_variables-non-critical.scss @@ -0,0 +1,7 @@ +// general +$primary: #3a6ea7; +$secondary: #558ac3; +$tertiary: #3a6ea7; +$additional-font: #bdbdff; + +$btn-line-color: $tertiary; // button border and font color && hover bg color diff --git a/apps/block_scout_web/assets/css/theme/_ethercore_variables.scss b/apps/block_scout_web/assets/css/theme/_ethercore_variables.scss new file mode 100644 index 0000000000..e5f99efb54 --- /dev/null +++ b/apps/block_scout_web/assets/css/theme/_ethercore_variables.scss @@ -0,0 +1,84 @@ +// general +$primary: #3a6ea7; +$secondary: #558ac3; +$tertiary: #3a6ea7; +$additional-font: #bdbdff; + +// footer +$footer-background-color: $primary; +$footer-title-color: #fff; +$footer-text-color: $additional-font; +$footer-item-disc-color: $tertiary; +$footer-social-icon-color: #3a6ea7; + +// dashboard +$dashboard-line-color-price: $secondary; +$dashboard-line-color-market: $tertiary; +$dashboard-banner-gradient-start: #7ba4d1; +$dashboard-banner-gradient-end: #3a6ea7; + +$dashboard-banner-chart-legend-label-color: $additional-font; +$dashboard-stats-item-label-color: $additional-font; +$dashboard-banner-chart-legend-value-color: #fff; // chart labels +$dashboard-stats-item-value-color: #fff; // stat values + +$dashboard-stats-item-border-color: $secondary; // stat border +$dashboard-banner-network-plain-container-background-color: #2e5884; // stats bg + +// navigation +$header-icon-border-color-hover: $tertiary; // top border on hover +$header-icon-color-hover: $tertiary; // nav icon on hover + +// buttons +$btn-line-bg: #fff; // button bg +$btn-line-color: $tertiary; // button border and font color && hover bg color +$btn-copy-color: $tertiary; // btn copy +$btn-qr-color: $tertiary; // btn qr-code +$btn-address-card-icon-color: $tertiary; // btn address color +$btn-contract-color: $tertiary; + +//links & tile +$tile-body-a-color: $tertiary; +$tile-type-block-color: $tertiary; +$tile-type-progress-bar-color: $tertiary; +a.tile-title { color: $tertiary !important; } + +// card +$card-background-1: $tertiary; +$card-tab-active: $tertiary; + +// ETC theme's idiosyncrasies +.layout-container { + .navbar { + box-shadow: 0 0 30px 0 rgba(21, 53, 80, 0.12); + } + + .dropdown-item:hover, + .dropdown-item.active, + .dropdown-item:focus { + background-color: rgba($tertiary, .1) !important; + color: $tertiary !important; + } + + .dashboard-banner-container { + background-image: linear-gradient( + to bottom, + $dashboard-banner-gradient-start, + $dashboard-banner-gradient-end + ); + } + + .footer-logo { + filter: brightness(0) invert(1); + } +} + +// Badges +$badge-neutral-color: $tertiary; +$badge-neutral-background-color: rgba($tertiary, .1); +$api-text-monospace-color: $tertiary; + +// Dark theme +$dark-primary: #8588ff; +$dark-secondary: #4ad7a7; +$dark-primary-alternate: #5b5ed8; diff --git a/apps/block_scout_web/assets/css/theme/_variables-non-critical.scss b/apps/block_scout_web/assets/css/theme/_variables-non-critical.scss index 39762ec68a..24c9f77350 100644 --- a/apps/block_scout_web/assets/css/theme/_variables-non-critical.scss +++ b/apps/block_scout_web/assets/css/theme/_variables-non-critical.scss @@ -20,4 +20,5 @@ // @import "sokol_variables-non-critical"; // @import "tobalaba_variables-non-critical"; // @import "tomochain_variables-non-critical"; -// @import "rsk_variables-non-critical"; \ No newline at end of file +// @import "rsk_variables-non-critical"; +// @import "ethercore_variables-non-critical"; diff --git a/apps/block_scout_web/assets/css/theme/_variables.scss b/apps/block_scout_web/assets/css/theme/_variables.scss index 15571b454b..d2108eb342 100644 --- a/apps/block_scout_web/assets/css/theme/_variables.scss +++ b/apps/block_scout_web/assets/css/theme/_variables.scss @@ -21,6 +21,7 @@ // @import "tobalaba_variables"; // @import "tomochain_variables"; // @import "rsk_variables"; +// @import "ethercore_variables"; // responsive breakpoints $breakpoint-xs: 320px; diff --git a/apps/block_scout_web/assets/static/images/ethercore_logo.svg b/apps/block_scout_web/assets/static/images/ethercore_logo.svg new file mode 100644 index 0000000000..4593bc7427 --- /dev/null +++ b/apps/block_scout_web/assets/static/images/ethercore_logo.svg @@ -0,0 +1,242 @@ + + + + + + + From 66cd47dbe60b200a86996275f9afa49cc33c5a40 Mon Sep 17 00:00:00 2001 From: EtherCore Contributor Date: Wed, 22 Jan 2020 11:54:50 +0900 Subject: [PATCH 262/342] Add EtherCore Testnet Support --- .../static/images/ethercore_testnet_logo.svg | 2284 +++++++++++++++++ 1 file changed, 2284 insertions(+) create mode 100644 apps/block_scout_web/assets/static/images/ethercore_testnet_logo.svg diff --git a/apps/block_scout_web/assets/static/images/ethercore_testnet_logo.svg b/apps/block_scout_web/assets/static/images/ethercore_testnet_logo.svg new file mode 100644 index 0000000000..1d1ba5b215 --- /dev/null +++ b/apps/block_scout_web/assets/static/images/ethercore_testnet_logo.svg @@ -0,0 +1,2284 @@ + + + + + + + From 5590b29c2d443c9875119e0f60255b6886c8cb77 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Wed, 22 Jan 2020 00:54:34 +0300 Subject: [PATCH 263/342] Fix bug in skipping of constructor arguments inn contract verification --- CHANGELOG.md | 1 + .../api/rpc/contract_controller_test.exs | 2 +- ...erified_smart_contract_controller_test.exs | 2 +- .../smart_contract/contract_with_lib.json | 13 ++++++ .../lib/explorer/smart_contract/verifier.ex | 5 +++ .../smart_contract/publisher_test.exs | 2 +- .../explorer/smart_contract/verifier_test.exs | 44 ++++++++++++++++++- .../smart_contract/contract_with_lib.json | 13 ++++++ 8 files changed, 77 insertions(+), 5 deletions(-) create mode 100644 apps/block_scout_web/test/support/fixture/smart_contract/contract_with_lib.json create mode 100644 apps/explorer/test/support/fixture/smart_contract/contract_with_lib.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 81c3b028b8..328b70a62a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly ### Fixes +- [#2964](https://github.com/poanetwork/blockscout/pull/2964) - Fix bug in skipping of constructor arguments in contract verification - [#2961](https://github.com/poanetwork/blockscout/pull/2961) - Add a guard that addresses is enum in `values` function in `read contract` page - [#2960](https://github.com/poanetwork/blockscout/pull/2960) - Add BLOCKSCOUT_HOST to docker setup - [#2956](https://github.com/poanetwork/blockscout/pull/2956) - Add support of 0.6.x version of compiler diff --git a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/contract_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/contract_controller_test.exs index 505520a2c0..b00d457426 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/contract_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/contract_controller_test.exs @@ -647,7 +647,7 @@ defmodule BlockScoutWeb.API.RPC.ContractControllerTest do test "with external libraries", %{conn: conn} do contract_data = - "#{File.cwd!()}/test/support/fixture/smart_contract/compiler_tests.json" + "#{File.cwd!()}/test/support/fixture/smart_contract/contract_with_lib.json" |> File.read!() |> Jason.decode!() |> List.first() diff --git a/apps/block_scout_web/test/block_scout_web/controllers/api/v1/verified_smart_contract_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/api/v1/verified_smart_contract_controller_test.exs index 7e5d41e930..19dd22151a 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/api/v1/verified_smart_contract_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/api/v1/verified_smart_contract_controller_test.exs @@ -28,7 +28,7 @@ defmodule BlockScoutWeb.API.V1.VerifiedControllerTest do test "verifying a smart contract with external libraries", %{conn: conn} do contract_data = - "#{File.cwd!()}/test/support/fixture/smart_contract/compiler_tests.json" + "#{File.cwd!()}/test/support/fixture/smart_contract/contract_with_lib.json" |> File.read!() |> Jason.decode!() |> List.first() diff --git a/apps/block_scout_web/test/support/fixture/smart_contract/contract_with_lib.json b/apps/block_scout_web/test/support/fixture/smart_contract/contract_with_lib.json new file mode 100644 index 0000000000..aba02b0ec4 --- /dev/null +++ b/apps/block_scout_web/test/support/fixture/smart_contract/contract_with_lib.json @@ -0,0 +1,13 @@ +[ + { + "compiler_version": "v0.5.11+commit.c082d0b4", + "contract": "pragma solidity 0.5.11;library BadSafeMath { function add(uint256 a, uint256 b) public pure returns (uint256) { uint256 c = a + 2 * b; require(c >= a, \"SafeMath: addition overflow\"); return c; }}contract SimpleStorage { uint256 storedData = 10; using BadSafeMath for uint256; function increment(uint256 x) public { storedData = storedData.add(x); } function set(uint256 x) public { storedData = x; } function get() public view returns (uint256) { return storedData; }}", + "expected_bytecode": "608060405234801561001057600080fd5b50600436106100415760003560e01c806360fe47b1146100465780636d4ce63c146100655780637cf5dab01461007f575b600080fd5b6100636004803603602081101561005c57600080fd5b503561009c565b005b61006d6100a1565b60408051918252519081900360200190f35b6100636004803603602081101561009557600080fd5b50356100a7565b600055565b60005490565b600054733662e222908fa35f013bee37695d0510098b6d7363771602f79091836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561010257600080fd5b505af4158015610116573d6000803e3d6000fd5b505050506040513d602081101561012c57600080fd5b50516000555056fea265627a7a723158203e59bfb9a5a2e55d38231922c86d8b2ec9b66cb2f6595613674bc4e15290b60764736f6c634300050b0032", + "external_libraries": { + "BadSafeMath": "0x3662e222908fa35f013bee37695d0510098b6d73" + }, + "name": "SimpleStorage", + "optimize": true + } + ] + \ No newline at end of file diff --git a/apps/explorer/lib/explorer/smart_contract/verifier.ex b/apps/explorer/lib/explorer/smart_contract/verifier.ex index 9b49dca97d..5eef57d64a 100644 --- a/apps/explorer/lib/explorer/smart_contract/verifier.ex +++ b/apps/explorer/lib/explorer/smart_contract/verifier.ex @@ -60,6 +60,7 @@ defmodule Explorer.SmartContract.Verifier do defp compare_bytecodes({:error, :name}, _, _, _), do: {:error, :name} defp compare_bytecodes({:error, _}, _, _, _), do: {:error, :compilation} + # credo:disable-for-next-line /Complexity/ defp compare_bytecodes( {:ok, %{"abi" => abi, "bytecode" => bytecode}}, address_hash, @@ -73,6 +74,7 @@ defmodule Explorer.SmartContract.Verifier do |> Chain.smart_contract_bytecode() blockchain_bytecode_without_whisper = extract_bytecode(blockchain_bytecode) + empty_constructor_arguments = arguments_data == "" or arguments_data == nil cond do generated_bytecode != blockchain_bytecode_without_whisper && @@ -88,6 +90,9 @@ defmodule Explorer.SmartContract.Verifier do {:error, :constructor_arguments} end + has_constructor_with_params?(abi) && empty_constructor_arguments -> + {:error, :constructor_arguments} + has_constructor_with_params?(abi) && !ConstructorArguments.verify(address_hash, blockchain_bytecode_without_whisper, arguments_data) -> {:error, :constructor_arguments} diff --git a/apps/explorer/test/explorer/smart_contract/publisher_test.exs b/apps/explorer/test/explorer/smart_contract/publisher_test.exs index 7a0d33fb45..79fbe55f63 100644 --- a/apps/explorer/test/explorer/smart_contract/publisher_test.exs +++ b/apps/explorer/test/explorer/smart_contract/publisher_test.exs @@ -131,7 +131,7 @@ defmodule Explorer.SmartContract.PublisherTest do test "validates and creates smart contract with external libraries" do contract_data = - "#{File.cwd!()}/test/support/fixture/smart_contract/compiler_tests.json" + "#{File.cwd!()}/test/support/fixture/smart_contract/contract_with_lib.json" |> File.read!() |> Jason.decode!() |> List.first() diff --git a/apps/explorer/test/explorer/smart_contract/verifier_test.exs b/apps/explorer/test/explorer/smart_contract/verifier_test.exs index 4cab8028c8..1fdbc2331b 100644 --- a/apps/explorer/test/explorer/smart_contract/verifier_test.exs +++ b/apps/explorer/test/explorer/smart_contract/verifier_test.exs @@ -30,7 +30,7 @@ defmodule Explorer.SmartContract.VerifierTest do test "verifies the generated bytecode with external libraries" do contract_data = - "#{File.cwd!()}/test/support/fixture/smart_contract/compiler_tests.json" + "#{File.cwd!()}/test/support/fixture/smart_contract/contract_with_lib.json" |> File.read!() |> Jason.decode!() |> List.first() @@ -113,8 +113,17 @@ defmodule Explorer.SmartContract.VerifierTest do bytecode = "0x60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063256fec88146100545780633fa4f245146100a9578063812600df146100d2575b600080fd5b341561005f57600080fd5b6100676100f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b457600080fd5b6100bc61011b565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b6100f36004808035906020019091905050610121565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b806000540160008190555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505600a165627a7a72305820b81379d1ae9d8e0fde05ee02b8bd170f43f8bd3d54da8b7ec203434a23a298980029" + constructor_arguments = "000000000000000000000000000000000000000000000000000000000000000a" + contract_address = insert(:contract_address, contract_code: bytecode) + :transaction + |> insert( + created_contract_address_hash: contract_address.hash, + input: bytecode <> constructor_arguments + ) + |> with_block() + code = """ pragma solidity ^0.4.15; contract Incrementer { @@ -137,7 +146,8 @@ defmodule Explorer.SmartContract.VerifierTest do "compiler_version" => "v0.4.15+commit.bbb8e64f", "evm_version" => "homestead", "name" => "Incrementer", - "optimization" => false + "optimization" => false, + "constructor_arguments" => constructor_arguments } assert {:ok, %{abi: abi}} = Verifier.evaluate_authenticity(contract_address.hash, params) @@ -222,6 +232,36 @@ defmodule Explorer.SmartContract.VerifierTest do assert {:error, :generated_bytecode} = response end + test "returns error when contract has constructor arguments ut they were not provided" do + path = File.cwd!() <> "/test/support/fixture/smart_contract/solidity_0.5.9_smart_contract.sol" + contract = File.read!(path) + + constructor_arguments = "" + + bytecode = + "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633177029f116100715780633177029f1461025f57806354fd4d50146102c557806370a082311461034857806395d89b41146103a0578063a9059cbb14610423578063dd62ed3e14610489576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b6610501565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061059f565b604051808215151515815260200191505060405180910390f35b61019f610691565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610696565b604051808215151515815260200191505060405180910390f35b61024361090f565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610922565b604051808215151515815260200191505060405180910390f35b6102cd610a14565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561030d5780820151818401526020810190506102f2565b50505050905090810190601f16801561033a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61038a6004803603602081101561035e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab2565b6040518082815260200191505060405180910390f35b6103a8610afa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103e85780820151818401526020810190506103cd565b50505050905090810190601f1680156104155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61046f6004803603604081101561043957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b98565b604051808215151515815260200191505060405180910390f35b6104eb6004803603604081101561049f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cfe565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105975780601f1061056c57610100808354040283529160200191610597565b820191906000526020600020905b81548152906001019060200180831161057a57829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600090565b6000816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610762575081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b801561076e5750600082115b1561090357816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610908565b600090505b9392505050565b600460009054906101000a900460ff1681565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aaa5780601f10610a7f57610100808354040283529160200191610aaa565b820191906000526020600020905b815481529060010190602001808311610a8d57829003601f168201915b505050505081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b905780601f10610b6557610100808354040283529160200191610b90565b820191906000526020600020905b815481529060010190602001808311610b7357829003601f168201915b505050505081565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610be85750600082115b15610cf357816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610cf8565b600090505b92915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490509291505056fea265627a7a72305820fe0ba5210ac95870683c2cb054304b04565703bd16c7d7e956df694c9643c6d264736f6c63430005090032" + + contract_address = insert(:contract_address, contract_code: bytecode) + + :transaction + |> insert( + created_contract_address_hash: contract_address.hash, + input: bytecode <> constructor_arguments + ) + |> with_block() + + params = %{ + "contract_source_code" => contract, + "compiler_version" => "v0.5.9+commit.e560f70d", + "evm_version" => "petersburg", + "name" => "TestToken", + "optimization" => false, + "constructor_arguments" => constructor_arguments + } + + assert {:error, :generated_bytecode} = Verifier.evaluate_authenticity(contract_address.hash, params) + end + test "returns error when there is a compilation problem", %{contract_code_info: contract_code_info} do contract_address = insert(:contract_address, contract_code: contract_code_info.bytecode) diff --git a/apps/explorer/test/support/fixture/smart_contract/contract_with_lib.json b/apps/explorer/test/support/fixture/smart_contract/contract_with_lib.json new file mode 100644 index 0000000000..aba02b0ec4 --- /dev/null +++ b/apps/explorer/test/support/fixture/smart_contract/contract_with_lib.json @@ -0,0 +1,13 @@ +[ + { + "compiler_version": "v0.5.11+commit.c082d0b4", + "contract": "pragma solidity 0.5.11;library BadSafeMath { function add(uint256 a, uint256 b) public pure returns (uint256) { uint256 c = a + 2 * b; require(c >= a, \"SafeMath: addition overflow\"); return c; }}contract SimpleStorage { uint256 storedData = 10; using BadSafeMath for uint256; function increment(uint256 x) public { storedData = storedData.add(x); } function set(uint256 x) public { storedData = x; } function get() public view returns (uint256) { return storedData; }}", + "expected_bytecode": "608060405234801561001057600080fd5b50600436106100415760003560e01c806360fe47b1146100465780636d4ce63c146100655780637cf5dab01461007f575b600080fd5b6100636004803603602081101561005c57600080fd5b503561009c565b005b61006d6100a1565b60408051918252519081900360200190f35b6100636004803603602081101561009557600080fd5b50356100a7565b600055565b60005490565b600054733662e222908fa35f013bee37695d0510098b6d7363771602f79091836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561010257600080fd5b505af4158015610116573d6000803e3d6000fd5b505050506040513d602081101561012c57600080fd5b50516000555056fea265627a7a723158203e59bfb9a5a2e55d38231922c86d8b2ec9b66cb2f6595613674bc4e15290b60764736f6c634300050b0032", + "external_libraries": { + "BadSafeMath": "0x3662e222908fa35f013bee37695d0510098b6d73" + }, + "name": "SimpleStorage", + "optimize": true + } + ] + \ No newline at end of file From b65d4672f12f12ed6e3e9d93a0db49fa79642819 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Wed, 22 Jan 2020 18:12:36 +0300 Subject: [PATCH 264/342] fix styles loading for firefox --- .../lib/block_scout_web/templates/layout/app.html.eex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex index cde1169f3d..d40564d7d5 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex @@ -7,7 +7,7 @@ "> " as="style" onload="this.onload=null;this.rel='stylesheet'"> - + "> "> "> From 1e9c2266c91823ff015b73fb8b803894deac7db5 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Wed, 22 Jan 2020 18:26:21 +0300 Subject: [PATCH 265/342] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81c3b028b8..4dd7982fdd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly ### Fixes +- [#2967](https://github.com/poanetwork/blockscout/pull/2967) - Fix styles loading for firefox - [#2961](https://github.com/poanetwork/blockscout/pull/2961) - Add a guard that addresses is enum in `values` function in `read contract` page - [#2960](https://github.com/poanetwork/blockscout/pull/2960) - Add BLOCKSCOUT_HOST to docker setup - [#2956](https://github.com/poanetwork/blockscout/pull/2956) - Add support of 0.6.x version of compiler From 87092a4fa218de59a4429707256f85a95ea5b5f9 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Thu, 23 Jan 2020 01:11:45 +0300 Subject: [PATCH 266/342] Fix contract constructor require msg appearance in constructor arguments encoded view --- CHANGELOG.md | 1 + .../lib/explorer/smart_contract/verifier.ex | 24 +- .../verifier/constructor_arguments.ex | 99 +++- .../verifier/constructor_arguments_test.exs | 559 +++++++++++++++++- 4 files changed, 662 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 328b70a62a..286a35b121 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly ### Fixes +- [#2969](https://github.com/poanetwork/blockscout/pull/2969) - Fix contract constructor require msg appearance in constructor arguments encoded view - [#2964](https://github.com/poanetwork/blockscout/pull/2964) - Fix bug in skipping of constructor arguments in contract verification - [#2961](https://github.com/poanetwork/blockscout/pull/2961) - Add a guard that addresses is enum in `values` function in `read contract` page - [#2960](https://github.com/poanetwork/blockscout/pull/2960) - Add BLOCKSCOUT_HOST to docker setup diff --git a/apps/explorer/lib/explorer/smart_contract/verifier.ex b/apps/explorer/lib/explorer/smart_contract/verifier.ex index 5eef57d64a..ce55258358 100644 --- a/apps/explorer/lib/explorer/smart_contract/verifier.ex +++ b/apps/explorer/lib/explorer/smart_contract/verifier.ex @@ -54,18 +54,25 @@ defmodule Explorer.SmartContract.Verifier do external_libs: external_libraries ) - compare_bytecodes(solc_output, address_hash, constructor_arguments, autodetect_contructor_arguments) + compare_bytecodes( + solc_output, + address_hash, + constructor_arguments, + autodetect_contructor_arguments, + contract_source_code + ) end - defp compare_bytecodes({:error, :name}, _, _, _), do: {:error, :name} - defp compare_bytecodes({:error, _}, _, _, _), do: {:error, :compilation} + defp compare_bytecodes({:error, :name}, _, _, _, _), do: {:error, :name} + defp compare_bytecodes({:error, _}, _, _, _, _), do: {:error, :compilation} # credo:disable-for-next-line /Complexity/ defp compare_bytecodes( {:ok, %{"abi" => abi, "bytecode" => bytecode}}, address_hash, arguments_data, - autodetect_contructor_arguments + autodetect_contructor_arguments, + contract_source_code ) do generated_bytecode = extract_bytecode(bytecode) @@ -82,7 +89,7 @@ defmodule Explorer.SmartContract.Verifier do {:error, :generated_bytecode} has_constructor_with_params?(abi) && autodetect_contructor_arguments -> - result = ConstructorArguments.find_constructor_arguments(address_hash, abi) + result = ConstructorArguments.find_constructor_arguments(address_hash, abi, contract_source_code) if result do {:ok, %{abi: abi, contructor_arguments: result}} @@ -94,7 +101,12 @@ defmodule Explorer.SmartContract.Verifier do {:error, :constructor_arguments} has_constructor_with_params?(abi) && - !ConstructorArguments.verify(address_hash, blockchain_bytecode_without_whisper, arguments_data) -> + !ConstructorArguments.verify( + address_hash, + blockchain_bytecode_without_whisper, + arguments_data, + contract_source_code + ) -> {:error, :constructor_arguments} true -> diff --git a/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex b/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex index 69e93f450b..f93eaf3c58 100644 --- a/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex +++ b/apps/explorer/lib/explorer/smart_contract/verifier/constructor_arguments.ex @@ -5,7 +5,7 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do alias ABI.{FunctionSelector, TypeDecoder} alias Explorer.Chain - def verify(address_hash, contract_code, arguments_data) do + def verify(address_hash, contract_code, arguments_data, contract_source_code) do arguments_data = arguments_data |> String.trim_trailing() |> String.trim_leading("0x") creation_code = @@ -18,7 +18,7 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do if verify_older_version(creation_code, contract_code, check_func) do true else - extract_constructor_arguments(creation_code, check_func) + extract_constructor_arguments(creation_code, check_func, contract_source_code) end end @@ -31,22 +31,22 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do |> check_func.() end - defp extract_constructor_arguments(code, check_func) do + defp extract_constructor_arguments(code, check_func, contract_source_code) do case code do # Solidity ~ 4.23 # https://solidity.readthedocs.io/en/v0.4.23/metadata.html "a165627a7a72305820" <> <<_::binary-size(64)>> <> "0029" <> constructor_arguments -> - extract_constructor_arguments_check_func(constructor_arguments, check_func) + extract_constructor_arguments_check_func(constructor_arguments, check_func, contract_source_code) # Solidity >= 0.5.10 https://solidity.readthedocs.io/en/v0.5.10/metadata.html "a265627a7a72305820" <> <<_::binary-size(64)>> <> "64736f6c6343" <> <<_::binary-size(6)>> <> "0032" <> constructor_arguments -> - extract_constructor_arguments_check_func(constructor_arguments, check_func) + extract_constructor_arguments_check_func(constructor_arguments, check_func, contract_source_code) # Solidity >= 0.5.11 https://github.com/ethereum/solidity/blob/develop/Changelog.md#0511-2019-08-12 # Metadata: Update the swarm hash to the current specification, changes bzzr0 to bzzr1 and urls to use bzz-raw:// "a265627a7a72315820" <> <<_::binary-size(64)>> <> "64736f6c6343" <> <<_::binary-size(6)>> <> "0032" <> constructor_arguments -> - extract_constructor_arguments_check_func(constructor_arguments, check_func) + extract_constructor_arguments_check_func(constructor_arguments, check_func, contract_source_code) # Solidity >= 0.6.0 https://github.com/ethereum/solidity/blob/develop/Changelog.md#060-2019-12-17 # https://github.com/ethereum/solidity/blob/26b700771e9cc9c956f0503a05de69a1be427963/docs/metadata.rst#encoding-of-the-metadata-hash-in-the-bytecode @@ -60,27 +60,47 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do # Fixing PR has been created https://github.com/ethereum/solidity/pull/8174 "a264697066735822" <> <<_::binary-size(68)>> <> "64736f6c6343" <> <<_::binary-size(6)>> <> "0033" <> constructor_arguments -> - extract_constructor_arguments_check_func(constructor_arguments, check_func) + extract_constructor_arguments_check_func(constructor_arguments, check_func, contract_source_code) <<>> -> check_func.("") <<_::binary-size(2)>> <> rest -> - extract_constructor_arguments(rest, check_func) + extract_constructor_arguments(rest, check_func, contract_source_code) end end - defp extract_constructor_arguments_check_func(constructor_arguments, check_func) do + defp extract_constructor_arguments_check_func(constructor_arguments, check_func, contract_source_code) do + constructor_arguments = + remove_require_messages_from_constructor_arguments(contract_source_code, constructor_arguments) + check_func_result = check_func.(constructor_arguments) if check_func_result do check_func_result else - extract_constructor_arguments(constructor_arguments, check_func) + extract_constructor_arguments(constructor_arguments, check_func, contract_source_code) end end - def find_constructor_arguments(address_hash, abi) do + def remove_require_messages_from_constructor_arguments(contract_source_code, constructor_arguments) do + msgs_list = + contract_source_code + |> extract_require_messages_from_constructor() + |> Enum.reverse() + + Enum.reduce(msgs_list, constructor_arguments, fn msg, pure_constructor_arguments -> + case String.split(pure_constructor_arguments, msg, parts: 2) do + [_, constructor_arguments_part] -> + constructor_arguments_part + + [_] -> + pure_constructor_arguments + end + end) + end + + def find_constructor_arguments(address_hash, abi, contract_source_code) do creation_code = address_hash |> Chain.contract_creation_input_data() @@ -103,6 +123,61 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArguments do end end - extract_constructor_arguments(creation_code, check_func) + extract_constructor_arguments(creation_code, check_func, contract_source_code) + end + + def extract_require_messages_from_constructor(contract_source_code) do + constructor = find_constructor_content(contract_source_code) + require_contents = find_require_in_constructor(constructor) + + messages_list = + Enum.reduce(require_contents, [], fn require_content, msgs -> + msg = get_require_message_hex(require_content) + if msg, do: [msg | msgs] + end) + + if messages_list, do: messages_list, else: [] + end + + def find_constructor_content(contract_source_code) do + case String.split(contract_source_code, "constructor", parts: 2) do + [_, right_from_contstructor] -> + [_, right_from_contstructor_inside] = String.split(right_from_contstructor, "{", parts: 2) + [constructor, _] = String.split(right_from_contstructor_inside, "}", parts: 2) + constructor + + [_] -> + nil + end + end + + def find_require_in_constructor(constructor) do + if constructor do + [_ | requires] = String.split(constructor, "require") + + Enum.reduce(requires, [], fn right_from_require, requires_list -> + [_ | [right_from_require_inside]] = String.split(right_from_require, "(", parts: 2) + [require_content | _] = String.split(right_from_require_inside, ");", parts: 2) + [require_content | requires_list] + end) + else + [] + end + end + + def get_require_message_hex(require_content) do + case String.split(require_content, ",", parts: 2) do + [_ | [msg]] -> + msg + |> String.trim() + |> String.trim_leading("\"") + |> String.trim_trailing("\"") + |> String.trim_leading("'") + |> String.trim_trailing("'") + |> Base.encode16(case: :lower) + + [_] -> + nil + end end end diff --git a/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs b/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs index 968ae4131b..24a40e03ee 100644 --- a/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs +++ b/apps/explorer/test/explorer/smart_contract/verifier/constructor_arguments_test.exs @@ -23,7 +23,7 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArgumentsTest do |> insert(created_contract_address_hash: address.hash, input: input_data) |> with_block() - assert ConstructorArguments.verify(address.hash, "", constructor_arguments) + assert ConstructorArguments.verify(address.hash, "", constructor_arguments, "") end test "verifies with multiple nested constructor arguments" do @@ -43,7 +43,7 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArgumentsTest do |> insert(created_contract_address_hash: address.hash, input: input_data) |> with_block() - assert ConstructorArguments.verify(address.hash, "", constructor_arguments) + assert ConstructorArguments.verify(address.hash, "", constructor_arguments, "") end test "verifies older version of Solidity where constructor_arguments were directly appended to source code" do @@ -64,7 +64,560 @@ defmodule Explorer.SmartContract.Verifier.ConstructorArgumentsTest do |> insert(created_contract_address_hash: address.hash, input: input_data) |> with_block() - assert ConstructorArguments.verify(address.hash, source_code, constructor_arguments) + assert ConstructorArguments.verify(address.hash, source_code, constructor_arguments, "") end + + test "verifies with require messages" do + address = insert(:address) + + source_code = """ + pragma solidity ^0.5.8; + + contract ValidatorProxy { + mapping(address => bool) public isValidator; + address public systemAddress = 0xffffFFFfFFffffffffffffffFfFFFfffFFFfFFfE; + address[] public validators; + + constructor(address[] memory _validators) public { + validators = _validators; + + for (uint i = 0; i < _validators.length; i++) { + isValidator[_validators[i]] = true; + } + } + + function updateValidators(address[] memory newValidators) public { + require( + tx.origin == systemAddress, // solium-disable-line security/no-tx-origin + "Only the system address can be responsible for the call of this function." + ); + + for (uint i = 0; i < validators.length; i++) { + isValidator[validators[i]] = false; + } + + for (uint i = 0; i < newValidators.length; i++) { + isValidator[newValidators[i]] = true; + } + + validators = newValidators; + } + + function numberOfValidators() public view returns (uint) { + return validators.length; + } + + function getValidators() public view returns (address[] memory) { + return validators; + } + } + + + contract HomeBridge { + struct TransferState { + mapping(address => bool) isConfirmedByValidator; + address[] confirmingValidators; + bool isCompleted; + } + + event Confirmation( + bytes32 transferHash, + bytes32 transactionHash, + uint256 amount, + address recipient, + address indexed validator + ); + event TransferCompleted( + bytes32 transferHash, + bytes32 transactionHash, + uint256 amount, + address recipient, + bool coinTransferSuccessful + ); + + mapping(bytes32 => TransferState) public transferState; + ValidatorProxy public validatorProxy; + uint public validatorsRequiredPercent; + + constructor(ValidatorProxy _proxy, uint _validatorsRequiredPercent) public { + require( + address(_proxy) != address(0), + "proxy must not be the zero address!" + ); + require( + _validatorsRequiredPercent >= 0 && + _validatorsRequiredPercent <= 100, + "_validatorsRequiredPercent must be between 0 and 100" + ); + validatorProxy = _proxy; + validatorsRequiredPercent = _validatorsRequiredPercent; + } + + function fund() external payable {} + + function confirmTransfer( + bytes32 transferHash, + bytes32 transactionHash, + uint256 amount, + address payable recipient + ) public { + // We compute a keccak hash for the transfer and use that as an identifier for the transfer + bytes32 transferStateId = keccak256( + abi.encodePacked(transferHash, transactionHash, amount, recipient) + ); + + require( + !transferState[transferStateId].isCompleted, + "transfer already completed" + ); + + require( + validatorProxy.isValidator(msg.sender), + "must be validator to confirm transfers" + ); + + require( + recipient != address(0), + "recipient must not be the zero address!" + ); + + require(amount > 0, "amount must not be zero"); + + if (_confirmTransfer(transferStateId, msg.sender)) { + // We have to emit the events here, because _confirmTransfer + // doesn't even receive the necessary information to do it on + // its own + + emit Confirmation( + transferHash, + transactionHash, + amount, + recipient, + msg.sender + ); + } + + if (_requiredConfirmationsReached(transferStateId)) { + transferState[transferStateId].isCompleted = true; + delete transferState[transferStateId].confirmingValidators; + bool coinTransferSuccessful = recipient.send(amount); + emit TransferCompleted( + transferHash, + transactionHash, + amount, + recipient, + coinTransferSuccessful + ); + } + } + + // check if a 2nd confirmTransfer would complete a transfer. this + // can happen after validator set changes. + function reconfirmCompletesTransfer( + bytes32 transferHash, + bytes32 transactionHash, + uint256 amount, + address payable recipient + ) public view returns (bool) { + require( + recipient != address(0), + "recipient must not be the zero address!" + ); + require(amount > 0, "amount must not be zero"); + + // We compute a keccak hash for the transfer and use that as an identifier for the transfer + bytes32 transferStateId = keccak256( + abi.encodePacked(transferHash, transactionHash, amount, recipient) + ); + + require( + !transferState[transferStateId].isCompleted, + "transfer already completed" + ); + + address[] storage confirmingValidators = transferState[transferStateId] + .confirmingValidators; + uint numConfirming = 0; + for (uint i = 0; i < confirmingValidators.length; i++) { + if (validatorProxy.isValidator(confirmingValidators[i])) { + numConfirming += 1; + } + } + return numConfirming >= _getNumRequiredConfirmations(); + } + + function _purgeConfirmationsFromExValidators(bytes32 transferStateId) + internal + { + address[] storage confirmingValidators = transferState[transferStateId] + .confirmingValidators; + + uint i = 0; + while (i < confirmingValidators.length) { + if (validatorProxy.isValidator(confirmingValidators[i])) { + i++; + } else { + confirmingValidators[i] = confirmingValidators[confirmingValidators + .length - + 1]; + confirmingValidators.length--; + } + } + } + + function _getNumRequiredConfirmations() internal view returns (uint) { + return + ( + validatorProxy.numberOfValidators() * + validatorsRequiredPercent + + 99 + ) / + 100; + } + + function _confirmTransfer(bytes32 transferStateId, address validator) + internal + returns (bool) + { + if (transferState[transferStateId].isConfirmedByValidator[validator]) { + return false; + } + + transferState[transferStateId].isConfirmedByValidator[validator] = true; + transferState[transferStateId].confirmingValidators.push(validator); + + return true; + } + + function _requiredConfirmationsReached(bytes32 transferStateId) + internal + returns (bool) + { + uint numRequired = _getNumRequiredConfirmations(); + + /* We now check if we have enough confirmations. If that is the + case, we purge ex-validators from the list of confirmations + and do the check again, so we do not count + confirmations from ex-validators. + + This means that old confirmations stay valid over validator set changes given + that the validator doesn't lose its validator status. + + The double check is here to save some gas. If checking the validator + status for all confirming validators becomes too costly, we can introduce + a 'serial number' for the validator set changes and determine if there + was a change of the validator set between the first confirmation + and the last confirmation and skip calling into + _purgeConfirmationsFromExValidators if there were no changes. + */ + + if ( + transferState[transferStateId].confirmingValidators.length < + numRequired + ) { + return false; + } + + _purgeConfirmationsFromExValidators(transferStateId); + + if ( + transferState[transferStateId].confirmingValidators.length < + numRequired + ) { + return false; + } + + return true; + } + } + """ + + constructor_arguments = + "5f76616c696461746f7273526571756972656450657263656e74206d757374206265206265747765656e203020616e642031303070726f7879206d757374206e6f7420626520746865207a65726f206164647265737321000000000000000000000000fb5a36f0e12cef9f88d95f0e02cad4ba183336dc0000000000000000000000000000000000000000000000000000000000000032" + + input = + "608060405234801561001057600080fd5b50604051604080610ebb8339810180604052604081101561003057600080fd5b5080516020909101516001600160a01b038216610098576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610e986023913960400191505060405180910390fd5b60648111156100f2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180610e646034913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b039390931692909217909155600255610d3f806101256000396000f3fe6080604052600436106100655760003560e01c8063397bc64111610043578063397bc64114610135578063b60d42881461015f578063f176cde71461016957610065565b806305dab2881461006a5780630b1ec76014610091578063236459c7146100cf575b600080fd5b34801561007657600080fd5b5061007f6101bb565b60408051918252519081900360200190f35b34801561009d57600080fd5b506100a66101c1565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100db57600080fd5b50610121600480360360808110156100f257600080fd5b508035906020810135906040810135906060013573ffffffffffffffffffffffffffffffffffffffff166101dd565b604080519115158252519081900360200190f35b34801561014157600080fd5b506101216004803603602081101561015857600080fd5b5035610484565b61016761049c565b005b34801561017557600080fd5b506101676004803603608081101561018c57600080fd5b508035906020810135906040810135906060013573ffffffffffffffffffffffffffffffffffffffff1661049e565b60025481565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff821661024b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610cc76027913960400191505060405180910390fd5b600083116102ba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f616d6f756e74206d757374206e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b604080516020808201889052818301879052606080830187905273ffffffffffffffffffffffffffffffffffffffff8616901b608083015282516074818403018152609490920183528151918101919091206000818152918290529190206002015460ff161561038b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7472616e7366657220616c726561647920636f6d706c65746564000000000000604482015290519081900360640190fd5b600081815260208190526040812060010190805b825481101561046e57600154835473ffffffffffffffffffffffffffffffffffffffff9091169063facd743b908590849081106103d857fe5b600091825260209182902001546040805163ffffffff851660e01b815273ffffffffffffffffffffffffffffffffffffffff90921660048301525160248083019392829003018186803b15801561042e57600080fd5b505afa158015610442573d6000803e3d6000fd5b505050506040513d602081101561045857600080fd5b505115610466576001820191505b60010161039f565b506104776108a7565b1115979650505050505050565b60006020819052908152604090206002015460ff1681565b565b604080516020808201879052818301869052606080830186905273ffffffffffffffffffffffffffffffffffffffff8516901b608083015282516074818403018152609490920183528151918101919091206000818152918290529190206002015460ff161561056f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7472616e7366657220616c726561647920636f6d706c65746564000000000000604482015290519081900360640190fd5b600154604080517ffacd743b000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163facd743b91602480820192602092909190829003018186803b1580156105e057600080fd5b505afa1580156105f4573d6000803e3d6000fd5b505050506040513d602081101561060a57600080fd5b5051610661576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610cee6026913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166106cd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610cc76027913960400191505060405180910390fd5b6000831161073c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f616d6f756e74206d757374206e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6107468133610954565b156107ab57604080518681526020810186905280820185905273ffffffffffffffffffffffffffffffffffffffff84166060820152905133917fdee96a12459a8c17d4cf9571d9ab18de19fa1055adff514e2d25595382d218df919081900360800190a25b6107b481610a35565b156108a05760008181526020819052604081206002810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915561080392910190610c67565b60405160009073ffffffffffffffffffffffffffffffffffffffff84169085156108fc0290869084818181858888f1604080518c8152602081018c90528082018b905273ffffffffffffffffffffffffffffffffffffffff8a166060820152821515608082015290519196507f546c8621785b0cc9f951c75b68621fbdfce93ba6df3943b1271813c3598852d1955081900360a0019350915050a1505b5050505050565b60006064600254600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d6832ea96040518163ffffffff1660e01b815260040160206040518083038186803b15801561091657600080fd5b505afa15801561092a573d6000803e3d6000fd5b505050506040513d602081101561094057600080fd5b5051026063018161094d57fe5b0490505b90565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915281205460ff161561099257506000610a2f565b5060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff851680855281845291842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155848452908101805480830182559085529290932090910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790555b92915050565b600080610a406108a7565b600084815260208190526040902060010154909150811115610a66576000915050610a98565b610a6f83610a9d565b600083815260208190526040902060010154811115610a92576000915050610a98565b60019150505b919050565b6000818152602081905260408120600101905b8154811015610c6257600154825473ffffffffffffffffffffffffffffffffffffffff9091169063facd743b90849084908110610ae957fe5b600091825260209182902001546040805163ffffffff851660e01b815273ffffffffffffffffffffffffffffffffffffffff90921660048301525160248083019392829003018186803b158015610b3f57600080fd5b505afa158015610b53573d6000803e3d6000fd5b505050506040513d6020811015610b6957600080fd5b505115610b7857600101610c5d565b815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610ba857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281548110610bdf57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790558154610c5b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301610c88565b505b610ab0565b505050565b5080546000825590600052602060002090810190610c859190610ca8565b50565b815481835581811115610c6257600083815260209020610c629181019083015b61095191905b80821115610cc25760008155600101610cae565b509056fe726563697069656e74206d757374206e6f7420626520746865207a65726f2061646472657373216d7573742062652076616c696461746f7220746f20636f6e6669726d207472616e7366657273a165627a7a7230582050f9daa0f47602e3462444b6fc1dc592b21ec7e054969a8a5a1846570c2570cc00295f76616c696461746f7273526571756972656450657263656e74206d757374206265206265747765656e203020616e642031303070726f7879206d757374206e6f7420626520746865207a65726f206164647265737321000000000000000000000000fb5a36f0e12cef9f88d95f0e02cad4ba183336dc0000000000000000000000000000000000000000000000000000000000000032" + + input_data = %Data{ + bytes: Base.decode16!(input, case: :lower) + } + + :transaction + |> insert(created_contract_address_hash: address.hash, input: input_data) + |> with_block() + + assert ConstructorArguments.verify(address.hash, input, constructor_arguments, source_code) + end + + test "get require messages from constructor" do + contract_source_code = """ + pragma solidity 0.6.1; + + + contract HomeBridge { + uint public validatorsRequiredPercent; + + constructor(address _proxy, uint256 _validatorsRequiredPercent) public { + require ( + address(_proxy) != address(0), + + + + "proxy must not be the zero address!" + ); + + + require( + _validatorsRequiredPercent >= 0 && + _validatorsRequiredPercent <= 100, + "_validatorsRequiredPercent must be between 0 and 100" + ); + validatorsRequiredPercent = _validatorsRequiredPercent; + } + } + """ + + result = ConstructorArguments.extract_require_messages_from_constructor(contract_source_code) + + assert result == [ + "70726f7879206d757374206e6f7420626520746865207a65726f206164647265737321", + "5f76616c696461746f7273526571756972656450657263656e74206d757374206265206265747765656e203020616e6420313030" + ] + end + + test "get require messages with a single quote from constructor" do + contract_source_code = """ + pragma solidity 0.6.1; + + + contract HomeBridge { + uint public validatorsRequiredPercent; + + constructor(address _proxy, uint256 _validatorsRequiredPercent) public { + + + require( + _validatorsRequiredPercent >= 0 && + _validatorsRequiredPercent <= 100, + '_validatorsRequiredPercent must be between 0 and 100' + ); + validatorsRequiredPercent = _validatorsRequiredPercent; + } + } + """ + + result = ConstructorArguments.extract_require_messages_from_constructor(contract_source_code) + + assert result == [ + "5f76616c696461746f7273526571756972656450657263656e74206d757374206265206265747765656e203020616e6420313030" + ] + end + + test "get require messages with different quotes inside from constructor" do + contract_source_code = """ + pragma solidity 0.6.1; + + + contract HomeBridge { + uint public validatorsRequiredPercent; + + constructor(uint256 _validatorsRequiredPercent) public { + + + require( + _validatorsRequiredPercent >= 0 && + _validatorsRequiredPercent <= 100, + "_val\"idatorsReq'uiredPercent must be ' between \" 0 and 100" + ); + validatorsRequiredPercent = _validatorsRequiredPercent; + } + } + """ + + result = ConstructorArguments.extract_require_messages_from_constructor(contract_source_code) + + assert result == [ + "5f76616c22696461746f727352657127756972656450657263656e74206d7573742062652027206265747765656e2022203020616e6420313030" + ] + end + + test "get empty require messages from constructor with require without message" do + contract_source_code = """ + pragma solidity 0.6.1; + + + contract HomeBridge { + uint public validatorsRequiredPercent; + + constructor(uint256 _validatorsRequiredPercent) public { + + + require( + _validatorsRequiredPercent >= 0 && + _validatorsRequiredPercent <= 100 + ); + validatorsRequiredPercent = _validatorsRequiredPercent; + } + } + """ + + result = ConstructorArguments.extract_require_messages_from_constructor(contract_source_code) + + assert result == [] + end + + test "get empty require messages from constructor" do + contract_source_code = """ + pragma solidity 0.6.1; + + + contract HomeBridge { + uint public validatorsRequiredPercent; + + constructor(address _proxy, uint256 _validatorsRequiredPercent) public { + validatorsRequiredPercent = _validatorsRequiredPercent; + } + } + """ + + result = ConstructorArguments.extract_require_messages_from_constructor(contract_source_code) + + assert result == [] + end + end + + test "get empty require messages if no constructor" do + contract_source_code = """ + pragma solidity 0.6.1; + + + contract HomeBridge { + uint public validatorsRequiredPercent; + + } + """ + + result = ConstructorArguments.extract_require_messages_from_constructor(contract_source_code) + + assert result == [] + end + + test "returns purified constructor arguments" do + contract_source_code = """ + pragma solidity 0.6.1; + + + contract HomeBridge { + uint public validatorsRequiredPercent; + + constructor(address _proxy, uint256 _validatorsRequiredPercent) public { + require ( + address(_proxy) != address(0), + + + + "proxy must not be the zero address!" + ); + + + require( + _validatorsRequiredPercent >= 0 && + _validatorsRequiredPercent <= 100, + "_validatorsRequiredPercent must be between 0 and 100" + ); + validatorsRequiredPercent = _validatorsRequiredPercent; + } + } + """ + + dirty_constructor_arguments = + "5f76616c696461746f7273526571756972656450657263656e74206d757374206265206265747765656e203020616e642031303070726f7879206d757374206e6f7420626520746865207a65726f206164647265737321000000000000000000000000fb5a36f0e12cef9f88d95f0e02cad4ba183336dc0000000000000000000000000000000000000000000000000000000000000032" + + result = + ConstructorArguments.remove_require_messages_from_constructor_arguments( + contract_source_code, + dirty_constructor_arguments + ) + + assert result == + "000000000000000000000000fb5a36f0e12cef9f88d95f0e02cad4ba183336dc0000000000000000000000000000000000000000000000000000000000000032" + end + + test "didn't replace text param if it is the same as message in require" do + contract_source_code = """ + pragma solidity 0.5.11; + + + contract HomeBridge { + string public param; + uint public param2; + + constructor(string memory test, uint test2) public { + require( + test2 != 0, + + "proxy must not be the zero address!" + ); + + param = test; + param2 = test2; + } + } + """ + + dirty_constructor_arguments = + "70726f7879206d757374206e6f7420626520746865207a65726f2061646472657373210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002370726f7879206d757374206e6f7420626520746865207a65726f2061646472657373210000000000000000000000000000000000000000000000000000000000" + + result = + ConstructorArguments.remove_require_messages_from_constructor_arguments( + contract_source_code, + dirty_constructor_arguments + ) + + # Arg [0] (string) : 70726f7879206d757374206e6f7420626520746865207a65726f206164647265737321 + # Arg [1] (uint256) : 45 + assert result == + "0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002370726f7879206d757374206e6f7420626520746865207a65726f2061646472657373210000000000000000000000000000000000000000000000000000000000" + end + + test "returns the same constructor arguments if no matches in require hexed messages" do + contract_source_code = """ + pragma solidity 0.6.1; + + + contract HomeBridge { + uint public validatorsRequiredPercent; + + constructor(address _proxy, uint256 _validatorsRequiredPercent) public { + require ( + address(_proxy) != address(0), + + + + "proxy must not be the zero address!" + ); + + + require( + _validatorsRequiredPercent >= 0 && + _validatorsRequiredPercent <= 100, + "_validatorsRequiredPercent must be between 0 and 100" + ); + validatorsRequiredPercent = _validatorsRequiredPercent; + } + } + """ + + dirty_constructor_arguments = + "4f76616c696461746f7273526571756972656450657263656e74206d757374206265206265747765656e203020616e642031303070726f7879206d757374206e6f7420626520746864207a65726f206164647265737321000000000000000000000000fb5a36f0e12cef9f88d95f0e02cad4ba183336dc0000000000000000000000000000000000000000000000000000000000000032" + + result = + ConstructorArguments.remove_require_messages_from_constructor_arguments( + contract_source_code, + dirty_constructor_arguments + ) + + assert result == + "4f76616c696461746f7273526571756972656450657263656e74206d757374206265206265747765656e203020616e642031303070726f7879206d757374206e6f7420626520746864207a65726f206164647265737321000000000000000000000000fb5a36f0e12cef9f88d95f0e02cad4ba183336dc0000000000000000000000000000000000000000000000000000000000000032" end end From ca9a8cf629b23f5589ce15fe7ff430acb29075e5 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Sun, 26 Jan 2020 13:12:45 +0300 Subject: [PATCH 267/342] Compiler nightly builds as an option --- CHANGELOG.md | 1 + .../assets/js/pages/verification_form.js | 40 +++++++++++++++++++ .../new.html.eex | 32 ++++++++++++--- apps/block_scout_web/priv/gettext/default.pot | 34 ++++++++-------- .../priv/gettext/en/LC_MESSAGES/default.po | 34 ++++++++-------- 5 files changed, 104 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 328b70a62a..45a71bcfb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ### Features - [#2835](https://github.com/poanetwork/blockscout/pull/2835), [#2871](https://github.com/poanetwork/blockscout/pull/2871), [#2872](https://github.com/poanetwork/blockscout/pull/2872), [#2886](https://github.com/poanetwork/blockscout/pull/2886), [#2925](https://github.com/poanetwork/blockscout/pull/2925), [#2936](https://github.com/poanetwork/blockscout/pull/2936), [#2949](https://github.com/poanetwork/blockscout/pull/2949), [#2940](https://github.com/poanetwork/blockscout/pull/2940), [#2958](https://github.com/poanetwork/blockscout/pull/2958) - Add "block_hash" to logs, token_transfers and internal transactions and "pending blocks operations" approach +- [#2975](https://github.com/poanetwork/blockscout/pull/2975) - Refine UX of contracts verification - [#2926](https://github.com/poanetwork/blockscout/pull/2926) - API endpoint: sum balances except burnt address - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly diff --git a/apps/block_scout_web/assets/js/pages/verification_form.js b/apps/block_scout_web/assets/js/pages/verification_form.js index 1267d12c39..795cbf757b 100644 --- a/apps/block_scout_web/assets/js/pages/verification_form.js +++ b/apps/block_scout_web/assets/js/pages/verification_form.js @@ -88,6 +88,26 @@ const elements = { const $contractVerificationPage = $('[data-page="contract-verification"]') +function filterNightlyBuilds (filter) { + var select, options + select = document.getElementById('smart_contract_compiler_version') + options = select.getElementsByTagName('option') + for (const option of options) { + var txtValue = option.textContent || option.innerText + if (filter) { + if (txtValue.toLowerCase().indexOf('nightly') > -1) { + option.style.display = 'none' + } else { + option.style.display = '' + } + } else { + if (txtValue.toLowerCase().indexOf('nightly') > -1) { + option.style.display = '' + } + } + } +} + if ($contractVerificationPage.length) { const store = createStore(reducer) const addressHash = $('#smart_contract_address_hash').val() @@ -116,6 +136,10 @@ if ($contractVerificationPage.length) { }) $(function () { + setTimeout(function () { + $('.nightly-builds-false').trigger('click') + }, 10) + $('.js-btn-add-contract-libraries').on('click', function () { $('.js-smart-contract-libraries-wrapper').show() $(this).hide() @@ -129,6 +153,22 @@ if ($contractVerificationPage.length) { if ($(this).prop('checked')) { $('.constructor-arguments').hide() } }) + $('.nightly-builds-true').on('click', function () { + if ($(this).prop('checked')) { filterNightlyBuilds(false) } + }) + + $('.nightly-builds-false').on('click', function () { + if ($(this).prop('checked')) { filterNightlyBuilds(true) } + }) + + $('.optimization-false').on('click', function () { + if ($(this).prop('checked')) { $('.optimization-runs').hide() } + }) + + $('.optimization-true').on('click', function () { + if ($(this).prop('checked')) { $('.optimization-runs').show() } + }) + $('.js-smart-contract-form-reset').on('click', function () { $('.js-contract-library-form-group').removeClass('active') $('.js-contract-library-form-group').first().addClass('active') diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex index ddaa85a18b..1002375ac2 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_contract_verification/new.html.eex @@ -35,6 +35,28 @@ +
+
+ <%= label f, "Include nightly builds" %> +
+
+
+ <%= radio_button f, :nightly_builds, false, checked: true, class: "form-check-input nightly-builds-false" %> +
+ <%= label :nightly_builds, :false, gettext("No"), class: "radio-text" %> +
+
+ <%= radio_button f, :nightly_builds, true, class: "form-check-input nightly-builds-true", "aria-describedby": "nightly_builds-help-block" %> +
+ <%= label :nightly_builds, :true, gettext("Yes"), class: "radio-text" %> +
+
+ <%= error_tag f, :nightly_builds, id: "nightly_builds-help-block", class: "text-danger form-error" %> +
+
Select yes if you want to show nightly builds.
+
+
+
<%= label f, :compiler_version, gettext("Compiler") %> @@ -62,12 +84,12 @@
- <%= radio_button f, :optimization, false, checked: true, class: "form-check-input" %> + <%= radio_button f, :optimization, false, class: "form-check-input optimization-false" %>
<%= label :smart_contract_optimization, :false, gettext("No"), class: "radio-text" %>
- <%= radio_button f, :optimization, true, class: "form-check-input", "aria-describedby": "optimization-help-block" %> + <%= radio_button f, :optimization, true, checked: true, class: "form-check-input optimization-true", "aria-describedby": "optimization-help-block" %>
<%= label :smart_contract_optimization, :true, gettext("Yes"), class: "radio-text" %>
@@ -78,7 +100,7 @@
-
+
<%= label f, :name, gettext("Optimization runs") %>
@@ -110,12 +132,12 @@ <%= label :autodetect_contructor_args, :false, gettext("No"), class: "radio-text" %>
- <%= radio_button f, :autodetect_contructor_args, true, class: "form-check-input autodetecttrue", "aria-describedby": "optimization-help-block" %> + <%= radio_button f, :autodetect_contructor_args, true, class: "form-check-input autodetecttrue", "aria-describedby": "autodetect_contructor_args-help-block" %>
<%= label :autodetect_contructor_args, :true, gettext("Yes"), class: "radio-text" %>
- <%= error_tag f, :autodetect_contructor_args, id: "optimization-help-block", class: "text-danger form-error" %> + <%= error_tag f, :autodetect_contructor_args, id: "autodetect_contructor_args-help-block", class: "text-danger form-error" %>
diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index e49e104647..1e2f2ccea3 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -87,7 +87,7 @@ msgid "A string with the name of the module to be invoked." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:125 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:147 msgid "ABI-encoded Constructor Arguments (if required by the contract)" msgstr "" @@ -266,7 +266,7 @@ msgid "Call Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:274 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:296 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:54 msgid "Cancel" @@ -289,7 +289,7 @@ msgid "Clear" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:62 msgid "Compiler" msgstr "" @@ -370,7 +370,7 @@ msgid "Contract Creation Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:139 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:161 msgid "Contract Libraries" msgstr "" @@ -579,7 +579,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:45 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:51 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:73 msgid "EVM Version" msgstr "" @@ -599,7 +599,7 @@ msgid "Emission Reward" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:93 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:115 msgid "Enter the Solidity Contract Code" msgstr "" @@ -971,20 +971,20 @@ msgid "Less than" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:154 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:176 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:198 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:220 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:242 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:264 msgid "Library Address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:144 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:166 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:188 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:210 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:232 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:254 msgid "Library Name" msgstr "" @@ -1010,7 +1010,7 @@ msgid "Loading..." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:268 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:290 msgid "Loading...." msgstr "" @@ -1096,8 +1096,9 @@ msgid "New Smart Contract Verification" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:67 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:110 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:46 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:89 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:132 msgid "No" msgstr "" @@ -1114,7 +1115,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:39 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:83 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:105 msgid "Optimization runs" msgstr "" @@ -1218,7 +1219,7 @@ msgid "Request URL" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:271 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:293 msgid "Reset" msgstr "" @@ -1580,7 +1581,7 @@ msgid "Verify & Publish" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:270 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:292 msgid "Verify & publish" msgstr "" @@ -1654,8 +1655,9 @@ msgid "Wei" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:72 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:115 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:51 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:94 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:137 msgid "Yes" msgstr "" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index e49e104647..1e2f2ccea3 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -87,7 +87,7 @@ msgid "A string with the name of the module to be invoked." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:125 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:147 msgid "ABI-encoded Constructor Arguments (if required by the contract)" msgstr "" @@ -266,7 +266,7 @@ msgid "Call Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:274 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:296 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 #: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:54 msgid "Cancel" @@ -289,7 +289,7 @@ msgid "Clear" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:62 msgid "Compiler" msgstr "" @@ -370,7 +370,7 @@ msgid "Contract Creation Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:139 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:161 msgid "Contract Libraries" msgstr "" @@ -579,7 +579,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:45 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:51 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:73 msgid "EVM Version" msgstr "" @@ -599,7 +599,7 @@ msgid "Emission Reward" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:93 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:115 msgid "Enter the Solidity Contract Code" msgstr "" @@ -971,20 +971,20 @@ msgid "Less than" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:154 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:176 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:198 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:220 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:242 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:264 msgid "Library Address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:144 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:166 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:188 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:210 #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:232 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:254 msgid "Library Name" msgstr "" @@ -1010,7 +1010,7 @@ msgid "Loading..." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:268 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:290 msgid "Loading...." msgstr "" @@ -1096,8 +1096,9 @@ msgid "New Smart Contract Verification" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:67 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:110 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:46 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:89 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:132 msgid "No" msgstr "" @@ -1114,7 +1115,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:39 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:83 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:105 msgid "Optimization runs" msgstr "" @@ -1218,7 +1219,7 @@ msgid "Request URL" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:271 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:293 msgid "Reset" msgstr "" @@ -1580,7 +1581,7 @@ msgid "Verify & Publish" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:270 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:292 msgid "Verify & publish" msgstr "" @@ -1654,8 +1655,9 @@ msgid "Wei" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:72 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:115 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:51 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:94 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:137 msgid "Yes" msgstr "" From 694ff3b8fb704afb5e3ac9414907bd2403c05ba2 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Tue, 28 Jan 2020 14:57:50 +0300 Subject: [PATCH 268/342] digest changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f19cd82a17..1dc4c0cdc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ ## Current +### Features + +### Fixes + +### Chore + + +## 3.0.0-beta + ### Features - [#2835](https://github.com/poanetwork/blockscout/pull/2835), [#2871](https://github.com/poanetwork/blockscout/pull/2871), [#2872](https://github.com/poanetwork/blockscout/pull/2872), [#2886](https://github.com/poanetwork/blockscout/pull/2886), [#2925](https://github.com/poanetwork/blockscout/pull/2925), [#2936](https://github.com/poanetwork/blockscout/pull/2936), [#2949](https://github.com/poanetwork/blockscout/pull/2949), [#2940](https://github.com/poanetwork/blockscout/pull/2940), [#2958](https://github.com/poanetwork/blockscout/pull/2958) - Add "block_hash" to logs, token_transfers and internal transactions and "pending blocks operations" approach - [#2975](https://github.com/poanetwork/blockscout/pull/2975) - Refine UX of contracts verification From d31fcb5f1d985d837cc04ef4325c9a5edab8e4de Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Tue, 28 Jan 2020 17:25:21 +0300 Subject: [PATCH 269/342] update erlang version and elixir image in Docker file --- .circleci/config.yml | 4 ++-- .tool-versions | 6 +++--- docker/Dockerfile | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ba3b32a70f..8ffa05c4d4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -229,7 +229,7 @@ jobs: eslint: docker: # Ensure .tool-versions matches - - image: circleci/node:12.13.0-browsers-legacy + - image: circleci/node:12.14.1-browsers-legacy working_directory: ~/app @@ -271,7 +271,7 @@ jobs: jest: docker: # Ensure .tool-versions matches - - image: circleci/node:12.13.0-browsers-legacy + - image: circleci/node:12.14.1-browsers-legacy working_directory: ~/app diff --git a/.tool-versions b/.tool-versions index e138ee9b57..cef9d24642 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,3 +1,3 @@ -elixir 1.9.4-otp-22 -erlang 22.1 -nodejs 10.11.0 +elixir 1.9.4 +erlang 22.2 +nodejs 12.14.1 diff --git a/docker/Dockerfile b/docker/Dockerfile index 65a46ccced..9286d59648 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM bitwalker/alpine-elixir-phoenix:1.9.1 +FROM bitwalker/alpine-elixir-phoenix:1.9.4 RUN apk --no-cache --update add alpine-sdk gmp-dev automake libtool inotify-tools autoconf python From a8d232057e498c4c4bad245d58774b89db7e99d6 Mon Sep 17 00:00:00 2001 From: EtherCore Contributor Date: Wed, 29 Jan 2020 19:42:07 +0900 Subject: [PATCH 270/342] Switch EtherCore logo --- .../assets/static/images/ethercore_logo.svg | 10369 +++++++++++++++- .../static/images/ethercore_testnet_logo.svg | 7646 ++++++++---- 2 files changed, 15505 insertions(+), 2510 deletions(-) diff --git a/apps/block_scout_web/assets/static/images/ethercore_logo.svg b/apps/block_scout_web/assets/static/images/ethercore_logo.svg index 4593bc7427..993c43dec0 100644 --- a/apps/block_scout_web/assets/static/images/ethercore_logo.svg +++ b/apps/block_scout_web/assets/static/images/ethercore_logo.svg @@ -2,241 +2,10138 @@ - + y="0px" width="5899px" height="1720px" viewBox="0 0 5899 1720" enable-background="new 0 0 5899 1720" xml:space="preserve"> + diff --git a/apps/block_scout_web/assets/static/images/ethercore_testnet_logo.svg b/apps/block_scout_web/assets/static/images/ethercore_testnet_logo.svg index 1d1ba5b215..d114fb8cd5 100644 --- a/apps/block_scout_web/assets/static/images/ethercore_testnet_logo.svg +++ b/apps/block_scout_web/assets/static/images/ethercore_testnet_logo.svg @@ -2,2283 +2,5381 @@ - + +dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv +IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS +ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD +cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNl +SUQ9InhtcC5paWQ6NkI1MUZCRkY0MjgzMTFFQThCQTdCOTc5NjE1QkRBRjIiIHhtcE1NOkRvY3Vt +ZW50SUQ9InhtcC5kaWQ6NkI1MUZDMDA0MjgzMTFFQThCQTdCOTc5NjE1QkRBRjIiPiA8eG1wTU06 +RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QjUxRkJGRDQyODMxMUVBOEJB +N0I5Nzk2MTVCREFGMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QjUxRkJGRTQyODMxMUVB +OEJBN0I5Nzk2MTVCREFGMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1w +bWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhgORSkABKkZSURBVHja7NxbrCVXeh/2b62q2vuc06ev +HLKHHHKGl5nR3KTRwJY8ii+SZcUex0hsB47jGLIDA7aDBE5kRw8G/JAgSGIgDwmQhwC5PAaIAcEI +HAQI4jh29BDHlizrBlujGXGGHF56SHaz733O2buq1krVPqebTXJG0002m2Tz9zu9dtWuWmvtWl8V +i2//VGsNgPvh537+P/lAXc/8/kspTTslzn7isXjy08/EsePHY71e3fVcm3kmfT+kvu/nuev0EcMw +xFhKbM6me7+Gv/Ln/rQHCwAAAAAAAAAAAAAAAAAAAAAAAAB4X7RKAHxU5ZxjHIa4fv1GHDu5FzVS +5LaNNB17J3PllOP1i5fSd8+dy6v1ejx16nT91JNPxsMPP7wJua2lKDoAAAAAAAAAAAAAAAAAAAAA +AAAA8MAQbgt8ZNVaI6UUy+Uitre3YmtrGVvLZaTp+F2/TNs2mqaJ69euLb/5zW8+dPX6jQvPfOaz +B1/48o/GZz73+djf24txHBUdAAAAAAAAAAAAAAAAAAAAAAAAAHhgCLcF7puDvWv3dL5S6yZQdrlY +TNsujbW2taYxpSh3PMk0R92E2aZITRup7abt3YfQ5mlcbnIMpT5+Y3/17636/u9Nh/9Jk/PYTseb +1usWAAAAAAAAAAAAAAAAAAAAAAAAAHiwSFsE7pszjzx+T+dLKcU4jnFwcBDrsU9Nyts519V0anXH +k+Q8/cub3b6U6Icx+vHuw23necZapxZP15R+frq6XGv59TqO18exxDgMm2sFAAAAAAAAAAAAAAAA +AAAAAAAAAHhQCLcF7psv/8Qfu6fzbW1tx4XzF+I3/8W/jKvnX6wfOxZjm8daIt/xHDXViKaZdkqs +9vfjRttEv17f9bX0fbsJyR2HdTS5TnNdH/evXy3LLsfJ3RylLGPdD5GS5wAAAAAAAAAAAAAAAAAA +AAAAAAAAeDAItwXumyee+dI9ne/4bkSzdSbid15KN/qX2+M1NyVSX+pdhNtOf/3U1tPrcKhtjLWL +oZS7vpZU2mmWHGMsV2M+Fn0+ePrifvzwbz577uvNzplr88ztdFml1ntag0+fecqDBQAAAAAAAAAA +AAAAAAAAAAAAAAC8L4TbAvfN6mDvns7XNTuxXu1FKv1OiXTy+tCWVJpVRLrjOUopse5LHK9bkZen +YrF9Kko6uPuXadtG0+Qo3emDg3x6mnD7py+X4yf/z1/6nf/pG8+f//tfeOLUlYePb9WDfrinNfj9 +XxRuCwAAAAAAAAAAAAAAAAAAAAAAAAC8P4TbAvdNGcZ3N0GNTW5tbppop9Z1EYuuiUXbRE45D5Ej +1ZruKtx2mnOoOcr8OszLSM3c6l1fWmra6bryPMc4puV0Ye2pVSz+yMVXr/xiXe3/o8d2I+3m4/XG +qvcgAAAAAAAAAAAAAAAAAAAAAAAAAAAPBOG2wH2TUnpX42/G1tZaYyxj9H3EONa0Cbvt2qFt8vQb +08m7CbedupZpXM7TTh2nucfN9p1c3Hxd09hplWOkMkSbuu+eOLa8cOL4Tloulk3TtqUdPQcAAAAA +AAAAAAAAAAAAAAAAAAAAwINBuC1w3yxPL97V+KaJKDXi0qsX4pWXX43r+zW/+vr1s69dGX6mdsfb +0oy/mHJ9fZOCe4dKKlHaFKVp52DcSLVEinrX1zaP2bRU55jbTdBtLeV4k+JrBwerGy+ee/UXr12s +Lw/jUGI+H8kDAQAAAAAAAAAAAAAAAAAAAAAAAAB8qAm3Be6brXcZbttNw8cx4tzLV+O5578Z33rp +xuLitfR7Fsvl/7i1OPbtPu//Ss6l1LsJt40afa5RUrOJm81HIbV3K90ad9Tqpu3mlP7k/sHB4y+e +e/2F87H3Wk7jKt0Kt62bbofjAQAAAAAAAAAAAAAAAAAAAAAAAAA+XITbAh++F1eu0TU15zqWqPly +16ShzbmrZUyljDFH1N6pWmqUYYzNVHMobppjZt9J1OzRuKNg3aZpom3b6IfN/NNmuFbS2ORcjuWc +Dsp0oev1Koa+P/o58bYAAAAAAAAAAAAAAAAAAAAAAAAAwIeLcFvg/qnvbnie819zxGpo0/X1Yru0 +u2e6nebJ6BbXhrR/voxzQmy5q5TYUmqspzbUMn+bpi/TJOWury1txt3c1luLTdP15jxdecnP1Nwe +pDatSi0vRpvHUycfiuXWdtRa331xAAAAAAAAAAAAAAAAAAAAAAAAAADuM+G2wP174byLN86c/7q9 +PNy/suri2xfbkzdK92fT1tbP7tV4KOrwK000dQ6nrdHc8bxz7/3ps48UOYapzXv9XV/fHGg7zzDP +kWqJceijH9po2i6arvt8Wbd/s4/691LOf3e9fzAutrbi0We+FE8+80MxjEOM4+gBAQAAAAAAAAAA +AAAAAAAAAAAAAAA+VITbAvfN+fP772hcSilSTvHqK9fj0qUrzTeefeXRy/vpT/TR/Pttk59JuY2m +Lh5Jtf3JGuMrEfm1O517Drct0/ia8+ZbinFq5e6vcTP25rZGrdPMdYxS5iPlRI7m94x1fKUf4hdW +/di2200cf+js+OiTPxTrYR3jdAIAAAAAAAAAAAAAAAAAAAAAAAAA4MNEuC1w37zw4sV3NK5pmmjb +Jp779nP567/1jbNX9tLPLruTf31Y9af7VYmtrd1YtO1XUuSnoqRvRsp//07nnoNo2zyNTIfRtFGP +tnct3dYOrznnJvp+iFKGmC4/Uq3fHYdhDr09Pf1uHlar1w72rg3roY8yvNNw2zMeLAAAAAAAAAAA +AAAAAAAAAAAAAADgfSHcFrhvrt9Y33HfWiNyTtG1KZaLHDVH3Nhv0isX22a/T586dmrrbLfdRk1N +jNPJfqyLLuKRaciT9W6yad+aZVvf5SLrYWBuSmlqeVrDtB+H119j+aVS2z/dp/E319F8PXeLWC6X +m9/vPR4AAAAAAAAAAAAAAAAAAAAAAAAAwIeMcFvgvtla3vkrZ86bvZkzO5Yh0jCmdrHb7Z55qltd +Pbiyqk3sbB2L3DRx7fpBjEMtbRslNemVejfptnlucxDtGzm36R0E3M5j0mGw7fTr5XCeadJ2ur40 +B9umMaYVfHU6+NVhXf67VWm/s7/q24OD/aHv+xiGwQMCAAAAAAAAAAAAAAAAAAAAAAAAAHyoCLcF +7ptHTnZ33HfZNnF1r4/fefl6vHL+teiGS4sr19sfKfX0n+wWy58aYoy+HyKNJcZSo8nNr7Vt93fa +pv5SKc0d/06JGm1J0TTz6/D2SN136ChXt5QSZRwjNznyJt12nI6Nm9jbnJuvTecPvvWtb/3dg/29 +Xz++s3Ww7NrNmLv+9d//pAcLAAAAAAAAAAAAAAAAAAAAAAAAAHhfCLcF7puHdu883HZ3u41axrh4 +dS9++9vnm2b16vGUdv9w3j7xt7qmm86VGNb9Jpw2ao62Tc/mHP9HTnE+8l1c1DR8Ghcp3du11lqP +2rQ/zV2mj1TqtK1zuO0zw1h+/vkXXrp+4cKFF5545PSrp4/vjMMwTOuJo3zd+SN5aAAAAAAAAAAA +AAAAAAAAAAAAAACADyzhtsB9M4e93qlSDvs2uS6bxe6xnLfqWJYXSu2iRopmen2VNIfSbuJgp+3Y +1GHV1dhPNe48RLdOv1P7Puo4tWlkTWkTRnvXa0tHIbbT5xy4m5omctNN6xg3gbZNztP3xXylMYfY +9uMYNbeX02J7aBezbpVzLuthjH6+njqvqXpoAAAAAAAAAAAAAAAAAAAAAAAAAIAPLOG2wH1TI99R +rzkANjdt5JyiDKutYaxPNvnk8RKLZ6Zze1OXnTT3mcNk0zRrrpFqaevYL2r0dxUJuwm3nYNt63AP +1znPWzahtinl6XuNoYyb603zR9NN19weDCU9NbXPH6xWz11P43fXQynb21tx5tTJw7UX4bYAAAAA +AAAAAAAAAAAAAAAAAAAAwAeXcFvgvsn5zsNtl4su2qaJ1Wq/v3b18mPbi/qXm2b39zbtcitSilrr +m4fMpuPz2MN2h9Lt4969dDTP0A/TG7aP7a2tzdQH++sYyhBt28ViazkVo11c3z/4t29cv/b4xRL/ +9V4u5/bXJZ5+8vF47OxD0/oXse57Dw0AAAAAAAAAAAAAAAAAAAAAAAAA8IEl3Ba4by5dev0H9mma +FONY4sWXDtK3z904ef5y/lKzOPunS+7+ZE7d1CNH1BJzou1hJG2djpRpW8pRm/fv+JpuG7/5XuON +rNy7UW9vKUdtptfr1GpuNtm5edrPOU3ra6arjKmN00LS2WkV/+a1vdXLe2W1Hsf69ah1b3dnq86h +uAertYcGAAAAAAAAAAAAAAAAAAAAAAAAAPjAEm4L3DevnX/lB/ZZLpo4WA3xa7/1wtZvfWf94/n4 +F3/u2MnHfnoYDkoaVzmVPqKOEalskmTz9FFjnLZDyTGOOcp0dLyLq5rDbYdNuO08U9nE3d69m8G2 +JU0zpRy5a6PptqKvKXIt0XaLaNJ02dP5vdU6Vv0Q3WIZi62dMi3pr9QyPtG29b+aTv9qP4zrZjrf +D4OHBgAAAAAAAAAAAAAAAAAAAAAAAAD4wBJuC9w3q4Prbz9YD0Nh27aNbrGItsnRpCHKuBpX63G/ +6evZpstbteRINU8909umSLeiZW9vd+qdjPnBShk34bRp+supbAJup51ommZzxSnlwzV304Kj3xr6 +eLLvV1tp6re9tYyd7e3NFa1XqxjmkNu0GeUhAgAAAAAAAAAAAAAAAAAAAAAAAAA+MITbAvfN1s6J +73uulBLrfoha+lgNudnaObU8daqkG1HOr9fXI8cwtTE2IbRvyXitmwNvbXcjv4Mxv5sU4zhGHYZo +2uk1W2uUoT/6mS5yTrFYtNM2T6fqJvA2N82Vfsgn9lb97pVr16+s1uuxn+rRtl0st+ag2+oBAgAA +AAAAAAAAAAAAAAAAAAAAAAA+UITbAvfNiY9/+m3Hco7ouohzL70Wz37rt2N/NUbeOr19/trOH+pz ++xdyu/hiG0OMQx9jHaPkOeT1MOo1pWlvaiXmkNhm+jJNtAnAvYtXW51mKnUzfg7Jralu5rxbh+Nq +lJRjTG3UNkez3IrFchm59DHsr6dLm8N7UzS5na49xzCsox+n6y1DtM3W57ZOHPurF66vH/qnv/Yv +/0Gqw8tnTp+sX/rSD8cnPvnJWK/XmwBgAAAAAAAAAAAAAAAAAAAAAAAAAIAPCuG2wH1z7MzDbzvW +NBFb2xEvv7If3331cnrl9f1j3cnFV/t0/OdL3v3DkZtIc2BtLhG1bAJk4/DfLZtQ2sjTTjPPeNTu +0BxuW+dXYT78nt7dGg+vpT283radLmkOzR0j5xR5/q2Y1jCvY+pXyrhpc9BtNN3Zqf+fuHD1WnPu +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 +GKZKvv4plAIAAAAAR/GZCoJbMJ/ARYgWBvLZ9XLCRT1OGNFtt92FKhwBkWrm1lHRzmhZIyJfVxTr +fuVs3bX3uu/4XI/Fafoe55O17SwnoxRFcURZVlCW56RNoCjqlWHrSKbDcIT3GIf8Hg7z0EFPffBz +iezUd4ScyvPtwleS246rsYwcW8c1VIbrWhbSUXC8PkK7UulGIn4sXhucf4GiEGuRQ1ob7t2w/o9H +tqr/6KOtVIu1N4VyoQdFqMF78q6gojVOS5atpseddwmdcfZiqiUZ5VmLWu02Oa6H6gH5Z6me5NdZ +cH9qtnNq5YVVOtq3ZOlS079oaHys2f5qu9n8HneavcrEr+S+91bH7SNwExAJKt9PjuuhReY5z6WT +IjkVWXReFNd5576TZflJK5YNPXTW2WffPzE2svX++zbaiWbLjzdbpShW6toL/tdq/Vvi187tN6d6 +rUZr1p5JZ549QvtGx6k1upuU87x6e3P9ioQ3iePGju1b09HRCZdn7Wekif6jSEVFULqPaulg0AlZ +HudscOUgJ2OWDIsi89XGUJzEonPmMdGWdVCdQXWytjUcpnfJFI+ltp0+Ra06wrZgjo6jIovmOidx +TYTpe1qtiY8tW7L02+esO31HkqSh4DE05bo3m216YNOmcryRJohPG4fnWWc8E0UAAAAAwGT+miC3 +XciI2HYZ52GUAgAAwCwiV8t6NlUnr5yHcgAwY7yX8w9UXeQCAADA7CGC2zdR9VXWG1AOAOYF8nnm +WpRhTrCFcy7nNs4QygHAUSEntr6Z6KArVQMAAJg7dC8Qdx3nqSgHADPGWzgf5mxEKQAAAAAAZpRt +VO3DvZsguAW9yxWc13IsSjFnEJHjxVTtQ7kS5QBgykBsO//4HOdP8H4LAAAAAEdBV3B7K+c9KAfo +UXARooXHHxHktieMaMeO3ajCkbaivBmNjKY4jqkRa1IqkDEJZZZaiRktjGvdRqrxUa2in08i/QxS +1O+sJUnwjpTxdHhFnheDZSkkpNBVFx4QBlYiwxOp1uO/pdxBtzvaWaJSI3s4dPW4kil5XiPzi5Dx +UMli6MhIJ8sZVSmylVm1iByDLucPOnQLUL6CUmbKN4z8pwzXXx941rK0jrTzaz35tSKMjEy9fFkP +D4+8Ydu+lls52L8h1Bt7CpUWkfJFFEXOGNNT7+JCKQEuqF5v0MpVp9N4MU63b7if+vqH6Fk//VOk +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 +Eix7UbVGM/dfYmnr9u+uXdZb485DbudyInKOPJeTUokyv2OJvV0CbnOZ1rVOL1xfNa8eHB2O7d7h ++vDoaJtlu4xrmmZX1zsI2QUAAAAAAAAAAAAAAAAAAAAAAAAAeK90t++8aheAe8YS7LoEvO4fHsWH +H3kspu4g2ibF6ubD4yu3x6+/fnvzD6bU/a2+7//mEiSbS45hM0SUKR+07dQ2qyjRXvh9qdTo5ta2 +baRtqG39qaxjCentuja6vom25mjqJkoeI+ccZ5v1N/YOVv/s55566qtPfuzxV0tN9dr161HndW6G +Ifb61hcBAAAAAAAAAAAAAAAAAAAAAAAAALjndXfvvmEXgHtHrUsybHTdKm7dOIi0BMM2EU13a7w9 +3P3e5qU3NlNMv9C1e9G284NUYxinKDXnrmtzU0qtpe4yatOPf12aO6bzfsu4Wn9ay0jb2du2j26J +zR03UUr+wZTH747j5tePru9/7YknPvL9z372s2UYhjg9O41hGGOcxug74bYAAAAAAAAAAAAAAAAA +AAAAAAAAwL2vm8ZiF4B7TI08jZHSuA2pbZoUbZPLMExjLaUbx+Hmph1j/+ggVqs2cs3Rzj9lbRO5 +TFMM6/Gi2bZRSt2Fym6G+Z1lvl5e2byDiptdS02a21JITFOeiyjRpjrPOx9L/p2U8hf7rrzYt/Vg +XmN7dnZWhnGc+07beVJKUX9aCbsAAAAAAAAAAAAAAAAAAAAAAAAAAO+i7hOfftQuAPe0Ju1CXx86 +G/PjHx9e/IP/8/3/+N3nXn08uu4LR3172PVd1LMSm+Gse/ih43jo0UeWoNuYLpDdveTILsGyDz5w +M+7/8Ieiqyk2r9/ZBswu77ywZaI3W6RITTsfuijzfHm+1c33cil5GDbfHYfN98ZpHKec81RKTLnM +zyIuFscLAAAAAAAAAAAAAAAAAAAAAAAAAHBv6D77+Y/bBeBKOKi1bmrcbf9L+5XvvfBGWa/H/dVe +90tN20fOpT85OV098tgn0l/75V+K/T7ibLjozDW6rom2a+ONF16Lk9fvRMlle31Zdftnma+Nvu+j +LHm3858mpSXy9kZEujV3+sP5ePbDAQAAAAAAAAAAAAAAAAAAAAAAAAAAV093vNfZBeBKODg/fvbJ ++07uPn/jt771/Kvja2enf2d/7/BvpzR+rHSrdv/4OO4/3ovDud/JwcXmTbHLmJ3mdndvP2JvHt2W ++ReyuXhxfT+PaSK1XU0lRzOu51vzddNFU87W6ezVX338/qN/+/HHn3h6f9Wu276LJx44itV0d35V +jjJ/AAAAAAAAAAAAAAAAAAAAAAAAAACukm5tD4ArYohdCO1HH9yP9s/fvLPZvPzfX/r2a4e12fyl +pmnupsPDaUpdnIwRpY84HS4+d9NEpDSPizSP3Y+c5rNLhNvm83Db2nQp1SnScBptV6Jb7Q9tWf9m +DG988Wc+9OD/+Buf//nx/ps3487padRSo4y3t+PTNmIXAAAAAAAAAAAAAAAAAAAAAAAAAODq6GwB +cFXU82PbRKy6JlarLnVd93JN6R9GNCepbc5S07W1xrj0rfVycy/xsuOU43S9iTyVaC8Rbtvnuf9c +2GaclvdHSktcbXp9HMYvzRV9+caN4+du3Tgue6s++q6d6+/md01Rp23nuW/1HwwAAAAAAAAAAAAA +AAAAAAAAAAAAXCnCbYErYwmfXSJgh6nEeihRU1f7vn+2S/WZMm76+Vlf89g1za5vc/Fs2nhzTMk5 +ps1ZTGOO2rcXnyCPUdom5vc3S/hu3zVL2O2m5PrVtut++/q14/Vq/zDONmP0p2fzcThf1K5I0bYA +AAAAAAAAAAAAAAAAAAAAAAAAwFUj3Ba4umo6TbU8v8rjfcPZ3VvrYYzI63Q0/7IdzI+b/hJTzS0v +P4ptxCqVaFKOLqULj2/nMUsU7n4X+XDVRJpS9E19aNU2hwerZi6snORSi/80AAAAAAAAAAAAAAAA +AAAAAAAAAOCDomvsAXBFLOGxdXvSREopco065TzWunmjzeu9puTjl55/oXn6D/44Vl3EZvzxc9Za +o8zt6HAvjo+vx3i2iSaV+cexbo8Xrm0biDuflLwq09BMw/puk+p/6FZ735irPcnTVErOsXRZ+jXJ +/ycAAAAAAAAAAAAAAAAAAAAAAAAAcLV1rT0ArogljHsJt61Nuw23rfNFLhFTqeuu33vxYK/tnv3u +8/HKS/95fh7b5z9OKTWGcYgPP/pIfOpnPxnXDo9ivjW/o9keL6rGUk+a5xqP7p6cxsnp6e8fRvqn +fbS/t9fGmNuyDdJd6to2/50AAAAAAAAAAAAAAAAAAAAAAAAAwBXXPfft79oF4EpYAmG34bZ378Td +u6dx/2ETn3rkeuzV/ehSHaLtXhrWm2F9drrtly6QIFtLjWYco9ucRT09i2bVx36b3grPvai+jWia +FKtU/uiwT//owUcf+u3HHnvs6bbrN6t5vr2mxNGt++LO2MR4WmJ+JQAAAAAAAAAAAAAAAAAAAAAA +AADAldZ953f/p10Arpi6/ffwtS4eOrr1tptxcn68xFQ1SilxcHQ9rh3vR99FlHT5iro2op3bYVue +vXnY/fNPfOIjr37mM5/Z1HnuaZq2fZbA3NeGefJxumyVAAAAAAAAAAAAAAAAAAAAAAAAAAD3nG44 +O7MLwNWSmmi7NlZz69p2mxNbY0mkreXSc9UaSwBtv6TTxhJ0O1/X+k6m2Y6bpjGNwyb1bTNdPzqM +nHMM47h9PuUS4zTN76vboFsAAAAAAAAAAAAAAAAAAAAAAAAAgKus6/f27AJwJU2lzi3/hLMsgbYl +6jhFOw7L5Xx9+TlTLCG5TWw2Q3N6tu7mls7Wm+3c4zi+1a9dMm0F2wIAAAAAAAAAAAAAAAAAAAAA +AAAAHwCdLQD+bEvbsNlUc8R4GpGXgNty+WnK/HPaNpGmzTxJPDNPOtlbAAAAAAAAAAAAAAAAAAAA +AAAAAOCDTLgtwBJwW0ukPG5DblOtl58hzeOjSfP4nFLKS2AuAAAAAAAAAAAAAAAAAAAAAAAAAMAH +2f8DMJjHxTKWV1gAAAAASUVORK5CYII="> From b89860205117177a197f5a77678f698ac56bb4f8 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Wed, 29 Jan 2020 13:34:46 +0300 Subject: [PATCH 271/342] Fix web manifest accessibility --- CHANGELOG.md | 4 ++-- .../assets/static/{site.webmanifest => manifest.webmanifest} | 0 apps/block_scout_web/lib/block_scout_web/endpoint.ex | 4 ++-- .../lib/block_scout_web/templates/layout/app.html.eex | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) rename apps/block_scout_web/assets/static/{site.webmanifest => manifest.webmanifest} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 283fb93df2..635849b4c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,8 @@ ### Features ### Fixes - -- [#2897]( https://github.com/poanetwork/blockscout/pull/2897) - remove duplicate indexes +- [#2988](https://github.com/poanetwork/blockscout/pull/2988) - Fix web manifest accessibility +- [#2897](https://github.com/poanetwork/blockscout/pull/2897) - remove duplicate indexes ### Chore diff --git a/apps/block_scout_web/assets/static/site.webmanifest b/apps/block_scout_web/assets/static/manifest.webmanifest similarity index 100% rename from apps/block_scout_web/assets/static/site.webmanifest rename to apps/block_scout_web/assets/static/manifest.webmanifest diff --git a/apps/block_scout_web/lib/block_scout_web/endpoint.ex b/apps/block_scout_web/lib/block_scout_web/endpoint.ex index 86e86ad79b..f293f83ec3 100644 --- a/apps/block_scout_web/lib/block_scout_web/endpoint.ex +++ b/apps/block_scout_web/lib/block_scout_web/endpoint.ex @@ -29,9 +29,9 @@ defmodule BlockScoutWeb.Endpoint do browserconfig.xml mstile-150x150.png safari-pinned-tab.svg - site.manifest robots.txt - ) + ), + only_matching: ~w(manifest) ) # Code reloading can be explicitly enabled under the diff --git a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex index cde1169f3d..ecab786228 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex @@ -12,7 +12,7 @@ "> "> "> - "> + "> " color="#5bbad5"> "> From ec9de71d178c31536f04b3146ba9a7795fb25674 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Wed, 29 Jan 2020 16:40:01 +0300 Subject: [PATCH 272/342] Introduce API_PATH env var --- CHANGELOG.md | 4 ++-- .../assets/js/lib/try_eth_api.js | 9 ++++---- apps/block_scout_web/config/config.exs | 3 ++- apps/block_scout_web/config/dev.exs | 3 ++- apps/block_scout_web/config/prod.exs | 3 ++- .../block_scout_web/views/api_docs_view.ex | 21 +++++++++++++++---- .../views/tokens/instance/overview_view.ex | 5 +++-- apps/block_scout_web/priv/gettext/default.pot | 4 ++-- .../priv/gettext/en/LC_MESSAGES/default.po | 4 ++-- .../views/api_docs_view_test.exs | 6 +++--- 10 files changed, 39 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 283fb93df2..79432c24bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,8 @@ ### Features ### Fixes - -- [#2897]( https://github.com/poanetwork/blockscout/pull/2897) - remove duplicate indexes +- [#2989](https://github.com/poanetwork/blockscout/pull/2989) - Introduce API_PATH env var +- [#2897](https://github.com/poanetwork/blockscout/pull/2897) - remove duplicate indexes ### Chore diff --git a/apps/block_scout_web/assets/js/lib/try_eth_api.js b/apps/block_scout_web/assets/js/lib/try_eth_api.js index 30299431be..fa611e5c4a 100644 --- a/apps/block_scout_web/assets/js/lib/try_eth_api.js +++ b/apps/block_scout_web/assets/js/lib/try_eth_api.js @@ -44,8 +44,9 @@ function parseInput (input) { } } -function dropDomain (url) { - return new URL(url).pathname +function composeRequestUrl () { + const url = $('[data-endpoint-url]').attr('data-endpoint-url') + return url } $('button[data-try-eth-api-ui-button-type="execute"]').click(event => { @@ -64,10 +65,8 @@ $('button[data-try-eth-api-ui-button-type="execute"]').click(event => { clickedButton.html(loadingText) } - const url = $('[data-endpoint-url]').attr('data-endpoint-url') - $.ajax({ - url: dropDomain(url), + url: composeRequestUrl(), type: 'POST', data: JSON.stringify(formData), dataType: 'json', diff --git a/apps/block_scout_web/config/config.exs b/apps/block_scout_web/config/config.exs index e5d7ed947c..8c96401f9a 100644 --- a/apps/block_scout_web/config/config.exs +++ b/apps/block_scout_web/config/config.exs @@ -41,7 +41,8 @@ config :block_scout_web, BlockScoutWeb.Endpoint, url: [ scheme: System.get_env("BLOCKSCOUT_PROTOCOL") || "http", host: System.get_env("BLOCKSCOUT_HOST") || "localhost", - path: System.get_env("NETWORK_PATH") || "/" + path: System.get_env("NETWORK_PATH") || "/", + api_path: System.get_env("API_PATH") || "/" ], render_errors: [view: BlockScoutWeb.ErrorView, accepts: ~w(html json)], pubsub: [name: BlockScoutWeb.PubSub] diff --git a/apps/block_scout_web/config/dev.exs b/apps/block_scout_web/config/dev.exs index de386f1a5d..fa1e25341d 100644 --- a/apps/block_scout_web/config/dev.exs +++ b/apps/block_scout_web/config/dev.exs @@ -21,7 +21,8 @@ config :block_scout_web, BlockScoutWeb.Endpoint, url: [ scheme: "http", host: System.get_env("BLOCKSCOUT_HOST") || "localhost", - path: System.get_env("NETWORK_PATH") || "/" + path: System.get_env("NETWORK_PATH") || "/", + api_path: System.get_env("API_PATH") || "/" ], https: [ port: (port && port + 1) || 4001, diff --git a/apps/block_scout_web/config/prod.exs b/apps/block_scout_web/config/prod.exs index 00cedfe8c3..4d97721ce4 100644 --- a/apps/block_scout_web/config/prod.exs +++ b/apps/block_scout_web/config/prod.exs @@ -23,7 +23,8 @@ config :block_scout_web, BlockScoutWeb.Endpoint, scheme: System.get_env("BLOCKSCOUT_PROTOCOL") || "https", port: System.get_env("PORT"), host: System.get_env("BLOCKSCOUT_HOST") || "localhost", - path: System.get_env("NETWORK_PATH") || "/" + path: System.get_env("NETWORK_PATH") || "/", + api_path: System.get_env("API_PATH") || "/" ] config :block_scout_web, BlockScoutWeb.Tracer, env: "production", disabled?: true diff --git a/apps/block_scout_web/lib/block_scout_web/views/api_docs_view.ex b/apps/block_scout_web/lib/block_scout_web/views/api_docs_view.ex index a75bd2dcbf..08ccab4256 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/api_docs_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/api_docs_view.ex @@ -34,10 +34,17 @@ defmodule BlockScoutWeb.APIDocsView do end) end - def blockscout_url do + def blockscout_url(is_api) do url_params = Application.get_env(:block_scout_web, BlockScoutWeb.Endpoint)[:url] host = url_params[:host] - path = url_params[:path] + + path = + if is_api do + url_params[:api_path] + else + url_params[:path] + end + scheme = Keyword.get(url_params, :scheme, "http") if host != "localhost" do @@ -49,12 +56,18 @@ defmodule BlockScoutWeb.APIDocsView do end def api_url do - blockscout_url() + is_api = true + + is_api + |> blockscout_url() |> Path.join("api") end def eth_rpc_api_url do - blockscout_url() + is_api = true + + is_api + |> blockscout_url() |> Path.join("api/eth_rpc") end end diff --git a/apps/block_scout_web/lib/block_scout_web/views/tokens/instance/overview_view.ex b/apps/block_scout_web/lib/block_scout_web/views/tokens/instance/overview_view.ex index f56d10761e..3ad44bfcd5 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/tokens/instance/overview_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/tokens/instance/overview_view.ex @@ -4,7 +4,7 @@ defmodule BlockScoutWeb.Tokens.Instance.OverviewView do alias BlockScoutWeb.CurrencyHelpers alias Explorer.Chain.{Address, SmartContract, Token} - import BlockScoutWeb.APIDocsView, only: [blockscout_url: 0] + import BlockScoutWeb.APIDocsView, only: [blockscout_url: 1] @tabs ["token_transfers", "metadata"] @@ -55,7 +55,8 @@ defmodule BlockScoutWeb.Tokens.Instance.OverviewView do def qr_code(conn, token_id, hash) do token_instance_path = token_instance_path(conn, :show, to_string(hash), to_string(token_id)) - url = Path.join(blockscout_url(), token_instance_path) + is_api = false + url = Path.join(blockscout_url(is_api), token_instance_path) url |> QRCode.to_png() diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 1e2f2ccea3..36b02fec4c 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -898,7 +898,7 @@ msgstr "" #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/views/address_view.ex:308 -#: lib/block_scout_web/views/tokens/instance/overview_view.ex:71 +#: lib/block_scout_web/views/tokens/instance/overview_view.ex:72 #: lib/block_scout_web/views/tokens/overview_view.ex:35 #: lib/block_scout_web/views/transaction_view.ex:314 msgid "Token Transfers" @@ -1774,7 +1774,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/instance/metadata/index.html.eex:18 #: lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex:10 -#: lib/block_scout_web/views/tokens/instance/overview_view.ex:72 +#: lib/block_scout_web/views/tokens/instance/overview_view.ex:73 msgid "Metadata" msgstr "" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 1e2f2ccea3..36b02fec4c 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -898,7 +898,7 @@ msgstr "" #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/views/address_view.ex:308 -#: lib/block_scout_web/views/tokens/instance/overview_view.ex:71 +#: lib/block_scout_web/views/tokens/instance/overview_view.ex:72 #: lib/block_scout_web/views/tokens/overview_view.ex:35 #: lib/block_scout_web/views/transaction_view.ex:314 msgid "Token Transfers" @@ -1774,7 +1774,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/instance/metadata/index.html.eex:18 #: lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex:10 -#: lib/block_scout_web/views/tokens/instance/overview_view.ex:72 +#: lib/block_scout_web/views/tokens/instance/overview_view.ex:73 msgid "Metadata" msgstr "" diff --git a/apps/block_scout_web/test/block_scout_web/views/api_docs_view_test.exs b/apps/block_scout_web/test/block_scout_web/views/api_docs_view_test.exs index 31922b4486..a353c9f870 100644 --- a/apps/block_scout_web/test/block_scout_web/views/api_docs_view_test.exs +++ b/apps/block_scout_web/test/block_scout_web/views/api_docs_view_test.exs @@ -14,7 +14,7 @@ defmodule BlockScoutWeb.ApiDocsViewTest do test "adds slash before path" do Application.put_env(:block_scout_web, BlockScoutWeb.Endpoint, - url: [scheme: "https", host: "blockscout.com", port: 9999, path: "/chain/dog"] + url: [scheme: "https", host: "blockscout.com", port: 9999, api_path: "/chain/dog"] ) assert APIDocsView.api_url() == "https://blockscout.com/chain/dog/api" @@ -22,7 +22,7 @@ defmodule BlockScoutWeb.ApiDocsViewTest do test "does not add slash to empty path" do Application.put_env(:block_scout_web, BlockScoutWeb.Endpoint, - url: [scheme: "https", host: "blockscout.com", port: 9999, path: ""] + url: [scheme: "https", host: "blockscout.com", port: 9999, api_path: ""] ) assert APIDocsView.api_url() == "https://blockscout.com/api" @@ -49,7 +49,7 @@ defmodule BlockScoutWeb.ApiDocsViewTest do test "adds slash before path" do Application.put_env(:block_scout_web, BlockScoutWeb.Endpoint, - url: [scheme: "https", host: "blockscout.com", port: 9999, path: "/chain/dog"] + url: [scheme: "https", host: "blockscout.com", port: 9999, api_path: "/chain/dog"] ) assert APIDocsView.eth_rpc_api_url() == "https://blockscout.com/chain/dog/api/eth_rpc" From f9318c13caa20f6330896e3c6e53746d7c5f4785 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Wed, 29 Jan 2020 18:52:14 +0300 Subject: [PATCH 273/342] Fix import spec file to support accounts without 0x prefix and single block reward --- CHANGELOG.md | 4 +- .../explorer/chain_spec/parity/importer.ex | 11 +- .../chain_spec/parity/importer_test.exs | 22 + .../support/fixture/chain_spec/classic.json | 31157 ++++++++++++++++ 4 files changed, 31190 insertions(+), 4 deletions(-) create mode 100644 apps/explorer/test/support/fixture/chain_spec/classic.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 283fb93df2..10ea80a21b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,8 @@ ### Features ### Fixes - -- [#2897]( https://github.com/poanetwork/blockscout/pull/2897) - remove duplicate indexes +- [#2990](https://github.com/poanetwork/blockscout/pull/2990) - Fix import of Parity spec file +- [#2897](https://github.com/poanetwork/blockscout/pull/2897) - remove duplicate indexes ### Chore diff --git a/apps/explorer/lib/explorer/chain_spec/parity/importer.ex b/apps/explorer/lib/explorer/chain_spec/parity/importer.ex index 9f3585f822..602554a330 100644 --- a/apps/explorer/lib/explorer/chain_spec/parity/importer.ex +++ b/apps/explorer/lib/explorer/chain_spec/parity/importer.ex @@ -103,7 +103,8 @@ defmodule Explorer.ChainSpec.Parity.Importer do !is_nil(map["balance"]) end) |> Stream.map(fn {address, %{"balance" => value}} -> - {:ok, address_hash} = AddressHash.cast(address) + formatted_address = if String.starts_with?(address, "0x"), do: address, else: "0x" <> address + {:ok, address_hash} = AddressHash.cast(formatted_address) balance = parse_number(value) %{address_hash: address_hash, value: balance} @@ -135,7 +136,7 @@ defmodule Explorer.ChainSpec.Parity.Importer do } end - defp parse_hex_numbers(rewards) do + defp parse_hex_numbers(rewards) when is_map(rewards) do Enum.map(rewards, fn {hex_block_number, hex_reward} -> block_number = parse_number(hex_block_number) {:ok, reward} = hex_reward |> parse_number() |> Wei.cast() @@ -144,6 +145,12 @@ defmodule Explorer.ChainSpec.Parity.Importer do end) end + defp parse_hex_numbers(reward) do + {:ok, reward} = reward |> parse_number() |> Wei.cast() + + [{0, reward}] + end + defp parse_number("0x" <> hex_number) do {number, ""} = Integer.parse(hex_number, 16) diff --git a/apps/explorer/test/explorer/chain_spec/parity/importer_test.exs b/apps/explorer/test/explorer/chain_spec/parity/importer_test.exs index 06b993f144..2c439379bc 100644 --- a/apps/explorer/test/explorer/chain_spec/parity/importer_test.exs +++ b/apps/explorer/test/explorer/chain_spec/parity/importer_test.exs @@ -11,6 +11,10 @@ defmodule Explorer.ChainSpec.Parity.ImporterTest do |> File.read!() |> Jason.decode!() + @chain_classic_spec "#{File.cwd!()}/test/support/fixture/chain_spec/classic.json" + |> File.read!() + |> Jason.decode!() + describe "emission_rewards/1" do test "fetches and formats reward ranges" do assert Importer.emission_rewards(@chain_spec) == [ @@ -28,6 +32,15 @@ defmodule Explorer.ChainSpec.Parity.ImporterTest do } ] end + + test "fetches and formats a single reward" do + assert Importer.emission_rewards(@chain_classic_spec) == [ + %{ + block_range: %Range{from: 1, to: :infinity}, + reward: %Wei{value: Decimal.new(5_000_000_000_000_000_000)} + } + ] + end end describe "import_emission_rewards/1" do @@ -104,5 +117,14 @@ defmodule Explorer.ChainSpec.Parity.ImporterTest do assert CoinBalance |> Repo.all() |> Enum.count() == 403 assert Address |> Repo.all() |> Enum.count() == 403 end + + test "imports coin balances without 0x" do + {:ok, %{address_coin_balances: address_coin_balances}} = + Importer.import_genesis_coin_balances(@chain_classic_spec) + + assert Enum.count(address_coin_balances) == 8894 + assert CoinBalance |> Repo.all() |> Enum.count() == 8894 + assert Address |> Repo.all() |> Enum.count() == 8894 + end end end diff --git a/apps/explorer/test/support/fixture/chain_spec/classic.json b/apps/explorer/test/support/fixture/chain_spec/classic.json new file mode 100644 index 0000000000..b3255f4be9 --- /dev/null +++ b/apps/explorer/test/support/fixture/chain_spec/classic.json @@ -0,0 +1,31157 @@ +{ + "name": "Ethereum Classic", + "dataDir": "classic", + "engine": { + "Ethash": { + "params": { + "minimumDifficulty": "0x020000", + "difficultyBoundDivisor": "0x0800", + "durationLimit": "0x0d", + "blockReward": "0x4563918244F40000", + "homesteadTransition": "0x118c30", + "ecip1010PauseTransition": "0x2dc6c0", + "ecip1010ContinueTransition": "0x4c4b40", + "ecip1017EraRounds": "0x4c4b40", + "eip100bTransition": "0x85d9a0", + "bombDefuseTransition": "0x5a06e0" + } + } + }, + "params": { + "gasLimitBoundDivisor": "0x0400", + "registrar" : "0xc6d9d2cd449a754c494264e1809c50e34d64562b", + "accountStartNonce": "0x00", + "maximumExtraDataSize": "0x20", + "minGasLimit": "0x1388", + "networkID" : "0x1", + "chainID": "0x3d", + "forkBlock": "0x1d4c00", + "forkCanonHash": "0x94365e3a8c0b35089c1d1195081fe7489b528a84b22199c916180db8b28ade7f", + "eip150Transition": "0x2625a0", + "eip160Transition": "0x2dc6c0", + "eip161abcTransition": "0x85d9a0", + "eip161dTransition": "0x85d9a0", + "eip155Transition": "0x2dc6c0", + "maxCodeSize": "0x6000", + "maxCodeSizeTransition": "0x85d9a0", + "eip140Transition": "0x85d9a0", + "eip211Transition": "0x85d9a0", + "eip214Transition": "0x85d9a0", + "eip658Transition": "0x85d9a0", + "eip145Transition": "0x921288", + "eip1014Transition": "0x921288", + "eip1052Transition": "0x921288", + "eip1283Transition": "0xa03ae7", + "eip1344Transition": "0xa03ae7", + "eip1706Transition": "0xa03ae7", + "eip2028Transition": "0xa03ae7", + "eip2200AdvanceTransition": "0xa03ae7" + }, + "genesis": { + "seal": { + "ethereum": { + "nonce": "0x0000000000000042", + "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + }, + "difficulty": "0x400000000", + "author": "0x0000000000000000000000000000000000000000", + "timestamp": "0x00", + "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa", + "gasLimit": "0x1388", + "stateRoot": "0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544" + }, + "hardcodedSync": { + "header": "f901fda0f46341de105659d5897cc2c49b97df3f74a7535f2f0a7c86b12a0f23b2c436afa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493479421479eb8cb1a27861c902f07a952b72b10fd53efa0c409d60020629ffe77f7aa91603b8fe5df8811957d231638b29471a0b0cb695ba056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000868527ce839a798385e8018379f57980845d7b0d1c80a051d85cf8feba52d2c0cf244ceb037441ec276d88a07ad755e6ff3cc92d52097e88f3906b50ebf30eec", + "totalDifficulty": "729996985215121503838", + "CHTs": [ + "0x0eb474b7721727204978e92e27d31cddff56471911e424a4c8271c35f9c982cc", + "0xe10e94515fb5ffb7ffa9bf50db4a959b3f50c2ff75e0b8bd5f5e038749e52a11", + "0x816e7463af7b5d2fcb804ba55f09e8452182b0ba6c995a34e144245d76333d55", + "0x3793af64c1ddc07ab61b2ba120034d91c02183ff788f07d3120fd4e6a48305b5", + "0x14c6106a17e041032210bfa0ca80d11860a1c6d95175d55eff39f97b8d8acded", + "0x396f832bfa3a9c494e9245471f0e65552613d87b6fe62128103590d95de72c2d", + "0xb060979f095c170a776b2b50a1e2ab0ffea80f6e522753fa36ad6f106ee32e9f", + "0x8f452e7cbd8a333ed04d819a143a8d3a75fe8c58418e7fc420bb2a717c0d4d2f", + "0x37fe1b0cf156bfc07571569af210540be753777903a308d5707538fffed75b59", + "0x6f0561d017cfc123b3f0d37b044e4f7231516b8731a1cab89afb569238643c33", + "0x3c1740c410a88c60fe8ccdc44e0ef2cf7f7314818dbf1648c01d0d94fbffc211", + "0xfb98115a7d6df8aaa40115f883014fe97300869bc016648e918fbf2df9608d41", + "0xef1099ab5ca4b79369048678d3ba78122fc081b00b6fd0f6907302a260d58266", + "0x969575f411dd78fdc5b4def0331fc93702029cc3c78851331a0f47dd0faae70b", + "0x9e53053e362be51c0fd25eaafd9e7c5c969d9f2ce8db4b3d4d830cbff347b0c8", + "0xf9de29944954d2b71a93532fc26916ae12fee72d42a79adaf940b0bf75d0ef89", + "0x28b2ce6635e60e06d643750798779023b2a807d9d089ae9ef7f223eebc15a71e", + "0x5295c06cbaff06f42bd8f5d9cbe94a840885caed02f9c9ba6da44a888ef796de", + "0x576eae673a4cbba4c7c7a56b47835ea64ae5989d67d119ebc8e568df40d908a9", + "0x891c0d38bc5e55620615da42ed77ab33806a042512034bcee134279dde1054be", + "0xbab05999d657426a11a902eb4c85ac52e2b72dd1cf38584cf2baeb2c3727bb44", + "0x3bd7e5a966f6dd2dc456948a8efca5584f5a4e0033f3037843a42073dda1f71b", + "0xc4f773ab1e34290f9a3d9ac6ede4749c5dec547353dddea494169d86f71107a3", + "0x993bf037ea9dd58b52027fb6f39332dab867c1e72af34a49d58a5a12f26bcca3", + "0x48b2d8d506eb8fc9dc0402fef26952111449aca0f90d0079f0526435d4e3183b", + "0xfef8f61df240e956f43759d2f481938421e064a9bd6a3be7a53b1213cc9588bb", + "0x5abf01f5066cf1091acdd1f99fbd5fd963633feafc42f9047534a3c1522004a5", + "0xa0f6205842260988161183b51bc36fae458fa184dd61844617d5c5d26fa78346", + "0x77309182fdc26d15dd8d9dd05040d7dc623412785708d8aac39eedee63931944", + "0x661c93311b94b7d4cdcbc0973225c794e71898a2b906922a6c1e8f7e9e289dc3", + "0x9d5d329ee8d9fffaee0111688d31a308dfaac922dcd61f818edd5303d0955be0", + "0x716ca25b184b64ba273b978de098f9946413f6fcc95bfba5cf1169e7e03dd611", + "0xa2e8d5cefa5804894fb42a106340b00de3286fee0992b5887b2cf471539d74a9", + "0xf846e05c9e9e9cb4cd2b7cbae7ae183a43a59ab02251954db632e538adacc357", + "0xbc01b4e23ea082a193e4c1012b1da91f3b4cb762009ca320bc8ed294af874e79", + "0x9218114a32da3ecf660d4d51b101bb51bb17c771561c1946c099be082f0a96b3", + "0x3b4edf03dfd53081cf40c0b90b35c1ccf7c7fe96cf131172eef5eec62f620ea8", + "0xb15758944263c67bdf528d4d7fe05737fbdbf7ffedce5f891a4ddf76177d2609", + "0x1f119374c385240f7b4ba1ec3d502be2c12c159411d5393ff2bd38cf87033625", + "0x8a8d5a93f3475813926b13a4d53f21b28dc79ade2b50830c0b9043e9fcd81576", + "0xcc22f7e2bb9c06c15ca3d82df852ed9097a2ddc687ee389e662de000db0c84fc", + "0xc2047e0dab711db791aadb642f8102abaacf7231b8dbdbe1f60573b0be015a31", + "0x1b4088ceee7783e4563945f162bd5da67020ca377a18d615923e8564d6709f85", + "0xd73450686e33bbda9eef53a95a86e5a0514156b98a5b7dfc6fdc0adb0b83cbcf", + "0xb374076ec961360e38d3486a31c3f72225440984c4c47ca790b4961d94152159", + "0x4f723f4fbd31d63a5421390e68aba0aff97249875688a7d9ab9a339d9aac7bc1", + "0x5fe51ff982edcad6c0052fcdf9a70e8f325c8140ab75848c5d7b0d670bd7edc2", + "0xc3ad483c7cc23bf8d6ae3e3e829bf126d5eeea9c53b566a6da95bef573b9c779", + "0x3c9e50ed9eb57cc055fd9a65a6cdaba2030d8b41f81348f296d7410c1d24ced0", + "0x0c6dfc1f626ff9e85ff072c154152bb3f122a2c1a45bc2d9e7da9b2d5278149a", + "0x92f4452dbdb4fe70e84ecd47af4b1af90975219797cebd451beceb6997ab024d", + "0x9a3d00686736b5b838308da4b8f0aa9edccfaba64621ce2988cea6ea2a267efd", + "0x8d602d0bef069177102726d5ccd93d19805fb5771a350a41e32755ce740b9047", + "0x6681e4097667a22ad3713acc27b6f87abd54583230581933bed9245c2c457ac3", + "0x53077caeabcd926466319a3ee5c51c32e01e1812a65313f113f814d53e9f1dd9", + "0x4dd4c33e99d86ba84f976c639333fc072e262c0b76dfdf2f589300af54048c0a", + "0xbc3b9837a6fa54616dcdb8088080e276e2e99a23c8e7de4109504293703d524e", + "0x24316b344cecd5e601cc0acc91ff94f481ca3fa26d8478644a9d8bcaeb0359b3", + "0xa7bafd3c5f4e3f6b5c078d50eb318d91e867b0e1c966027e3e7458eb104ccd63", + "0xc8da46b7d778980d120357c8de2bba336f5a2ac7a9f4183a0ee1f7597ed47d25", + "0x7469fc5d8c9c648cd10e538710e0f126542e59a82484e7fe56b73f4ec52c36c7", + "0x993bb7c0487ff61c97e4f1533446ae35b6346642e1230f2441da8b354111d597", + "0x90e3944732f86a2254dc4f30650f8438dfd0b777561fb02a8ab1c60438569c24", + "0x4e8472483679b54bdc600010fdd164f54771d7a99fa9272c683b610fff72507b", + "0xf72a861a2ebc232c25529c0f94c59996e64c59c36a1326a183cf171bddf2a75c", + "0x7f222999ba9113e2a64fd026a8f7244e6d2ae8f2a7e7d8d2d6fbde6fdf0b629f", + "0x3304e769f730522c1c5aa745c448075df026b8f82a4dece84fd70d0457050985", + "0x9ee5e3ccaaf94461dff9df8c4805ca831f58a1586af4ece3cab14a45f3b784db", + "0x21e4364859063e20153d2d06eae4d2c9e99354bf97fbff68406d8825d18dbce3", + "0x4805355b72b1b61b07814059f80b4da0351291cc932292f23069197a74127726", + "0x14474f45f38d7ea51418e5f03751c8bfbfb9b3e2957d3051e862aa3c57a63c43", + "0x69372cee3e2807d10ecb72d404a033568a159a5b15d2007537ed9a758164b29f", + "0x147223b51001166a4e65372c9c706f011f1ae94f4bdc9ba6e8960017e8898703", + "0x11a1e48a5c1d7088c0ccb8177d54db9e9f91a99aa7c24f702cd93f4646f181ee", + "0x809c902b2f4b8760c3d2e820c93d6df69a5d184a43a6c654ebe7067e7212137d", + "0x749367027756c27215b2f57168ef15d3b39062c9f79b3777f7fa19e8073de775", + "0x6a9fae37364f97e36e56df97acb1b7d066a608d8366d7e008854756dd28fe748", + "0xdc2f1b7a8aeda15e6bf4f5f424bc54828cc8520e2e7ba27bd8e28ba2b543aae7", + "0xe0fabc892d5c8b4342ff488b76a0400425ea70774f207c546fbf2f9f5b105dcb", + "0x151fb5e02d8eb3c3192cb8c039bcb4c121c4ebeea5e7f98927b85a730a24bbf9", + "0xfeb2f2ea368d0bd4c0b0bd97b444c365bdc0ac9ce2862b0d0162387727edd236", + "0x1eaf828231ebbae54737111bf3c7181fe3d7e9070def1313470d3f81c89f01c7", + "0x8a1b0565013cff488bbe3f35df86fb41c7aedf4d911130802c473f4ddb74d6d6", + "0xce9158b5c903312fa636e074e3efe413184652581a4877d40a0085965dc0bf9a", + "0x1cf602c6306affe2916fa09d3c8c018f23fc44dec8af8e83fa0008c98b4dda72", + "0x189dc4569e96cab937265ecaea76a0880ec97d5b84ac1fbd0cd2d2b36a8c34c3", + "0xd698bd07e485767c1da30bb218265e1304f6eaf426749ccba67478817af84bd4", + "0x47d7e101de73bb0ca97a0bb70094e81b82c63e519a6b2aa5fe10ca7351232870", + "0xb0d441b6c41072889c4a982306c9a40dff77b43425ecc4d771c22f3199eb7708", + "0x7893071deba67f2fc8e1b18bedcac4dbc05a020f37c764c555eadc42dd9d29d3", + "0x3c6d636db3621757d60b2d0e1804e19528ce60c9feed1ead93731820ff19b11c", + "0xde87aaa462b461c4a33e0739ef4cf56d442b7967ac7c5280816a959046b128b6", + "0xb237b17650adcbcf580b64b500ecaa7ca36921a11ad92c1e8992c57cc1a7f618", + "0xec379725db43fefe61f2495f7f7e0531d852e21f896ae806144c4d9b4b986e96", + "0x65ac5548988825831f0887b9ff0f2c13b7f3b49e4a67c39b1694e76414249f6d", + "0x76053b72ec9e6fcf0a28ef273d3e1b0842c3c2c0e905f5b5a3535ffab216c8db", + "0x2ab1e87489eb1daeaf8882c6baa0a8726aeac522e9c4eb4df71e35af2d22cc10", + "0x8c9c6adcabe253b311f6a9b8165ff9c5e26e4cf41f1acd80837e77fc15526a86", + "0xf143155230223a3f126c757b85e193a9129f1bdf97c0ce1f2785f14d40911f30", + "0x8c510d9dca593534f3ed316f240ffb9343d1e3cd6d005df6a75a1b354da0b36e", + "0x3440975cf818a718beff35a85d19bcbbd67e1b16ca9d78af34dcde31a28b3288", + "0xf56ef9c57109f9cb7a925bbb6d453efc19e8a45b331f76153d20a87d86a8b0d8", + "0x19a360772872003f08508a28a362c6e05650b385c24a928ddad4d562bfccf412", + "0x643720694b3773ecf20437d54a6be701810feff233f435dc701dbe88c9a6a13c", + "0xf8c0babe99aa26ecbfc91b304d9cd54ccfb37354c4fdbeb3207bb6d4647fabd6", + "0x481ccc7213d0188e817c071c4cc3a71c96befb9aa98cab964012fd7a8267834a", + "0x02d83ca8d92e0fe6ce7643ae93af60e38ab5659a84c04beba678ceef654aec12", + "0x24e6b4bcd0d97df196f2371532771593fe17be8fcb89f1e1164bcce8616088b9", + "0x3dc91775c50c04812f755f3b48d3d6a0cc599c586ce9d105e2cf4f3e4527b515", + "0xcdc215f05398ea3942d3a38078a3602cbe8ac549d4bf0e4a54191ceb2aff8f76", + "0xee02874e444b784f4265cc60b86a17382d277d03c8bce8a33241460ea8950699", + "0x35c34bc84736fdcbc4d4e2e089f30bcd186a052b2f6dcb639fc45a0aeb6969f8", + "0xbbb3ff849c36659bf2c00feaad9f7b3a342b5cfcf3555b7c2e467a0dc84e90e8", + "0x0584bc60fbe3fae9088c214fb519030646c3240f77180a0bedecd3e9c9f47f89", + "0x9d18a665d89439ad2c97427bdab3e598f5bc0da6a0ede2378f95c5bc31f10d12", + "0xe8a5bdd0ffd33a6fd03cf003c6d2afbe8493e0f0cb69e6366e22b4d1ff985101", + "0x7ca955f4e01eef756b680d09c25626cf50013faa20a12b0a334fd048a04e7b91", + "0x064254551457bd5e7a260a41ed3643746202d503813ceaf42660f9bd1983be34", + "0x1191044e354ea1e3daa25ed2175a6517659e96733d9065d81492ffe4472fb96f", + "0xc823514cf3566b1bb2e19a35e0ef0980bc483fa820d13ae2cfdbf15fd426c272", + "0x413f941f192d0ab77bac68268f45e2c9adbee23a3324d4ae8748d09735355a2d", + "0xa66c94b9603b3058b730baeba1b79d52f548ceeb5bac487903f92481060f6804", + "0xa84d4a8860bdff1fdae6bcefcdcf700fab7857444ef1e76d8259b005872a4636", + "0x9fa64d44edd9c097458d3901612a4b6f655a1421ebb68541cb1a4bdbbe24911e", + "0x402027770edb387510241a68a235723c6c5c95aed54dab058c43d21a6bb48c41", + "0x776281b7e341a66491603b7ae8ed7cc82b99febac43f94cb1c4dda73b17aab63", + "0xfecbaf0fc5a02dcf49095514ce26df927def3cf51f37e04471545aae2364f936", + "0xc477d9293f0ace7243f8b9c89f01210b8f96b4affc9d3332147ea2e2b693c99e", + "0x4a8b9afb9d9097831b2497296b0fd0fae76ab8a596213daed35cf87e6bbefaed", + "0x594c4e9851eddbb4a6c2ac72aaa244ff35d67262efb20935360360d39f7c7ecc", + "0x14b7ef22c46ba8400979b6c06f3b3023607145a5cc6b5b793daae758cb655245", + "0x3a9d233553d1ca4d9862a70ef133a5fb2df75276fb24297b0bd2927a39459450", + "0x22c5e227d5fa7616603bbf36c5e4ee7dbf285fb0cf403a3ae982da70c825cad0", + "0xc2c8d439c7bd884665da56e3b680a5e58ad1e98627fdbec6fa67d7bbfad33a9b", + "0x7d5682cd9f28493ba4b87be141ec99701bbcd1aaadf9840b81de1fc07d4ffb18", + "0x8845f626c5f78d1bea281f892727437f9de8f976e4c4fec6060b2115f1862db5", + "0x769fdf0bcdbaec1ffe98cd3500ce8341b4d7ea2dad5fadb0258212306ccc75f9", + "0x185569d1980147fcdfcd0e0068ab380f0cfa58a690334a558bc1fd0d07897e96", + "0x0ed70ccff752df46f981043c5279ac3f13e7f62c2bdb9a0a9817a1c119ef6402", + "0xbe121e28349e80d601ab997af844aa03ea6492e88d75d3d46517d8f835e3c3fd", + "0xa7aa5f0bb95566292d22891faa75b7ff2020b69fecc8a22d796cc3a60953d98f", + "0xa2611b092b00f78fe639c4fba0274ae474fa448b3f2e4b8aa4d06c654720d478", + "0x8e425115b98f5e41c8b5d03a9e17d56d30050d85dd06cfff12f002c546a256ba", + "0x988b449fbd8c35855154fb4eb22ba6b7b7095be26203d137f484c67facd40dc5", + "0x567c43ac5dabeff01d6997543ec7abf7998088a355a6ba8e70f41a243dd1343a", + "0x6f560cb650142aed532f17de763d61d021cdec2716b0d2cb27b3a64052abb874", + "0x7e4ce5fab8f4f1fd41f9e5f10204032ae7e0e38093b1d07699318975b33910ec", + "0x91a0820eec5390916bf464b1d16c00b5d94386c4c9f4cdf7e0b3cbe40747fbc9", + "0x9c59451a9a242123efa72c5fbd1564b7bcc0067ea9d025336d228ed26b9ba6c0", + "0x1043a5ab3f5a3bced84faaae0e783abb3b81c2b967bbd976042cb5d897d28146", + "0xfc37b3b3c0be392ad2a5e36c120eace1d14e637ac806e79a750b9a6be3c742a7", + "0xce2ccbada44a8db5144073e69914b322dc015273a75b85ea43fd9e21037c760c", + "0x6cf8336b5a410e10604f93351242cb3a6929968212abdf85b4ca9321115b8fdf", + "0xabbe9781950362be1e206d91ea1bdd6f32ea2c6df65b277cb89050ca1deb9296", + "0x922a6b85add6839494c3edff389aa1b054409c330b4a4e2a6c0e4f9bc85b36a9", + "0xc26dcdfa135a09b7eef1e99b445fb66aefb8bceb6ea715b81d78ba87cd56ed8d", + "0x87d647fa7dcde81a0e133aa949d574befefbceab24a42ae4f3809d2bb52a2d9b", + "0x85ee37fa7154568b9dee8a539340f99c7f1bbc7b9be1f2055636ed9dfc074e4d", + "0x8b0114dc9e249f1de4bb3d055790e4bf18aa28a938f39e8a457ab4a43b0dd613", + "0x3be36db134f4c00fc9e1bc376213c7073389c993b0b0744cba619688d6c037d1", + "0xfaf987eb2e066ad8871c489c23102ec5c58add2d13e62d56f2821cc1f4d66d84", + "0x678478da2955e6876ac49c5146e9f7c376dbf2f170f6404054ae4385e72f3f19", + "0x85d8d9dd6c2a8f6b6a1c0fc0cb55ca870d9a7aae1621c143c3176a3a81fcc29c", + "0x76f4dfa4c3387408c823a75aeb872ff39af3820375ff52f7aecb41c96e4faf2a", + "0x6e530647f2e4232063de2fa8f673989d7834d8cdf529791032888f2833880b80", + "0x64422b4dfff6cba0eb6deaeb4593eefc40a357469a7f7c3be078f80c66161333", + "0x5c7ab740510a4183832bd78e6d6105b0f9f928611f7d62ef96aa8dd8da48a72d", + "0x0bbf405e29f015d24e64f063d50ec6c616af64622b1a4132cde86f926e93850f", + "0xd9ba81ea0790f1f8adccd0bd203c7adeec2b490381b822d6b15293cac2f26206", + "0x4f78619baa34f2278022c509671a38d29366936d6860e79ab540ea46b66ba782", + "0x00c1f10211d7604e59a327239f00dc6d036a93416b7871cb214e8eaa52571834", + "0x1b6636708f97485675c0e5b21eb749ee4a5fd0dd886e6690090856bcc5178ec0", + "0x71366e853968c1bbbbf8e3d6e13100dd589521f8db9e561dd20ff8709b5c1a96", + "0x0d2c35a01646cb09e2b56b5792ac03047848bef7415ae26f787cd54ef8f327da", + "0x1c5b71047f99db30453e502c9acdf422d3bf97b0d42b9223ea1b8b9924bb0cb1", + "0x9988eb36e4a669638e3242e5ada3e6596c5e4ef36a83ed2d3348d35fbed4d3d0", + "0x8f00020f98f02af0749df39fb2f534d356e3dbe809bdb3f435c4a575d661d6db", + "0xf70a509c0d1c60afcafc7cc492c5ad575fdcadf6ca8e0e5f184c62dd52021129", + "0x72cdb6544dd469ab42e270e51d136b314c27ed0d6682f914cf3e0398399d2d5d", + "0xd5584896e649b618ab8257859e42ef7798c37cc85103a8019cec10b1524519f3", + "0xd70636cf5cbe78ba86b8de902f83f9c550a8ee31a019da6fcb0b1ab0a02bd31f", + "0x79a506d61c89cb7b1aef845484956389d5f6077fd10f8d1ede1e92474eac15cf", + "0xa66c0575cfea08bc6abbba03b0d10be7bdcfe6c5da9058cb34c22af2c8f3f1d9", + "0xfde316523b6b41fedcf11d776a53bd27fe3058c3912059197cda083a14410689", + "0x6774beba5e02630a7e4379fed7175f0f3d9f8fb5333451f25d5b044521ed38ed", + "0xb513ee7cf03529c88633176792a6b08585ff6163fe174f68e285d6315ffe33aa", + "0x4482f3d82f65f0fdf71fdf669403e0b835b5458e567dbd295b4f51d22f01650c", + "0x1cf0c0859b1839ebfb872a570e0c17886d8d7f26067bcd16af7f9f0415001aa0", + "0x231be14cb1cec949a4e806a7b3aebdb074d58e5a1c48b85c35138d5d3e967e0b", + "0xe8f0a0ef68efb2ea1bfb5d47e3c9446900329ff89a3ab7eccde41e09ec3e79b9", + "0x16348cb5e49e61010da09a5ad3cef83ab369ee3d0f28079584c23749cfa30238", + "0x6d33bc7f502436bfd0d574c3f6b1155c69f8a80e55c42c353e9e68abb46d932e", + "0x0e5d40ed7351b59846ca3dd8cc9c0eb71d4659e0add0dbfb0bb7f518bf45c821", + "0xb1ba4509de4c0f1212b2b07d949740f15ef8df9af8e7e9d765e6b407a0c5d717", + "0xa99615bb15371a15b92c119f8632f1ad7c29d6eb9a69e0ccf33a9dd268cffd54", + "0xfc3601e7f85e4b8e996bddcf1b34cb6c20462e21c715782da12d8e08a01cd21b", + "0x872b0f4f3ef00cc5cc6fdd71091de96c02f5898826fda4f837832f302497b51a", + "0xb34656439e4474e075d8ef523f6f74ef292a22281e6dc0b8fabdfd2339389919", + "0x048d4dc500031aa56d89e799499a86d6dacddea795ddc4571669fa55d694345f", + "0x684b8762b97a9d650f0f0e5edee73b60a29f6e75573bd6244518b11c4a571533", + "0x5d20bbacb93f7b03d92ae0ce8296bfd113a808ab3a8bd7703838d7e8356b6714", + "0x25efac3c3bc3d4f10ed9918fd9581d68eaa18fb72d3ce7ca8e36525d8cdcae73", + "0x48b593a335aa2699a5bb5a60394845c7e4c78046e050aee1c7f8831249f75b26", + "0x6db7243073caa6e5c0442f2f3926885fae0385e0238a69784ea8a00c854ef8c0", + "0x3a104e4932193c644e2135008d78c5153a9331e6d9dde878357c250a3b42b5e7", + "0x74b3b4666fa9811702d4eebf9680053043160be3a6c31a0105c703e07d530710", + "0x179f67ff0710067d3180ec03d664fb3d9936e8777603b051ebad4cbd0aad7763", + "0x38d5fd43ca73f66127a0166ae074324471b1a92e6f4bf99fde235ac408b35562", + "0x1f43748a027e7731c2fe5343ba7b61d7c6c6933ea45466b439a43eee1a3ad398", + "0x6b130b75bc42dbbf76ad97287a3a130ea29122ce7e48c5a8bd1e80a5f3121364", + "0xcd17f77d87174ab6ad6f2dc60d37144aed40b3620a9e6c9ac3e328aeae3097de", + "0x3b7fe9ef499348315c1a2877bd7fa44b622fcabc588687a6de4d2f75aad3f642", + "0x6c73525865791a7ca8410363d634f6babfaba581d7a0252c7f57dc8c8cec583d", + "0xdb16b0220e129be4c929888a8a46d21d422a352ac7b0360711d786eacb56598e", + "0x44fb22efd89e585079bca47bde1073dc052f8ddbad2c27cd8e2839bd4350b18a", + "0x1e6f1395d417a94162117b9371abf3f781a4b05d787f6a38fb0101bc36e548da", + "0x3eddd0764196fe15d7ac7069c04c4bf23070e57931493e9a0127fc521187b698", + "0xec104582dffc06da3cc1af1c8dc7522d26ab2408dc0f62051da2ebae1ec1cbf3", + "0x3616cc0faf8a5f5c19cbeb482be2ea8de01b2a3e81f067366c715607cf29078c", + "0xd37ca9cd5dc7c3c4e2d2f1b3c8db2a016b52444f1c088680c8544b6cea30cfe3", + "0xc3d85c7899da428a305d941e3637e33eb4981f071ee07c1ee1c82aba7c248167", + "0x62975f10a20de37466b1822859f11774efa4f37fb701f6cc0695d206bbb51582", + "0xd940124857e67e220e3d4dc27eb75ff048aadd9b7fb29b680cc3743b3ab6365b", + "0xc89ac3aa4725191e56fbc87d41caac2c692dd5adae638bf741f0ded040ca66e4", + "0x97454878805915bcb60c9915af0fe0558987dabe5d506e03898dede96544dec1", + "0x6ce55ffc54eec31d980ece5204876a3f366f3148a4b8c10cd190153cfc96defd", + "0xa4e923671f4ff6dfde2f11cca452ed4208808e93e1131de4ce0804cbe2e0d3ad", + "0x772d1c2a0e70fe37ac0ea8d7b4a789f92997bd654809f20f0ff7ad76a6d975c3", + "0x8d5de87bc2484465a4876b462ebc1339bc13b8229e6df4f1a9e9b458f5e9adcd", + "0xdb33cbb2dad0eb38613d69392951c6062eb669035691882fdafc526133d15d21", + "0xb22b8c0887f71de2da3d81a5fec2213ccb8a32060211077e2ed1613cf7962e94", + "0xffbc5a82fe0c2b3f3f34343ba6823f35884c8b1dd80fbaa68fd5f33a960034ce", + "0x9640ded5be08a8a7a2e6291a91bdd58bd108205f4cef5209ddd338ad764fa9b9", + "0xaea7f934206d00a592502b8b85159e64b56def4c72db3a790ab46ca81c75d672", + "0xb99ace258fe4e6be541c6e3468913f4f32ef9e9d1375c889e17ceea0c606e729", + "0xc54ae75381803d00b52ea6fa620766662e6f7946d550208743fa64d3aaf22c54", + "0x4e773cd4fb2347b796595cc67eb2b5c7be6409bd8b1944f4cafecb6fc5a60a0b", + "0x263f3826196c238c24d4c792c3c45fc913d4cb94c2d3871827ba43faecbf4d94", + "0x7ae1714256e21b9b45778795cdedfad1160d571004f5ea6debc16406bc2161f6", + "0x0c271dc055d8fb1ba9bf133f3c85628ac3c2b588091768380a881a6183514b51", + "0xa5f41cb430b02fb1027d8e99cd94dd6666516c785d7f618a0894f38f811bdeed", + "0xbf6665cbf1037e0085808897d8b04932a6ced6755fa52555ac00737e8029c7b5", + "0xaaca2ffc61693a6f379e54af473802770b3971f6accef49e5a2e8fc122e0a490", + "0x7a3eb7782e2c02776aa29964689cb1b880201e1b81c8cef39738d7f7235fb022", + "0x7bf417dda75c46efba6a8344775915d2b69f954afd66d8f52576e106d7a7eee2", + "0x3a324507874480d0f4e8466ed6602c99fcaa7907b61e9f2b3f100740f7866fe0", + "0x3589941fb7bfda9bf50ad93cfed18cfdf199a6468074416aa513cf83cc00dd2a", + "0x66b0965611bba105667a3990de5acdbd398d8d6e2cd0276b83814c4647bfe461", + "0x703258ca6154ec4cb1b9162678e3bb546ca6f9e626702f5f62dda98fdc0fcf26", + "0x2a9a8e3537b714cb3e158f7ecc816239786ea3787b1a3bd40482f02eb0b21595", + "0x46104b558f57296b0775d63ee4da42a716c234f3dbd7479204f35b31f4b3d55c", + "0xe7d9d0a86cc8b76526acb8e260de17508874d1db6ad19a4a84210a010212d43b", + "0x04af6e8bd51cf4c4307b2381b2e0c54cd991ca3c7f49b8cdcaff3aead70efe48", + "0xab8fe05db68e486bf2be0c507b834b6e496c1d1fe560cd3210ed7fbf0e9b867a", + "0x0e6b5f226d0bcfbd1f0a2f61189592d8974b16376fef3d0a67f757b796ad6854", + "0xaab68c29b061f8f72d9f3c6f2e318a7125a01010fb0c547835fa31e72d8eeabe", + "0x0446f90437150e4ec6246be5c718e5054d62cbf5878479457d522948c6e87f83", + "0xd1b4669e21c0b175589c0942d4423cd2b438de6665f0bca10818eb6246a07749", + "0xc20d1a68c015d886ef8fc3dede0d116199480164238617667280f833a4dcbb3c", + "0xe67504ba38aee984e9118960827ddce0eaae3d8797bfc87afd4638cb1867e41c", + "0xd3e985af3bf3e3ad0dbcdbed9ff1b04037bd1ff2e71886db3842a29f0ee8c4b6", + "0x8b809d1ae7a835f318f471ce227f7e7ff563a15d1e2463e8fce5852c9a3f9ce4", + "0xc232b56170a5796aa4333d29ad8ba43dab2233e0cf7b48d100aeaa4b2491d6da", + "0x9c338ecb25290e91a83978df4f5b7076b299ba5d87074c36ec96da0b3aa9351d", + "0x616a6134eee1221e531fc6d6b5861f5ced64e9b56505b169da67ca3c47cb54ad", + "0x4afd1e60cbeb40301c2ccc7129042f9a944f4a383a4f34b8acd7aa454fcd0e7e", + "0xd52d1be650ed156ba12b0d6be4b7fda1fe89927bd7626ec0ae45663848144e7d", + "0xa212644d968f7d3d89c6f12c3c3077184943d986dd9cd391d48f8f98eb1bc6a2", + "0x8e3374acfb9d1724fd7f84c22fda25f91737efde3d667f607b364e51beabecee", + "0xd77eb30cd87046093b27be1a09d93cfa5261b780b99116a79d6c16be7db838ec", + "0x05093b9e39e2d9f4fa95ff386cb2af67861359ea6228242be6b323c1eed5c7c3", + "0x8bb25606225d3451a981af24506a549e2bf62a362149e4c77ac72eef6316e691", + "0xd2749fc4a37792b3716634e3dfb8a80ba3e30fd73bc119069d507bfe7efd8a1a", + "0x3b58bef2d77a04b3281e6cf80f984b9067290bfe02a596b2295ccad38e887a33", + "0x2f69797f1800e5da4a4086909058ec857695a220644e61788b24ccfaf7e77137", + "0xd81872c67fbbd1a69d4805cce578b9f36bfd768d3fcbc2fd610182a7696e23b2", + "0x2d3bc9fd303c12ed1ca7efe27d85c7b5ffb8e079e59c86977a113bbbf863549a", + "0xbaef802512a7ea5006cf816c51c35fdae44a86daaeb6e9dd8fd0c37b4f744875", + "0x2e7fb70924e6f0b74541f2f4cb13f49bb3bd577f5bfe1bc29d805b0e7e1a3df1", + "0xe3918602d83478eb416dcf80103b09a051d5cffc71b0cb21461c5031d38befb7", + "0x87dae7dbb38501d6e84f738c11615dd9eda5f7b77e096a765caebea6a8c691c2", + "0xa19f74ad3f4e218fcfb15e4af95713cfff4f5f58169b789167e2b62617023697", + "0x744930fd0046b3f7de0ecf721e3b36e4b36c0f49eb98bb0c9ed33d40e76a2017", + "0x5bc7194687200989382831785b43f7f5efb23105ee2dd7a620a61622a2afec44", + "0x3672af2176d897cb8f64f2decfd924d74581bd85916be85e53f2542a54a24b94", + "0xe2e2dd1875e9265072d96bda4640ec6beefdfa9a91241ae078cec4c2a1c9b8b3", + "0x5866de65d88610e6123b7a57e28e196afac484045261d1a16b83fa232ba267bf", + "0x7224db0ae652be5fe9017454dd40c744c75e513841b5cd11d5fcaff598265c7d", + "0x04438fdfb56d125bb13f6b8bdaced6946299f8a32610205fabf4a8db9c06af60", + "0x9e9af6a569b87a4717b94d8253a0078409bbce7bc08874e091163b621a75b999", + "0xc8a39c68a74f23d615ad49d9d175086bf4e1047a750165bb071e3cdb70e1d639", + "0x10515734fb6d38cbb9a7ef33ec7831646636f845ac40cb24b08c432422763466", + "0x1604dce1fd615791c66246a7cd82edbfe860a5ac48d000cac1984faebc00cafe", + "0x56311f68cc563946e251d8c0ea74adeee6ed8dd7aba8f6ea85367defd5dbdc41", + "0x3fc81adf318fa6db1c4e7ff5424b235943667f2f3dce5119618e0273eb23c93b", + "0x38576704f6ca62083130dca418a9b68e374944d63521fc3f4b7039754d62f63f", + "0x56e2a402baabf470d0f9c3496d75e2c26c26ac159b996c370b118a313a9e9464", + "0x501af705914bfccf4ad29c38eee21641590cd8d334dce9055d90bff57b8fa556", + "0xa734b7f045d2a23ce602b032357a66763714c6e4785768f07d55c22d2f1de372", + "0xc80e2c739a3d142a4018bfe2074da8da33c471b93f5e7b44bb150b9eb63e956b", + "0x7a0b1355d05b1bf4c634651bbb2b6d65cb0a9772c30e4024f5e781e5d404376c", + "0x73827f7c7a15db5c17a986f31dd92de05579b0bb8def065e5f1cee472d00281d", + "0xcd64ee4b2a912d48e6beb06e7d6c9c236b5815434c0ee21cca0a13ff23dfb85f", + "0x768d2fa63c53689ed899f47c6f78844ace885fa18a36da427428f4af46a9e1d9", + "0x643c26723d5a4831d3d07f8692a6dc4456bb6190ce2abf1abf69159942d5d548", + "0x03e20a75c4546d5f54bbd7fd3e54c795c180b880563bf78ec55530a89188a9a6", + "0xa0ea4095dd9fc6f817c656913f8cde4044e2806488be48770de5574c0b5d5f8a", + "0xeead5fac8f3c83c5a10df161d95bcf1d27184c9fb9fbd813ec5f61347c11280e", + "0x5afba4426fcae0f1769e581fa6af97b5ef8fd417771f10405e1c9d09a74357d6", + "0x087f65be7fc2a14f216d7ce418a03fcf1e6169e8620db65c11d1ed6c0afed240", + "0xf9a7e93c40788db39b241e03afe329b6336187fbafa40c97ac405fefc1eccfc1", + "0xb02450b58c5afdd0907ee745263aa6beef662646b96b9ed28b0dbcea4f358667", + "0x5029f1169c92671ecaad7239f40fd93adf3ec07ce2ed0c4cac38b0cc8034def7", + "0xc8465a93a1ba7ec3296d98e0b01ad27bdbf16a347c5517b450905d3c3668d505", + "0xb85cd82c551bcb30a747b2258327dccb04094f918e36c3f120f55fc35abf59d9", + "0x1721b2fb8963696cdf32385fe87e8ec2c2d7fa34e099bb65498e4a030e20a1c3", + "0x6b6dab262c1a32a67353409d2f8b791b1799ee6a8e3c880877af0bc5cc5b812a", + "0xa634110e4766d3451718061efb890238796370da3c4a53a91faa96c8944d2423", + "0x91ec6c6f807285599e0a179d0d246caf10152e733acf3bb967bae35fb36561ec", + "0xc3b2012d5cc8d796d1890d39e2b1730dd53df0b98274bbfef8c93bd969912852", + "0xd036b9b29589cc551bf27ab95b6366d772e7d692d8fba48f473a2fc2d023dbe2", + "0xc51229a0306e56a53bdab1fda497281e23aba6ab17301c2eef3ce3d01f56989a", + "0x2652cb79e0c18dfdf545562b8569cc2775a1b0b1b465cbdc5880b40ffff22676", + "0xf24e0d6c03961043cb41638596c4ca02e2a2522a3e828dc4613a72ce5a535a67", + "0x01725e03a7cbfe2d6c5623829e4d419bbeecd1c7f925dbf1667979bb4da6650a", + "0x3b0c9824b726b2b556c6c46af48b84f856154490a51d775ba06aad48055bcbd7", + "0x2be2f1cb826d7575e53bc5e14f1882d73bfe145ed91b2ff56a885f66e136db46", + "0xd16752cc862f33b14f5976049dadc4f15f147f2fa76c50bafb38a7cb25c8f881", + "0x66b3ba188143bd421009c082031696bfd6d29fe7b9c3345e7e70bf6a470a05ec", + "0x83e017e8701b533c9fd22e30d63c3781b0ac9ec1dff4433fe7fb5c8f6f4e67ba", + "0xe4782b025953c5980653abd26eb95de1bee0524c14a74b970ec5615f98ed6768", + "0xeda29e9b36262e7c79ef9c0b60fddc66bae542b19caeddcdedf439573f773cf9", + "0xbc02ac1f023993253394ca965f4394bb40f9c7822ed6b2cbdd249e4b72f9b637", + "0x8e1bde0f2541d20b7f7e8179014e0f6b98eee5c1e0278ff1de38f4c13fdb4161", + "0x7b762d3d64aded9ff99e3423d7e676dd307b765ca6f1295e079ac53d5a4788b1", + "0x1027bb44ade6a1f82f11e9f298fd3957a9636bfbb97457c319e3d57ce72146b3", + "0x963864b3164578d4a7e58de16593273067a641de752b6df2c9b8bfaf970392f1", + "0x16bdf92929fe3629a57f737d83328d034c36bbdcd006301f28dcf52e1d1cb542", + "0x69952e47225f1aa86d952afb0fa8c668ae710a10cb6a94477d518c8f771f5c30", + "0xe68895f4ae2e4a35fb7e0730a5ef9c3e3030f6351ff6381f77e6311912ced98b", + "0xf28d799eeec538dcb2f371cfc6aa16f4a6808ddef0e6fd0cf72fde291d94f8ad", + "0x5a404922a9bfe57eb85deb66d8d83c869ddf96eae17e7fdfafef19c19efa1eec", + "0x96b735672e85aa95c2f8b4bd5ac80942923cff64a24991b3103e4ee39fb9a8d1", + "0x83d922f50174810fc45daa5a607a9b4fce69d8ab86f428ac57ffdcd9c2ff2908", + "0x3b0ce5a62116eafbf445afff0674112f01e1dca0e2af2b72d0cbbdc452177d65", + "0xe86cc93417c7dbcd4b5f051f4dca1394d272dcc2101a9e94a140b20f5e4c8b59", + "0x99b3e1d593b682e1b6454675593ed6828f8f4c5888b965981e3a7c602d89d031", + "0x81e0eafc2a2adf3d94938c413cd9f588e7525b91f39a689dfc3d0ce6aeb812a0", + "0x699e692ff89a918eee6d19a63caeb07832dabf1eb28d04ec97150c87045d9129", + "0x90ff00b66a14d821b05f692ee6d100dd61abef3234fd29e94bc84574439ed2e0", + "0x2de5779a122ccd84a88c3adc4edf7c1c03dd1d3e89ab45657885aadaa087e833", + "0x775a5587a907aa5ff13bafed032dd96c312b19dcda1b0e74e8a4bd327fe90e50", + "0x4fa48215f975442e6b9ea0629d308667242a7fe89f0cd0eae55ef1d35a3d6ab6", + "0x2e24c24731902f1b9e4042eae9e946b9d884dfa9f733ea5d4f7e778b68daed9b", + "0xf23a4a6061f45b1ff2095adf02ded238b37a0ffa9653fa9c1b0069e37e8552be", + "0x62b94eeb74bca8d9ea91aaeec5c13a05dae022806df28b92ecee99b47de999c7", + "0xbe6c1797cad2d5d9ddac3b3adcbf1622241e2560e3407139e24dde3fd8d3e435", + "0x7df0788058bea0911f2e30133c835515bd777f7aa9cab6bcd27eb3c0a6e360ea", + "0xd87066a4721ce567f44abf179184381d81c1c487158a6c57b5f2455472209a5e", + "0x0aec7d3081c3ee7d61f36e8c7e62ab74e41f00b664b690a341b9ff7feb5adce6", + "0x16345b31779e80499dc01f9ccaa0e9981b2b336500f33cb1f2943b66ccbf74d9", + "0x9ed6c6685dfa2b65903db0b234f4539906121330c5d55e6b2a2fd30549b2dc23", + "0x6539602958d9166335a7a0396ad72be611661bdd40c786cf9b0f382039c6b46a", + "0x72bbb4a201de75b9a4b5cf7381308953234c62f295df08b919c12535febf6fea", + "0x2d37293863f6b90f43979ba5944bec302008957e07b7c7f2292074a0a3934674", + "0x22677859ad20cf8b924d516b9f979652ac91a27459a4eba5455beac7f5f23128", + "0x704c898c04ead58c2fdb2c753359d10934e66b326f104be28ca7a32ef05a2bc1", + "0xca2b1ac29937067b761b57b58ae4069eecc799dbe089342bea274e56fde3d1bf", + "0x4a9773e6a2e75dcf1ff46c8f9931b8170a3609023f47c0ea9c4af000798bbc22", + "0x7e4dcb6c256eca2cbe9d168cc78c2702c373fd6e69c210d0713e2766baba148a", + "0x399ea7dbb66b95bae693402eec304f9cb6f4c6ab729d90ca569fcc2bb24d6442", + "0x49d0e561773458f834c96e8fb9496d4cdf83f2cfab75824cb1eabf8e8962c18d", + "0x80a0a209e41d0c3ff07ffe6a7f1af67997662494a327fa7f3bcb7209340974ed", + "0x2bdd6d6e7ae3f4386fc655817e92563e80f46e1b277be22f81a689de7637ea1f", + "0xb77f32374161e54c50dbc38822760874d966f9e098a2ea7aedf650adf25cc0ad", + "0xb49b1decd65a998a3dae2e4725eaff56276af3f0c50b2a3a35b6e94738d32808", + "0x319f78ae885011458f47ff1a110881cb4ac6a78c7d4d7a2656ddca73a88b58e2", + "0xd9fa2f47bedc0b405df34c98582b553dde76a46d38ac86d9d357ea0aca60ec2b", + "0x4283ac57e82bd08970ada71f4617728bcc467eeebb19c3aa20208a82b18fb508", + "0xf2ea3a5ac3bc77ff64f7c686305044cfe539856fb2833cbefcb283317012062c", + "0x840a9b8c756c3c3de7170c3597bbd085747b97419c01bbe484fc4cc7924736ce", + "0xa88682b957deb995307ed875c4044246d779e3f8c584cad75162fee119613806", + "0x7b9195c23833f65832a44d097290d8573b43e6f3e47dcb8c3826ef9a52fb4ff7", + "0x57bb0076c87f2e7187ea92f9f7643eb5b4b823b8eae9f6e74c8b676dd86b81a2", + "0x68593a8268b245a5c7506a05860755cce1be795994a7d736aba41ead4c025a68", + "0x90e21d5927d39329874688312eeb5296677ecccbbb9c6bdd4400c50c9bda09c4", + "0x773c0cde2d1f44575c89106a01881eb5d9593bc762a40be03ba979496ad7d229", + "0xc1dd843534e9844bcf406cc03b277e71d4e73026635412e25f3555d099f26a55", + "0xdf3f794bbd98096cbfa17e168c0de845383abf52fea618937ed81d31cfdd88db", + "0x1b05b1f316013609fbf813cae674f193a9bd8a75631b55278bbd37513b85641b", + "0x429321ddb251fadec6b6f794acdd8cc9d93512b98af23d20749d93c3c9fdbc36", + "0x6cac90b28ed13c907d094bad45574aabe2355e13e6a9504b6001e5fbb9c25235", + "0x89b43a3f63a2ce4f67071a121f447d7e843948395616116ddeb57a8714becd3e", + "0x6de560c95a0483d51410f66f38884947dfc787e1c61d14421129773010b46e0d", + "0xa0ba45049971dd4b906e73f917fd16312646d53c0cdfdc3eefe53628a58973e8", + "0x3d4a4f7155eac18fb5a126dcae2035155a140a84718f33bb20d2f1461e8cedb7", + "0x1cc19669bd91087d2046770cdc34e8f995cbdf2a0cc62bda70d6074ed58acefb", + "0x7c1c4aa1817de27c62f35d66927d924376798c954d65ba3ba02c0528d11d748d", + "0xf0d67a8f3c5306165cffd44476249c254898bcb26c937f10e8ae244edab1b972", + "0xcc20c5ecb1d3e83bd56e9213761f8320bd40982ab5fb669bed774b4490637932", + "0x7935073eb3e5c37ed1135cb22bfeb0e21727d170d106465fc35de75e8d56cf41", + "0x7d968e74212c501d0bc26ebb816b57a37a8cd2720caddb5bf66f489e13a61bc7", + "0x2c134dcc35d50c63a13bd8868137e0240280f049d7e392b97ff5f76d00aa1296", + "0xfd046f06c1d46d9125a119f786acdd76a85fc596f21cb15f367933b717ba7d83", + "0x9f5f067e4af3c8e92d2d54dd061620f0a13a66006b162a1eab4b1707499597df", + "0x8a6e1fb6205a423ec2920d448a376b95cac7233d5312287bd850471fb49e4f8b", + "0x2a6ea987659383f9885d24c935fe56de39d45caa89e60ba1768189318974ed7e", + "0xc2df6c8a4eae77eeaf11d7e5e2198ec4a33f19f5995caab4db6577fc1ce7b957", + "0x1e2ae8a42eb937749284820e50f11dfbfb606ddac3efb201e0b2664dd0196d63", + "0x4d63bb91f9f8a9965c460326f0604a27ecb0fc56f2126c6b3519b08a895747b7", + "0x9a46c2ec5dcef6f5c5b76d4b08b9d5085709182243cb8308a2863cca8cba13dd", + "0xea57019cc85f7cece4cea7eadda96dc9e464df2689957ebfe8d817b6996b2e43", + "0xb40e930b31dc1508480ffba351b102c8cab53c6603a0dd88bfed1b0da5347153", + "0xf51ceb070d8e7cb998cf4979ac985b4850949b4456980f523d8b9d72604a43da", + "0xddd28627f5c7bd213149bc4886bf4bcb8304f86068694fc743ac81ed749aec3c", + "0x9ef2b3df587caf086f4a9838a829491d1ef45db132ea71c6bc96a4a40d833e92", + "0xc9f7d4e19501c48dda5b0012cd93564898ad080a653e29f3563ecd40d36de84b", + "0x0565db36e6fb7b881eae309fef6fcdcace7c92a7ff148476b627c012aaefe4b9", + "0x08912abab10f16b92ddaa3663375f6e2b656e4ed89f2285aab6e410fc59e650a", + "0xefe9e68ca3bea929722bcccb5150884eb23c32153b14644b1c7f4e033dc3f718", + "0x4b33e0e078056d9efd857f909d1e409516f23da68105463167e23d71c90f6366", + "0x63cd4d1c69c4168798a3d9f15388207ea10ee4dc6be3681b0c7dbce5649d8f90", + "0xc8e7c25854d49022e9a0ae2eda8e7835a6db9ef7d612312e9deae23621ba240f", + "0x22c05e50f27e8bdaf4abb0a045d0639bd7f80057dfea638df6a7184ac49b738b", + "0x4a34356b5a447591ac66c51370fb6539bdf50fda9600082dadd91d33713a74e1", + "0x7147d53533ae40e886f6bc1c3b65c51570d72398f46e3266f2eba7b707b46b3b", + "0x1e49f75a30695e9bef14b036bd1c0f2b322042b2a02ca56604484e913b284c1b", + "0xf2445d48e823bfa77776234356ae0d3c1a850db236b3d2a95e5b00c4d7e687af", + "0x7034246c6342c26f5ae974576358f993d0e5e3c577e6aecdcc182c78082ab181", + "0x965067896ebcb2628ff10127508df1c811087f45ae258a0d8179d576c21e4891", + "0x384ebc34021ebdaf95e1bf0d8d61777b96a1ae65163cd3bd9b4311970a7918b7", + "0x1ca6e203cf1e058f20f5a8b1e33464801bcbbe04c79a7201ad6036bb8aa54101", + "0xf5aaa21a85fa9d502ef278262acf71789a3755d36dd8b3794becab7fb2d338e7", + "0xdeb7dec7ec133b6ac05c3bc0fea3b0002c8ffe58b135f4ae85b71fe0350dc7ce", + "0xd5773586ddb40d4c772541f743f7a4b08e9b419fe5b5b3536afa0b3b888725bc", + "0xeaff5bc016770c7cce7be21952cd8759a8d0eeb1bd849732c15dbbb82c613a74", + "0xb1a6a6acd39b4428accf9120a46d74cca6451ea4a182206425a8a64c6d6be5b2", + "0xfff27e5023fa1fc365db1e79cf3283bee2f51333059bfff47df39f12875e5fc0", + "0xadf1ce203b0acd4cdaf1d9a91cc158a21c823dcfb0740f089ce0830102b1cdef", + "0xcf20c92fcfa22d6fe7a60d1aab2d5a942db39d447d4ba1e9e76888a64694f1e7", + "0x210a684182ea379b50d641aed1baae3bf3752fd84feac4b3dd4e110c5cfc4ce7", + "0x220c5460803cc8db7a2b645dd5a4525b0703182cce173324d20e1c865a157811", + "0xba87b487bfae148239b44f3ad7663fd66cde8e21aac9e1a50bbca7bb7334aeff", + "0x2728161f9f040b4d92ba838d841404604d4d838157fc66f20d6c4c61034fdbda", + "0x3f8a6c7198528e5084b3e8d52d3101c27c5bed8721beb831ff921eaaca4c4282", + "0x2cc2574320b3c7252404db7c67b462fbc8d87bdbeb782ab1bbd257ee634a35c2", + "0x13aae0ecdc6a70d85412178ec12e971b2c4476d5e624938ca0284ccfa611d11f", + "0x6af7161831c3442db94cbe28ee9385fe79339d533b9c0fd3266213c2a5024a14", + "0x06185136927e5bc26ecfbf2299a0fc13cb447df6ca4a60e968be8c2b7ba1c2e3", + "0x70ccc84931d910a2489d50becf82383a836309bb90dddb21026d9e4e4368c85a", + "0x400ae9e4da0f847dcd4bb65e8f9f661a3b0deb78346b4f1f84fc712fd34410f0", + "0x57aacedf503300888fcd8db2138badbfcd663c63c3cf5b3e35979dad635c24d9", + "0x8fea6cc2da76b7cc7062af870cfacf4952b81f09c3c15d31145fbbfe1c0806c1", + "0x5125434cc5d4137ee31b51ed8306b4d665b8dc66504661b46c227e62a9ef1abf", + "0x254bc0b61211e0a57755d73ac618012938472912f855972b7ce62677f5d0e64d", + "0x2d231389c849ea459a7530ac1bdffa4d84908e2c61125a70bfcda932cc8e5efd", + "0x671ae73d4739bcd4841fdff266803117c5684c61031fff16e831a3bffb4bae4e", + "0x64c4db66cae82a96f29296b481619d79a739e2dfce0ac1f659d45f526ae58ee5", + "0x3f2f08ce2f21253f8c9a3fd650a885ca0e77f720a21ad5b4c0867150a0274efe", + "0x98c48268710592ee4c26620375968f2b8730a1bd1777239e6ffb9f116c6e1284", + "0xdc7a5c095c255e1984b4a5fa75c7a1d95d98097fc4eba898e644ff66951d8dcb", + "0xeee7579812ef09ae31068e8087536362a967b2893b709a458822449ea89a48fa", + "0x296e707796c0b9f9a2f55ad06c42d03625dab94af71c2e1c7016a7ef6645bf5a", + "0xd9a3eb363d4a36300dc4d1903a83447c89ec286f8d219f1156335da283992d60", + "0x039adf5a0cfbc394847d8014d64700ac4b6e78b531a1e0328bab256f7c407116", + "0xf9a92c6b1f0b0b3d7ae33cf5ddfddad516bfd7b21842d76098737533efd4f7a8", + "0x5a5d1fa3b8e05a81173e627f14e689c166776b93df401593db8035a65fba58f5", + "0x34f7fda3053b9d06e217223ee06fd194e2962c4a381482429e596df1fe319686", + "0xb4cfd9a71a98ad52c7705d55e96f04cb9064b1c32d3c346be51370b56ebb0f8e", + "0xd46a93765af68d238b776b240afd464a24d8c8bc869280ad618fd0fb6360e878", + "0xf3c622a4ee05d1ce27d59e7b9b3748547f4efdb1d6ff72a58fa93dccb7b76de1", + "0x6cb017c4bd8bb5186590cc4559fd9600399485ca917b10556b98cd7fb61441dd", + "0x7188f59c892b8754845d73f534587f27b7da67f42dcc1c73390fe2970bf0ad28", + "0xb4b17c93af08b9f587963e42703379c5e4f760502870b8096917b09b3950ee35", + "0x03165bf9bc20c87412a41209901d2bf3c8bc03a8586a1706fe1499641cbc4775", + "0x9ef57b2126a38c2dc456c13c272de53366dd1bf1fe768185a93f3562d064fa8d", + "0xbc3660089065220589409f7063dde34aa080179b3f22464fd9df9eed98d88b0f", + "0xbf1cf6eed0e0270d6be602040a97600ca7e1279db4279a9fb7ee643345a264b3", + "0x4cc471987bfae3b32179aac7018ba574c0315b9832915b5d0b804b38e9def6c8", + "0x51351557582b1d821adfdad36536b59b28f9a1f1243115486ce44d4b22d3952e", + "0x66d6b02183b9def37dce37b66ba4e9939241732b49dbc8addd147a89dd9e0517", + "0x47261859ce169e56d4e7dd75c5e2648597c7906f9264710c7e4dff74f353f739", + "0x38edbf1db358c82d0c945a7fc024f7fdc1165331cc19caf6b8943d3ce76b721a", + "0x5231560201678a39175187469f7e36c1c729ae060225012ff4f679f3fabb8237", + "0x763bfbeeab624de07a6e758368f8f61c0fcfc8cda088d2dfcbeb47a5eea9648a", + "0xce910446cce07477d424f791a71a375830ac26a2543b8bd1343e0d775d161e5f", + "0x950ba34133aea3c2947a5e5fc1836375e81c042ee999b60dd4a27e6492fb41fe", + "0xdc24f20fda563bf74ff7540a06f3631af8ab3b3722874a6b383714f463f5fb43", + "0xf2250ef512d3a11144370747f2c86efc73abaa81152bc6083f87aa217d16ee67", + "0x8760d0bc8f28eb2504f3bde3e429a47f0aed1dc2c7abbaf01c68033c07ad368e", + "0x7ef1c11b1f025f7e2aca2624aa9a11781cd860f24ce3fb525e7196e590fc5ff0", + "0x7c4e717fe77c8f9e742e312081d51418614031745b182746c7ceb4ff54deab6e", + "0x56c82f80b8d52128275529fffb3ccf7376f411d7cf9464a15fdecf617b4e7571", + "0x46f7d3ecd09c29d36a62a1a65bd3c59a14c82687b5466c9c130df14c286c2a95", + "0x1d04deaadcfdc7a1e5e612df6eb836f55caafb4f9bf4f1200fdfef4f14229f26", + "0xa0f5e65e99a22e14ebafc71f093dadc96c68883609a7460f904eb15360e3dd6d", + "0x8ea6c444466d4b6916a1b6dadafb87d75e2fa1ddd1836425dbaaad6e99f4d68a", + "0xd53d052bb709813e6dfe218dc4bd99c5ae83b6f5993b182c36a386502713c7b6", + "0x2e0cc1dfae87825d1a1d8946e021dc514dea384241e0a6cb66d5daee570c72fc", + "0xa419612e2bca19a3a8dc7fac4da86c2df4edcc2989e10d3e9050323011676b1d", + "0xe41649d9af504bd273b9da0fde578dc126afb55feb8b3c31a0d4eeaa9c7b83f9", + "0x0121be707b5666d5a78949b2ee263bbfbd013b69caa9566864711bda4c7ed0f5", + "0x788538d654618bcef0a63e31576e19a0872a92733ef7930ef50f8afd6caf110e", + "0x7777a3a4930828cc158f696e6ddcb87696115f473f219ac5582d8a38e0645430", + "0xe15a9f42ce5964358f862fa7a40bff0c8e8d7429a5ca923c9f0d4d0d574378a5", + "0x187bd59945e1cc6a877fb324b1d7ebdf661383ae7e22c56913f2e920de73dd68", + "0x938f100308d20611bd14372b16da0dcbc888868f8bd183d667064dfa8e67a161", + "0x5e61540787c83bfacbb58967280163f55f5ed00e733d6295099588557ef2dcec", + "0xe6625082f4039ef9dccdbeb9488baedf75fcec616ed9d5009deb4eba95cc680f", + "0xd01542aefe234567f106a4f057173b4f6eb5733e0ab9537af2db309edf38763c", + "0xee0174f3f9218a3418b8dd2bcd4132821eb91b31391b7c2c6e5a84d067d21497", + "0xbe26c679aafdea135aa493bab8ee348b255f50bc69592bbe017dd96b0da58b1c", + "0x297e6634c06193ed4725942cec32ccc9b4e77b5d02fce2ec9fbf580e3dfce248", + "0x820d98bcfbc008480ea32b162d15701357f094b1d7c99a1ff92fc0afd9708a06", + "0x82bce2be0a2d468b2fe0d3ba4ec1e5e8eac2d83f8b2e402b3043119a59cafd51", + "0x63ff3569d9a5661b6773a1a5fc10a522ea12a22399cd337ffef75a0d36735ab1", + "0x8431746d8239126bedde7d5c58aaf7f733dd1542c942d415d876ebf8a062f032", + "0x6bfdf119b93ef4da6f48265f4c526f0837a10c8db9c518d0dfe1edf40ae5fcdc", + "0x55aaba1f40c9089c65623f67eef8cdb827282a39cd0778f26e2f73106d3eee3e", + "0x0022a0b29d8188251bf5c6f37c76368dc9c7ed9e00376901162d1fff111273b6", + "0xf4bda8d3cb5b7ad50dfcf2668253e44b98e87d563ce17720dd1eb1a4e1c32628", + "0x994315a889329452a3e08ef029e7d902308022b74aa5a4eb2178929425c90a84", + "0x86a962d1d436f43f6fcad5b61b615f2bd32f10fe8c62428854ce98f4289707b6", + "0x3ce476498f26fd1d0b276ea639d438d7efd3c10451949efee1c91f279ef15ed9", + "0x199b2fef89c1edbe547e8c0b666b7b138d6f94fcfb2f09f26edc429ac163b127", + "0xdf3fd62e7dd0133ffa23a0da13d720373b57e85c28ee97890c355c44323ad592", + "0x92e0cc3bc262330ed8a1f42ad40a2db6c4e75e2d39e24a6ed5eac0855c12dd05", + "0x5b46f058c21b9447f8faaf78b2549f7f1459fa5ddb4211150bc26dd718f8361d", + "0x316b4f0e5b50cea376307236de36f3a1ebad3c59ae28dcf7838339d8711047e6", + "0x2b72ece0cbeaf94140b99cd9312eb891a1264a4d31fd839017e22cd4cdef058a", + "0x0c86b9b2da38f00150d49ac53ccb43a88a44181c90b492e886c54b0d6a93de22", + "0xba5a671174dfd7f877bffd7fb3179b1f3f8444ab14eaa9a0488207141bda26e8", + "0xecf73cee14b1a8fa5c2de5d78c058bd04772666ff455ca4225ac419606041f2c", + "0x1947b6adf9abeeeb55a66cad4afd016f6522faa641c4e14af94cf6e610959ad0", + "0x5467aaeb96dbe111a0d36fa66a71f489fb33ab8d95692695c09f4680086daff2", + "0xa21fd9195eaf856bd048bdb258507351e9a2c168920fd0c550a2340b5176ba26", + "0x9b0cf5690d3c3764f5c102fe1d5139202a1f982bd5afc8967eddaa6bcfb3af42", + "0x32bb410896733f9f6080a5b574b07c0af3e5ecaf69e995751e392c3905c11d20", + "0x5e98b3dbf58bf5adc0ccc9269aa10f9921afd44283837e7cb419ac4fb89f6164", + "0x051cd6e01ef3ebac9f27e1d473b0abc00d870a78cf894cfa8222d00976948b39", + "0x500edc8298fb83a103f5bf779d1df507644e054ef27ae61ccf31d883d85c2a0c", + "0x80c8fd7e50aaa14da3af3ec622adcf89eea9760ddbd5232a49ba55837be5805a", + "0xbb828dd031299bfd428c22110ff5d9f5612447e346e98401ab4a01278834e476", + "0xe2c5f408029af25cb9c130fc8fb5118660d08da399dbec0fa1709d1c0583de57", + "0x1be80d06b4ec5ef612e16bd8d842484039ca5663234174441f0722ca521958ee", + "0x21d755042a542493e44e92b4355af2f06f161c0e2583aaf6862730be7e9976b2", + "0x49b993b77606eb939ae485e82243e530e392af6d68be4ece5ace66a675a7a70e", + "0x954823b80bea8f2007503ebda5a6ae4610f94cc2c9a6ca22088a52468a960524", + "0x2693662c6c0961a92566deaa4a59204a0c436aadc0581b799e6255fe97d26331", + "0x4e80abe082c0b8ae0602c232ab0f766aefa702e744ff142cb9e101a6050acfbd", + "0x9c47c762c73836210a6bd78e5ddf9f2e817951d52b9fea0c823596c3df2a1fc0", + "0xe86094c8da0212cb0cd96f54c9f1b22c11feadc5599f6aa63285971651f11278", + "0x3031451f37f3e0288d61580e5b20e008a2ef5975e5d12345056949dca2c1d421", + "0xbdf90347d794ab3b41da6fb75b5d8d1f426ca2c4923216393e055dcbc89f3cba", + "0x4f7a0c9ebaa4833e7fd0ae0f3ac8dbecf3d97d0036a41ef30230e634142247e0", + "0xd1cdfbbf34bfcabe4a0eb90fb4d8592738203d245d68b753d418c4bfab8ae4e4", + "0xaa56db3fe5b2edc2ed277656deb51e15f86182de49836b4dfe2636de5488a86f", + "0xf67b05c233797d61eaff641e5bd35ee830bc1a8440e06f85e034902bd1023ede", + "0x49bb9be0064ff46c4b7820e7dd08002f3914fbf9250c96873bb3dcc7bddbe3de", + "0x594efbc23c0a371e3e5478c599466ff3a8d985444583b70f275afda13cc05c9b", + "0xd1dc59771492ee0881398f87a7c90db42874d720812c1e105b1512531d9fb1f3", + "0x7462bfbf8457d1df1288cbaf339861dc91c02d772f3c1ff8c215965e555d6905", + "0xee62a752465879dd62d08d7a15a54af1e813a1bbf2035384289bd634e2e99524", + "0xc7c66334011807d017e0df794df5f2f36c4cf496ce0a3589465662f8aa5433c7", + "0x839af48e65e3e1fd3d177d90f1dafcbb0209b107bf882cfe2fd514be625c1396", + "0xfb4eeb8514ede5bc952beee0e7e78c6d7ae544e6c4d935a6c92375b224e40c3d", + "0x38576e990356b7c44eb1dd531fe28420d01d80130e0ef0a42b9a8b01d2687822", + "0x434bb4312789b8cd93c5f930f4305760f86c54ab225b35bec70954aaf2fb4c2d", + "0x19ae08dadbf2f7da90ce777913d59e74592cacf6f385600f7d50cbbf7c4137a9", + "0xfc9a8ba8d7eff3a582725f8fd1539c4f77a87ecf23505de8a321ec6d568cab5f", + "0x20fb269b1a7908ccae92532424cc94604ca9a0908bd7c5e446a687cb3be9e0d1", + "0x9fe0a0e3511056762698573eee8ee2b0b87a8b6daad2141a9ad00c5b159521f4", + "0x3630751af37fd3ae22e78198868341e86735b03432879fb159628937c6bc28da", + "0x427789cffa2250d89b99d50969d8dd9917b5f4c721ed9de79cf81dc59f94d81f", + "0x5ad7e16bd42e35671230458f8f97c18baa5a1f81b675df259c9d2d7cbb09fb77", + "0x3d58c8ee704a934f6de776ef8373c653140e089b85aedd53219dc0b46ff03b58", + "0xa5a0719b16d8771b34e050660ba965b0ebfaa06bad1973033cbe2fd69fac5886", + "0xcd66e1ce23416fb4662d2b29dd72d9f8f981c66098820058451441213f2947aa", + "0xc7eb6f1df45136c9adeacb03eada4557326aa0a22f9ac0d73df25e21beb6bc0e", + "0x890eb4c610c7036e1494514e1f7ff72f414c51143fbf13cf2cd03d8d37a03662", + "0xa54328a1d2ffd9aa3f38a9e6a0539ad2517c4f6129f01768891acc0a2b2a721f", + "0x147644decd98b450b284d05d7332629e3c6444846f7c71dbcc892d3191f2efdb", + "0x1a19c1a8fc7f9d838cbd736243e66b1f637f49b1d8734c2af417227a11623b30", + "0xa8c14722a6f7e7efe695be4e6a21f2d1c8b8d71e2cf69e7645ecc5cdc7b6355a", + "0x8eb33cc1490499aba376f581b68766c4fd40e7d6027f223eb46e27199acc8d67", + "0x1b6a906a5321b057f453624693d4ae6abe79a5b8fcd63a777dffb8b2ea4184ab", + "0x7185ec1f19e7a84c9f914dd223b382ff56464b01a1b88dabda415a01e1d0a1c8", + "0xa172df0cb06617eeb95d362bb36d5e5ac52cbdb2e5f3c2cf3d9b78ef28fad82b", + "0xa11941ce1c866d077fdc995acf3ff2ee0ea0481eddd142f9b343c8403ed606a2", + "0x1958ac9a77c5b9825c401b204001dea8ee2520983fb3e738a467980a7bf9defb", + "0x6b24d043eab24359787ed7e93543967c9f9b7ccf99894c1ee7768f6235cb0cfe", + "0x6ab8c28ddda71b937d1a6feaa67b071f78ff7ead3a192ae63dac34ff24b8d929", + "0xf101e3da7546249b5b6d4dbe960c713cf152627a7482fc3377aa31f430c54530", + "0x22628e903ea9eb3eda9c93ac92d77b1b8a5ee62706dc5ddbcd079c57d5b721eb", + "0x0050467a543fbf0a232c8ce9f66eaec6c38c3c31b8ce3d590d1b07586374c1ed", + "0x4235a1330a45838b2d2aa9873dfbd59cfc0f0cd16e13ca9292f8342eec255fa3", + "0x2049ff9cebd379b51308220449b3568c6d7843f5b49f61b85808287f3d60441c", + "0x50c2ef0e832df29297dc524fcf3af4cd0988fbfea71987f3ac5cba8d4ec34102", + "0xe7260880b2d822d18c9ac2224d09fa18f5c324fb421470aad5af6c2605b40985", + "0xdf51e1b441b9809b26cd7cbdc4df27eb9c7fbb3bf764971684aab6c63e282a75", + "0x597b5c48840a25294feb135e0318ba6d6ca09aac476b1041748738963136a0a4", + "0xc710bd4b45a991f7f1387c25db70a1964ca4fbab32b738424d35a6e06e2483b3", + "0xd67460a50ec79c90a97e25d4cebdeafed6c897593fe8b24afe47a71c818a55b5", + "0x0ac1f2282e4491fdc8d28f1697026b7fa88f46204610cbaf8811d38dc84539f2", + "0xc3352ebc532273e4224dc0e94ec4cbb83afc2b5c364d71534344793032441006", + "0x42f3d39c81e118a7d515d82b6880104909a7915aeaca8ad64fe74d9fe88a7f45", + "0xac6fa42771e9cd6ba31dcff2455d2234c53c282251ca2399c727fd5521eeff0a", + "0x83ae44822213f59d34543a6d4fcf76b4e22cbe5a90674755072613550d348551", + "0x99cdb65200f9d1c602c5c2ded67a8cf2722cd7c1ae3f11d29a2c1b702923df93", + "0x2adda7cfa12bf5ecbc74ed4f4ea419ad7cd3e7cd03a0e2b32e924aa2ab98ec42", + "0x3da7434a58c60b7fc7fee8e30b3073ff4d3c381288fe6ba791f68d74d24ed19a", + "0x9dbe78f9121e6c0d99fa6d441f6aedf54be14fb39a277cbb5f19fd0b846305c3", + "0x2ded5acc49e2e1fcb57a66a81f59405febb50edb6b41d0fa8e445477028f422c", + "0xa46310f11937ce81ebe8d4c60de1a5c8787a1aac35ff3b6e2f0cc793112b7df2", + "0xfa693856fd1867458c335c6e903e5745a950ddf8a43cd9ee76ce8d0b3070bcbd", + "0xb374a194d9edb55d2946d40a16ac4617e4d0674630c6a970f58db17f21d22c12", + "0x651032646288a0b6fb5322626bbbc5b6b87dc5a5d59f5f39073f2f9574646c41", + "0x7f4346336c95c7fcfc1f849cfa63afd46dde8e346ae0801aaaffa9069f989e99", + "0x8bedf8e9f5095b4275635525fea6169c5afedff2ae434e42c5cde973de77ae3f", + "0xf92ac4f6fdd7801f15c8e0ee163241542d1359372d2189d8cd2a33f925933cd5", + "0x806d437ddf966fc6631a8f81a54eb82080fb2ade64a2b715872d8f648d23b57d", + "0x2151451d68f912b58bb510002407943ef6f2cc87a992e6df0765a4c239e63779", + "0x6a02bab7734d8549be10373e6395c368492b8518df793821962a940d5cf93654", + "0x4de627f1d096c86c1c1dcde2a314ba65700b1ac47b9db95e9ae68f8d28f52b16", + "0xeae202c747b699171115bb56652ed534d9ca6de0e8c3d947d63c6d60b5d658de", + "0x7bddba4a7c160445653f62d27c1622323c784461d52aba5a6f19964194a063c5", + "0xddfcf0c5ff899f19c4ed0604e7b4cc645ce5bdb7b7c7d6bcecfe7f2cfa3bdc0b", + "0x7d27d279f52b83afc9a115c71910d06a054fdc2e20625cd05fe35ecb03734f5b", + "0x415f6bcb216ad524eebd7bf177bce80cc3d5fb3e920ed65a8ba6c02f59fa88ba", + "0x570daa81ed1b593529a07396784c2996d5703f4124f941e99e8f9cf6b608b1f5", + "0xb9da28526fe8300989e16c83c4bfe418c74878be1bf3af12ff3b9a098a4c92b0", + "0x691938f83dd63e39be2fb03422682ee8dae8e0a95bf4d09b4727f8162b2da11a", + "0xde168c58358db826c9c953895b7a0419066e65eec0b7fa479c328719cf70df6b", + "0x65a7b2207932e96c427a6c01efd0c3f01a37e02e7dd98b18ea559c2a6c83c8d2", + "0xfe54ee65b1b8e21292fde2eed9ddda163036cd6745254bc7cb9f3dea737832fd", + "0x543d64c2a6b763cabbdc1a9316f37115fd572d96b5c75184c155e68532fdc8a2", + "0x31b41a4f481a786bcf4029b19e84729c699a8d742fef50040221ddf6785d7335", + "0xa383494d908727fc6198035c24afb3f352a16b29b0c1639062e7169618bcb38e", + "0x3da745966ebad677a703f5db94777fdc307f6e3e66a7c3c5ca24f35cff3f43bd", + "0x32fbcb24d42beb2128d95055706b767f7df7ce16c1613e3195342db84dc9955e", + "0x1723ae6147425f5b01b68de9847d79b918ca0f85a800d981029dcb5e3c62eb8d", + "0x997f18b9977469cbeeddaa1bb31472be3806c03ae77973c857e32d6fe2c4d740", + "0x6c27575f33b1d85fdf9643c9ddd27085f4241518cbd5b776e0d2bce19b152ef0", + "0xacb86fb3209fbf57c42eb86d2617eb631e0ba36da7de5b2c7ed63f168a7b112b", + "0xae02559f4868fbe4f114eb320ff0f3a38086f364a2ee537e6051cedfcee76d6a", + "0xc96e439aaa996d4ea4c276d1592fcc06e829d5f3cebf163aeb75f590896a2648", + "0x87debf5b6912717ec3c0846fcfb5b459a15254660cd5064180c0c514b4b15f59", + "0x37587d340df2b40b3f14746b72c5a72c5f51963d208b02c9671d6c623079b584", + "0xdff2805c029c4e3c249de3aa9f5cb3b48daae4f4496deefc91ebe3251c18629d", + "0xa84f66a457869dfc95d625d40496250ff33894be23a43e53ec892481f1eb4fa5", + "0xf8fb34bf78ad6d52be6fbb5472f13322b506f594ad3b585c04f56ed8d0d9afa1", + "0x546937b89a4d3b59817377b9c2ffe9579d4650cce71aa26bf2c76c571ec495b3", + "0x5ac921894e98005d03aa42e8fbde7ad0af0401e350c8ba98c01543a93b37dda9", + "0x3cc76dc057c73f0e0fdff28d484a092747ca42bc10989c599d0f597ead6024d9", + "0x1992cd7e94e9ecfaaebbd08d91519d6b67857db87e2e67c546371738ae0d2d0a", + "0x3604be694574c05c63d69cbfbbddbafe3cb425d75a13e69d61b50fd8d9c947a7", + "0xd1c82e40206d2a89e3a1a40c4a1b63c62ea6fa0847ddc2b25f63cb9bbb4a55b5", + "0x66ba114d5bf45d50e9ab9beaa879ce18d02a8b4f989c29ea7e9ae604593e860a", + "0x94f74c09ce5fd1c8fcb9cbbcc476af20fcfd9cf01c7ea65c14917da7b9560ffb", + "0xa4e154ebf83215c3843ecbff1dc8f646f221505c21d2a76f47d55466d895f1a9", + "0x28c20a0e95e23a023678443d7bf5b2421975b827dbd617239dcf26bf6db9b255", + "0x55d8ddf586d61e137482e3f4bfc1904ce4e04d21c6e7ac4d8c7d29b1483c8c0a", + "0xa9e1aed191a7a1a92bc99604e3b24c02356ea378b16de109362aefa2fa978451", + "0xd543ad635db78b2518681654f98a32d227fa6a1fa9b7043ad12cf58c91e8f729", + "0x102fb87da8b57948fcb763d7b797233f21523545f78388d8d05c6d7f2a4b388d", + "0x4e7273e2a92e897590988f38f8b899879aa1aea754fd5165364e8b98a66e0d62", + "0x5a06544527f88d9fbbc5905742863d873367d99e574d75496c59caa041e2b612", + "0x6a8957954db14594746daa61f907e4694e2a749ff53ea6b1dbe77d7d1f378d22", + "0x0debcd48486aa0d33a783caec0d6fb1256ffcca39071041fed7f047eecde8640", + "0x9d0a9b13dab1888bf0eedda217c501d76f587ee9a8765bb455cebcca0b705599", + "0x30693bf8c9bcb6bb4187606f98e138700e999d8824cada72d3d07f8c104fd263", + "0x494ef870dff64d1d65b4ae4b49ff13c145a6058876eb657751d58c06f62b5032", + "0xee4150e64f9ead8124d50d56fa4b6e6d185fe8ac385bd2a9db7ee991f6e34c02", + "0xb859d7db7abe48cbb9420d008d94e8d47753cc78962e5dabdded9438bed56b1b", + "0xf8b1fb734c345111704d73fe6944d0a274964a347d7dc5c7cb8677104829f5ce", + "0x5dc002623d9b3b872900b0b313ae8520009de730577b6eb2e2de18ae5cd4ac94", + "0x4d63e346ce7e654db6f067e8348c539ccf622d84020812724b936c19ff4f86af", + "0x2ed43f4e5d6889f5379e42d4a06de7c343080da74ff353960e4cf980f750fb90", + "0xfc61d0c90ecb073c022c87098045b6ca3f2b66c94f3723c679d81ac652b16f72", + "0x7e69914b56984b8c7cc9db1732c3d2d32969a58d6662509846e6faeb1305586c", + "0x0ec9b1b68efc96fc7d831ac7316e0ac0d908bac31be330d905f87b136556c241", + "0x32fdf6c25f6c741dfe468289cd7f019ec3a40c5d8fe882ef662b798491c0dc34", + "0x1ffbc6b29826aa58595d1a412fb90050f2bc3cf0ebc5462f308d4c8d85a1eb59", + "0xf0fc93cc2868cb9828ce16463e4cbd59637672d5815dff03aec7f3e1424eb204", + "0xe404321694894ab375f5a65c339f2cd2a53fb5a10f312082ce019681f6ed64e5", + "0x81ab1f93747c4804a85f56b0c6eb61491b958504ef7b898fb1362eda9b394e1e", + "0x1535d439d0043d1436de963e3eba47335bd7afcabeac4d3fc3f342396d3538be", + "0x42da1b95481bfab6cfec59884bb1ac7572636c8f489df2768fe2140cd2702766", + "0xbc3fd861f6e09efac1782d9d383c4ddb9b4268216fbdf3c25689162628e36cec", + "0xcc74c3d8b44a8cd23676babb4efb0e67871582cd5686fde9de6a052c5bf91ad2", + "0xbcd7fe80e95bbbb5ac93b1df5ff0b8e921e7ebc4960877acc1a95c478c65d64c", + "0x045e5918fa69606b9546f5fe83cd9212000828c54f9cab856f85d3a22536a751", + "0xc0f74dbb5a42bf1656698c37aeb904a33e969099f215a7efeeae0024c3a409d4", + "0x36d537998634f2dcab43b387edb63119c0f4cc68b1979a2ceb373089c531ecf9", + "0x87c20426fccdd225bd3b961c7adc1de3f9ac9640f6d26bd183f6e528089922fa", + "0x195ee1daad5c3d0052d6d633eda1c9f7160d488d4bc54f4ac3babdbb678eeec9", + "0xf9a5e6735f9c5577283e8cd717b56f69dc8306b23781755f2e513d15e6738cea", + "0x3e5bc3e78ae33367ce7450c5da7436f1faf3b1a62d238208df207307762688be", + "0x123e7b4f7e6b9338df2827a238a266376a20a1fd065e9f8a4446fcac4c6c92fa", + "0xf4eb14bfd197d49c42daa919322f18228d2d9ae2dac6dd7113c5e7d12d2ef866", + "0x78836678c20a40fbe09849fe190a9e74ee070f2056d7bef85d0f124676a93130", + "0x7986f7321971519933aa5dd507074c7b007328a7dadb8734eb4aecf732703fed", + "0x14485d24b7e90fc39d91ad6051b7f596d320b1f88f54fee132e032753e59a766", + "0xa80a9a5db758bfacf831a54022c85a838e30c8611ab4b17bda0641994302b59f", + "0xedf1814fb78abf675f3c5671c3618e5e51105647997d6dea6a0cfd1f0330bf6d", + "0xa91e9fcdc4f2b5e029abdc6b2523079bb4a2f5346d8a5a674e3d5582b8871d1e", + "0x3dbe468159a8c068285c92360cab488a4c1ec37487dd54cdc0b70e6d7cf074dd", + "0x69877439effb3388639ef6e1cfa132bc605bd8a0da053bcca23d82aa453d0040", + "0x6751d32ee3a1244532e6698ce57cdd0a59f99130e1e7e004c2751bc49d10b355", + "0xd1760a4f6e5a7967985125d2deae8bc783e47b1b85e19fc273e33eb2ef88d271", + "0xfa934c087923cc16f636615657477c48c082623d7cdd35508571655dc14efe57", + "0xb6b1e4387e04c4ddf88ada0aaa162345cd43e54482fddb4297e1eb6f8ba1ce74", + "0x3988089edd46b57c0bc83b1bfeb0050b503cbefdca83e96f1c12e7ea80688a79", + "0xedcb1bd8b522ba5155965cf18c25a090be2f8d7871ce60f0f371cd033d5a31d2", + "0x2f887b56b317e9896698ec9059d36aad63d54d95a01d389aa196ae12e562ca2e", + "0xe6d6b89e1d851fd24cf54f6b60c6c93a8b014ae30906c156374d73605aab3028", + "0x177928968fef8c6da017b177f6be85851616775be043b64f72925e6b8a4eeab2", + "0x71a3de323d9a600e15c25a5a6e05089d849defc3830fd69738f548fa4c57aff2", + "0x8e7d92f316f96b491e4831f52a799846810dd032bd720dc891195739192f3955", + "0x12a3433e8cadc005ac35da334d557c8cdad63576613f07df8c3ec9f528e846d9", + "0x1406da1f5efe9d3de6a829f1219f731f3ac875c7795f72b5a9ad25a57970b9d8", + "0x15a849a0ea56a777e00325b4af4d9996747486cc9893c08b0773210306193521", + "0x6178e69be88e7e93878b731d062b29a34bf2951082b947f35f60fba2c8de62b7", + "0xc4142d4fe01091e82626178b66c13243c9b35de0f07a49e3c5f2ddc15b39feb6", + "0x8abda6239557236af27a2cdfbb4fb91a6b136931c53067739578ed13e1b0a2ff", + "0xf85615d9337092e25080430cfa0b7a24c97effd422a1947a4c07239d5221418c", + "0xf9534d7db3b5fc1bcd7033ade59fd66bbb94a5bae91c4acebbb1540fc8bd3b67", + "0x5ed0f8035d3920d6e94b881cafac324ce5688f8c97668715733e0d00733b0fe7", + "0xeb6c474a0adfd84c79b86090c793697c0bb39d6cb007c725c2ae7afdc98df5a6", + "0xfbfce3e019b0b29ad03fd9146fa368f9965050b40733ce297bce6acefc4668fe", + "0xeda9ed65fbb1c7fcccc91de519f69933ae66c8ed59fb65f64751ca8aa06030c8", + "0x359ea9df33d466b5dc210ef0e99f3b4416ce03a5439f49b4cc4c1b98b22a21b8", + "0x14b2e8729b70abac62120541229182264b78c7ba1a1a379ac8a582aa0bb0d739", + "0xcec0dbdb55f92191974c2c8ed716578c5ba04c4584a0770fc0d7d5cfbdcb2717", + "0x07334b05a08cab079354cc1f7a945caa3c633de89a89c18244de81ed56da850b", + "0xc58e0bb71287fe92564d00b5094ce36b7899c346679011e52b73eae45bace19a", + "0x9dbef45ce9abb762bb9b30b61456a90b74b0b6f5b41af9500699542d933f9535", + "0x3cf848f770e15e7f682075c77f7e980da6750d3d4cb038479983e341eea3c354", + "0x608a4c5958ef3b0a324a7cdeebcc3abae89c1371c949d6b269b2d3936d9fbdb2", + "0x66422fbb9044305317d900702c2f99702317a8a83ccae0911a2832f623356c8f", + "0xe977f86ae4c5b350b350a3d6af7fffdc9baa96d9a7cb24834e5dc4797fe39fa8", + "0x6f56fc66544e099797cc3b0879dd20b21796ace01a0029e0d8464a3764d1e858", + "0xcaef7878c703facf29fde1467dcd08b03761872f598f42f5c56b4cb367b97255", + "0x9055cc0c11cbbe8477c7dd35b37a57e7994248c6bde9ac05e85717cebd2b970d", + "0xd7b08c0ca8abb9f07e3df1c4ebdcb03b0ac2018a905d1c78e6825d2bb5ea1ffc", + "0x0184cb109267e58d5bc0193a04548f0c2b87286ab6b03a1ff7b6d88a725662ef", + "0x3005e0af1ac0c5fd6d58328c06cc7f5d89c8c4ad173106fee1a7e37c9f2dcb95", + "0x8f7f8800d29c66b4fb12334b622fabe1cc4ef06e4ded44e4315efc381987cd56", + "0xdf74e3be6d22159e0e02ce3b8f0b405e6469557ecbd12e4432d52f4ae4637bfe", + "0x2fa9a889f958ddc41bae5916657f946273447add502464674658bcc257f1af15", + "0xbfbdf04ab62a35b2f7b038b02d8c37ee946cfee18e10ef8a4cd5409a5fe81d19", + "0xc4e834510182950161a75a843352b5b46e246a05b7c7e47240b6cdf7e18b4de7", + "0x2534be362fcc238c530f2ce8f64a3366d4003a21e6f32493a082b7efa1d413d3", + "0x628e5f76af96e64ff34c52cc5d07562e72c53e7bd4b7585cbc83b7c9951d0d2f", + "0x41687c81b22f67e4ab6ba0163da6d58c81d94c5db20569b4a42fb58b7321a442", + "0x50f55f58cd9768b611fce3ff13e8da9195b1eef5d0a618fd27f7052f88c8fd84", + "0x1b64cdcbfc12c42e9dbc7a62a1f8eeb0baaab8ccc867f7a7308c88e4968eb9a9", + "0x77e9fd9a5d64b66cb901c5795b9f66424638b24e457024b5e71ffbb79ed8a863", + "0x35644de61c2108bf9d49efef164414cd2594ad4cca6bc421699458c9bace5491", + "0x172ded87912492ee521f79c1ef22e42b1d22f17c3286575a5d419fc00d928199", + "0x3c8fdc337338b107ff5879b3e95cf285b5128ae395c4b89ccfd05a3d942887d3", + "0xf4b22643ebb6d46cf292531792543f9699a99674978045b0c911818211be6017", + "0x783fdc538e4505d4187a0f341b066007caff8030c3bcc4bf49ebd31a8f6b4794", + "0x38e11f176844f680e75b65d5225533639eb522f39495b9ee426135097e5e8fab", + "0xc5e0da94d4dd6e29c8bf3684177a62051e7555ee87007fb07581c885be598edd", + "0x317dc456dd095f9eef53781c214806beb31351cf78cb1854be257b4039324b8c", + "0x5bbf954741e453e3157dada0a69bafb9ebc63c3dbfc0cf6e3fc937a1b14b7356", + "0x56a5354de5acff2b904c5b6b976c473277ac2364571c54583bd682e76bb3f43d", + "0xc37f17385f4e6015cdc8083fc750499ec8c9063544102eb0e3e3b7e0b5046946", + "0xd616c205adf0ecf00c7563fda837e94a4f48be8560ddd15d93988cfd3242b40f", + "0x1ecefd5cb0c61b120c227274dd60b42e6d25229517b20dc3e37a7c3b436f0e92", + "0xcd447982c518db12b8aeba63b68d8caf1eda6bcc44400c9d83c4e4d64b4e949a", + "0x3763ef2d96a89a302260ea66e22e3255001ba2f003770c03905d4f39d8ef6501", + "0x2fcc41e9b574af5402cdce8dc66d79488cbd5cf960209918863ac9526bcb6a70", + "0x17b71848876a6e0a8857f1e5d04762734678ed1a8addb7e378915a7c3f37c981", + "0xcac9e4641f50d52d77e0e77b1a1b5fdd25cae239864367b3d99026d3fb973610", + "0x55eabf50cf101f65e51dd3a54321c1897a67c50512c534ee9398a716a790ffba", + "0x49101d5719e4de5e4e88645de3c22cb3ab794df815555d4f22d54ac6a59f73f5", + "0x509cd8530c28cc098b0aa80d3006a8f71ac7ad56101b880288658917173b8c8d", + "0xdc0e15e6d321519f34d40c6b2cf5f6955c15af815dbe02d84606ed76a01fdbb8", + "0x0b8e107e7abcf80e85b3288786dd79f949449225315c9125730d7d42f0ab9cb6", + "0x07ba997ea28711f221ba26d724a09a52b2737b8aa8532e890490ad811ffa792c", + "0x713775500194ec8691fb540d63e99a70cd443e5539b5f8e2a993266bb58266ef", + "0x3b2ccbf35ac833e845f00329c1f8d130a3f804c55aa83c35421adb83749213bc", + "0xee82c15eb18a075b00de8fd610621683dcad88a19c1c507351b5be0de0c6c4bb", + "0xf874298782be23045971092d8305c469a309a1a33f6cfde7604e6499d2384cdc", + "0x1a9d88cd641f6468fceb32eced3710569d511848f393c2114ae33d7f36c12f3d", + "0x5b2b8c2ba5d3aa8a0503d14e759154d1f2f46d819b363025a77d4cf5e3d83586", + "0x0082bad01acd43bc2c504f66ae28056ce352257b7ba7e2c27dd36d256c079561", + "0x9c6e4e01a831348ce64da4e4bf04cad5f58749573e54f1062b0e2921bacafe74", + "0x600e1b0101161721066952d71401f8fe6e689b66b26e2e74cc924f5e914e8eec", + "0x8720d215255e4d5e2a688096506d5b25c3a79c511d8c0b3dd7ad3ccf542e9abb", + "0x48baaec9724cadc4f7cb8f10549b8daf87b2572151cdf9308b3e96f02b048f23", + "0x2adf0f56fb9bcdbae394025ae949e694e01599887e50c355c90c3ee5ff32eac2", + "0xcf78410476d781bae1567f3d763af732d2ecf56e741cffd1bd3906af83de1f2f", + "0x4e7e223f6881065ee722d6ff9603f1786e4e99292e9caaa75b7b1fe9aef00109", + "0xfdf0b390b0395f007b1b342065096e0a8da957b26ed4cdcaba432a202ec12b65", + "0xcd40d2df140abc1228b2e1f45b5d65a0f3e2ab8b7e740dfb5376b036f63c1c2c", + "0xa491347f128d31f68cd1ae536d8f982fbfa5b58d855a95219f104db741d3d2ad", + "0xaa91fef9cecb842de4df61fd1650267420c8336758fa450f87ee867ff1520905", + "0x75d1574bf7b23319a7c8ff6a0a7cae649313aca8893ccd223f1f77fd71c9b8e1", + "0xc72491916b25756e3f505081b7f63e32f3289b86cbe0181ac9d33d29f666b9e4", + "0xd446465131b34f091673736f70fa0508ee7065c4011359c302a603b6159cb52d", + "0x1380689a50696e1cf0c19869b9773528f01cdf20b8f8a6c6a7165fda31ea49af", + "0x01cac6d9deb56473681c02dc753351feda402a1a1cc2b4cc8beeb23884f40760", + "0x3f622e134dc529c5cfbf58a3ce91d57850578f45b77c4683b2dfe4530ba0826c", + "0x016c95fc875baa0a5d1ae22c8772eaf574a6c918510875f1000d65f3a779dd04", + "0x86e5f579f42ea54a96e622f4a6becdc5ae85e0d0af87997fae87b6707abc8d28", + "0x53d403f0d0f1f30d919ad7212cc5e2e73cb4870c4fb4e6d260d2573e9bc5575e", + "0x961cad0d17fbec30a8f614ff3565d12698af096e61836cbf1f0ea125ae3ed72d", + "0xc9dcfe7844bb4ea845125bc3674f326c0f178c5cba4349b9461e40bd6ec68c3d", + "0x894243ff80e90c4c4676583b4e428f13e077008d225790a234ae215dc53d33a4", + "0xe5fddd80d3cdbafb53e0cf3c095d33904ac8db83bdeef9816111d20384aed444", + "0x5c7ce294d82fe6502045664f7d13d02063ef24f0f4960e4fb62bb6abf08c63eb", + "0xb33a5699ac121a51c0074b4783545a86a428fb239b4307f1e45108c85af88617", + "0x37168f3f0220f50ba3cad0a558cd8b01a7a435b6c3c5cde98b420ba3b54a1cbb", + "0xd50928e60d00c23adfc916e7f9a5363fc8c94c8edb3aef41ac1dc719041f92be", + "0xa08b27f437ade4d527d883194f79927053ac55a3293487a65060aeaf4c4e5147", + "0x326e2d1f45438741b63d346f0da55066dfe0284382f1b4ee54b1d5552c4f7d83", + "0xbd96baee5835d9d6007b0b5957e452d71d1ee31aa6fde99796cce59b17dab703", + "0x1cbe90df49f8929ce1052049bde7d6169efe0b289ad4e05414a8e7bd61788900", + "0xa0b914df37895be6f5341f3f4013ce5c61f108203dbac4ff205d5f1a581712cc", + "0x1582e61974c0bb5f9f2622d70e772f3e9ce145be97eaf5a87ad794268cf352ab", + "0xe946dda774c96c7878a0daa686e4a22e0d9d36a88dd9c93b1776432adbfd68a1", + "0xf88a07db8c0fd2a1354c38617c16b4d2e4f8bb43d9049321ce47a8c03c8430d9", + "0x2adb489b34c480267927daf3ba3ca7567d542edb83fa82e8040ec57e25e3e6d7", + "0xf1c28c6daa3e97466d50d9780bd3335f3dd096c3389b906bcc12426ae4862a99", + "0x4457a8686a3839b7d3b592a1751c25b216bc64e9d0b8a81eec55601ab8d8a98d", + "0x0ea5d5606c5e81f92d31b49b2e54ce6c6314b13ac223c83094280d0196e003b1", + "0x33a91da49deed50914d998615077c5192be56e482ab230bdb3d480d283502e2b", + "0x5385496abf2e351c0cbd7f6fcb5bf5b5345783b4e512bdfa23b9736e77ea43f7", + "0x98f808b18e5778a1bbdefa3f19991a3d008c27e9976db0ce77ddf9e4e21a0feb", + "0x5381dab139fbb0ad6b61afa35c541aba559e2ac25c4ab1cf8a756c2f27c6bba8", + "0xf4bea5f3ab0bc9ba3ad00ad79402d1d62da125d311884f225ad8abe9fc36d56c", + "0x6018a9f7edb5ee7ada70c3e85f22ac88924d06031cff3f61104ef52bf0baa2f1", + "0x01cc4300f1cd2bb4948329d42e17a277c7da52696d46a60442b6f5600d869faf", + "0x330240c95bec1ac1a476cd202aa74e85db562750f860a9fbd76e813f16cbb639", + "0x0809c487d45161c3b85cda014603ba7efd6b67a8c7aaf314cf20c880ec623a7f", + "0x653f53065726f9a7c1b96ce7d836acca515f563a47c9d7d47aa8c5c030a9fe6f", + "0x37b8dd7b2a844e519f9eadab305efa5d112266cbbc76bcd5afc119e0dd337ae5", + "0x385b7031eafc345ed353d9b35dc53010496db172cd906f8e0b7b891b84a65e4b", + "0x38259038fbf1ab3f0ffac98e6b312457f6b2631f68ae477b9302fe740cfb8e50", + "0x5a963aaeadd708291b41bd419cf2ce0585e162e0d46635902b58ee85e317adc3", + "0x881004f4fabe3e7642c8cb5e99dc3909da28451ec442a299f331790c8065e049", + "0x3c721f828959782052312d30d8256c9351a141923a9c2e2ca5b605f3a92cb27a", + "0x3429b149f860e963ed3819ddf19164977d637489eae313331c71165c7eb8f824", + "0x44e291345b79ff4116797899da20baf28fb9d4d2a5d6b1661a0c83b8952e481c", + "0x00078c007b6c0b3b6603b0838b03ee9e8944fe16f99f0a35eda286a288594806", + "0xbcd3506338253f0df5abf0c2866cdd319fe75bad7ac6f18d1f8201164e0b9986", + "0xc047f5f06cc54e4bb54c8e3bf22245d68c18b4787a01d324deb2139d7405814a", + "0x77ec49a04762af36eb63e2bb5c5cbbf15b580020117639ed5546749e34285195", + "0xfce516ae95eaee4067e95a5752494974ebdd182fa47deab70fadc5afb5ea8648", + "0x2ee54548e56d2cecc3e6cff4e60a7664e55d9b1c1c9a61be74bfff7635078cb3", + "0xa79dce8f10567e060638cb2f09ead0b191e59d972c532a7e91b33d27151cc23e", + "0x436b4cf10f5cdbde72be02ca16602190a56c77f1686533e643c885351d4657e1", + "0x9070c78384138f5e17cc9e6148c7cb7591eb9864f042b82ad38ee263383496c6", + "0x12a8d5285c871a0b05e370a337834458ae2159b5d8cb4bc93b6cc83bf7351b68", + "0x3c07d35ea209492f4aa811c51202f081a3bfd6e31705ffec497d70bd59b7a6f2", + "0xc0a99b851e0fc4655cb3cb43547f4ae6c36c350aa71626b61ed3ad3492f04600", + "0x064404380c5969d8e43d759ef990658d7cf5bcb7b4f8512fe58a7e994e199707", + "0x3d3a61c95ffdd3c7f05b3574370bf4cf0eec605ca27cde051b5d77e062315f36", + "0x9259e0113f1e009fad7454eebb238e0c7f4b7aee8118b63b6c05aaa2f0bc39df", + "0x76ff9818e62b25fbd698ea021e200ac9314090b801e000ecddb71bf4829aec8a", + "0xdf0031d6e1c55717102ca1b3a0bd389cc0d227f0f804396d4b84b5dd26abb1ea", + "0xd0220e77632c2353d51b92b1638e909c1f41a7ab0e6801b65e344ab594f48881", + "0xb15fccf30f298101d5ca0034cb8585cf14ddd76d58f3a8ca71a60aff0d0438f8", + "0x5dcb3817ae05b8c8490e197cfdd3f0b701e61d83b8f6423b3f24f27ba0f4c668", + "0xf3bbdc6651a4ba011443f6c6542b3f45b8aa2ba8bc719e7220578d6362cc441d", + "0x1edc95bab3c88a66246393058ad1a9557b371e726adaf261a5faa535cb8fab76", + "0xe02975b5ecb9fb8abecab35298704ecc476d2e6205c2df900312359d5aebdf9d", + "0x2a5c9b033738fe9e7ba6949df526b5a735753464b746e7d1faa29491a8e5f57b", + "0x46ac373df276af8af25aa1407659a8e85ae12b51ea6ae0150ee2b80a76ea6d9a", + "0xe85513a38b54114f4b6cda2bc81a4dcedbec22749cab6676c061d95c7f38258d", + "0xacfba9967af17aa94f0bf73c3b1cfff113e14625742a7398a25a01aa29bf02e3", + "0xd589df920ebfb3c3c1660a16f74213dd6d487ee577bdaf18f6279eefb9252c57", + "0xb2b66c26bd139976ffc2471f8ec71e353108828bad5094a324d1e4762f5547e5", + "0xeac126eb94bb1ba443373fb2556753d95804891d4763a2cdd1d297f1eba0fe6b", + "0xfcb52c727793003a70941fb01bf6c184890a691b70c0aac3b11feb3987de8628", + "0x1c1b6aeaea826ed0cc776a322454663ef555adb0d3c6f50480957ac4ab7f0672", + "0x187affcea64fb6195ee27cdca1096142898be0fb8f216f10913a744f2005f7ab", + "0xb4e42e3a4c94477a6d5d7f3de429edee7d92cff93b647c71d7a20c1e07a35117", + "0xf960751197118967fcea65f10b51d9568c184a8bc968c609d093a0f6c15a71b5", + "0x0bb9ca3521abf8fe971d371749e5c2258b1fd4c681ded047d6dc7820d303fa9b", + "0x52354e8e99ecb5c2dcc1214c08901d715ba62a7463d56c76a6bd1287a74f5c38", + "0x8768dc0cb22a0ea9fde00170783fe3741501d958c186e2c636d03fdf8a995129", + "0xb4204eddcc9c75372de503645bddaffd3f71e8554c3bca09ec700d928a9664aa", + "0x97c94c63bd30754d51abf48aa830bac3724cf77e366965e9f61a100cd0136714", + "0x60dff72f08506ac9ddabe3f957f88a1ef4935f187b6c536643500d65512fd393", + "0xa94f4c353581e474a091655c78c491c38315e93e287f848c17843d807aae3527", + "0x09d90469c97087fd45cf1a2c5471c6e81e0ec1e7850dd76b0d0cfa9fd49aa13b", + "0x298d03c60b8dfca9ecac182b5c0f6818a4c3d84e55314c083f8913a8746fe335", + "0xbfa7ba8daa97bc681bc6ce413494b85ccfbc10e2bc96e148713e0325e21b3b60", + "0xe61dde9cf0c1c6fb0a37993df24dec2f221f97bdd34f607de13fb1f947e7f284", + "0x91e9a9e65d5076819146b246647b9698954bcf55e7f059db32854f93b325d35a", + "0x7bb2fb25b881772f318a10b6ce8896712c93cc85ce9c7c371337020e86817a3f", + "0xbfdda2258ccd28dfc81f83ad7cba81967120257392279c7412f0bb116605a21e", + "0x0a626f29328872380ebf6a10468307abda5a02c3a7b9e04763c0c8c83f903df7", + "0xaa8ee86e9446a125356a96f8ed47c3821da54b003558f68c823c4ac1ab966c81", + "0xe26f3cbd95e0a26683c26adfb71b6d4fc82b034171f29836cb9bf391cf172376", + "0x7cb80eb383da7d8c1120fbe79cf3bff3e5bf19b9f57aebe11f79ee23dd82e611", + "0xc9b85149830b7a2dcc1f613f40ae232bf5cce7770780bfa7c77ecd25ae0bca6e", + "0x859dc28f93d2f3b17e176aa8248d6720be498fc85017491c68d6af5f4798b437", + "0xdcc4dc79cf88601caf6e038bea275a98208d221ac8d3efdd5db3d2181c14c947", + "0xe1bd63a920d45b05efe5d2fb99437a26bb7049ea5b183e99866d6dae947ff724", + "0x4aa94bfe1501f4d37b0c55d77add7bee9bc7f24d444a3ed1c6cf27d67026bb62", + "0x10931498b823a9784c4aa3ece5e88b477050927fe4016e4b10de7e2e0eadbdb9", + "0x7f30cca2119b5a4107cddca59a88f10ad95cfaa879d97bd1e50ae6a347e71b1d", + "0xcd8a0dd7a4fa9b97641d5288375105273c9025a2c9f3d7d9d04179fe3f55143b", + "0x6c8ec850db640544b7e5b22c19253dd1595899a7663d40c4fe13de4258cd60ca", + "0x06ec895b6dd7f299edab3e2e3a65322fb7f8fa8c9a6182b7af4f0fa25acdc45f", + "0x45f6d74f05f7b366770428b49630e836c2fbcc72133ef03a1bcf9953209e693f", + "0x3d868a3921aede543f2bd8ccbe3b51468e7a87f8278e4601c4a8e740e8c339cb", + "0xc808c8fa7b02023e5c64999a141edf6e0ce0239e37656e0fa7c5156443f555c0", + "0x82c273cc2afd955663515932357f19d657eaaed2824551814706ae3843fa1739", + "0x5785f16929a6a73b4621e75d31958e2e9b00dcbf3a6b38bf3ed59672918b68b7", + "0xc8f84b888e55070682103999cfc315ea3d157d0771f0f035cf2ba03f6fe1b1f1", + "0x343a05e1a5e75e09528f194394caf6ca8caf94904d54d89c9d22abd5cae0d83e", + "0xddca7f95c2d9cfdc9efd9158d29045ba92a71d45488c40d28b257425c1c56bfa", + "0x008a2b681c4691d7e0de476180c969aa511467f27755d0d498eb22c9b5333835", + "0xe33fb40ffd6253b5701d24c59a4e217197f9eb7caf7c2223722734f4c74fca4b", + "0x650e8f1c6c4dbc76ace7d6c29b9a659d520af9b291b389bfe3812c1ccbd07c58", + "0xf88c36b8042df77734f99395eb68aa9f4b67a21891c42350e4d5e3e6d8fdf168", + "0x882c68aaa8d1f6acf005ce2ad3a6fef7ec1212ce610dfb8a7bea9417d87431fb", + "0xda73d75513895d5bd5174814da25cddac9a633507960e78ae6884b92e48ee699", + "0xf07d98594c0ecb16cfed18adb9f7b5b1055630b43444c70e6357cd18ebc09392", + "0xd70c5886426c55dda997d615d325b5cb5b652f5673601a045a113d94a17715c1", + "0x3e8dbda1f53c55fa4de65efc7d294a02d78c69a98d59049dcfcdfff6b7eaa521", + "0x67b14249f9c987298fb00e0bf560a976dcaa7fc0d02e816f84c3bf7a4e7c6901", + "0x4f8affa83492afa72e95a36f23356b46e58a0a19ecfff6960d4d6e5b9877b1d9", + "0x09cd2a17655988d2d8cd5fbe44965a6c15c3f123b75e1229621b9ab74d030e53", + "0x30693dcabd19e89bdefff4753cbc64d00c65a4af98f782e6e67b4e84f6b015a9", + "0xf67db822aaef8bdf7967c0dbe25015ff6cf88ce21e8bdd25feb764828ee64951", + "0x9a587510721ee914cf8b9c863859629ca0c8ed22b0aa023e9efb0756d3f9ee5a", + "0x5d00c0a840b96a19679736a7ba555f3e9bc5263b4b8437d6c3779191eda0a7c4", + "0x3e01cf22757510938a5aeb2ec6cf5046b7d3c186bafad7d57b81c7d2a99415db", + "0x0ff2d3ed3c5acfa5db9f9820a1a314865e266a823ab42f40bef6b0276af0a108", + "0xd3207e322207667c614e50be784f6b4d9c3f48362dbb65b17c62f5f33e631ce8", + "0x2c3330fc9f6394c0b8eaea0d156f2b9e2d2da0ddc8837e0a28d373aa779df9d8", + "0x56c8542686730adabbae6717ed8cc8f0b974037842ea5d1c80901f7c85eef3fa", + "0xc51d8a382df91e9f1fb0dd72d416a7d094aa3b8ca4f90561e82fdbb9b78c28c4", + "0x6507fec75b170f930df2e28dc75ef3dd7313834c8a8a2ec837d4ac27fdc906d6", + "0xea23428fd27ff3e5c6681b0640264ff22964c49ab0aa41f592280ae25d380c83", + "0x8e2a629fee2ba03e333bcf7fa0261dadff518dfb0e386b21cac0cdb2c7c514cb", + "0x4b00742b5349bc9892f2d36abe2c723a30c4a20ea5b899a7fee8fd759f066fbf", + "0x5b8d880357c44a79c0d04b5d347dc7c012f2f5cd7679c4d4131e5c481b45f1af", + "0x65d2859128eac961e29c063fd918c7a2b485bf72743cabb0fae8bb288f155dfc", + "0x3db9720d20d90d7d1ea448488d02015f4b1c36f556d704749723ae1c3a35aab5", + "0xd9676bad19db9f6896b2170e6cba496f5714ff9a70252fa1d4c82029435871a7", + "0xa36e49e6be40418bef884caac3b30e63fdaa1b8f622c70ede69e6d7c9c6f4539", + "0xefb40f7d197a63927f761d99596439b7b69cb7a39214258b372450fd471ebd88", + "0x7420e77f7230c7458f728f7ae5f63f0bb9182fd11ccb9a82bfcad17a8d1b4f76", + "0x7ce9551cd4cc5009d28a6048701049a5decbcf7e11904c588107da90f57149ed", + "0xafdbfc0bd5252cec1654dd24c375bf9f4af647cadad403923d6aa525fa44aa85", + "0xef0a4ef158ab6b06863969c24dc7ce5fabbd36181e9eb6d1662ce227b38f8e61", + "0x4e6d1c00feeb4218a0590fe046705fa35929767430f2c33b2176afb45f26a71a", + "0x604a1bef767235afcb7f84a20ef59d39618593def34034c67cdabec8f9436ea1", + "0x5c91553855f3a32f708dfd76c83a7d7f23aa80e5a6d2a7e9d83e82a333c9e267", + "0x48e35d198e8194ef83496392e05e3e14cc9c7ea1f324fb259c08a0f8385b422b", + "0x9df1a27224c2a20b229cc8686d95efb1570e822402c9df4db0b47f190c33dbee", + "0x020eb0cf345413cf0324f7561031eef27f188de5dc41bf38471547aec4e716ed", + "0xe9f7708c2cc8ee4785ed54a0c153730103fd92c42bb71eb4f86a93111ae11018", + "0xe7b3a27e3f5ff6fcf2925db134ee5db522a008db4d54627b729d5502f3968d08", + "0xc9c4b33c131365224675a89e4e6833181ae50661b114da50b14b0669d6ab7155", + "0x8986fba93ce8e336542d3a640d156029ea1cd99c2cc4e946de6d46e040e52bed", + "0x53b6ba779e5b91b5abe44eacd354f6f9b5b2343e66d60bcf5083ddd1a5147d21", + "0x854e090d7d5cacd3e52fed513055b51ae884965bf1146a629825269506f97371", + "0xcaae36c05b0992f80bfcc8f1c5d3a771feb88aa67f2c87b770637fa24000d84e", + "0x6992bffeb071ba81b30b8a6b19e9335f8eaa2da4361844bfd57f08488dab5975", + "0xdb63608d8eefa64871fa9fba1da1776a67d0c0495502c8eb4005eea4a0089563", + "0x57071fc1829365707d66abfb8e388478cf61a14f34af2c864b7299f6bfc2322c", + "0xe077cb6b750e158f666ea79aebd5e19e25b9d3694ac7a44efee1fe58f2bff202", + "0xc8180f9a9292284d2ba09dc40f89595ae6b554e6eb0c96aff578725076881102", + "0x89eb01b1cfe4089ded962a36ddfce84eb0c4337780446cdd88738e7241257c30", + "0xd1bfe1dbb1c9b6a06a1c18472ed66a82ca5c7ea1fdb5dcb9af1347e6ed97697b", + "0x33695a8c53e9e16e1a2255055eb069d9fc59436ce0ed698aa7323cd7e078cd96", + "0xa1c746d3df0eb28100b84c6c91da402c5c0d6a8aaee66bc05095820764cbdefb", + "0x3dd355f33c841eab61323ebfbe4a608b3dc9779a291651b885383ff70b8418dc", + "0x206c8095f502a995777d4756949d8fa7deeac36a106721d6bd1c536994fc8adb", + "0x95a9ffc34a966a157c5e797e3a1d0029bbb86999f1716cbdcca9bdcc5e77a5d5", + "0xb2c4e8a21c25d7cdaeed3a42b8670602580bc99ae5e85d4e36771e5cc2b7e0ff", + "0xc34e130d5fa9ae3df02c54a5eecf210d8420db5342af4041d77b8ade44d2c67d", + "0x5d733448fdde29b3f3749e70addbf4fcde659aeea24f90dab23997a696db5daf", + "0x8d63fe21beb60523466595253d20fe518dda259cb44fab5945943550b4e960ad", + "0x98e584f6dc76ddf7ab116d2e9244d0a0ecd99d180b1916957054f8440623f727", + "0xeb66965a23c4413fc5adbf4925ec5d133d2579c1f7764d6199eb4f7a5548aacc", + "0xc95df33729fa401a40bb0ca23731b61d5225f3ac6d159f243e1585440e16d529", + "0x2052d0e9ec0a62dcc0d0c892e7e704ed0ce03ef8a8e9c898a3691a571abc5c30", + "0x1f8567628ffc96390df8b7b32ce8ca70f6d8bf57b2ea0bd9e724c521ecd4747e", + "0xf2b48a4fef4c6c6127f7194ac76c57167cbbd65b9cff702daae1ae21dbc2896b", + "0x38dcef1bcf7600494424ae0b24956deaf664b92f3dd60b7a941ea144d789dd99", + "0x267d1afa22f77c5fb78434d822ee1c3fd24740d6a30f3ee4fdac95949ba8c044", + "0x0c01005442f62fd12a49115bfee0faf89d2da7572dca5b0e8eee445a0de8ddf7", + "0xa8d05f61408ed491620865b2cef9548d88182f37784e190b46c36bb09dd2d7e3", + "0x655eba047145af7d76cedf34e144040619d2d416367b57c7b7d9362a9375889a", + "0x5233ac6cb0ff6a892fa475b0074f4b6abd8e244f2a665e6649232e528bfa17f7", + "0xea8b2976e790ed22d708bca311a5b26c113e8c0ea4cae30607d94eb232ccb0f9", + "0x159dafbf20b2e624d22018f214cbbfbbd83de406e9bbaaf53ba46041fc3968c9", + "0x4d34b229e010a2ef72dec76c1449cce6f61d9cb17701803560af6b2072850ef9", + "0x32e7064197d2f739695788a00113452e03306a4f73f80ca62fc5e3ec223aa176", + "0xd1604bdf1cf9253b7b0ae8c92d09a2edec43221394c258d29707ba850004615d", + "0x07e0048d3913db33c6a9b45a1b232a2088341441d398b09319b455f57c18628f", + "0xf6492cd50378901ae238c91685319405d9779a1b78f22bf36129fd31fe709cbb", + "0xecaad91132667d0b1a283da22cdac651a4036224bd0efc79bb747d0c5e64b1d7", + "0x20565b022a8a8429a79a56aadbe2e32db24748238fab33eb2b0be5d83d1343bc", + "0x25e6d936a7b526d45ce1430744f5f4b41cf694d2cc50753cc88330e3e2a0bff2", + "0x7130e4b84c6efae0653dad6e16ec677bee7060a8da8ac607bde7a2b01b7511f0", + "0x93a8bf0a86793725e09b480d9098a43fc30a8420c5c2c2bd01ba8afa837c2371", + "0x2690922d4bf86c9a35e982b10f723edae97bb2a842f362036337396c7d9f9d16", + "0xd26efd262c6605d3be1ccdb03b96318613cf2d5b80350eea826758b9fd8bc28c", + "0xd3b2c89961d6cce736a9994f8707f78068a9806044cc2c96004d659f82753690", + "0x0fecacd3eb8c415a8db644b4dfc0ebf04a27f9b5e53bdac80fb927f40da4a8e5", + "0xd5600a3afd0eaedc221893214d629260cea97d7d5335e361d43183b4dc678360", + "0x340558e8951e1af701e95a963221109154f12c5870e9c9b9c4d7f9975d18ff89", + "0xb2ec154d6a59610822ee2318e3f279e249067893f806b129f4f0497b42aecff8", + "0xcf13e6343d50af1b2ff792e5a694531077e67858d76b39262ad19d6194e62df1", + "0x39db02f0b3f062645478457da8145fec8fbbc8a0981be9183365fbdc11a622a9", + "0xade17860c7f456c0b8014490f3cd15cb5f080e7112b789028f1e86ef428c06ca", + "0x1ab544445bb5d499c541c4fa02c5f850b9d18988e94ac6992525e2ad372d4936", + "0x2c3b4b33a865fce54d1ba1909924b0c6cf9a14a8cc4e3a42e1b4eeaaf86fc50d", + "0x857bb3e657f86c864407a7caf0c6b71e42427302adb85c853f330d00433ba077", + "0x79e42bfeb2cd1191783b7b2bea5e0e2693d9d15ce8d230e03dfbeac2c90451f2", + "0x5ec96430d6d1c1e9395a214e1a685e92c3780a78ca94a173d0e38fa6bca96461", + "0x544858c87e845b1f80043fb44f54a2449d31a0018025f1b41309a745415b1e7b", + "0xa26f04bcd6a580b99e9b81ed739ece117ad357facf1ecea246f891ce740029d8", + "0x857eb2767e67873c3f1ee4659c778feebb69b248950068a828d65750002cec36", + "0x7d6ad830b628a38b1753a33e5df98269d351b42d5bd60329e4c205ee5f30584e", + "0x6cbbf7d83f87bba0d4b4997bf336ac52934866cdd77e7dead51de84bfb717fa2", + "0xea77b839435e70cac6a89e891b8d1c495b39d8d6db38c352e10931e70502ec20", + "0x4d6a29a4487600b0e05ebfca7418dd6b43746ce96a41d4f17e25cd6aa1a2b733", + "0x3e8223ea6ca4ff147b59b025237a2a477495e746e7a551045374b27798ece58a", + "0xbf880aea05a3e440f31777f109995f2a1967272eebd9ff0fac241bee8747a8da", + "0x028cbf04056dc0f407496cfa901a4491c659173083ad73f84d457f016e0431f6", + "0x68548e63888fe0f203a333f5a5c950b36aa35e083a0161304a2b80aa626358b9", + "0x385546df2f083f4781a8b9d5b645516f5a77883eb7dc8d5e399f4f563e8956f6", + "0x358a0c7c14057fef517c38de9e2af33ab44f68c5c99157f9429db596e822c842", + "0x5f89b867c11d5258618595e2afd3f783e8db81dad073d8871a33d179f537cfb8", + "0xfd7328d25120390f5982919333df927ba3c63331321678906256c1ac02af9a45", + "0x406a9797947503dc57776a5c2ed6cad71ed975c05e15ef191b310088049c11d4", + "0x6e719945fb48d4db24d57a92e4d6da5cebc1a3db4a64792dad68b06f92c69c87", + "0xe2e7b80879a7ffc1e4e3f901ac99d252c1625b6824000ffd468b2d09d2cffa25", + "0x179979b54792b23d1f1940550d7c961a1373f6dda048817d087ed6d731af73eb", + "0x10b1ca5637aee0b063bf3a2fe5cc1729929b9932cecad392d7da6d567ca82d65", + "0x89edc6ecf4b7f292dc26c29515ffc3367850e5a8dcd95979244f5c57f81003d7", + "0x2cbdbde44b43c5dc078433925dd423ea51886e880b04e90b156957dd6a057d1f", + "0x6953ef4d3aa2abeac14fa44a0be4979bde0e579cc591370b08774f4e65f95d05", + "0x0735cc7c85194d5abf6ca0dec712db94b6b009c9ed74ff6781b7940064cd4626", + "0xc3f9b62bea678c0683ed688b77767b3fe3e4fc86456bbaa8c0172240321242a5", + "0x3640c7a7a1c2b62492098e0b5b9f4c482add16a86c0f88f8a60eafbf28347ccc", + "0x73820554bf239c8e1b92304f3df8290d18aaf765b45c8820f618d05eeb80fd66", + "0x8b948d61bbdf95e634d5c3827c66266e3ee42b49dc0a29100efe0f7028d100d8", + "0x8c422f252ce4e7c981b93c24db0984962019394f50ef5b62cd34e32ba7602026", + "0xd250921e7c17e016360e0b79d61d6c19ca40ca2d84c9a7c8d9da04ae4676c29f", + "0x4e71a2075113014494b5cf8504d48cefcacf14ca6be5d99f945ddafed4b58079", + "0x40d0dd35a9c91dbb1de1df4202a50df1745b2a5e80b256c3542bc0cdd5a2c524", + "0xf77e21f9edcadcf7753c1daa00720e024f56250766ac6c31a89e8afde10c9056", + "0xc70a38751d11c4240f2e94698c0a13a62d0b3cd825527c1dcc5e653186034f07", + "0x0f4f7881dcee934f71ab555428e89e26112ef6e99935761f3d4f314bb5504a20", + "0x82febe35f996dc229d6f6e89ab4c15f5659860505d64d454f625c95284a307b1", + "0xc557d10c1d19c90ccb9a504d31b0d91bedfe9a82388824fe901e8325a9996dd6", + "0xa241dbe076d02feb2b67d606b8592c970d193b84309196191b19087dd74b5eb1", + "0x4f687e1fdd09e68deac949de2738583e0dc2bf245790b5185e2f4e00f5e8da67", + "0x076b44af8dbdd16f859d9604f91e8809f929024eeaa6eb457c30db2657c03430", + "0x1bf2736aed60997b49084afc7a3d2b429d8b8836183c9ba71fd61afbcd1b5f0f", + "0x18ef59174edf670a07ed5eeae04eaaa08345d384d33cba45abf2a08af2415a5b", + "0x30f123870658c6cb69ad9314e6260a5ece2d5eeb4964601d4243aa1b56f4e021", + "0x36ac3e3193b6fa52a7134b9e4c7db6ce746619bd7f4d07201362062a3f98be0d", + "0x6a9250440bff309071b1493b2db2b4134c725ae364fc8a8add7e108f7434de4e", + "0x557876702f5bc2bbe17f13c76d0cdecfa68b0fe281f084b2f343d130405bb80e", + "0x5bb14f5bb4abe8e79909035a11109385ea2fa77c4208946841b61f1dc8a5366d", + "0xe7602f83ef13f3755b1f99c740fc46211f7ade9088a1942b8ecbd5a33482c093", + "0x30b8ee6c04d787ab137e7bd6cad1073e4e77a74db657798cc74c79676de337f3", + "0x01067e41f6b5fe5a26009378b7ea4b0515aac9449eef2730de5efc22554ed10d", + "0x73dc8e186c096c752f8dc2a69805e1b24eb5edc7553be26d36698b25829ebfb6", + "0x23eb0c950ea1467134caced1d86eb89d4addda6f8ebdbcb85d9127a5ce0427eb", + "0xbd0f1080cc7c2adc0874fc6d89207221155bf414e1cfa3f9360fdc98c820627c", + "0x0bdad5419ef94ee6aa76e4971981e54f7d6560f3faa3531f5fede35cb2e211bd", + "0x8a339a58e2ffda5cc2ef1e18a078fa09c3aec4b2a8cf9b6094ff620fb88860dd", + "0xc9a633a65b909af3133befda06a57b3058d625d816ac978f01894fdd7b3295e0", + "0x6dea631bfde98ab2b7db165e29ea75316ea50137d15a30a9a3b444d50d419e10", + "0x0a74031d338957b9564500f28f0e45aa571f48e4c85cdc52d6ac8d472fb66661", + "0x5f9e646f342e665b2fe387bdcabbb381a71e54f766afe9a5ca6c2cf999b50e4c", + "0xa8691691561a9e3236c0a26593f1c49b42f03c94ac3124b16b4aaf07fffb14f5", + "0xe806b7ac21b2e7d80f0e4583dec620b2b3399f4c1adc82a246bc77c847024310", + "0xd588437c72ddaff5ad3a154915700ade8da4023421008956b1b3d1bf164705e4", + "0x2f12257a5c3c0097b274697e648df08c31a3f8cf0833e45e45fe76091c7e22da", + "0x88eb766b8fc471e455e50a183b728e6e7fd3b5a152440bad5d1c7f49e173dafb", + "0xeee35cb04632e48f5b4c94aae1a40c372eacf5ca773c9dfc2fb3378803a6fd2c", + "0xcf9d9bbdb883ac7d171f808738dc5ad4e632d91f45737be4de2f9a2605141f81", + "0x94ace01f0f2f127e2cb47dc05a491df26fff49f68cd4f382c12e7f332032bc09", + "0x8f261b4ff772d1c675fe16f0764ae644d198231daf66a600d56526c1288144bb", + "0x95062df2fc6e23916b7ec403eb5dfdfd8f0aff49ca15e0b743e5a3294552d619", + "0x9626d392247cabfdf89c0254dee12f5d82118b5449059b78b4fdf7ed62ffd688", + "0xc7b341b1a1464207bc1996364debec53e55a3212a2e18211a994d2c8e864e234", + "0xa5d247c7e7511015cf63aee2909dc9ea7bf56b9c2e15f1603b229dc7ed11a6b3", + "0x551f57a199b684836b3b5d6e6cea2c7cd58f830e870d1689936ceb93c652ad8b", + "0x0f0a17a40f9cafa38559a7b8a1b3848514f4b5dad4c4565f8915d04163f1b51a", + "0xd4ffba1b3fbb46554137cb0114feb898c9a1a689c0fcb4dbdea49a313c593aef", + "0xe72848f46d7f041226ed0cb38549fad946e14ca379fbba4cd52a3bc3d6b94c55", + "0xe34036fa757a07055a5ba89f39f90066237152468c6c3fd8e60484000dee38d7", + "0x0984ba7640b44fefc22e2b53463b91b6686b909d038a29039a6e5f84e25e1257", + "0x2fd4072edee29b9b611c38972835d3cc985befaeea149311fad80dd0a8bab088", + "0xc64954228a4067748447b768bdb34d5a434cfdfe01acf86a11d8a278ee7d7433", + "0x7b10e8fb7d81fe90362c7d3af0c153460ed3df92c1c50b6f9a993fc81e0f29a0", + "0x0c33f7aefb88bb9f6cb9061adcb5fc535b2a3841a6ad94b8a4adce1954bc6f25", + "0x21460cc4c2bd2d828027b9c04b047c06b1eaa83f47640639463cbcf603e4b7d9", + "0x9ea560bd5c0c6a0fa9cf2e0e14ddde39cca6c24b11e02b635bfd4ba7ec826e0f", + "0x47c9dc525e0e1f71e159ac75943a32d541596c9b479639e0e8f00a171a29057e", + "0x6f32319d8d958c89295e38c41c2a6106d9f6bd86ea19ee6cd3df34931a2701a6", + "0xf90b80919f035eaa3cd56d1c54f9c69e60ab2445a4995c7969a4826a28220398", + "0xb9ba6d207d1d7866e6205d540abc36bc3198b072aa5d52378a1148f6a61210c5", + "0x2f494b0db620ec08b2961a12d79585de2f6939bbe679a8ae1a580535437bb0e0", + "0x65ecc619942b4fc71b4477dc5929244161cffe2933c84ef8e2d5eb443394e0dd", + "0x12f573e148bbef501d4325a52b737580d413c8f999cc86cd0e497d9201a006e9", + "0x709c2a2f2276d712070a10d20baeb7d1acc602e6cd0d27438950707175f68faf", + "0x472db00ea142b38a076569205123d2ae53f42c1ff86d38100742039440fef89f", + "0x536a68e966effeda6883266a1f6f00b42dbd874d83956a3312ac30e430607bbf", + "0xfda5031fc6bef618ec55de146ed9834dac41afcb0d0521b34e141cbc0617d14f", + "0xae912c6ae86e69a59c61a3fb95c9a60b37c17c3ce2b6e9ae4930dea5fb5454a9", + "0x426c6889a4d6f3896c5209b662d9caa421adfa1f1770f33262807a3c89983364", + "0x6e72f8cb2b6cd35fb0c090f8be71b1ba790cf2163d0cc18dc0bf62fcb0658fdc", + "0x7259d06d38028ec544eeab2e264f2d4ff975f245c3697ea8e141ebd59733a2db", + "0x37729ab26688e0399334fa3cd2748818425b3fc41304fca56881658dee0b90c6", + "0xcbb02add11c0edd8105b440cd44a041b6f55a94712ed12ffeffd1817ae8a8044", + "0x156e069b3b63fb302693018293bcc0ab60b2ee2cc8aab43e1cca3774e0b743b4", + "0xb3a7a06a4f2c1034ef5a2fa5fde7554f239b0193093c74db11ebb5d9b1a18f03", + "0x323b6d191477aac18e4761baf8ff9ce70b1274a995aad02fd582f87285f8a0fe", + "0x7e4d202c5dc858e3a3c45a5f43b0804a4ff5ed53bce625ced7eb65db74e908fb", + "0x75446e5cc0142cf4b0f26f560995f257f87023312697b3574fe0e1f558bcda05", + "0xf53cfce4dcf415ea49360d84188b33a1b6e3c686c6e59f1a7385f68f3e160a7e", + "0x43ee5e27e64e778f31d641050b5c975fdd9788f2d5821bc8e3c188a91a86ba9d", + "0x6a3a73772d1ed7ebeb82eff2419e05583049939493e4ff396fbbce7e2012ef05", + "0xf976ee31f6b27e1e0f359e1f96b5900f34c49c89e81bc753456599d2e5f4a097", + "0x00ec8886d567bd489582441964bda82f3e297801ab0c5d3e58a3df29f9004a4d", + "0x9bd7ecb0d91d576640cdd3022ff0bfa64838f057e55cf35ca945d47f98d8d107", + "0x1868b1c9dcce55407f81879269ef1296c5eeff32ef4f7770bcddca4bf972df14", + "0x24856220dafd06f20fd0914d4468713654f6d9a8a8472a3cba537c6db45c1981", + "0xa05130241c7260630ce231a427081969d4428d33dcaeec08287e7aa80541384f", + "0x4812c23621b2399a68e81d9dd6fe59b0f0953b279104a69047d0df3678c8b628", + "0x4c00bb65a14a1b995a38afe285ff4594c51c8b10c137e73376da3f2660f00044", + "0x3cb2cc9dc9b1c997b8e73ee151de0cc23f5bc0d7dd27d0402b6d79e1b50ef441", + "0x25c0bda0d092dff16a5cb70ac082a0e3c17a42d74191c9c90d46deaf34c85ad5", + "0x8a75c8a0ff4aa70a0f1389f5ddeb0a1b7aca04b94af03e7c2f3986a6a9e8f8b4", + "0x9d9c63e3b449623e45de0542b1ee4d102204137a2ac36a25442f3797668058df", + "0x932b4ab5c339c9654cc1c5e343aef426dbfee3a98b7835efdba1bb583238aaec", + "0x8001e5592beaa70277723223f033b9f830a23d4dbc64fc42efbb80bfbd7e2a22", + "0x1b84fbbecdf3add7f514e0cda2b1c88b21a65d82da4264d06b332ab216179230", + "0x79cb6fe9cd675e096bc92d449093e78e59c6c4c813b550c25a76c2cdf125e582", + "0x4fad1261fa7d06941dc436c1d38188e3660b300dff7f2001a7efa7b8678bdaea", + "0xbf81d3c1b1e781a706c6acdaa23c12f5e900fc3f191d6edcd1636beb3d29a6b7", + "0x36cc017579e8daaefb5592bb0c5b2d2fb7df5afba9fbf02d0c750287c2353b78", + "0x0cf0b82b4a102f35a06f590481b72f93d570e929bc43fc188e829e01fdf0bf9c", + "0xc0b67d7c6100b042bd39d0b4747e854a0672fa2769dff0dfaea01e05621a368b", + "0xb8c49cfa2147f651bbd73f97f02b694a5cc3cf9fd79d47bf34857804206296f9", + "0xd3836371f2d0071e45176aa82ecb05b5185e06e79043f69fff184121380e1093", + "0xaf9e77ff0a9c1bdb16afd7c1d725263ad04394e4b73f013829e63da9600bb35b", + "0x43082e5b9b11362b6b5cef0c5614848ff4c8cc9dbbc7e2b179330b46e7b3652e", + "0x6cb6fd2e7bd5550dbe63b9875814764e64036a921be1e5413ab1355d771cffd1", + "0x1631a928685b0fe688899b105aefa54fe61e564a4c9d8dec99a34f5140e6655f", + "0x095addeb9c0d14bc7e18f547259a68ea3dc982e5256f4a97e3f627c3b2140be2", + "0x520f53d82a67e09c157f3480b4f504dde53d947b9e2238f814f5832f84b8eedf", + "0x433777fbf6cded05adad6e5877ce0ea3e34342af6f65042c6141b4f4201103ba", + "0x077878ad6fd501074b5c713905aa3caeda3237a1b58087e6275328d9482b0577", + "0x6037000d2014c601b14bab5bbf758098b300e68fd3d6f2a0d5e6ced1657cd6d0", + "0x481b8e11fe6ca5cdc881bb6c3d7a0d96e8cd2aca705f950ac542c089d7ca0cc8", + "0x2b070c54b2af6cea0e0ee76d37a92ab3f4e9e04f3b581f41ef2bd5d2631b8b87", + "0x01ead0aee81e4611b5ff7cd64037ec0039a05bf0d02b18b92da6acbf45d4e6b1", + "0xfdcd33327deab31927db501945c15a82f278f34a09112b2d7f74219e9a364555", + "0x0fbf377a65289b1decfc2fef4614b1e5b3404e0a0c9c7d0d147cd86bed55f23d", + "0x8cef4b3d09f838d4acb5e21f777fbd906358a2759d24b055756e9d154b177ab5", + "0xcced9e5d45e86423eddcdcae5fb2080622279ff6f08a0ee47012b33af58f820f", + "0xb1e6b5dceef79d8ebd0b84a8990f724fd645be2434a0a8339e78fe61c2ad3186", + "0x24a11c3547f5fd5e5eabda12369f90b8f5c8ddb82568631b6e704c2ab5c94ec4", + "0xd6cc197005e41f553308ebed885a4df650a2022d0d40d25f37bfc74a94e5b04f", + "0xcac28ad9ef5e3f9b0d2184fb3427dad0838122a44538bb1e0ad15baf08ed7312", + "0x8070860a9337d8e6e016e0ba5953968bf410100bcfe5e567d7562e74b95b5d0d", + "0x8ab5cf8538537e591e95fb1dcb9522067ab5ac783bfd622e6c9bb131d3288ea0", + "0x345a12de03af922ae9e6651cdd4c4249f75bc2aef1f1651692dee6d27a490813", + "0xe9cbfb97fea7afed66cb3551d9b5f6ba697a4476a5dcb3ecf25bf9a41e54bd85", + "0x4028a3855c3b656c1de109e250412d9596cb6fc4aed22b8bfca6d2a60b1454c3", + "0x85591c0037f549f6d807c91b929fb0290c1b53f23e9305bbf4feed86d5483cf7", + "0xe3178cd8d8b7d9c71d9614744a937add2ae6c21f6eddf508fdec243c6408b647", + "0xcf40b5e2f93922022aaba8558b17b193c50f6440359826dc78b58e9b9e34074f", + "0xaa30846598de0f132d8c18084859e6c67189f9489a2b8019936a151e7d0812d5", + "0xb908ee8113c1e60abe60fcd0d7fedfef07ff0efa562673d0ab86f6399812a8cb", + "0x8f9d9102f709fc1b4308b677e515173a1db857b4989b1de2961b801aa8b39db2", + "0xd74e36d71447b437a4a4405dda388a9779347fe41152b7c5515e02edb567b5ae", + "0x5aca44d35187500d73b544e71ea8a12100cf011c219fd8b83e44b4792204edd8", + "0x7196cd91ee48f598c11527924c83431dec39ed7cd67a225b64a9d04ad23211b0", + "0x52584327a0b33be95ebc7040c0dd9b60d2bd0d42d1247b8d2ee06b0d6aae9f58", + "0xe2517f4a4218e9741b501cd6fdbc7e2080cc8827bea231d829d1717d24ce4e3c", + "0xc94771be6c7b5e858823a03e620670cc604cdba8092da13e429c76c2077eb2af", + "0x3f7f556817b418fccb808f7ede824ff17b119e7fb02ec1a4239a71835af5ac5b", + "0xd611cd2fcdea70eafce698fe405f361ca95b67d5631a9930d858f4a7cca46358", + "0x5f2aa6ad1fed0ce4db64bff6de7bfa68e060d357ddf20414fe5f10b4211bcf7c", + "0xe8b5d5fae7903602ab3699ff27f159367e2fbd8fbdb4f45e7b1628b563081940", + "0x31cef735663de763db98bbb0846d5a1127adf45ce41837aa77dd5e4008718711", + "0x58f0b43df5b6c2527dc3e22f2f76cdf7817e23d7c3b9a9732fb91e6da9a537bc", + "0xd13734d21521985e4c6c14bcdc34139efccf1f0a9ab92a72e0b9e639321dce70", + "0x99b982d744b14279defa1771bb358ab55f4f3730a8feed9e14023b39c44f2777", + "0x827078f5ddff2088e6d16039c439492140337ea661cb361fe87e0bb7fc785bc2", + "0xb1f7f5fcb807c343ebc587314a28ac008f849c24753383c3e40c9a12826c9f5c", + "0xd60f786c664eadca5ba1af303f8d8e88d781ec3611b9f781cffd5b17610c19b0", + "0xc514f1487e061262e2be76dd593300b8402df6812700c41a2611ff5aeeddfe45", + "0xac6350441c04277a76c019215cbec0fdab8f6e46087704ef0b75cad0356dfc32", + "0x724a5ff7c13fe6d21249b47f47082797b2470159b298ea281f9616d6b5c5269e", + "0x70dba710ff65ecb7c9fef28b366f5b175e12a63bd1f7530ec18da36027033497", + "0x014f4aad56ae3ececae45610e6d28475e588fd39897127d20675c1ce18479939", + "0xdeffd38ba5e4e685603ea1da27571d48830018be17755ef7c08db7f6dae63647", + "0x1e6e324967609029e28e768443d11cd5d99ca713a88c9ff47144d0b16b9cefc1", + "0xb2a2a5d5583ba070ab2b8adc6f5eca48b621b5244433a5e491784ccdac2e64c8", + "0xdbb937edd70b36b566e397fa369a5a3a0b45e606ed012277c64234eff00f2157", + "0xf043662cdf2a84618401c619fd8aea26a54519add9f72e43a520fc8129c02000", + "0x9b84dae2d1a0d7e23073c558e13e16ddf3a28daab3569c89271e0f780f134be2", + "0x93c7258e9e78238eec47497c842a643b339ef9ce4f236ac2c0541872a427a1be", + "0x8a8fea29216df1683fedc14a7a066226f9299d1be50021d3d2aa4c0585b29f47", + "0x85bde8bc039cd1820bc1b1262545bbefc07b03de47090008becd1417ad3b997c", + "0xa7758356e4555d213a19f5c343de9cbb986509aade6d8237baf1fc6e07084b9c", + "0x546bb118d2a1176ffc967f90bc342edbab4350f28294ad6aa29eec2b0c9159ef", + "0xcb50bf5a5a25b95962b6caf51b5e23fe60f6449f69b4df5d6b6d7fda2463d5bc", + "0x1730541314d8595b13f01281189321299fc3d2e9d0b9aa354099d6d83538570a", + "0x5b57218719bb9816f4341ee1938263fe92cb95e798193cc2b24fdc3836abac02", + "0xe0860d86c780d3bd7375ef6a0d75eaced9fbd90283f8ca8335205ac3d3a3dbfc", + "0xcd65eab452ceadb388b945eab3342dee7542c76bc912dd738e86bfeea1588f96", + "0xc15efc0c25c4c019937ad27026225024ee6992780b9ba02d3c70101a73b354a1", + "0x30e8665a5ac3f3eb1b9c2e67d61dc2dce761e4123ed801c1a6f207aa3828804f", + "0x6c3b5d4f836b7d349a089280c1f4488de60461c7c1a7a5fb3ddcc69c1366195a", + "0xdca4d348f2b9806cef16e320e0b21a539769746679c1a45a6145f2298db496df", + "0xe8fcbceae567fde12d871fe54233ece0d74ba8508fbfbafac0f154806a9462aa", + "0xd79328e9ca262b6a91652efb67dac1fa5e8c3282dbcda58d4b93b8874d226966", + "0xe0fd3af4b67510c68e8968a5e25e741e1ef71c9347e18b8de6139f918a62f6c4", + "0x70731ec895bdb4914a76b97ddda78a8805a39a56987aefe32556b93e2c085d97", + "0xb387f307e22829ce20c5d7906037a5bc202950197bdd75ba59999c2a09778864", + "0xde1ec63948e3c4aaa005630545cf73bf9d20722a1c35b8176cf44d80f4cb7f0f", + "0xf9156bb506ad9a12b3b2357450c443572a3e3399e97f68cc0166ea22155c9277", + "0x3d5c1ac62e043661edf67446ac9f96b1c887d07ebcffc2faeb317b5c3ab596e8", + "0x70e9f96a6d21fa71ec310b99db848e5dde82ac9410ce8c6d24af115421527223", + "0x366fa3d63bfdfd2fc10ce44522f36ca6b8f815629bd36a26c0a5fcd6f95fc5f1", + "0x34b6b13187d684972edbc097949de7ed4f7ad2658f9889e1798e955845f0de36", + "0x1ebf9da97a23393f6dc5cda5c54718f273eda8ac6d1977981a0e1570863d9833", + "0xcf8888cc905df1ee1127f59c8ea7f9243c4688daba7890908949b027f4af92e1", + "0xea4ba26d5fdff1daaa42625fd88aabf7f91cd400829268b9beee5fc09875c630", + "0x639faea36eb1a652b024df696454c856be53c3667e88c7af5299c050c1092bf2", + "0x1e67283656def3ee933332600071fde44127ea3caa9c42f992ed16e33d1122c3", + "0xa4f53ce6159cae14ebc60a69e9c446a2abdb4f4f5cded75b1c5814a84c487528", + "0xf2840725ecbeb6e7396551fe034d21e75a5d34b4cbf8b3b18dc5ffa06a3e2d85", + "0xed7396b51a1b0d93b2288a4bf60ad49d236bc14b0cfeb40dbbdb6e9682d3fcff", + "0x9de490ca8067c84f922547ab496e57b3e1fc4685b744de22f1cac7dff687b930", + "0x3c3f7c57fa9ef833accca168540766407bbdd2c418f13adac42838f205199462", + "0x14257d1a35fa99b3cdab74c8445bed9bbfd25d1604e1b9123fb5c5bf88cb3a29", + "0xac74953d33cdefa9037a415336672144c53310ff50f75d865272ead5e0460799", + "0xa94b857f4dab303c1d4a5213c7bb8b91a441ee8279e69fa92057718f3aa40a4a", + "0xe7c67bb2e440f1062f95e28f0924d0b29bd789103521cc13d13a95673cc49179", + "0xe90ea613252541d3c5237a27d4d23780b579cfda48c057b7304ac14751166031", + "0xd85a4fd06114870b3fe19cba9924405de1e14e026372e84b24b4ab39e7879545", + "0x7d65651c6e789a3b6113f589f696ac6595f279bddba74a17e955ae6ff93a1846", + "0x5e44df731c9b0905ccc33ed49669b78834d065fe3fedcbd0fbb7df95f706c51c", + "0xc90d3dc4bff702b9f17930d27b039bfcb1b7879076bd82a5650177252a526dd0", + "0xb5d0f4ea7136a5f10e47f6a802b46ba0c7dbcd4ee10b4be65ccd55fd4c940bdf", + "0x4f7647e2529b477aded041ed2f4c8e01d5219839950aca43723993c2432105de", + "0xddf89de514a09c21918af718834060348ad0bfd3b86e0953c247834634eb841b", + "0x325b15b05b3c863822647b25ddb970cf9cb52ecd32cf58e6c5e8cecb1beb9c89", + "0x3cae2ef569b1e74770ed80bc31da2addeeadd59d8605eac8edf3dad0fa9b0c37", + "0xd7409a715ae5f091fad14187121bad8263caa2f60ea0d0bd7c524065defb564b", + "0x5cefbb199b507e3b64008e5d639cac8f623e9ace1292fca190bed4b7aa214899", + "0x2c2919f07eecf553b473f98d06171449838bb03c0a468d8a7cfd8062a574df1a", + "0x5c122d8416b78e0e7328881efaa7fcf61be6851a5b7572ec5c341693fcb9c734", + "0xbb81898e64769f0a6f1c20a2472a5128e969f737d1cba5be885372453ec18d1d", + "0xbe203e6f7c0c86ba994fde55d0daae0f066814938debc3b5a44884dda70e3ac3", + "0x73c7842f2480e3d742aed1a1b7682ca1f322d4d2555cb7fa402313024c2a13f9", + "0x5b95cde26a2c2be298a03252ce36514dfd3c9e84f5c5ffb75a050bb5752b6247", + "0x9c7cfa9294869c1c42db3cab3bfb737696b8f81500742bfeeaf29145e2b5c79c", + "0x6cffe595d85a32ad1656c81c87d476e6e7f602609fac052a0a3e3a951d11eafc", + "0xe2ab30bf8127106a4507034cf6b3589ea3dd19bb10c765434fd3f3f7d75c1a4f", + "0x01d7bfcc2d4c6fccf5e0599f9985af838cdc0281c9c8cdd7006b3b0abc775cbe", + "0x004114dfe63995fd66e6932c62cd7b3f40108e5e2f6916d19dc436cf016392d5", + "0x068c036ea74e85ae8d8897589a8dc775c8516e38bd619ed584ffd51021393fbf", + "0x682f4444c85c46d28f5858a91874e0c903e97def4e2a4302ca90ab69b54b4f49", + "0x3fda79ec159c2878e9ce65c575157daaa9561f17a14a0003d95c0c4264985707", + "0xb41874256b5cd3ef80af1536a45a8016cbade06b4a06b1dc0942c27124d934b2", + "0x0eac150f30020a7651a006324da1ae240d4fe623f077c061a954122b0e17b0a9", + "0x0b174907572651a2453a14e0326e7ba836781dbd939c2d75db84d9b481391824", + "0x082beb1974f7201be32469b9df42d9c30a520f4dfa696fcd991ef20367cb6eb3", + "0xf3c3ebe6040e1ce5c5ad1f6e08965ef387adb6633581ce3fdd1858f1da4547c9", + "0x6ba341211e75ea7346853a3f63ad5502f83aeefeac98a479aae546a70141af99", + "0x3962cc5bb73ab7f48d98bf65f3f7f41a8f3c52b4d7d2f12a0a89cd876f875bcf", + "0x5b49809641f72f5c96bba6b27e0331ce7fc7dd3ef18a4463c93d1f685b7a29b9", + "0xd2b2e8eec102c4b68d94d8bacf71755386bc3008d15d6090772a4739eb763300", + "0x704bf1701cee4f631f4de0e330873b1621490faad46203fab288cbd0892da567", + "0x2f7d29943c2b3ed9f59a66ad175d298f1e4761218e3fc52b9a67b4ca7107e93e", + "0x2b370002b007d4df272104b77c1224c24eae67de3e12aa599968b190e8d58c19", + "0x1f25435148cd815f4549de1f21ec227d42f360d207aa2f7de5466c4d28afdd0f", + "0x86d745be32470f409b5d77f92f2412aee084fc523a7ff7e57b53f39b11cba2b6", + "0x86d57512687518e3db56834f819bed57ca4f2e3845ef6affb15f29d1e166c333", + "0x9ec0e54aa6361293f68c14b7ee9dd32abc52d9649522b0d62637ac25d3a978f5", + "0xc2dcddcdd616160a196f1336e9f11c7685c5eaa4d3f5ca7c35d7eb14199d21c4", + "0x03a14db3cd22bffc91ce24e510421d60431db71bd68b8b040c89f85f7664967f", + "0x3cfa17c8017ee8692c5f440e6ff825b2bbfbf18d01466234bf69ec85c3c793e4", + "0xeb12362e925a0b082268e0e006165720dfa72ec2628dcddb6cbee4a4a0ab7bcd", + "0xb8c68067329a16ccc14fa3a5bb373d8281c79a20e1a15f74dab053efb881d13b", + "0x282be7cff399ee51b3b8ba7d9ce73daf0427cb11151b9a81ee0f6efd837c6f6a", + "0x357989e62c038a11c75120f990adee58fcba6e7fd49cde265296b2ee0c7f6db4", + "0x3ca8e01da313e17c3a089b8b99ee118d10140a497aca58d62c25452f1361f0c0", + "0x9778186733b0e642156d6af17ffd8161608a2ad791cef0dc5d6f31e5ed4ccee1", + "0xc309f7651776d4510a9696c89aa82e8720ebb2c41c208e7ba8ccdf1d26dcfea6", + "0xbe30023b89befe4495b15daf4578f415e8cf25087428bb25b1af06b43b04b114", + "0xe7246483ab7e0afa2a6ebe69819744cbdbc588a5294c1c59cf04232782d89c1f", + "0x54e18aa712987567ad36173ccaf070b127277ad6e9db2bfd1831b7868f56c660", + "0xe5c6a4c0f07bcf3dab39def282e3af9f7dce84a7b2bc71c9bc3bcaf35bc6bdea", + "0x5d78d891bdbb232e7d90370b5108ee03ceb0c5abbd5bc1c49c53431a94fa2309", + "0x91f3efceb05e5c6114ce0fa2477d8e2a6d9979ab1d3cef4d964d7d804399ac50", + "0x29830ce8ede37d875e7203bfca97b104b002aa474fa9aa9fccc11b2baf665f83", + "0x93a0646400cf92d5e7490638b12408ee9fd7696f15005287d23238ee5fdba9bd", + "0x47273e8e24cd886a25e278d327bc0b07e4c3a6b27634fc17705f46a019ec042e", + "0x3469aeb8bb2312fba8a530a002d75b75bce0a4b0e7f48d3e92d595dbec818594", + "0xfa8abfdb2535d9f04933e924e967d97c248b62900ee645fc991a47d5ecde87d0", + "0xe9fc29b24fa7b2a6cff23170d96faa84aba582f68792dba4962e7fb53922c568", + "0x506d80c18b5cd845e0277be32d0553130549a976f781c315c674545b1087516e", + "0x676bec126c59b4f69ddb2ac8141d9e90b78a2aa1b5e55e6458cd479fc7f98a10", + "0x4a99d2f7be333ced3b6faa2aaf15f792e00717da5cf15ba2e9b5b7dc02bb1bc9", + "0x776f5be74f05d1200273ea3c9b1919637fc911c76d1a9c3e1e3accbb9ffe6e37", + "0x09b9f219a053c0c3c56581e32ac15fc6bfb4fe69208a5291dd4860cfee263d19", + "0x65c9e06136563c4648b76cb1e7c5d46bb7501773825a10c610f2b63bfd5ddbdc", + "0x2e31a4c4d6670c2155b3ba877cbc6f086c18059b2903ebfcf2cbeb6f73e67bd9", + "0xdeeccdd2dbb206be5fe2bd4e122d6cfa556d00ca0021384138dd914fa3aa2413", + "0x0c24527744343d79639a382412ad22e5ef2e610151e1a19f09f725dfce287ed4", + "0x4fdcebad349c83d27457ec443a5103b375f26b6da958227ff00916cb900643b0", + "0x4b06063a48575a6f89ae7fb8deeb316c30e6ecd080898c47f24d9e7d4f6db960", + "0x463b0fa1bb74f1473673a2760a7e447def169426f9f7cb57ae4c6d417f58d829", + "0x01050ce1aeb140cc812f24c6629f9a171ddf4891b9150b43312fb052ecb29de1", + "0xa9e4bffd5ca3834b5a80dd84bad6ba4dd71138f02cd386668aa8b73f437f3e0d", + "0x379e501e6acdd0f94195bc851c50e7674e103ce8563bc61d7b0e6ccdadc18def", + "0x8d93115aaaa77767f70287e025a445cf6a4c7f455a67615f38c42e827c95912b", + "0xde2d4d8337849ad10a32b1731a0c281eedad191a09b26764568e7cd9769200df", + "0x575de523f7dde0e52b68c15646d22a31e245a037d1218edf86e295fba9b201bc", + "0xa545dd5a5e5dca568a5a28bd387417bf3743e184189106670b03b423b9e5bb08", + "0x044d13ecdf9cd6989d3e5a1d8354d4f5a7d29439a5da0c57505496fee7b6d054", + "0x4d99efa30d95ba2f0002565ccdc0ade2bc3f21d3153c638fe8ad9977f1da8360", + "0xc72982c95de4754f8b0ac62113a71af4c760c3c63f18d230f1fdbbe3c0b379c9", + "0x7a2dc8e509b0901646afbc1a6f9b5b27ff69f2fdaf4377ba027be555acd128ea", + "0xa3656ace4d66ddbf55477ce61954f2e1f165f570b5c7d028d1653e9f879cd080", + "0x47e4e4bbbc704f65e3979494487b0dd51cc56a928f26f97d6e29d76db80ac14c", + "0x5cec964b6d806da75f96c67c1db66d7c539593c476c69a2207be25934443c82f", + "0x685e812268ffe51415ef5e540bd4d2d65c2f34977ffbd54be14c895e4f004abe", + "0x991b2344ae224901f5ef89be9ed8313ad2c217e3727ed8d24f3a35fb71df3982", + "0x1293f5ce59c36d3189ac40e05bd8c0fb4b69008d8d457b224df1ef1e0285b553", + "0x3d41f27e644e2f7de5173dfe7004e32d6dbc8cb56871f578c3b2b943210a4c47", + "0x2decc2a4e91de0ae9a5584cfb03f6a7a4e0a867e397dc74df8f185bf241cbd96", + "0x0aab7f05bcd3b3633184b45c81dffd70b3f1b1b23f28d46747ecaf54fde443b4", + "0x8bbf3aa92fb9ebba36c5a2756dd394adf505cb753f8d3809393e1d967f78e075", + "0x13544a2979e57f73bebdc7cd1b2a1c9cf8911b8f24868aa1e775c8c53d0e2572", + "0xa7497c9f04590c706fe0a3909bd4af5bccc7ac31d7162b2b856d3a36bccfcef8", + "0xb80de8392864c859aa8e9ca078c258a6992bd848de129350ba29548db6aa4afb", + "0xf334d02277f55288c189e6ce79942ced25ffb9ea7bd5aa5ae562a985eca6e57c", + "0x83a563681180ecc7a1fbc6e47e0ba03f5004a87167fdd451d559a573df30533e", + "0xa648f1462985ba8ff73c7aa4d19153843e6a9a454d976533b08f7a14d2fa8902", + "0xede4ba72831451bfc8651419aedc62e221bd8acfd8d4ebe426d5b84d862d3b71", + "0x2ab8f2dc9b620b637aa27f9303068abfba56bb3438905d29c9a6faba4ad014c2", + "0x225e5b7232c6edb127a71ea313501e49dd86f4df0a037b9c97dd5fffa8c08cd7", + "0x85606456efed98380428d075ac4791140c9595b83707a397b274805c8fdac4ba", + "0xe298a5939a283d03311d1a19f83805f63c83efd2d7affa7586be8868284be900", + "0xfedc0db97df763328cd9a8c8bf1de73c420ca33dc3391acd6e4e847eda793d7f", + "0xbefdc3c7e7ad41deb07ec2821d0b84893440f797fb1603863e274368008b8e74", + "0xba3b21ae193db8215fa341504fc5ca46b58df994c473340bbee3f3fe90d72497", + "0xc45fc6625b0f784ae2039747aa93495b05243c00dc5c2bf46dc372c62beccf4d", + "0x32d182e51018fd1e19b576670ec68d59810c4bbfd406e2bd162e1f17a0555f67", + "0xa8886b1a9d7bba27219fe7f563ac0b592b82a1411392ea71a4a5bb288a98d6a8", + "0x396bac50aadd2dfc853c144091324a12ab8661590fbc738d3cab77910aa2d2a2", + "0x50e35af52bf6eac228c5fbf6fe5dec85989b76f44811099f2e8f4950e4ab86e2", + "0x9ba2aebd73945b6dcb9f5171155c0fff29db8cf40baf83b1689a7ad1004912f4", + "0xfb1cb1ff78859e3d5f0db0656821e12b8d247ab3896e6670426dce2055f1ff8b", + "0x230a6f6567f066e76413b72e7650f7cba9315090abc1bc7f93b861d85aaf0c68", + "0x4dbcac91377ca858927a01f5a5e8659b4e718ceca20d4962c43fc1688c4d7574", + "0xb13061dfac0e8f22dba518fd46ea95024cb97ef825c970cd5e452ccb3d7fc6df", + "0xc5af27a85235fd0e1da29b5afe6955d72fc2245c5709a0f29bebcc7c49eb4a0f", + "0x7937707d20bed2c7b68dcae39ebcd93b84bca9f471250e20f86f8ba58bb10fcd", + "0xe1398b71406488244a0c205db9c793be090349bafd87fb147c1aafb9d7d7deaf", + "0xb383706e1aaf7149b1ac3d258f6628e8e6d40be0dc096647b4bb82a08585b707", + "0x2c07639c073fd57cd719e5c67371e5c8db30f34855ffe0d985070b4b36e27cdd", + "0x7b264ea13f78fdba57d1097be39b6b2dbc614ae36cfea1f99d44b9966b3db035", + "0x04d942f60d32a80d93d12fb7c8ef95439e0da5c8358df2c01e7547596461ad79", + "0x71c93b0ec1e403906ce7e5a38d168b72b14cbb7cd0e832c2a7e73f485c7d6567", + "0xf7060c7f697a68824bbc178e02dcd6b12ca204da9bbf2a17b69ca858e2ea9574", + "0xb3b616f183145bbc77d8e3610504189e00c0aac3e15975e4e01f1b2b25c5b5b8", + "0x137f77c2fa4e911b6915c5a84588bfe78bf54ce39d09ab07e495da9283966d19", + "0x5949274e5465952855c28d70a4089644200927b54faa67d5aebbc4eb2b891aa8", + "0x1c695bcec5602b15de8099c550a3b738aba98acc46377cff7a5e58bd7f402ce1", + "0x8d1ffe39767f285d7f164018cf2fa4ec6509194c086c33af7ec8132e3572fc9a", + "0x31331d50f79ace5444f242b279be905e076d675fe4d4e1d32de728e2654a08a3", + "0xce9c3e8fb9a75e284c81925c6ef742c4f34e6f0bef11578a61be5325692a3a60", + "0xa4cac76b0729c42927d1ffb0c870983830ea66636e9abc6138b943301c59b96e", + "0xbcc505e608198cc3546899012cb59a3da60839c9060d2952f8ecc178be4bfd82", + "0x1b5ab87cc34a38f4be26c5e3e05903538e8e3af350f6e2e1258b0cf344ad9f39", + "0x85849c1cadc5d3bb555b88b1e5720110a1d4f7b79f634427a1f8d7e88c2e043c", + "0xee63ee939a6dbc6678415a1af9969526083bbb754a8c55e97cdefbd2f02900dd", + "0x50c63ebc1248164b057854b8ab8bdee0510a97f75e864e1d83feaf59541a64bd", + "0x58daea24885faf1556b3111c06351fa506b40b9f1ed365633a2246165abf3819", + "0x0357ff6bf4ef1b1bab206c3c3efe770c6493cd85d0540fa29492428d0a878c6d", + "0x52963cc6bf51a64c1f8ccc21c520ed95d5ecd0e43a86b85defd7b0113082e9d5", + "0x5cb8353b62e27e59824ee43a4bbdd384a2af41b52f9ea5444a1a180482ae7856", + "0x2815152239935641536e549578cd0d33c74a377ba350a36ef04b038e5fc49142", + "0xe6df1f1b9949e17e0a683b6fb7ec9ede2b49ca3d479202226ab4180445f86d51", + "0x3af2498e3ae79447c4b6b3f025a37c790622e2979462dee5913fda778882e5dd", + "0xd498a21e50c930d1f0fe0afa65c6f977ab8da037175f34f4478e52f4c1631d01", + "0x12478043148cd0413f56918565cc2fb0fb9802dab776f0a055093ee8ac131da3", + "0x9acd35608a37ac8e309e884b88609957ed24ffcb5816477788e08a874e6c5a61", + "0x53ecc517c7158fb6e99863c54795107258b61399279ecf74f443d49533a104b5", + "0xc74f9359d1b15de475fdeb56497a5745a93c741e5f2c370656b2e7c269c06511", + "0x8afdda4ce115a19309597eee883cfd257182db46070c7cb1f24955d9c872c8f7", + "0xc4036bef9a9e692ebe72c946161b3ce5c588f4421b7d6555b5d65f3311a5b0fb", + "0x4b64a608ae22b5a655cba7ef78624eb69f9f8e2b2f7aad8c04cc6ee95386e9ec", + "0x4b5506aa505815e519b5008fa8d23488b642a1f347f6cdbf53975636a677a6df", + "0xc251b21563070f1b3895bb4512bdac4395440217c5ce01fd85e89399dad72b53", + "0x07a7bc11d48537654d24eddee78d35e4510f22b755f1f36c3b81e98087a1ce68", + "0x66a0e9bf542363d8660cf7817ccfa3f4262e4817fba45d2871d0154b6fa7e969", + "0xb2493d6e033e1c29f62a409342beb82f692e565638736fd088d80acf7666b9ca", + "0x4c55f2a4ceb60544682cded4ae8b23bf217ce7d87ae90abeba156d9b1005f397", + "0x32b3cd5438edac8902527ac353356e99effb1dde5209fbe1015673778f7c5685", + "0x4066c6ad2c7170b434bbf3e7ca0fd678803351c3dcf1c56e84bd6c14ac2f7712", + "0xe74fa1fa353cfe643ad94f6a609726fd3c4b06f9dd7503431f84b13bfd87b06a", + "0xc46c3e5bc3c3cbc604513909999f1523d704578cf5f025a33f1a5273ff6cb81b", + "0x261b489751092cbd70d6d3010b5c5dd68c9041063c3f998b742e81060107e17e", + "0x37992c7e208c0b09309ece681e02e957f6310c6f42401702b31f752646fe738b", + "0x2b09e6bae0a34cc6c8c83e97c3369bc847ef6410551494af91a3a39929e7d949", + "0xebc85167d3a2fb3ecdc5b07d78b6ba3a0d8294901f75d687087449ed78b305a1", + "0x8fc0dda2085f4e515491cf0d5a525f10d50c58a0a86a58954b07264425bf1e16", + "0x5acaad0dd003649ef9705e73232b4f9598c3fa14cbfafa1691d0f987639b914d", + "0x41cb16b9f5120095aacbde94f52b635a1ea9f347af8f4092660e84a1b87f8535", + "0xa5f2fb17e7fb322069fe66bf093b99f54ffd9949fa4cc983d2266013d2dac2ec", + "0x014582ecf0cc003d21b02662531b8c0422d499d8b74069533ee24b9774c1b7ff", + "0xda9554b8c2b3fde14390f91282a91a9eded5473cf58dd2f5a6e6168cb4d24d3e", + "0x55fb7a99e9e6e3d9fafd8c9f65dbfe821598f2b5a63435204c063cb4477b1d2e", + "0xe54e3c51b6eea19c23875beccb7e18094e4db26f3c94431df1dec26e6db98773", + "0xa7c04b495735a1a829c64f06b94c486c0880a7c54461defb31a420fe0104e1fd", + "0xc7299bcf0202163a946ddd5d8ceaa209a1d81e28a27e5f8fc660c00505df769c", + "0x2526f9fcfb45966a26370e08b26cbe29fd5aeb568b0f945399a6ace1778ebb57", + "0x59b3d302dbf5e3919550c0c1b75bf111d513f2d0d948ca8cab6c44fc38459b3a", + "0xa73fc3b85209e722b88374b2ef3fa3df240ef81c9f9e0d4e7e422ddd124a5ae5", + "0x0dfe2812db18ec7836f8d2227e35263eb98fd2046f597c203f2b499b538a308b", + "0x1f7c6caf872ae90f4cbd92c7adc49ee2ddce61baaff37186111ba7d5347bb4bf", + "0xd67aa89ad3f03b9d801d3f1cb1ef58a5d9f6b8e4cd9d6fe9b862b697f60951d5", + "0x9d760e7ea703028be2d197a0ce28d4057bd8fd7638781e9846cf5d5886ef6611", + "0xe9bfd8ff1dfb81f4f5e5c3a3f821384f98d7c6b753ad356952fd10527e08ced6", + "0x95b6333df70dee92ff0d880239c2ec7a4016c6192391c08e797fe24e06bfcd0a", + "0x56651120494e23767700b82c6718a9c1abe469da49c38937582d08220330cee2", + "0x70d3bae96dfe1a093bf9233d9f8f4c149fe4079c5f40087dd49c6e524cdd96d5", + "0xd29445a1ef099b0ce227c88efef59677abe47763149e034c3dc96d999b66cad1", + "0x7e2fc31ca7a02f965757f118797ae5093cc95a89fabac7e25a22193f2346ca57", + "0x3b7ceebb659eacad955fe0e95a6f141eb4f59f4fa70e52da5c85d7a9467b9298", + "0xdabfe5efdd2d7a44022fac35b13c8acc8c3c1d69ff360d45d997887feedffa93", + "0xc883f0d5c38f40861f9466fdc84170f7605e9af5ea4d6f9aa5088c6c9e482b7e", + "0xd5b14197d738e2635f7294eb8993b01db1ec02de38a545fae881a3f11f3917a6", + "0x5d2b9e3f7a490660bc2592cdd4e04fc9f5e32de1de4c9a8c223b177627708bf6", + "0x2e94c911c88a1cd80e94acfc9f27bb5675a6ca79dab6f70f38a4df99f84f7bbe", + "0x23fbe80ce230e0cbf881279ff259642d6ddb579f0711c5f66e93db3896ebd835", + "0xf1eab3ddc0e2c231cc78d123e20f4195808a88f79c21b9ec2149e3ffb9b1d5cc", + "0x5156b02d5fb9cc38a14e3b4cef86fd99d01db773f681404889e6f7b76a6b2d51", + "0x4bef16dfae5442b8d2451abc13f610acb565fde8400ab2ce52c44f54f68308ad", + "0xa726272620270e5649309798d90fc52ab80b779fa03fe639fc8ef14256d5b1ee", + "0x7f327dd9c23774439a2c080274d3111e0487e1e9c848a9e11c14b2e5a9b307ed", + "0x711fde0a0f1474e0ababf802d8cc8da401d1bc4f836868f117f8ad3756179296", + "0xedb4b7af3699fa441ab53a6afaf380b5760fb86c6b5a0f2d73075fd9da23c8ae", + "0xd7062907f805b2b54e9573104b7248cda283ff1af3d86b7d77b4f9a94d420200", + "0x540b2ade8a4d3571094a14e7e337cb4ff66a86e3cc9fa5da85e93c21edfb69bc", + "0x3c06c59332db001ac1cc72e9b07adfe31155df74c920d7a897592fba0d265a48", + "0xe24179dbc1457c23d05b307e0b42c1ab276db666e49b48cd3e1b3dc82e285de3", + "0x70675363d1a4a6db8b803e3876b171c4ad70b25a56790ac7e4cf011ded4c9c9d", + "0x80dc30723f933aee8e126815fbc226186c07d724cb13c60bdd55cb470f159c4c", + "0x9be135832d600074ed784053d80ad3fdefde87db55088a545a1f8403429d86f0", + "0xac742c9ddd3e59c3467473ede8a794a8b5d1c8299a471c7510cca0b11259ffec", + "0x3089d8ef215e1cf33020d6f2dd005c96d9e7c8bacd2e272c788b79e3fe016caf", + "0x7b22b3b82634041abaa917ce6ac8738e1ad5ada1038bd1a583c84f2765640e0b", + "0x5812d6270239d7566288bdf58df80a2f692731062d3a0aca56d3df972616b553", + "0x0cbac8f96a15a1f57b3ea657e5888598f7350466f40fd46735f7a8229ae7c528", + "0xac6d9f1c216f28da4b97cf2f78f4a7d6ab38636e57fd9a4db71bff191a8007e4", + "0x8dace71e1c1a12a57dbb4794cc92d3e6641201ee75a8304b28b670719cd9a179", + "0x03d497bdc46d7189b30bdcea32a7d93ae17aba1851da4b5b7baa241f0348649c", + "0x9b2316358a104fd1a93cbc388c1419b1db9043aff711d20510f012bd135a1309", + "0x88d613d910c664cee5d50fe1733340853900df4000225698ce32816f457c30b6", + "0xcd9d22a2cb07552bf921cddcb89d879e49ac840a5cbca91da3324427d7d2b80d", + "0xe7d213479605f340cf3714234eeebbcdb63805c5e9479dc56d4a4b2733997bfa", + "0xd899fb4bf3a918a9cfd46d23152fb1d5e54f97b86bf270ffe28e6e55e924e391", + "0x14a971dc6aed1e7dfd4dc3ba613548b8966495628182ce99c4fde9124ccd04af", + "0x89800cc5cfd0ecfb45bbd253dad288617123b3690098e41b38c0d51cfc10234c", + "0xedfe6f669b7b9dce540683400260000ee191c3481577aac6efc163afd7af6154", + "0x70b50725e51c7a5fd4818be7286bd1cc9b15ec2ed4ab6c1bf7e7203c4fa8f25e", + "0x22d02fe95c6f959f72ef4c96329dfb31be8ddce701e0c3ecfc8398119bedf656", + "0xd7877a10f7f883975c5498cfcb07f044400a09d906cb94c8cd29f7a4b93e4b5d", + "0x2e47d9590efa111e19419df7cec6b157f4e06dbea4e64108b7101017bd0cbec0", + "0xbbaf38881063dfcece265083468830bebdbdbb833a57bd7844044ea0c57d1e44", + "0x9269c959dfb4540e3d6c815aa0135b945acb7f50b38fff49f6e34425477ef553", + "0xab47e57f72ee8c8d8857247f84d3419edf43fdf6470c9ab070d8733cd8ad617a", + "0x2be450e3b77d2d3377218412be18390e984fefa2df07d02edc07ebb2d64a9312", + "0x6cc64bc8709eb51b5321b25453e77f871f364a8b277ffe51afde4b8c7a181338", + "0xda70fdeebaa9502e8d0af2350824ee0807e31cdd55ce4195f32a639f47f399cc", + "0x2dac4b30d219640aa01a2d7c69528c8d31636711c915827a64a9219524f2885d", + "0x50932f0dbacb5af5785065dae19245148270f1d0d3515b8d7e191c5702047b6a", + "0xd919cd9f3f6bf7ff66340bab7c562bf53eb969b3e00fc950d1d3b0d9d815e351", + "0x76a276f09fc452ac94cac15d5226ccf3110080d2bdbcb01e8ad86597a03f21bf", + "0x83bd36f26e7d087ca641848f5bda2313903ca64f8b61cdac127ec56efbfc6ccb", + "0x6a65903a006c6759aba3191ce06fd45b0702f127d822d9c889df12b2d52c7bdd", + "0x8e440f04254f81737b00d3857d1a95bf8709f1475bc0ed15d7347c94e57cc7df", + "0x20929894b05fe04fe12b11d336bbdf33ef983eaf6c501846d48813a97ee4b5f3", + "0xfc727f2888aa9f47d486f93b266c6d09b09b949821b63bf86aaea830c16388f4", + "0xb9035314e27d890b6362db7cbb0953e953b57163be0d80e5ed36759500f3160a", + "0x6d2ba56b3c06326a0fae498467f439b47bce1174862817b5c703019e8d448c4a", + "0x6b92e2415eb7349014bdc3e705a2170a5cc09796930d94e861868f77c45d5802", + "0x83a57de8623aa9742b33b3c8b3737bfb198f738111e437d9bab12baa0660cecb", + "0x979d381266e5105773f922d3172dd020a6010b9e435f3bad16ce6065b537f384", + "0x3fdaa18e7a2ab12c5705b17ae33e96d8df9ab3be631bb9c46d31052ad423a4be", + "0x439e461837340e67edf1c7b7fcf633d5c3d8636174335dd80023dfd61f66c67e", + "0x3ba40c7198d6c75a1ecd79218edb9608b7cecae9f779b37d26873d040d29b308", + "0x66ca7e3c8f892bea4be87afee3db3c9352641139ea4b8d459417180c2df8ac5f", + "0xd55c6d521f3a145379a1daeadfede8f837928315c9c2f1c2642ed0e1a7e87674", + "0xb848560abba9f0e19af44219c2c1a5011ca43eff4ff6471555b3c1c235c40119", + "0x1fa19a85d008e7af8585eb7cbbcc8d61ed6248708429d0f458f1b497ebb190a6", + "0x72a4e2f8b7fe422eeec318f1127b4b4e4fb03e40a028d45f5444c9b287a4a764", + "0xed88ca02a5918d6f621fa1e945bb1533e33ea5c1d41f7915672e3c4e4dce78de", + "0x60ef0df2f7f5c6de3dd7c02fb202c9b3a13f48102f317b54b25b2f0f1f49b6e1", + "0xc49153808e765883dd21e1b58b5725aa1d242f920ff0ffe0c6089a5e00719c82", + "0x0c8581a354376bbb53379f45c92e914e46676b68305e8fcf16eb069c65e87cd1", + "0xb562721b9433cb712b3969d193e132132786434bde1d45916bd7423194c84678", + "0x060cfe84bbb7842e0a49bcf9f8753635d9fcd694de3b8d5827239606269f0cd1", + "0x84306039a875a723780ec685c34474d35ac3431d6ac8d43b2b6d1bba8572eb9b", + "0xfeaec570403a0190c889e5d2ecf96a9a6c720b3944e4b703049c81a35b56d820", + "0xae002e7d8e1279513b037ad09695e93f80868c60d2d8b0ffe6efc8e0ca8a51fe", + "0x20e1f3248ebde32f2fca51a576abfd0db3fcfe359df399f1c3102ed2183b027c", + "0xdf77e0510d24818676727c9d56b58b2495ad63902cedb04e2f3729b58374c942", + "0xc33b4b53e7eac8725f5b3c27a9431dd6e4f966b1289e3b2a1e158474f4a47f4a", + "0x6466f3aecc922abbe6f995a3ede8ae650be7f1c08679c5f6355e32ae95a4412c", + "0x56322467df2291a50bea2baf66169caf34eddd525655cecf6d14fd2295b2a438", + "0xbd81e7bf5e30f4bc1b87c57a4eda09293cf6be979bd2bb02650ce5bcab8da996", + "0x3d611638ca06abfde10ce7f02152069aa30d97949dabe3dafe8980699d49ca0b", + "0x12723caf905e0c044344c83d085f3d89c2eaa695c9d70c0a831d487b050ed453", + "0x473f61c421d202e15d4a62d4513bd48313d253004feb09d9b6e0502c6ba276b1", + "0x9583746c372cd042a46ada64048ac44b30d3b055b6e22ca3cef5404e57a99f0d", + "0x8decffeda7b7de072da8268776c4b9969cbf3e7ae9433334aa7e1e7c93567f55", + "0x543f5b6b686035462d17ef969fa09e0af3e7cd24d13650c2d3597516e62f9909", + "0x5381b2412f6383d057bab3fefd23d08384f345960cc2fb80d7311a63be5080a0", + "0xd96b7933fd9308f7aac9fc42e8feb9f2f4b586400fdee23798cad69611320461", + "0x0982300c344d44c2f63e1c1fb5fffdb44c23749204a0e012733317cde6efaa83", + "0x6048706531d18c5f9a257448b2826fbcf7a72bd08d5d4feb2928acdaeee61768", + "0x2bb89086896edfbe79407ea2bc8535c6be143be6c64ddb1190e626e091c7e802", + "0xd1d6697db021746970393fc0151bef8aca67d202b0e54f4f2702a5f86c2fbe2c", + "0x5c1e1a43ba2578bf4a302e18f37bbc4f1a67441fe6a71ee856662739a5821db3", + "0x1ed663708c0709027c702ad5ce0eca6d3e0f22d6a01d4517adab0a3d25f5eb26", + "0x6ca247d5ec5ae33cbecf8fe88c1aa64745f7a8d299bfd356bacf764141d410be", + "0xfc020b5ae74507a1475ef8e2c0bb516b67bf79aaa2b61bdbc472ba2d75ef5db3", + "0x1ef0990b9051937ff1fa02880131aed9787e6d7d41a598ce7b5094eea1daea80", + "0x9e9e9a83fd6907dc5407c49ea34bd1745919d9ddced756433f374440fa8c704f", + "0xbb3687f8723712f39a8e9f8865543100e048acdcbe2045803ad5a40b61c4a36b", + "0xe60d8a60edc3d7e31ceb356e493a28fbc845f302ae2a8d1e7cb80f53112900b0", + "0x294039b994a3ff53cbba7718280dc827fd582ae789736a026eee1d39284b35e7", + "0xcf87c0d2ee79a0d2506a3d557880f3ee9a20ff51bb44c20caae0849a85055408", + "0x0d6bb688dcf3430e46de1512ebc9e411db3380590bc72dbaaabc52a5320216ad", + "0x9f2cd8a43695c78c7a8fb1352d581c82dd9dd0ff04e3485d5bbdd5e3942f9c4c", + "0xcb32930f407012e479eaa7b4844107167f519deea6c7fc0351cecb93c500d63e", + "0x17e759d815596e0b89a3dc4ba12b9d10ec59988fb0550e1518a8b1cc4f331190", + "0xfb3b36940c6675249451c4c857f6742bb0e1fd3eb126e370eb4deefe238d7d75", + "0x47d619d7d8a9510290dc0b8b2518af2862ff6f761ff09786dced91e39d8afeb7", + "0xe8f40bd7a7bb8f7dffbc63addf31a27e0a987a27c00525c833f6ea8f508537e5", + "0xca372409bc160e5eb7fa70e2bbfe8daac9763b374c7bdea0cadcc933450443e8", + "0x6e234961784273f80136dbdfe0f5618fce6c0d63c2fbbb5d7fd6823632c0ab6c", + "0x2a6cb327e669de9f9783300ef6b2cdba5585236e286ba94dca114de92728ebc7", + "0x0e91e6a11ea59f840d9bc47f251043e10159880276bf69beb075557e38715fbf", + "0xd452ed733b985db558b960ed14310215abce589d4149952a3ebfc7604082079b", + "0x7fc984fb9d191984b5141a9dc7ed1c9657742c63e7958c7652bd896bc6c9f985", + "0x2ce2f74343ae9e37153b5c071c4ba13adcf67676ed7789379c364107d76e32cf", + "0x0bb95a7856e5f61bbe47d56aae9d7f42b994fc4640b50ae80200ed8a678dfd51", + "0x2ab80f2546564ff01e812a39341ae227b69ccc1b38c7f28e61c31925cf622811", + "0x1b24ab582f306305400947e9e7e43a49de6cfd62819517a8ddd904972bd8eee7", + "0x852b65355f93035fdf4358ffc3566d57dd97c9d59a1e545706bc6a13690025a6", + "0x6a44f88a6097b5e3c822abcf1823c98362b26b0bf3753b6fafaafabe9591a07a", + "0x4e7c0a92561e904eed52f2a2b906293411b97795bb194d9c92e335cf9e4ab200", + "0x6ac01d96e58002f8881cea4e177ec7606c69e21d252d863787e5cca65a839792", + "0x4d95bfeb96b7a7978c890842544e8e780f531512c182cf22a73a71b55f1679db", + "0x84de4313a7d87fd748e9872db1164ad3ff9d48993ba429b74dad497dcda5a3b1", + "0xb5ba8e71bc844413cc3eee7325a949af1e0ea81405a3371512fddbef87e4e9f8", + "0x2378cad3d3f0558c0df47cd179791604af7df805f805f7d1ec67b52b2c330d6a", + "0x260d00d98b976fe3aaed233aa9e1b8fddec1092595c91336a5b884fc07e51a30", + "0x7e3e9859270e3a7bb7c5f6d7170e98a8a0a681216e21567c303fbc9e755a4739", + "0xf9aa5450b6036bc61ea2113fb163997ede1bb212f343ae5df0b55561ff32797b", + "0x465cbec75cc303fed26bed3e2701372f9bfefabfcd54096a9189d73994e7aa17", + "0xa86195c2696fa647cd5971d47587212d48957f3faf69721683c158a1372eccfb", + "0xdd104c0ccaebf94bc3c0a6abae1852a71f9b1eee974d5e622f5386ffe0949b7e", + "0x005f5108714efe19e512aa83608e9cac46976b0afcc7a010bfd682965af39d43", + "0x60289c653af2f12a58b10c0f81ed6072b3112eb270b350facd79d0363be2bc8f", + "0x8e22bcefff3aea2767ad9b118be1253d1aedf1e1da502a4855f6ae7eee54c335", + "0x3ec7f166314a0c594eb8138b75a050082884556f7664702333c096bc93b67820", + "0x605398473b453589bc31312579ef3b5ce0b74e3ccb95b680f8beb30d2fba34f6", + "0x51dfca1880e15660901b5f755530c3fa4d652050c134a769b6ab2e1645755cc5", + "0xb24e9463fccdeb2178e520fec46eaa8f2d1da5380d48815a2fe1816f71b79b8d", + "0x97bd624937de7bb8915d7e396c31cdb4afb739bfd4eb6d96f8773ddd0e4f4933", + "0xbe17101284e09bcaa9eb5cd150983b05248b620465244b603b598bbaf9bf312d", + "0xd3c2ce415ee6bc3908cdfada4fcc76b5e0e9fa4f1c6ab43a3710b2ce81f150b8", + "0x8d4918cfe78489e146c071c149a7271ea81dee2ab0615394ecc35827193e737d", + "0x6a7e51675ea6214d36acc7fb193911d2608e41a2df747e328afc6f5a465261c0", + "0xf012c5f418c7e265bce72f9f4e2900084216c9187900927d9aafc899616ea9e6", + "0x934c51d4f2051bb7aa555b3f44bef81ff782b690e29f7cc0a9411ad03ac74a3e", + "0x9ebbecb11efe195d2ef7681c8f1f8af3b501f7c65a0f9ea916f7ffc9a6bafd74", + "0xe28247949b99de84e721641d5e3b638dde927478df0ed0f53b8970b4febbfeaa", + "0x6491ca6bae8781055660837b72622f19daecc7407aa58d24088b45f5725691f2", + "0x3a56f6fdf34d6a4d742451c1f5b6e575685f9a6703541315df1cb8aafe531f7e", + "0xc204b9d22b7cbdcc9132539ea475792f4ea231cb246747c485632be8df4ff5c2", + "0x6188cd2938f72d2dd5e16525574f240b458316d42daafed892faee9189caeba7", + "0xa272f3ccaa93e016333dbc904183db6309e31d06720da1d18addb7560b9bb427", + "0xdce0b5f11909a90c1c6b8fd2bdb3113a035e7784103e05ffc972364530ac36ed", + "0x6bcf3461ce1447e80bd3da2d91dc4530bb649b98333304fe3e0045743c0b96ff", + "0x523496ab97b10356b5bfa8e17b4927b8f0f507368391e24250f218cc00be4bda", + "0x6dfa5889c65ed8413d6633bffc9c3e648621d38eb70e57ada781b3f4dd62374c", + "0xaf1a300f73429dec7f12d0ebe9706cd113e15e1dee6cab37ff11503a836cb3ff", + "0xbb8aa95b40671760e1d131cb269c2d156f29d89911604db04ee7f87511283b56", + "0x93ca5bec69be4ef613260e2dc850668d5a1c839e511322d95ec25203d74673ff", + "0xd7cd3a14db02b6c705bb6cdb03140b50b6b989ab82d733df84f990a9c4d6b292", + "0x9136b9484831f1417ecc2d5ec93fe31b25e79b35513cf5187e50e3b95f862269", + "0x1519b8a6581123491bd0df07cfa3a40b0d098e5cc6ea981368fd073f7c927ff5", + "0x08ad5c68577e9e09e5b00035c65835b404437b792ff327950d07ef227aed6a84", + "0x4e989dc2f09df3e9fef7e50e7b7a9da85c091c11796665602a0f8294dcfcb2d6", + "0xe4a311a951e3743c0d3d05db87cc5d62ab0ebbe6b2e85e035c6452b0803c4be5", + "0x4a64e0fd19dd4b2dd7be3810f870cfca0cb4303d44204ae329f3ef1cd0a78420", + "0xd13981c9f5bfc2efe70eba25bb4f3d3f7bf13d454527df015e951bd79c649c50", + "0x57af6009a040d74b628416de645cb13a58e16fbd63035c6a6d8c8a0bed102ccf", + "0xfbb76c69f42039da5d672776f9e67fe1fd3d7eb0d7f5353852fa64558a91cf88", + "0x07808058eb2b620907baae2b053ef2c5786deb73df750a1b715bb1e0dbc0e14c", + "0x24f1e75fb9fd88b2628285f3e49233ea6f59b474ca05f5823810a8b49ae4cde8", + "0x5cc1e13c706a5c18aa40d8e5db49bcc87c38a07655a814b2179a35b1a8ca79bd", + "0x8ce52067eb546774ae3796de7cbb58f33395438a7976eef1f191cca9c6f59f76", + "0x094311f783939ded904c263a92d5db558e60352a392d3ba77045ff82114978e0", + "0x399ecdbb06d1421fd3651cd625376cea22cce333c6dc200b9e572a001b794a3d", + "0x6a94f126de560108bdb47dcfa8eaa5e9895b3bb9bdf7e7e3078fb725a1ca18a3", + "0xc0c7a71a8e3547cb067a73a984cdf283f6480524578ff611902eb9ef947c4c80", + "0x8593b4417b4d497d0f1d68c21b5f27433be956b6e8f94d0e6efe983492647fa6", + "0x616dacbbf17052280e093ece29a151df4c78027d652ff2ec3887a48daa916d31", + "0xbf17d700c78628de624a49125b764c1240f3d59b85fe376a64cc02f44fd3f46b", + "0x89f0b2b0b4b0eff45499231c9c5fdb53e95f72c589e7ed04c734b4d07df32a69", + "0xd4399b262ddaeec84cb56417cb84d2065664d79a51750ee566217487f420d8d5", + "0x89874f2ef4e0b53e96afe703f4f9e5d5c7da81a621acf00df29f821098142898", + "0x84a9a966381053a4e933c1ebae4fec74d3452ae5feb2b1c90ed59c92fa0f5250", + "0x748adbe8f803c86ef6f20ef7f178123f46d6c45dcfa332827918f4cfa9417663", + "0x0c78bcfbe149b1b2de2253d443011aefb4e5ea0c7a48e2e13156cd5276437557", + "0xa8d86c719b15c328e5117fcc0f4b381df4b8bab346d522df49aae19820ee128a", + "0x3bce6f3055593daacc3ae11b67d5dcc20475e8eaa91eb3153f83bfca6f2e7c8c", + "0x8af84754ff63a68b7b8ba3948e255fc172c53610aa90fc2f5f633bd8ce1ef7c5", + "0xcacfe2b9181c60d0c3d7b48403b18ee184e7c7032f81eebded3f19078c01d7d7", + "0xde4bc2b17855522804fdd6352f36eec477baafd69823908506b949c017aaf4ee", + "0xcbc7689bc06c9f4f04414835a89650a845884a2d102b6900f3abd4d4c8f8dc3b", + "0xb9779ac13bc739d5bc40bdb927c3543310ff114a83bbe35192c250a5f772d441", + "0x1239fa2d0cbb2255d32b82177a976ed5c9f70f0661a5d5267c60f456b9a7f44c", + "0x3e81ff86adae141c75c8b1a91d47db7c6b196ab00cc883fb2fba7655fdd6dca3", + "0x551e92e6d774825a2a48555268c86ee52e1b613e63c8a6e14275ae877dfa80f9", + "0x27a7d2faa486508c7fa20b818d6aa130a914da688d5bc8c60a3547c241937aa0", + "0xd10995979320d9d9d64051e4f721644579b4984a4337de86901b03fc2c042e21", + "0x6f9308ec6c4eb211b8c2323b68c4670db6a8116ac4a370801ddab1da0066df58", + "0x17d3526dec54f66815d8e4358028b0aa91d3a134d843d2945a47dd5aa56ba788", + "0x3a673e5904cc61906f6806b634ae6375de45f4f0d63713555d13a1e274e1bbf8", + "0x39dc807657774ec32abcf299b9c7f03371bfb51a864d11800199ccc7eaafbb4b", + "0xe2bcb8da657b830794b6d9f1e7471663e31996c1bb08456f4d8802448deb8565", + "0x38c7998e73b21038659140e5ae8539cd8cf993686c90148b38d6308a3e3b92cf", + "0x4b6d2986964aac5d5101ded91aaa4ff78a319dc04ab18e550589ef09b638495c", + "0xd8c4da66b5525427cafd152c365f99a255ce2e78af3e3f3dc408de0dd16fee99", + "0x444dbcafda5c0c74092577141df9fc8fb1822ef3375ef0d43eb876fe29c262f3", + "0xc030bec71e90264bacb7c09f9de3a5e282684f9f1d45a2b177c8f19f9c7180d4", + "0xd529e4c2687c7b40d1bda81201770838320b1183da1e18c59c83cc4772296921", + "0xa1ca4f57cfc4ec4522a42cda37df9aa74406d8aa8dc4b56aa62fc78c70d02379", + "0xdd30dc03a60b0fc21dc4b75629124e8190daff2e3504222fd6fb772531bdda85", + "0x2d9d4a9b9b2a27cf863a292a7fd112c81b0deae05457073fa0d5bf7e0dd755d4", + "0x19815e0f25090a9494cf5bea69edb70e7a56e6bf56bd19ddb1856198f54399e0", + "0xa7fa776c8227838d27496a3c659f3da3f5acce22da70701dfd62953edfa2bb09", + "0xe55efa9386b2e0fbd38af545106f197868361f2dc44051cb4a1ad540396283a8", + "0xc6c313738c3c75d434da4083962f8e8355bb8832e17c7104d037b131682b28d3", + "0x756a6309e8c0a374b99b2b2534a851496bc74db36e5bf1c950c0549914f0d0a4", + "0x36f64ed32258a3d2dc849f4abe98db30d8b04df28420c56215e29190e8a447bd", + "0x5273c4accf93338826feb5bd75117a7a0ab5a01225972532ff4ac1d29b289d8c", + "0x6146cf6b830f0222a8bf9353ea26deb973a85c5c4a005136061ab0fb48fe56a8", + "0x97b07c22662079a3a448b373fcb73320fed4a0877125228b4e9a5b74c0bbf703", + "0x68d28adf72884756b688377fac36d371325a01c65f5b70fcd7ac16a2dcd21444", + "0x2c27150b4cd8aea85723c4d264b8799c2e92bd4430719da6bdd3a0290c024a21", + "0x6b553b884acac18804cd52c7139e4a245f2d263b6d014fb6c28e31d7ea08e63b", + "0x64bc2ff8936395f794702b110041a88c1acc9cba50e12c2c5c9730976e667ae9", + "0xc45b2a7e308777811b6c099ffa3287970e003001dfbfe448a2600edf995513b8", + "0xa89c093a0b77cf4ad1ad7ffee799872a66ee38c3989ad39fb90069ab70b1fb4c", + "0xe8d0823460eba540c0c86016014127c7b77b0afdd199fc7bf8145a556a7c523e", + "0xcb2ce7a29b4c67956c439195a84b53f5c54e273c20b6cada43aa68ca7b1b59d1", + "0xcee4cb506d3b0cd84b763f405cd68e2bdf9ec1741778a004eaac9910d17cb67f", + "0x357376e9a49b6c7dab7c5cc95d4a90cc27516f1b7f56c33c4c0125516153819e", + "0x77090e31db86c2f2b031cec1a6dbfa3c3b2f464db7e8444b5def6468c03f5308", + "0xf2b0dee21d7b016c0c9e1a02a970835f934f66c552d653c9d5fcfd20aaf397f6", + "0xfd662e1a27c14d5e8b1e9bf6fca699a3ed7c5bb883cc626d54f53a721c570557", + "0x86194d492a5adc474f114f9cb7b0f6f6795d7680614b29bdbf25e969513a3276", + "0x2bf3ae6993adb5d85fe62bce02a836beb598779ddd37cc2db1f44b1cbea616ab", + "0x4321e3a94d12161ebdbc1b5c0f9223a7f1dc9050792589ce95771c7951b2f176", + "0x79154a76904f2a3c59e7151fff7cd448a3f74c003b866b9faba330481c6895c5", + "0x9c9e7e1d3753804e3644da89248505116009585c6e6d42071cbc532de20749b9", + "0x4dc1441b23210778e4df8417be9f654619527b5b42247bd7a8490a4a5f50dc49", + "0x79fd11e85b307098e827168a157ef45b0af5f4bc073a2920f42c6ff332392a58", + "0x446e8650a156bbb1b96d22e0d09619f90b8baeed34f8b63ba7bf3da3b764e219", + "0xa86cdf11cf5586d8b0449085e7c153a0dd55aaaf930960f3f31f80d099011d70", + "0x4d30e55035eec495badfd3cb8a2174295b2d2cfbee4e669e61bc148d09ff2342", + "0x2f8f3bc3c59975caf160d4a5581cab3499b84a524cb7977e4977de10a74ab875", + "0xe08b4473276f706c7399f584797cf07d33a91c91272ad79e0a5004c00a0d3cbc", + "0x1e27eb957ea54f1806115824c61d78e265cb75807f68d508da5ace6c7dbcd9f2", + "0x8304bbb4592daf4cc754c67dd78a2e2008b1abd8d966521a2291d170c9551e9b", + "0x8298d1605af17c8f47afe0b34b84bba22441a064a3d5311a2ea7e45f76565c8f", + "0xdc8014aead4dcb61449918deef31c64ad8555939347bf04f543d6a1158eb1771", + "0xca91e9581535b11cef0ebcd2e68dc00c3a18844fb4d6f05acf26eb3cd15f1047", + "0x2b26282d94df586bc7d4bc0cfab8ffe1844800c7045621527b9f9f0d5004949c", + "0x9a92f43c5a697a097e39ad12fcd9279b8fb3c3076ea1d910ff871c5ab3342a47", + "0xe33707e3e852b3b6a5cd375d981810399de6a3f96015bff7a4e5065f9c8713db", + "0x132ddae1f0244abf072e6d8115470ad4afb24748169891be0a4b952271599333", + "0x2c1236a98f16a294a9de1c24ea59739fcd6b5932b3f2535c8d131bb2f92c1dd5", + "0x989b0a915bb07ef5e3673a99ee796639722b9e4cf5086433cf8072fa3264f4e0", + "0xbd871c039e619de1514cb6f9223299c44d0555b5eb88570f79fd0d593953c197", + "0x7fcb1ab57bca2410a274f6339927bc12ea6843c106816fe10fc9576b6c7f7cea", + "0x5692b49ef3c3ffab97ab9ab1bcc10017e6d0527e1fab5b257210633dc4d2658c", + "0xe105a92cb6817fe6fdd585068363e0ffd45686fb6dc3658504c70e2057b165c5", + "0x97e65f3bb842f242f51e9ce978320a90720858dc9c535c1d66bd1c269dda0286", + "0xe5ba47b574c389d060e0c5f99f69829d7b6dd8b3bf6e64c315c28521a329c392", + "0xe971dd283f7ed3ca0e28a73d614c490a959c36f44bc30dc7fd79bda064f23aa0", + "0x0c786961cb4df57adc1011891b90813943a13a06032dcb2b7f9ac38dc8b3458a", + "0x3736f1ec97fdfecd7c2e6139fc7ef236586bd9507f65a99913a23bafdd5f069d", + "0x5c6cefd0c6c9c825668f99d1d595f6fa55a45e6a43e23323e901900e02a32f40", + "0x00373765ace6950b4728871a0165aeff55ea61fa8ee07d51d7b8bb8114c20380", + "0x49abb5d78311bf743008c2401f074e4b190d9b29c59cf6328831decd83068172", + "0x0bc28d7480d5a56588b937a530d026a94becf9ced1fe71c6dd1ae0d2922bde50", + "0x45e4ffdd3b6d480ee76f0ee7f6acd7c039ef564d77e5a91546e8269d5468ff99", + "0x09600f167ac2e81cb9164e048908a5b410cef5b48f92eb9a801cf84104430172", + "0x00ddfefc3d36282e9aa8e163d54df86f10737416d9dcf33e786d1713ab54052f", + "0x5b9e3159e4394f03d05ed8b8127ceed638ebe147beda7b7097b6dfbd8342df53", + "0x85d2ae2bfa381b7f5c1b0305f8e252f703d295edbd7c05908e6ae564d05443fb", + "0x5d93339013a78b3344b994bb474fd714bf5495dbcee84346a30219b214f1ed27", + "0x509921ed07765eff19b5c5b7885c4eeb30a8329417d1d819f3428e278364a192", + "0xe004d5f07b3986916f8cca4ba84f9357d4550c26d408f79fb49dee47c5afc100", + "0xcd0f7446313d80026c33427aad00e4689ef0c9966dc5faff93dd1ad258a032be", + "0x0bf64f9c84ef26104cc0d0bc61594bdc0d22f9bf25b436170df1c47351fc8746", + "0xb2e605741fe4b42abeea0ad054727950485ac432754ac2f98db695988c515d1b", + "0x9b6ef4b72c4c5b8159c308fe0395c8f74119bfc495a64e0529209967a1efab7b", + "0xf682c4da2d193bdc8e23cbd2a35d2d2eefff9281bb053f86c84841a3c88e4517", + "0x19cda96cd533527a9a93fe8c38184778cc79ee8ce389c181e67d79971c82fa6e", + "0xddcf6596740ea21e3c5135e32166e5e7944ab1a37ca60c57d9d005f83015865d", + "0x4932d76141f9f33ea5193e58e1767f67b5017ffc277c41fb8b9cb020304b923e", + "0xcab96730ff161fdecb5c0118b34b2a8c6ca2e53cc38ef76b8702284fd64d862f", + "0xe042dd86029d97b89ed789847c9651d49b2790d68b475f194c63c89974704b95", + "0x548200b226d36c3092fb9d721b74b829564bae7f39a63c2be0a78ecac5c69694", + "0x26a162476b85f3f6e366b3b767eb39227ce358a4c78dcbe6c8e3710c6ae05c1d", + "0x6f388c498dcc8b1e986c17332c8df84af7e8af9fca5c5a59600dda14f74e125f", + "0xa342f25dc1194e225f4c8b4d89b8992bf59517cffee52a1f2c2a0cc4727f909e", + "0x5e0d21aaffd603c4f5d73e5eae97e14988b03e45beb15bc44776e2db9ce20fb4", + "0xebbbed03150c85b1a7c7e7e6a6a67fe0483fc7176bdfe4f94bdb094ffce5bb2b", + "0x40e530eaa7fc24685d8cd9cd94a3f4b01aff4cbea49aafd448cd1f7ab4b0c186", + "0xecb1cc861f12d2be9b1f39bf56363937e6bdd5eee6d7e5e90426e7d29bd75e65", + "0xc0bc404c877856648f5793792aba95c9fcf2768eac65028e0a930c57ff9d158d", + "0x3e50fea97445730cf5c3fe8f05c1d03c2298fcd52a7d9be911d1c989f29fe204", + "0xb512ff3c024347545bc2843bc84f6006c0b1a91f49a7549558ac5d8d331c1fce", + "0xc0fd2941f49fe9ec9ca375d0745803539dd3a9750f1bc46380cad3ce29c76264", + "0x7f37105755852886e86d113ada4b4f1f68ebf0aa36dfa36291584dfe28e773eb", + "0xf0942db3af7cd949ae31d1f690f832c6e4f8a3b9744ef9bbf8e7a90b04a0ebff", + "0x6a9cee1f0f3ae40d63dab9547ea6bf342efb99176fd30d0ed2d8de02f1be6c31", + "0x2c2092ec0adfe352c46ade57b3c115783b7d4a92fb63bd1effef32e162d4b34a", + "0x4aae695ff67508f2d03f8674282d58e4f1038cd0d4c2a6a841ce425433e305a5", + "0x543665bfaeb5c10c0dd4d180475c9aa18a9edc313e52405f1c5fdc151538744f", + "0x7473934014d90b821ca0076d132c716728c19927f5680482b69163e8ca5d79a1", + "0xf3f4efa6bc4e493b5e09f32cab59a9cfc28b5a180a59640270a79927058a4f43", + "0xbfea0aeb82cd88ffa0269c56eedfebe83759a4af9345ebcd2156ec234d99633a", + "0x827eef18a3c2e24021dacda3c00187b8cc87e071ed1e2e9246be0066135fc284", + "0xd567403ba1bcccad81978857599647c0a7008cd3ab1a3bbbffec1217da92b060", + "0x74c8805b9b589e9493ee02bc73131431256d18b79de4fc3820ae5220bb5498b3", + "0x32afddf7ebc9d7efe51e045446a61fef4b156a3379212517b0971a91252e1b2c", + "0x4d050a932e5f971f33353a23c5b3382d163319321f55368598bcc3cd8c67f91b", + "0x9c01431659ec8c4db0cffc566ed9da3d04d5db610c6d6fbae260ce3011fb68fd", + "0x0814da2cbf76f83196ccd5342638df799d881eab6a526eab325c06d75b7f8e01", + "0xe669b4a2569397b901dad843884668d52ce85919ac6703671963d55c0923df5f", + "0x44762f71591afce826580a50fb4af763d7ceddc75d6e74d4f40deb3ec4c6ad13", + "0xd3231536bc6b897a24e7925909da660e7bc2c5154e529be0dc590770b5573023", + "0x8934b9858529b0bfa879142e0242f1dbe68143ac2ab347517be826e2cd8ab087", + "0xe833f8513f4e71ec56adc114106d5a8ae19b1aaf95d91a5ce18398f316253102", + "0x0a5d3578d418e0eacc2be66f8eb365a7cff71e6b287459e25a921befc7c55e79", + "0xc11db91e90bca5f39221330704193e670815920a5319eb06676b5d74e1d7d776", + "0x04f1e0808c62821a8f088ca0172820f469d327dd336db66d9595932826fb73dc", + "0x1861241e353c68afcba164f24f650eb3892f219d984e376336f401902b4038fa", + "0x142c7d1eb631e40562c24d2a271f0fa21be1ae76d6c7d98491599dc0d0580d27", + "0x203231cb071fccadc815f222900beca55777075f7d42563529682e6449138a17", + "0x304bcbcc7b6dfee9437b8f6b255accfd789ed115461b41e933140730a46675e7", + "0xc9f2359de838acb06278d7967f2ffdfd3bda5f46300b21939a760914a7e00568", + "0x1b470dceebbda583263a9373a4ddde80e2523b3837ed3c20b111e6fb9aa99a60", + "0x765ebffc2d48b2fe92c3fb14b301cb2338984f7760d514373b01fb34de466b33", + "0xbe814242513e1ef6903600ffd517b8f678cf306e057e01f3971eac7514b72ba1", + "0xf313f2b3c05a1dac53de10ddcbc4cc38b38be85f89640aafa4502631c0e3511e", + "0xdfb72e306c68cf4b22f62e9bca906ef3ac627b2286d2a261489e2c922d700dae", + "0x0783bc2129066d953ef7aca86ecf53ec3ff2bfcf8920f6079ad0a4dd703fe331", + "0x71f1fbfc2a9a232e2674e3e36547ee874806ab37b22728d8c30ecdb7ed2ad539", + "0xbb098368fb1529222eb83277af668535a1173a78825c7e3ef86f4f45429cb838", + "0xc49eea0b1171263bd8df058e6279092d59d1e8a4f108d1b4004333733bc6e7a3", + "0x6f95c83060775d579005c4731e05eda62753bcd0f95295b395b1de22b21f3b0a", + "0x9869e93ab6e4ea9da4cd12c279580e211b4c870a7e7dca098058897795804e76", + "0x816a76e3c912b639ae1e4b5eecadbb8cc173c3aadd796815a9ccdbf9226d58ee", + "0x29f33d9d30c64af6b372e922414c85004655782d024916909834b95643fd6096", + "0x30a9763617e8337203196a11f3e4b81b82d9642f0cf26b2c654c8504d289a17d", + "0x21eb2108b1ad465397ed3aa8016c09a52000c60aaaf42e13d95c271cf394c074", + "0x59d8b8fe9dd951d5ec540bf46808f01c9ec2a5e9dd0247b34b2622c48bfa498d", + "0x71b8061902f451c6fbd95c29ff960353afaea2b0410ee11cb993ce0ccb8af446", + "0xe69938e7da23b9d7ca611326dacaff95009cb5898abf1858593060ccb5aff4f9", + "0x0aacb29673ba3a0dce850ac772455c2b092b1a0fe61ed34965e4cdf723d659d1", + "0x18bf2fb69dc62ea39c195a702b8e9514be4b9d5eba18af13974a63f74febccc6", + "0x560b7fa0d15ec6bc0add83b6125133b97672b39477092cddcd5e2936f49c51d6", + "0xc8b0d3b55acae88939bc9426181dcc7d965bb5f85cc506d26f966c60a66e4ac6", + "0xaa9c3dea2f0184de1774c47923fb7f6ead25bcdea96c70b30127ad61a6bf67ca", + "0xfa90b6e07511736519ec741ca85d23d2912b509ec608a5d319c2369aa358a82e", + "0x0ab8709a1c9ac4e9e516736b4836febf938a0055d5b4cde960ba651e986f2caf", + "0x03e28cb08abb6912d3a25cb45868d699b89bdbc180eba67590b2cf13718c967d", + "0x1617f5fb8c39fac172251ac4bb1a9b8e20f9c36cc6a47e7e0545ee38fa55a6f6", + "0xf8cbfbad5d5e66d95dbd5e83b2968d08b6eb41d28efed0f1d9205b2297168dbb", + "0x4adf7de19d0498164921d4aa39bb070c6183e8511c9f987bc91d89cb54d8affd", + "0x7b5b34085f3267297b40770c0f27095735fa286ade7521e81f500005ab63d253", + "0xc2943d2b12e44ff193ad957440620e43fd9e8da22d74bd7e4b18846eb93fe67e", + "0xa461d24d7d4cc4fdb8016476b3d5e44017bc27609b7fd09136c3a884915c9761", + "0xdcbd32d171d8cd8702ec3093dc2f149c31542a7a35a01fa63043facfbf7ddea4", + "0xe7c4e881bd4df86737497ae6e3fd65fe9d953b8e1c45ef1cbba2d291be860dec", + "0x1fc56bf433f10fe704662c0f9e69a878f243d8832fe723852215f4d2ce51f9d5", + "0x5d22da26a003567829f9e2fcf0c2be4d0f791d44400936ff1132a0dc367c316e", + "0x985c40c0bda98d02e3bbf9e33d13be1ab4b1b917c94e06255a0d60de8a547513", + "0x5aacaa6e4aa6ec649fa272c1ae2cd0376270a0252c39d1bfdd973f03cacecef0", + "0xf2992b858c902441bd44cfe0e2b3057615b7ef6a7d129bf8402e4270b711b126", + "0x690eccebda6832cdab7adc9a56b5d8ad7842aba0d7dfa0aa073347d835e72703", + "0x41f48f7975d1aff8070e4d787b3bc127613fe74cc0207e6355d80c930577348a", + "0x42286416ff16e06c1b8088e484e1687ccb93c134a880e06ebc621cfd1fecfbd4", + "0x241f3e48bbd35c8743856e8020a2def871ffef7ba897c72464286419a8e67e28", + "0x3ba5d479584f036f4b4f99942a5bc2f51cc9c4af24527dc9ced5c66178fbec00", + "0xecef4c63d3679889106352d9e56b56b7aff5e1f1408e3dbe86e35dfe6ea6c97b", + "0x2a55f99801b5437fa85f91046e933d5cb898ee3150c6a068f658e0091a303576", + "0x0103857974871ee986d9d5d430b5c3533c0b1187353300d25dbecc2aef14cfac", + "0xe2721431cf8bcc77d5652b519e879d0cde2524972d74b6ce3e6a78eb0bdc5c80", + "0xb577b9c2b3348feb5bd8e283940c524d940268a3f90c11e35dc9de3438ff038f", + "0x5bf29a628a6ae340206e02f33eab362240f99ce0e3cd8d440d002ed4495252f4", + "0x5b087ac28a0e6555830f6510fd275bf464ee4d50e6848b251dac4b823de6b995", + "0xd6ca4c3a14090c0204fe4b9ac487debafbf0f984c289cded1de950f2e655abd5", + "0x61e776419693248d8a6b8bb2ef9b9663882b57e60650ea7fa22f1251e201befd", + "0x84d0ee42adb4c9b0e127535cf76a00a0d8129396f861d5d41dea599dbbff3d0b", + "0x509683f63b390fdfcbb699a8a30340abfb5425b257e86015170d7b7296b33548", + "0xe18de77507e00ff5a9097ae81007e793ca9abf2c11f65172c1cb54a189032d3c", + "0x38a8a3c1c0c110f674a7e69039258593e15a9194b1e77ebe6176ef5caf09c6f4", + "0x7e55232c46a25bc79bf9390c2b105d0fb342015cb526cf0decdb9db23d1be43a", + "0xb745498c642fb70abdc71c707bb1e4baabd534c5bc503e35545a6395cdb48918", + "0xa4b968ff3f3760b1fa4b352ca6eb8cc883f4c902f8e7baa2644d5a7726694031", + "0xee106b785aa0d24e57532819d4cb34b5795ab0af3080b38c73168ad565103b2c", + "0x1535e68531fad8e1edcfc2621747620ab962ad38a033ba25d1d6f5947381d03d", + "0x98c83d74aa9e52a7eae636a0fb54475173fddddbb56ca42dc314998c5099c649", + "0xdae0dbf33fc395f96a4dc1a8da5af3285b8dbabe5b34639e47c70b0938a9f64d", + "0x91348b33bec70e0e68756023f1432346ca2aebbb6a43df28b7388f6f9f19bc7e", + "0x575859a6c8463bacb07ff4902b06fe1c31ceb9552bd781003d4ea2e15dc81e4c", + "0xef1a187b7033a67ff5dc0cdfe353f81d8286c533669ed4b0c0ed5168f018cb19", + "0xc671086723929e889340d42392545c10126be24c357d509ff1c6c1a5f9a57d4d", + "0xf4f1fdaf74870f153ea8375391b3c446bc3cb9b428a3426164320c720d755daf", + "0x32caf4a46065b4094869812b25138ebed9b9fe17e27bed2f1e1f18485e29a5e4", + "0xb62d0e1a873015ebd2696616378f4f3f39c5e9396ddeb750110b7ef04f189222", + "0x410c675d1f6583e8364939108dc46223cd9835623473ca18dc333a4b86e69390", + "0xffd66aabe2768327036556eee6fde0c9bcfda2b13280decc37d82798075a0b75", + "0x3acda6ba4917e64e977f4135e8c74e9091499c212e6345c58c399b4dd31d6fd3", + "0xacccfad59b3f59f16431348a3078c1dc0b662876754c1f373351d0725dc1df84", + "0x3a74d9e98aff2b6445b9776cdc21c0dafba808326d917f47d57250f150891bc2", + "0xdd4e0bb3b84db7b6e16783870f7c9bc563cb1576834eb9175721eb9cf75f748d", + "0x35e9a92581c9d402a83a7baa67bb72fcd0d9b3f3d7b1b7a143234fdadd2e67d6", + "0x64ead38ff01f1fb408829012a033eb847aa6ce3e9b99dc5e866338aa9c355b4f", + "0x78607406421e95ff55b3b952d2b4846c8b2224b2a6b46d231482ccec5de407e0", + "0x04fb332ad235e8ec13b07cf30b1c1cb6ba8aba4031f932868fc1da5d82c03dfe", + "0x4fcbf75d2beff58cf1645f74c2ea804c29e1abb6ed8d33eb6da0f2f7939b3cc7", + "0xf58b87be3dde47b6a9615315d2eeda6771fa3b31bdc369ea706f7769bd857af8", + "0x7aa5b0a30ab24a79a54080b1b56befc3c88719219ca5cb004cd45d4ca1334dc4", + "0xd2f1129f7a6a0743995aea48e9c3cfdc5efde47398e6a67a634c1c9865b15366", + "0xca65cece85c379cfdd49b9ffc5ed7e9b8a623e06f99bbec608fc3725e4a1429e", + "0x2e6942d93dc94555d948f3358d7ffef3774889455de4da3565ff883a96a590ea", + "0x063dc2dab7f0c558eda8bf9baf3901e1626416f517352760180557bd45014f06", + "0xc633fc9bad22bf62c85d4ce1c064f3ec161014456c4eff5ee9ee197230aea32e", + "0xabab885f2c04a640062289106e7bef857389db6db0a499468b45f5e8147c5f14", + "0x96eb606a5d165dc66e5c293fa139a9e8e28fb1ddc8515279705afe7a57e318e9", + "0xacb239d8e12502e378326dad3b338700d359095129411ace179e5b921c07e731", + "0x8cf7148ce70d71a754bc04049ae797e930a9b16bf4962dd3eea2f13ac6f75776", + "0xf39d2ae39131332c16508e09eb9d507f4c6bdaa284d1f4a9315af8f6122186d0", + "0xcce4df2d5f9484177965c2440bc54d1fbd0429060e82bb76c3b90f444b5246c6", + "0xbe77cc749e5f436a3b76360998ba7e6e263d39fcf792a6dcd7cc4ea18c836990", + "0xcde5a6e02589515ebcc307e20dcbf163ec85e5692ad9542bab23b43de55c487a", + "0xe7977eaf5cd7cb8c7f4e86a2c3813d52943a12baecc76f2b9d1eeda569c29d85", + "0x1011e0ba87c36df65ecf37d2360f98e0d7351f27ed9199fd7df166806332c139", + "0x9e481944f0e07b91eefc66693b69ea71c852552cf8cdafb1bc93336b971d6989", + "0x2b4d369db84d19be84a7af630b0c8a4ce0974418f407463cad8a8223b208a82b", + "0x7cf34185f5e8229b657c57c3c775987128434e909d72d06956515440678e6a25", + "0x5956c7ee723b161a0e7d74c69e57c96ad28261e9d7358bf25bbc16560a8292a5", + "0xd9a932e6f59d547de8699965c4e5964e0f663b9fd5bb9f6dedb4417d356f234c", + "0x59f2fae38f9ae4b74ba9abc5f06d4354fb9eef65983b1c8b1b025720d1b47d51", + "0x1c418c58dd888b1a546a1245021b52e83b1bd3fcbdcd0fe9bd643fe05fde502b", + "0x0db806610e23383046de4a35f8098597f1889e4dde4bf40a244e4995324b29d7", + "0xed51baa16beffad522b677c19935f07d7182b0a4bdb04330146bba3d8e8f80c4", + "0x2ecce838cf6ac5d0589fea00bab4dc9c7b107ed7c70886ea6519807785096f23", + "0x8df70aa241b84fd616047258f87b04249fe23219808a6e14f3d9fd0181c2f352", + "0xddb9d88567f42cea65b5913369c9791522b4dc4a23b0afab2003dcba337a5595", + "0x2e276865fbc34e7035cd50dab4b9b72c980abf8f7dec50988b86995ec57ae497", + "0xe82487c950c00a1e4a9ac6d2c3d0b80584b44dc27d28d6352dcef8786da3a7b4", + "0x724b23460aeb403ae7f9b3512a1e222a63fe721a2ffa4e2f4f3062da8bb5c224", + "0xe27ede30590638e194e91a392993fd9a9a1f168e32e3b9144d71d46e507d716c", + "0xd29403c683d5b1ff60839587e60eea5a6054588903e7c2c0b6f9bf030bd0d659", + "0x4e9464c5a51b3f2c6a829137b67e266ea6381c069e1701f0bce7ae7742e9e49a", + "0x0b107abcfda0ec094a6946c6057564f60eea9e6a55b2c762d4af5a7ab7899c65", + "0x5f908c956864addc2b57f01074c567155bee41412da6d63ba72971ff2eb8114e", + "0x9c00e148df00d9fb2d5847bef0726a48507871baf12be51373a7bed2a0c43f70", + "0x63a2fc58db6de3a2de3bac57255503791c4204941fcf15549a7839ca8ce26efb", + "0xefd321eb79658c3706f6f2a18663361b3adda792fe9064de3785acd101535223", + "0xa73176de8f5b3a5bfe87273711cc35a042c191aa998dc5a67498b0287e54be82", + "0xb8e2f03d134651957c31c47fff8cee2998738a603267a12f665f577a450746f1", + "0x3276e6d7618e898d6a8e1f014ccf9e06000f7cbb279dc9d078dee38f93231d3a", + "0xd23b5d1399be075454bc8f3613377113a7b65b29c1bc1a515f9bbfcc30b88174", + "0xa577feae921d39efcafe8102252452202fca0532681c2967c06eb63d00d83294", + "0xbb2231f4d795b6ea3894d802ad5f303c19edd2a25dde9c3a21ed1b578726b51b", + "0x81700c9bee6a014df24ac76eeaa2a378ce7febde11903e62a3d223ef1eec39fb", + "0xa1e05fe31cd3a58a3c11cbe47fed738e0add5039a8f97275572c7f66431f3d6f", + "0x8b5d0ea77b923d4faca65b07c9621467f2c891a925ef07009353b9e7ed854760", + "0x3566b43040f753d8a18edf7b3c89d44a2a3565aa0280ec673718ee81b82df24e", + "0xdf0672dd1e1bdaba83c0abd1d7c41d420ecdcab0019cb89b3dc310bab32bc8b6", + "0x2ef7e245c518654108cbea643f8b050257b9d3c4927493671a3a094b1dd0674e", + "0x993a3c5fe23e9636f525a4e5ee514949c5113f3b4db21ffc993a8b6bc3a55332", + "0xa023919b4e8c34cd2a1c7dd1768eb8e856ad2a1f5b101c8fed88257fdede3804", + "0x247fa5256cd95b9cc4431fe13466483f0db6707bd2453b6374934e1edd034b18", + "0xe63370f2acf5893c39f3728b66907ddc78d9dc9947db14ed6a7b5a6a876c69d6", + "0x397eb84160515d8b2beb3d37d7dfe167fb907f8a1a6cfd7457b646b95a18e9df", + "0xd236e18de82fddf7cb7f6df91a4d08fc98d9aba622e50cda7499261d01d9bb9a", + "0x76a526408c824b6c9e8afc5a0d5e5492a71f30cee5d70b4306c2298d348f0caa", + "0x00525d5481988d4c4836dadc936aff84036d99aa42722057b35ebd933c61ef3c", + "0x94e54fe2e05dd7d7e4026c0048d5e64e5314f235607e568cea8c26bd31dc3f51", + "0xab1e0c92b35d49b687188518a7af63584cfb13a74c3a9ad800fd8e1a4541faa7", + "0x5e65f148c1a914b300aea241f07de5c43709c38d279ed118bcb40ab9a3a09226", + "0x9fc8a8843a0eef62d8c16d49c70cbf2f3fe84cc155cb741d647f17e2a664e7d1", + "0x8257ba8acf906e46b7cd0de0d7463ee96c62ccb7dcdbe0fff5fbb6bc0da28d74", + "0x2a57b487f4281cc28a5b107a643944796ef2416d7989ce879d06bfd6d4caffa9", + "0x0bdf8efb30c449b26d5c574000646ac316aff27fa49d6e20420a08e441ed5f96", + "0x5d3b67c6a6324936305f405067ae70a35146759278f77793e3f7c4b90ac0c7fc", + "0x156f094425a09a09f394075d02f5b5d5aa6794bb5cf62d824ece1c57d58ea993", + "0xe31782172a116b92ac0ea9de1cadb81c1586e05d5b3993f10f8f695469ff9e81", + "0xd8f85113147a72b1950948000d75d6005ae183997c798fbbf2dadc5c439be9aa", + "0x9bed32bbf1f626012985392906016db1c993fd8ef351f8c72e2ae832a2efdd66", + "0x1c6f7b17c8bd64e03d21ca9b6dc2df278cf0b8c8f6f60c60741659fe5b34af81", + "0xe41e4494cdfc0e92f16fe6ec78e19b9d8cc3db73700a1bb02fc7670c92e4df2e", + "0xca1032438230b4faea930fc0689dd966604487a8d3abbaf21554b3e078547fe2", + "0x2bb999d1acc6cc7449dc0cb965c3bdff42e49b8ddb09cde885174c45730bc2b6", + "0x4601be8295359bb23f6f09d7f053c637ab2ce7942b762ac55b1da6d312a765c9", + "0x13fcff0af19f7f11af35b360a0199bfe610a09864dd1d42b0a6570bac17803d1", + "0x31b567fe7d9e6a9a3c15c449e9aa0ab8f83a453beb2784132f25b0919abfb428", + "0xbd4af1360219156ba336fba9cababad31ee78e1393061e3ff62f7ac785c41f19", + "0x2e15f44010ce7a966dfd3fea57c5124c120cb60d80a635910c0b2feec59fa977", + "0x68ed80af93e72f7fd9198d036d8b995e5baeb0f97c6f2734379116a5814b601f", + "0x6aeaf5d0decd1a5c8eef52435bdad2a60cf1cc5f79e23b90b7afc0110d830a3d", + "0x349b95da9a3c65e1d34533bd08f8c95c934c49b7c20e6c7e38ce4db60239c94b", + "0x2a0053d5a61602e26d932534d5e9a753f75642edf1410b3ffd61076d27d5ec97", + "0xca53c9d106169cd3a7a870efd2c2c7118ff953b8aea5c5b9896dc2ff9b2c5d59", + "0xd227181ff80d67f95f4fa11f86b1bb5dfcf37385262d82d6025bdeecc6bf00bd", + "0xefa99cf897198be702eda71b3fecf4cc12a27e7c90a258c4230aa847b03e16a6", + "0x0788c17ea693a049784eec30b17c49e66e7a71175893a064db7bc6e85a0b536e", + "0xcf2bdf91c2f44cae1148ae027688f70ae27ee65b8c1159cbca3e41ab7755e5c0", + "0x32882f2cf31033d40d5069e68c799f3e3297a9915287fb317bcf657e078fe6d3", + "0x3401436cb69ba8552d4731fb2f734a9a659cb10ac666f374318420d3e299b98a", + "0x988943c9b35e50f6ab03dc275de1dc770aa32574cf9a90dd0c13e7263b46c129", + "0xc282d894a7e4346a492fe495319c5cc9abf0c7f95e28bdf985710f692c770520", + "0xd7f8e14bbf8c6061a0927e107f53123f78448b878b9562cb8113b5d93d2d9142", + "0xe2c995419467eb379ee043399d89bb13a7d316b9a680f9667dc9defc7fcab80b", + "0x567357333aa3c5cf6b1ba20a3514ad0e21eef11f5a5c4ec999048abb78c5ab7f", + "0xb9f31c6c771e610048dcb0f4553629481b6d243980e1ca9ec3d1400a56ef452e", + "0x924533f9da72137f96ba97b39a95c2c369dba0bb09658aea3a387f3141b5a34d", + "0x2f17e624e0f3213c2d953107e72aca40b5f764f4b31278c8ee32a000119aa3ed", + "0x8d301cf22181c65bd6db20ca01df6e3bf13864f88958fc04861c295a31b9a86f", + "0x3bdb760c302d348d16e634c07f437f793b888bc15fcae52c371675b7eec2e241", + "0xaa20ff689413c62b1d9854ed1c59b1629e9fcd9f99512bee40933e722e4d143f", + "0xd9d0f8cb5b86492abc172c0460cbd819d13c05f055cc1306af6285459223373b", + "0xe0ec50a77f89631ac2a1c38448a3e5d8ee739f1cbcb542b23116005ff0726679", + "0x90238eec2af4ab1e1445ab94f422f90c862afbfa8cd6bec154d2f6f40721a615", + "0x5c2350ae9bd5f2e2355c97b0340e96621bccd43e9a7e4e867ba1523f5a5178dc", + "0x896a7844bc430b330fc094554ef21c162e2c5c890b4525720a612c9f16bd80ac", + "0xc2aac353dfdf9d7ce52240f6b84e8fec9e66d4acbd77402fe7218f55fb76e834", + "0x840ca0ec7af88f0e26d3b9e54473fdfd038d5395165b22a935e941187d529136", + "0x5e1274869d1d7f072dcf83d631844ea7e750f90a6183262622f2db72eefbebc9", + "0xc217f1324e0ba4e36cbc896c2dd4418ca5bfa880cc64bfa913d6212cbcfe8a95", + "0xbd7893a4798b0838629ecbf21a8cea963df8920a792f5282604b59c536ca91bc", + "0x85b22d6088f30f1b262369f869a72e1354036363f70c8778b1560658abf75902", + "0x829935ff52d7148a3c5548bcfc72b736b184e4f4661b251e660313895432d66d", + "0x4b0d3238882111cc0065b1e2c9a71eeccb34876b4ddbcba989a47faff0f505f0", + "0xa619fdf363c41d69d2cd4c8063e3abedb18066b8cb6ed4fcddd99686d684f450", + "0x2dad790e3f5f6be580f97dd37b22a1e80a6555f41726bff0639aef54f0bc47e8", + "0xfe2064175fd61af4c646ff0745a79ad689d9be2969bcca0939393603865ccaa5", + "0x8a18e5e22dd996798181fdf8ae77cbc7929e5bffa0145996b00d83c5e7829c6f", + "0xa7adb5fc7ccbb132a8e22a861cb5e3e1940a4ec7c5add1bc767ecc668d1a84fc", + "0x7ea8e25d742691f53294dbfdac087b07d688cc40a4a2de28fb398b2516de4bfd", + "0xc162edab705ae176b26b495f7ef7205552319a72d56c5ded30be9770860d6530", + "0x5406de06f5e2e819ec8a7efda23e19cde88bf8ea9969e3e3393f1235c4be67ee", + "0xe5a6b4f946655b32549531601ba3571fbcc45bf58a7b18ea24b5f4677fd58815", + "0x5bf157c76ea5a10ca8240c44a72450537678bc949f57cb9a748b445907180d8f", + "0x4f2f7c966d440ab36a1ebf61ecb1a9b1ea4ea6227c29e4fc1214a8c63cee7d05", + "0x81dc3a0dcd5ae99dc7bcda8b30cfe89aee00094258891d445425e8e304a71f08", + "0x915c3f6e8b37680ccfa5dfa941ad2147fce2f99842646a7835e2d45e50e4d991", + "0xe616568cf1a281f42a32686b65dd712e2fd003a84dccbaec32b890440dd206ba", + "0x70526aaeb8a25dbdf93b3a7cf9cc638292f2502b7bf78125e88df90335e594a8", + "0x6b3e974c6a004beea5b38dea401870dd2a68c2902ea8b3ad5a8358e10f04eaf9", + "0x99b17fa583f9f80f81edae98fc54bd5552ad44aeeb6123e99670696541cd0442", + "0xcb13a1b63fb6f0b511876a699ac017aade97d8dec84249680e7e36b3729d9744", + "0x2bc84717485fb9eedb00647c8da26e201fcf05a0b5c42e2e03072ca130d1e3c5", + "0x7bd8ffc908159c25a28a3dd97064ee7a76bfa40628ac54066f83e904596562e5", + "0xb9d16b733cdefe95eed9fb024d5737f90723bdc46260f0aebe2adf23712ebb05", + "0x0d6a943a7bbad9fdbd107c4a1df726f7aa61de4bcf1e1c50c8a32d56828e8c72", + "0x7a264f356294d00e55ef0dd56e8ba793550c4366347d60c7cd31176d79dc8486", + "0xf52baa383738251b1085fd6aebdd0da48414bb993fd3bc427b2a07a6ace8d39f", + "0xe2958f9d5bc0f1b23b5a3923d87567a58dfa31cbc0a63715b76c501bcd022f65", + "0xa760fb572f3a44ac43c0cfb75becf5bec1d7dab5e33222050b95a6cb8938b146", + "0x004437e7463a43de8edcd074a4c2f03ce72e4716f88f03567a50b6440b69ef2f", + "0xd7268e9610100bddb2188bdb0f80ffbc479b67bda2ecbc5aaf18f947667f3ecb", + "0x176ac5d88148cdfd9049d3eca742750edf975c32e649be8372b15e43ce162d77", + "0x118df9c7631bfd903fb46cfa867c8ef861d9e828e6f57de585f17ad351819e25", + "0xea084c972d69e9ffb61665a27fa4f2d0006f0e220007c0b2e4760a95d68c6c01", + "0xd6e2a8f3df290a204efcadd3a34bf57eea6a3980fbb68749029660e661282f2b", + "0xc538e4c7b704fa8c1c123f8baca05bca5fda28df7ad7fec099638a4a7dd4fd18", + "0x419823e612d6a0055fe460ec9593b4fc0298ea94e0ce838fb302ff1ae033bf40", + "0x304e214664a6703ad14fa493ed333cd12f6db8f4f6af1223bf00a348fa3223e0", + "0x4de744c5af198cf5a0048c4a3c9ba578ea3478deae31531b87eba2a0e65b6fe6", + "0x523694986a7277170342c7a53bb710b86a432b0a7a3d96e141fbbbc113ac2e88", + "0xb81dcd531f4ea6eca82860d7f45063ca7de742a2fb41d7b6c1d62202fc1af17c", + "0x205a95c1d7e7d2cd684bb666dbaebd2533f4af28837a6fd2f6a7d4aa68816dbc", + "0x7c48dd0273a7207ceb5a8a1e3b33352f6d438e2a7b45d4c082dd85135e21e5e3", + "0x0e3edf65e5a7502793a8f139a69f3946d567a959ec411088af96da979047675c", + "0xa0b8886550aad717f1b5d57519a4bd82bdfa30e3c8ba4ff81a64be341d828aee", + "0x399f2cd7012257b4991343f191aa688915b4375899ca9519630b5ec6c62a8b49", + "0x56068dc17a965fad007ec7f23dec7d396dff33b0a60c4e9b8d0f75fb26178f05", + "0xbb62f47822b394fa87d70cce239c9e57464157fe2012c2c37e8f6b69515d6112", + "0xd6a068fdc6d4cd90203209a07363ee1eba047703e50ce9b06dab471e0dd1a037", + "0xe5a62c74d81ad110ea0ec13847fe64e4c3e8e48b1eb053f1e381abc0caff7bad", + "0x8ca95a015ea27a649b0bee134eb170f01b5c03cc45a8bb2c40557c1598c3892a", + "0xb124e101738d541ac61b5666c0fa19375417d946a2344ca40baf308fe8449a98", + "0x1b9543937289ca48720675ffd354464fecacd8b251a3f267f42906b7188f184d", + "0x0b48dd3eec04741e0f78cf61937b2f263446d4ba269e8c7d4aff9c00a2fafced", + "0xf72ffe4699fea49e7e67f96fb5688247746c9bf25fb58e41f02b0dde4a8003f9", + "0x08328b322ac26a02e89401565b91a3dd9abee62fe991744e2ecb2458c6c26460", + "0xe9dc223fdf695c9b5480de56cc91fa640a4b73a8cfeff30ecf4db4d36727fe21", + "0xa83123655348b15b947d83c14a241d8e303242614b25c45044fd1a1ee28d928e", + "0x14ac46b1f556ab33fd4199e5a46e0584d00bbcb2592ebfd4d4f66efffe31bfa3", + "0x71ad4b7b5605aebe1059ee484b5ec791e9018b50f92ad2f8d4f3c1548a99411b", + "0xcdde5fea3fec154058e16f7ef877c70404b577cd74f98f7dc45600cb7b598b04", + "0x330f9d20ddac508dcf0e08a4c1eddb55cb5d7f645c13f50b3683a41bced9e244", + "0x76de024aee0b03e96765dc6d7c71acbf253e962b4f3892b94196487821381ade", + "0x1c37a50f5e3c774d9ea4438a629d497705c3bae728e8e89608ee68d7cd2b53b5", + "0xe16a37be64f82bfe54595c9c51625ce3b69413b70e0b119a04e79c5b8d593c22", + "0x525afdc902879df4c23b996f34a5387fac6e41300e1a7cc9e24c630a1a140653", + "0x845164906086e678bfdafbf4719cf8f80d988bca007aece4b031c3ca5df08db6", + "0xa4d4bca2c51e8118d16a4b8ed33d41a73c275bef73072a6674005b9ee7bbb793", + "0xd0759f637aab37f4981b927e688f3e51f17cf90660931ab8bdfa40363a6931df", + "0xf54986144fa83bc3953c4a1c91eebd6a4abb185ab7b188cf7492a7ca430b9130", + "0xa31de426ecf5f98c1381c844e2fb7c959ad8adac39484d71e3bd07d3b1094118", + "0xf64fb1f4de6f01317e242b1198802191a6cdd39e1580d356b9e5442adb69c8ab", + "0xb97a74c8e47d37b3ce7c12ba09b53811f23dcaf4a8d260dd370f45e9ccbacc3a", + "0xf118ce791474d987b9a8d3290be077e8316a6fa3bfcda3600e6c2698264db37b", + "0x547fe45b0ca517f898e6a5fd22929cf533911f505e15de083a5685c8eb1ccd0b", + "0xd74d307e3b5a166a64056f07eb85f60fda1d9c17368a96afc6f8141141f85c86", + "0xa315936672e2737800c6d51fc22b56d918126ec329fa7e1ba5e31af36ea4f87f", + "0xe928505d97d673588a68a08ba6e2a4bc25843592598988c1d168d5c938e230cd", + "0xa6bbd3b96bd66597eb68c4059203275421a529c61471a69cdc1d2d9211aee400", + "0xa46efc7ab47e7a0f57a54203a039a4339d992207b31bc707eac98ade8e8f6fab", + "0x46e903455140f009d1f7e9d224ede2e29d1fb3f72cebeb60dfa64ff059b7ff40", + "0x1eeba50e5530be85464456af3ea0ee38855276ba79bebfe305e49fdebd0dc97c", + "0x30e149bba2c3c0db9038c39871325392bcb41169106131469b6ea7994c5d8d03", + "0x9503edfe4cfb20c38ba2efef043ad824f2b17f39e2ace445fd9ce73caec93c75", + "0x608f294da5e0df707b97c4949b775f64ef76c055459c26b651010888cb888037", + "0x8eb5960dc8e49951c41505ce34160bbd588bceb74468a7dc0898c6744d75138a", + "0xb020dd8cccb6beff1e7d996a740b876609a55ce2041ec0e9f09f683bfb22466c", + "0x9e8333dc01746341ff7181ae95ddb75748cf3efbbed24f3b16885efd0aa19da3", + "0x2a97bcddd5f0a7245c520bbabd77e48432c39f3cb17a0241be9c62ab5d185a1a", + "0xa81cdce57af311f79ae16dfad6808b40e8ece16115978131dde0f3edb29aabfa", + "0x8f321249562fcb94c94a80679adf69aa701f0719515753932548a89a28cdc7da", + "0xda37eaec19bd44bb1892d12d842a77ab7dc5ea43ca0a1a92aaa3ffed0ba9d90a", + "0xab8c920add1f9e922890da5d92ff199b384a5f042f5eb4e3fbe565f5ca50ffa8", + "0x9f52ff4d39142c046effbe6e552500886200c9c3154dc68abe0f9e4bdfa9078d", + "0x1eebaf84ba1e6667e825716be63ddc71a963688f47227e0d17d78144c820e17d", + "0xd2c2c19eacb26695c89b51b75fd616de5c769d0c7169794057575e1dff3800f8", + "0xc5ad683c4beaeb409a68cbaf81532e4edce6f64b60853725e493ffdd93e69f7d", + "0x768303ceca362b8a3996a4823c4d64ea4a4ca5892e91ab0433f2917b96486806", + "0x88e25c3ba8ac976c0382344f4a8fa310bcfc7f51e09efab4faaf222cf6dc5d67", + "0xe05f9dc2db75ce9b0fb59cf1ce12581cd10910dc5b91d744791f564bbb87e176", + "0xd75fad017be9f908c431987b10f25526a9c9d346118901d7e0b84e74a44724ff", + "0x83cd50c6634e2edf21044fe789e82850667862be407faeaa90f9bc3b0c60f9ed", + "0xdf6b6b1134dbe14a48678610c630ba5927f3d75d45d01e56534204b87ed575e5", + "0x3e486fed8ba04ace837ba81d61086b3443ec22a803cffaca18e10e0e0f1cf679", + "0x6b7c8f5e560ce6b6eb94ff8e4f811b06f2ba91048ebc2440e25f2c44eff4e637", + "0xa7a92f9396380b5ce01e3666acf035dc80a297448e1b95530b9a8bd9eb19496b", + "0x7df4150c891991e89a5938c12bcb4e4ca1a3bb3ed17e1d14930e78a3b7287cd6", + "0x9cff0374f59c5c0a8b6b8db636387e0d032922e34049356ab00ffa3f2cac8f23", + "0x85a5ca8ea29b19babb6aa45861de2cd9e44e31ff13f7161ead44139e6b2de019", + "0xe418e0eba34f07d10ba270bf4316b78b15c49d2a920f3370b403dc584cf2bccf", + "0x8500b89c737ce038eb99a443d4ed6dd02e00ab06c836b8f03de3e713e485e99e", + "0x0f324429900c3bb11cf6a0c4099148af93d8953b748fa8974c7cc5d942f6f36d", + "0xaffe95fb50dab84128becf268413fbf2c8ccbc2fde2b6f6d8bdad23cc4ed9312", + "0xcb93bb3ee92074161da7d6345022f415accea11b20c412cbac48247c64d099ae", + "0xb5044dbe63680e5fb8479f899caf746b778524a6c6ef3f56614d3b9832cf0006", + "0x1d9eb2e2fd6d8c78a5a4125733cbe69ff25b95cba736f63627bfab166f736c18", + "0x4bcdb35310f9e23c6b952933f3adb4adcf6b43dd88dcbf80dc2d9ed4f8cea505", + "0xf934917c926b2c975bb0cf0ee0eec66727da942e06c65ecb1e168c015f957a65", + "0x7375ee9c763fddfbbf6fe47b1db34faded65f5123dd92ff469d03a41f1fc47d4", + "0x6b4e2a1c3ad70f07688662e228faa861496294b068e21f040edf90cf9d0230bf", + "0xa64458a7d295ff66658de59d0f166a55dec1f9e9e2be6fc2a8ecdcb77b72509f", + "0x4e50f8712edd21e913834cbf4f8d6baf9b371f0d4592a0c6a11f70a8e95ccd26", + "0xa132bb777e81aa07f8d5a6696e3ec6c800a1c0743a946618d04df4b0668f1c8f", + "0xa552543fb7ce61cdaba1d077338aa31a6b69cbc7e6af69cb5443e2d4e1393cf8", + "0x05c451fa47938025e4fb6835d09e9a92f2db33cc99e21b44b98a1f3b0c6071c5", + "0xac9628c769038d220a38801a43aa1449c24b2277df287b04ebbb4082d1763f7b", + "0x6d188b8c97ecb2e45ff51e573fedeb95083b40c8ae15042289753ae65caeb681", + "0x0de60d18d4f052a11a584be1c4595430ea8f5c943dea397da9af2d27518e2646", + "0x02c7e9849aeadc3011c2d36d4f645aa0d3f23a27d19a8b7eec61e2ee723dc675", + "0x2c974900dc848a8a0eea1e248aa0e2469037038bf9c0768e6e46d2781530ac4a", + "0xbb4b7b7d9ae81c7784f6a8e7c309f30a9794f0240562ab889d4113bb1e775697", + "0x463ece715ed0458cdd0f12cec6ab023fb3a3cbf6eda4b55f3b4115921d20df52", + "0xd535c260190be6f755d84d8812697c8ad8801533b939dc95e2072e2f39066564", + "0x7f3a0e061e646047bab6b8dfa88b092ab003c0e84240dd82f6e7d407bd5a3bd8", + "0xaf4803ac72aa8419999b383e5765544cd61b5ca0071f7dce952d7c24d89ff8af", + "0x1c53d5aa090bb88a8302fefb12080eba29c2f9f198b08b073587049159cf4245", + "0xf71ee084795fb52661d5cb7957c7e710e6171683aa691412d5c816a764f61f64", + "0x9eb207ab5d1bc7d1a44afcb2790f32d7c41f1c54a17b277dedcd8ba1e63eaac5", + "0x2ba6c0454e857b17903fbe79d6396a472216ddd825b81d70c696074291e71b1f", + "0x899f295af86c53f6c27e75e6cb98cf428a5da102be6dd8a8e2e59b446a086a18", + "0xcda6ada90684f614c967b6fa4c37e6159522e2dee2fc8663b6a8478be5238165", + "0xa59f5518f36b97d9fd077f736de67de7856d515f5146d5b1ab1b2a36112c6400", + "0xe7265df96658699ef8781fba631750ab18dc9d62c0b24820e0538809d046a2f9", + "0x4d9fe46ea3b33b6e73cddbadbf8bee4aa31aa830c4a1abbba4567f21f78a014f", + "0xf5d3147fbe7420f7c55f6b06e045ee7d2b2e0ac7f2040ebc8183ef24108ad70e", + "0xc8dfe6d026040fedb27da79dcf77aaf83fdb008792c6366256d5988e356eeb94", + "0xeca183cd9a46eddf04e02e0a82fa295b1f56322e5552a7c7f0aad090d209b9d5", + "0x8e26a0ad84d0c8b5e64b8a57eebf3bb86bdd02e24f24ac95c6222959638a3037", + "0x5b1cdf956d672b244ecc6bd5a828cec7b80867a4ea2a547cf7240e39793cb5c1", + "0x48c8d0fa40f9f6a49fc6378152972b85cb984ec221384484148231ef88cc3a97", + "0xccf14e2b03037c17bd6d47ba41460aa54c826e945c0132692d08140f156fd115", + "0x331791c82f8717e22f27aa77b7530acc83beaaf9536cc74ddb90533327c5072e", + "0x6c621acf6c972322182e5431049874a5e78bbaaf1a3f49219fae2c8425d6b5b1", + "0x5bd86b4984df838b2ced1dd0f3e37ae19d52ab1002a8bea859065f8cdaf6bc38", + "0x3143ad07e92a4b2a24b6482b5502ce98d50df46923ace4845ca35e0948090363", + "0x66e2d61040285db2e895e1aac42b69b41f556e6fa82116c1e84b49e67478abbe", + "0xe4f3a6c6761a3e17a5a978c69d0a6688439d4d6de3bbafd2b830b5066d809e0b", + "0x034280d368d7bcbe1f1cc63bd551c3ac2406f612f8f04801d24f98d89e75c444", + "0x2b9ed64e419ea19e5dea807dbfc08b8d21bc13903e8888aaa15741c6c0481440", + "0x72630a380871aa5ec67bd06bd672fb0128b95499582be5d34a4073645d15eb6f", + "0x9ee6618d35b3fffd4abeee984f1e9f3fbd200e5f60c562cb0ae3200b8963f522", + "0xbb40172754ef37505f4ce8077382eed0c45b0f96c882ac26b7d209b951d7cfd1", + "0x76e973e45252e97e2cb31bb8b79424e5391c3e76893cc7be0c1c1101bbafb57b", + "0xa4218614e301d35b94bc536160007b9b88acb5c9987a44a27c514f6456b28be6", + "0x0227fa09131444917185f2cc802ed389687a4f968f99bb221148ab7effd5fd5e", + "0x0a93fa4f9590996785fd599bf2669b290e8eca7f02ca06aee9582357293a8493", + "0xe1a277823bc99e602027fd18db67550f0d5e60045b94bd2655e49531bb152f0c", + "0xfe8ac01e4e478b4019dad76813449f8155de23b4ba2a6e2091f4c8ba82508bba", + "0xb194b4f530b832a2ecdc88c1bf40580474847b91c300751c810bc5cc408095fc", + "0xf1de598992e61dcc7bc9e1f1490d80d10024c6319954aadae6a4df4ac54ea564", + "0x38138e224065ad8ed4af813bcbb35535bea444f99613d686f0ef4ff00c5a3fe8", + "0x13e6a7016f28c856d777e1a7f54bce788a3e21b129cc1b57d8e5ec21e6522d3c", + "0x1c5d57d845f18557e61b1b3761d9452eb26aed8041a4a3073097259546e2045b", + "0x536848934654d65ec83f7cf9a0f69adec6ae974b8e5944127ca819a30a20b012", + "0x1653d5a4610454d67236e8049dcee0b1a531e25d5c7f0bbce913a6a524a60db6", + "0x7bb7bd63c5985b492c4897d59223335537ed0f8928c5c7383b5ca7a6fa3c3cb2", + "0xe4b8e08d3444b8e14e390e219684a6085fa335d11c1c77c530582e2c3c4c8e55", + "0x5fb6b09c1ac68c1ad0fd2041c27f1fad5a83906d4aea5af0f965cf36bc3cca3b", + "0x40034a02507258439d490a5a282956f9ae304b4ea4730ad6386005c767eab5cf", + "0xec6ae08d9c0033901514ef409a7cf68e1a682a202dc97c5c467259c7b6022e2b", + "0x9082855abacd99a2b634ad1f50d8517b0f1b091cf5c649ba377aa3ad2eccb65e", + "0xf76c0b9744305baeee70b1e274f7eaaf3670b2217fff6655bf69968b5acac517", + "0x917198a97cb8f704471f6500aef3e6f014b09e8da719ee03e87f45c95605f2ae", + "0xfe1a48d29d6ddaec284dc0bca96cc874ecefbbb91b74c8ea6030a9bf80470c73", + "0x9ba5c60cee1a7d901f9832e3024ceb9db24460c6636b98df81d008d1678073c7", + "0x7cba18b1ee4fb25f1536708ad3f4c95c43d60930f67dc2cfaaffaee2f91fe1d8", + "0xbd2b278edd0e75c6a39aa2f43b334d8cbb52900c152b2b8e3ccf7f27221c0643", + "0x65c3a4efdb5a189b46db8b8ab60968f6c16c1b56f9f2311b3380c275b7914383", + "0x45de07d3860d9be6f7b90dfa928cdf0da9592c2054b00b774ba7608f3d99324f", + "0x91a4389a9bd65f3dbaf092a5a49f0dc2333bc5ec7b59c3a48cffe97ba52213c0", + "0xff9342e526815c132251c3202d20acaf0012be44ac7c47f7640f27fb6f2d249a", + "0x48854fe3580cd19aee63f0eda576f1af518f3ebfa9f87d24da87a89ba227acad", + "0x8d292c2072d5ef4f3ab12cefaa60e9b54433a0eb7303ee253408c19394345a4f", + "0x48007c06be01f79cda41ea5791e3ef4bb4e946d7af262b52cc74eb3e20e98a1a", + "0x36a39e5a3035ed57c8227571b2d57317ace61cb9c66dddde57a566d34eb7d894", + "0xca4446f6cfc51f82ded4f4c798da29fde3a3bfa1f30de6cd721ab459e570dcb2", + "0x82812417102865e04fcad17c1682c7608cfcb855267b4ecb8c1e0666537e6a9f", + "0x81ef7d9794f8bec6b04ab899cdfbf3ff735eaad06610258ef7f90c77c83d5387", + "0x4810726311224ee42f1969465daac6f12516fcbbfb26e9febf221fd8d1cfb41d", + "0xb39a309cdf26f5f2011a83a0c1840b61cc5bebfda385a479a6a20d872bd082bc", + "0xe5002eba07d8b69ba9470514d286ab800d28b443531349d641d9df57c3cc1399", + "0x662dc062bcbcf4f45759c85e8a0ff833564beea1ff3894d7c5286133b3615a9a", + "0xb2cca2f7a62870673c70313efe23bfdb57ff9e6bfbb9e73948288fa15a8a2f49", + "0xd9e38758784261f67700452e23a59ab25cf22dcead205a50685d5cb03442c81b", + "0x039acba436cc8d99337c16969a076577a50d609cb2986f42702199e3c2dfd8e1", + "0x7141bec6010aa3d5ad1d543f91a8b10ba3bdab7625fec8a7d404238c09893e48", + "0xe0a2f776956dd92600ed94088b7da0aa416ee83cef35d37063d3df2d3442173c", + "0x7e099f882fa8909a3f67cd5950346a00a20bd0678e7ccfaa03395bbe1a7bdb6b", + "0xb52e8fb670f5386581c89d4b01b0bec691b9e828c9fd8916708287b6c1d49f26", + "0x16b599c31ea0a2c2c23e2845cea74c73fc892f16a2b34091ad9ffc5d03e7f609", + "0x4c04bcbce2e30cb9fa64e6c776c8be2a4cea04512c9d70e2a5d8a377aa77ba76", + "0xad1f20b7e161337e3d7aba00d9dc3585569cd8ca932329b3df13fe5f23574f70", + "0x2961a4a19bee2dee47d9eef2f875e03fb75bbfc30473604c902e76c76620507d", + "0x666c0d915622aba83912b23cf5e48ac57219a8e592f09f9e224af94ed35cac7a", + "0xfa6e99ccb3460635ebbb7ba53b332825f9d5185dd10bc1e2eff5fb6de4fba746", + "0xd3bc3b194941ea52e2b31ac5ea1c789233dea804e24c15000332d41f8bb4a8c6", + "0x07281b9f1ab9e962d46f05c76f29b4f4ff3db35baa777c37c5dac6cd33d49a90", + "0x5bf61ee56f75630605881d34c11fc029f7c2eb96dae86c7dde18af8e34aa6c77", + "0x972d651e4903b97eabbe5a58440bd248eb2ab16a536da686a707770b88612d00", + "0xc953d9cf8cd4a68d7a2d9dfdc3bdad8bd0d511f63cbb2144af7227ba49084a71", + "0x9a90ca2c4dad5386cd71110de906f6d96f80934661afba440ce194e44e5a6036", + "0x8dd2c27d9b327b1a6e2216f561c09c276c9db44c3a87e6f8fe381d7a906c9769", + "0x17362077544107f34233c1fad77f12c9140d0f0f0a5206dd887bb9cf627a20dd", + "0x52afd7ffe299cbfe5f418612ecf625ab1c6debcfebc6bad2569c3b83aa1f9f55", + "0x6597cfda3deb8371e447690b5f90df042b72095551d347eb77b2ee55868634bd", + "0x97a7278a76d38714f16a5b3bae0910b18d2851b2519ef5dff0a791f471cff90e", + "0x0f4124bc20c9553612a8e78b90c80c1341a3a290054c75326753be6a103dae22", + "0xa42039e0a42da736e91ffbea82e58beaef7fa7d88263764611b73ed4775e222f", + "0x13f6c5b099ba6a2ed4701a8b3edd76c2645b68d9c2cf9af924da39bbaa2c18c1", + "0x939ddea54fc48f8c8dcc1ca6c04ff2cd70fd8da9e93abd3ed062da56b75a1110", + "0x3e66eecafa70c79675f26d259fa6718c646ce3828e80652134b792f0366f0c68", + "0xcf507596184c9c4a14286412216f771f0495ea5780bc372d12ba6e8445c67d69", + "0xee64dc03e5fa815ea5e9e3e4d2c87126c8e4c0ff56f1152c349e3f9327fbd5f7", + "0x3b6ba90d23473ab15afa76d95b23b2a86309b0d6e2edd3492c374020e544c820", + "0x51ffa382078573a9bb41ad67b775074ae41f9968e2b38341ae9a64a9f1f74815", + "0x6c3a7ec03f93b7d4b73d8b194ab38a23b512a236731b5e54b8b5bcf44aa05608", + "0x0082c925bab49c6ab52f9b996986123039fec2cd6641dcae3e3ea7d60bd7a2e6", + "0x85185f7d346260f24bad3c767a04bfdfb3356f61138b9fbafd7af0f813e1ddc1", + "0xeb5a6ef56f2926a533d3858eee37cbfb5b37e8fb5bd181cf61448e36d8b48dce", + "0x700da1f1e9339d6d55c54c62cc5523c30901162216c2f182f5f2ea66dcaf9620", + "0x84161dc26196b99ceeea8d64f6ef3d127982b934f49678f6a512c07534e8ab54", + "0xca3f434ced785e9b5922b625e1d2457b156372e4917b9d6c8f4f6a995182a176", + "0xaf62ff81c29e9102077eae515015286765592d454c8e15b0a302adefe22e998b", + "0xafa0ed60bf7417e6f74fa7a9c10ab7c7b0b1e94b699569b0e3f70ab01b234ebe", + "0xd2cdc3211869e030c3e291f4fe2f163ef54b24d7ff0bb4489d73a5159ceb461c", + "0xd74c2a92d3c506bcbc11c1bec086cc419fec1d0bca34d50b74b28f89e86cf864", + "0xcc25ec627504ed9f00af661c72990a36a2f9ee4c4507e5fa4def89303456d7eb", + "0x8edd1c1dcd064b7c693c978152209761cd6c92e449e9444e9dee807fd9f9f420", + "0x660e691453e374d0a584b184a5fdb85894290e1ccc68964a8292db53ca096505", + "0x9cc340e9d997cc319fdf2e00c75d80b80953a90049af766b1a499846c5e08bc4", + "0x58e650852eda00e55bc2d9e024a49b3b7a5d6d5092d837407114120ff143b75f", + "0x5426eb6b6b8965e80dab787befc815c6c430e80231e91fee5511062bb21c3e4f", + "0x4bb9b4512664884f7b63bf27ecc75e0a69e32cf2b980a8b9135e410871ce45ae", + "0x22438f10926c874196f8c65e274d018960cedb55ca43787e18adcb54631df7ce", + "0x68aca6a2e6a51c8543939fd10be02784b1149923652da3f07f91999b75be995a", + "0x12a77edd8cc051f6f991cd3912f5f4afa1e797f5daf010ab17b3925220b12e88", + "0x0d3b929dc2733de2865dab86cf42684e8430c2ed47d19606637f932caf8d2d13", + "0x69f8d5c233a251c35851354b8546d89c7c54012736440c8965c256cc9db7dce7", + "0x6757e97aa449d7878cbbddeec490fd0636b2c51d5b00bb61eb4836685d005d2e", + "0xe1029b22f6ded11ab5ce46aa2594ca90006a04e8848f4152fc40c27735217ac3", + "0xadc4af259ba86cfc93384f3c0eea61a4b661f015209064254bc6ecbcfdb74f5e", + "0x02ff4bd0ca8008db90a121deab0c36e45bfc7acdaccaeae04acf3aaf51716607", + "0x9df6ebb38ba3e1d0a3a82f871bacaf81152bce32265c0eaebd9d9e6026665b43", + "0xc25503a6058ef394c48d1153ee2e70a3d8e86e0a46b29ddd0217906d694a71d8", + "0x83698b68d762e75476caa87411797ebc0050f9296ec35664bcfd3aeffd01d8c6", + "0xb185832a5b8fb209b9a6772673cebb3dcdf3d915886282d6adc47376a48fb578", + "0x32ec2d0710f9681d75819f1e2c28e135b3272dbf1da08e4d64ab2e6ae1064cbc", + "0x13c8aa9abf04b6ec2553b171b58356a1c256563406ced1ff3c84a3ffdfb5c1d9", + "0x80aaed5609e1b594b3c54403ce9977dc558ad292ec472ac73c8d7f39243e116b", + "0x8cbee772d46586087fbbc9b4fe2f54ce2405d2483572bda3c2314e79ca0d8deb", + "0xfbfe6a938e7bb9b05d889f8182e8963344df0ac7b9022302b451b036da261f9b", + "0x39131379b64eb550fa0a2574d504bf7de0219d50e6d55cc82998ac8d2684df84", + "0x5fefe2fe1d509eae61cab218f1bd03196b1e631f5c416e5f2c0e9e54a3d44d98", + "0x5839c1c6580a4c04aa09dfde45ce4616b6f30d1ee794dd12fc745b96b2d48c84", + "0xa75d2328c4e63acdda579000e6df9be72d9348c2001e1927264b1a8c303fd292", + "0x7331a0cbfdfdc200cbbd1723bcad1f1ca6e0591c1ee025bf1842d91e4625c8c8", + "0xe9153c020aedc51102bb9b22a2493db4616364fce9b61681287dabeee881130a", + "0x53b7aad781bea92a14b670dfbf5acd8a55d2721a6146f099b904bbc176771b91", + "0x0de55190007ddb76fcb57cebee9b1ec60d52d150ac83beb66b088a86a234f9d9", + "0xc703435d06a2e1c5e52789daa3587b920cc2aeed658907bb7d6442693c65902d", + "0x6d21f9a28fd36d865af468e2c06ef5f41167f3014251a53aa1d2ea55896ca1e5", + "0x6b24cd5b8a48fd9dbe7e8ea6c492b57f3146009daaa108ae5d1199261cfc3914", + "0x40e49643d669f497785df1e601cb1bedc24ca348f86354d4032b1d4a4c6776b1", + "0xc56f0ff0aa22fa1e19d8785aac33805f7a7a01b48e953ebb126a4728cf502518", + "0xdce90cab31ee9f5a345d03464c69cc5dba71ee601bc22ccc8aae1eb442f3b29d", + "0xa551b514490e45b6669024b539f7bb37e6883ec97ff79744cf1f1c2ba1d21ec7", + "0xbadc6d33cd58aaeabb8b62396e102cdcb6b1ce9dbbf7051f937a890a3f69c2c6", + "0xe544b08143014287bb8d917f66e8f22f2a6deaf6ad4a3996426e2186b8bb56e0", + "0x6ed9b64beac26a5fbbd15c09c7eff96652b710670c2ce52a6856cd998521a27c", + "0x48c14f31b1fcbe0deb7816771f962cacbb7c2c219518f3ce52661a89e9928228", + "0x425fc1308118e8ade59df07136948a210786f8b2b6b0e51ea01ab06653822693", + "0xee9b2ef0dc1dd873a3ccdd77046969a4ae938e5ff39695b891c85921883c3277", + "0x25066a1abffdd64dab20529436c3d9a44e6e837d70b19847e355f63b5140c5c1", + "0x7441baf6efba832751b31b93c9b000d8bf552d0328415937d0a3c78595961ee0", + "0xd9219e7f07c0808d2596cb57e26793c1162ea9efe58305e3a26da6fdd57091cf", + "0x1b42d745a54c5e3c48a4911a27c263bbe42c8f038c826975749c1619c2e21cc9", + "0xc5abf3dcbcee854b06836237de3a461d86a8b76e8081926ca3078531e25556f4", + "0x7eafa90a352f95c8eaa914cfba0aa90db5ab1275d966da5fa445d9dd6ac6e0e3", + "0x4230ac1a58e4d9903022416041d5119991f911b41702d43c1caf0723cccb1d05", + "0xd50f2cae10a5cb3084c9f5ed1f9acfce8fdf3d920d89ef41165aa2522b97582a", + "0x6eabcebb9040f7d6791a0a560b987288d8246db9140b5f188c34a6be7fa17552", + "0xbbcb3c36f228d2589cd7097111ecd708e419bbe034ee6d9aa691d483590750d3", + "0x72eded80c21baaefddc61ecb70ab76cfc68ec8509b4f8786fcf25d037d75385f", + "0x2a01f9310e3116bf3527cf90de19bdc78d9cc677ef5c9bba94f3ec321d700a7f", + "0xfa401d300fed7092c91232a2bd8b0173ddb62b12e8e96a5076172abcd44ef858", + "0x984001b77e32ee2ac8d5678f77e6c425e6ab9fb2ea3f4978b6594b4499f893aa", + "0xfce80ebf8039984ced85b45b5ee5c240df0a6aab809d6bc0974a5b1007c77d4f", + "0x0a964a69795de761278c68843100ee547edea07d790d2efe64d975b65d415159", + "0x5ab1dee36283fc991e00fb52079c232f2d9bfa97377addd05c50fb06a09c11ab", + "0x47676449956192bbed4235f3162d06ba3095aecb9f57d9c8a273052278582fc2", + "0x4e43d79f07711fd4d4a8dfc576f08d954b5d6829dbbb59ae4386b34221472966", + "0x8f5cce2a573190694302db226a2b22a89f4487a4f509ec1a759646d0d5face7b", + "0xe10a0419bb270359d2c190014afc1fe52f8df9454f7a8e0fe205309e5a3b33e7", + "0x4626c976a572110230c540dcedce33a5bbb97919867aaf0520128ceec2e9d8f3", + "0x057b497c49e4b2ba614280de64dd91118172ae4b4646c3031a93fce200c8a234", + "0x8350ba4e211602c38812276000b1caec40dc4376176afcac43eaa96d7af30d1f", + "0x9e93fd7b9b9ca98f26945dd5716ee2a6274f8586d14f05854a0f7f25c80541ce", + "0x9f11403407548c359164f3f93265f12ee390ff3b3631ec7b90b98922dfda2343", + "0x714cca7ddeaeaf302fc0ebf50fd072c89f063061ea329e67c809d62ea9f5fed2", + "0x9c088fa9b25f7a5ca635db39b3c95da6859a5941eb1ae3e4f4717013fe740cba", + "0x634542af50119e4adb4d72bec5d0e3b095df21e76865f683346e1bd544922f69", + "0x2a1fdccea29581063da7db3f2aeca7087ec646b11f1d47e6d48d1dea0122fdb6", + "0x156e283ab987a5da12710b459097b5fe3d79db296551fa289632c0d3f9b33ba8", + "0x3eaa070ffd835043d4b2b25d5e7280f030c615b2bbdcaf3ee12a2b2b4c620747", + "0x863d5bddbffaa9f0ef9f696ac5a7f91191b5cb52383e1d0c0e0d5a60332c8728", + "0x4e29095ca17d15099abb1c6c1eb43cdd6dfed160a7d11731f4d1115beaacc7b1", + "0xa46f6ce03354ca96ddfbfa9e1406dc7ab99b0b4ff1ca5e0346f3ce91338bafa7", + "0x9f19f494df488b250ba31e243c9098fbb7db5801a3f76b219d866bec32d009d5", + "0x763dfe2f87eb816d1bad1ba95448619041cdb3cfb1171063c043d1e02d9f6ca6", + "0xf8ed4dc0fc0c03b964eede54ede5e96a940cc85e1ef2191c11465f2f1e3f6f0d", + "0x04f0d8ff18d26b490f137f23144c1ca0e475e74a7f1599fd2f6a4972a3d1c215", + "0x012ead673926ef6b3d2cbc5332a7bbe5dac977ada6065313e90975360dfaff3e", + "0x773ccf0a297a22c43b29f1bad214ac9e3685a5d0bf1df7d49fd4b92065ee7b04", + "0x10b7f56b8cc84f4be7533ec00ae46c7ba852f8d093c889b7edd46d36c819abae", + "0xd70605a437bfc6a4cc3468f0eb6d59b293d4ebbcd7979eda36f02baa48e68d25", + "0x68a93b7685277a1ca51a341517d10ec1f03c3018dc4d99da00624d4eeb3db229", + "0xef8aef04d3b7771e8519952b4e067503abe6b2698411299edbe7dc22a79c39b7", + "0x8e72feb3f31eb9f13645a089efd4eaf6871bec26a9ee91452db0464a7e6bc5e6", + "0x3189fb0be615c0f2e2758400050e2657e3197546a15039e595b091cefc9e0d7b", + "0xfe444b821fdfb12248cbf371192783e4e0ea0a938f5ac7b205e15cac991b6c98", + "0x0329c441b6c6c56d76de552ad43596760d37262011d97bd91e595dd559e53de2", + "0xbecff3658ca19ed610e826a68621e7b5cf2ece293ff13fe3f0c57c3390954af8", + "0x695b87703e7299f3e862740bbf47ebf026e5330171509fa0927c361935ff612b", + "0xf90373fabdb83b403f67cc50d79aa37fc26d73ce8fda798e96c4a4b17440e2cc", + "0x536eee69a1cf54af816f4eb5d08ccaacfbbaaa165451d0a5e8b93b2e872c59ec", + "0x17b56635255ddc2278cbb7e7139cf7a8f6e2e55581c451cf53b5b53aa89f985b", + "0xb4a14da295a0cc51076c48032fc1cdbaefff2380a428eb03f6b068aee99a8fcf", + "0xd3cb3797197a398711299f816f34b7c98aafc8a845298287b4522cb0fd645b01", + "0x55aea7b1fd7bf0864b577e38a89c153ae8653da26c72f53a05d164b9da327a67", + "0xd4eb63ebc06549dd7419012d4bae13890716430efb843175a9270a6c517ea612", + "0x6958093bd81e477479a53443b0c95c11d8791b282d028bd9a6204af0c1f738f4", + "0x505f55a445b93a2ba8d5ac5531370e2bf760db44509f15d2f243175b12a7016c", + "0x4608a060b7bf832310eb73a157d285ad824b07d78bb471ea89ebf421d735d566", + "0x68c88d220d8ac23e19459d650594dde939aedcd75325ca2314b7a9419b938c37", + "0x891a1154ddc1e3239b1100840e1303e0627a53ad501996e56891839b54becc93", + "0x8b943abf7a572dd64da3c4e58c1f34f6f7a905fe7ce652a044ab8983ac45fced", + "0x06b07efee0be55002f485ec0526336fec4a7f825ff7eda3f954e8cc7068207f8", + "0xcafe52ca4b5198fb4e4e24f4c04ad12eb8c9f3ebf9a35ebc0014e25dd7bf5970", + "0xe0ed792746b780ba8e19ebedfd3922ca937fd5b8c28b03e0fb91789cedc0fafa", + "0xfd7ea98fb764223ca3c587820eda0a0d68301979313ea9cf0113508a05fba7d6", + "0xa874e6edabaf6da36996b6387bda14d12c3eafa026b1ca6ad5f1f4cae67855ac", + "0x29d7c85005517eaf1165be4921deea5afdae1f66b670d7de0981c4e502acbf1d", + "0x949318f8059937f207ea564672c86943c2c9bb86ca81a3b0a9523e7bee00a5b5", + "0x200dc199c37d16b25e207165c5576596266ce8b62aa8a9c6cd66d69d52c1a67d", + "0xd29108a106a8a5a87b5282467a0e8d37f74c2ae53e6dc11ad63005f3f3f878c4", + "0x44ebfaad5b4ce81fda3d4194c87b46e9e31fbdbf0ad28fe00cffa73f78d3957b", + "0x6843e2f6d3d56b55251ef7ceeb635226940dfdd698215f5d5a4c3e88ede5c0a4", + "0xb84d57422889adc19626aad033b38b6968aafbf4c6d0881a0ef5fb5932c6ab44", + "0x842626b82b93a54a3a1765ef6257a0c74e1ad2981d8da41fd8305adbac99bc76", + "0xeb347385fa0bb37b8d5d17ab60e6c2ed4bfd19210503d61beb88b71d8bf9adda", + "0x509a54bd689b7011504e835081bb9d3cbddd8592ad80da399689bc9172b48a27", + "0xafc5c51176c7222097b12310a3ee5513a7660491682ff1fcae5d168d2c19c3aa", + "0x406e9fa3f6687fa6519067e213377a5ff7875f6f0a3080880536ed395555ad30", + "0x2624c181d4ee1775bf687b522a36a7b9bb754ff6e40ef12363c7d675b60f3d04", + "0xd5c32eb980158772133a99d0af96e056726ed89be84289cb5fc1d083d48cc407", + "0x7b1c5cfee09aba12ae0742d9bc1cc2630bf8c1e141033b18724a524c2c1b7c2c", + "0x77b4b55b236cb7d27c77063a280eabbeba0d7171759fbf851f40b6ddbf7171df", + "0xa04791b79cad41718cd8a0bf604b0e956aa85230381070f842667d88760c0de7", + "0xb1558e574944d9e8910da9c34ed51d89caabbf6541f077a55ef2ae3c513a1e02", + "0x3ef8620edf05514c4e90c1eeb0a896ef30573f963a7507ee90eb76e4334412b3", + "0xfff99365402379af3e56fc9b999d316cea7a1f388623433cbcfef0ddcb6f9d4a", + "0x99fca466439472d08ea602bafc67d1d097e486b5e41b5a059818021f612e889e", + "0x094436d10026f1c57f04846690a0444646b762eef1fc0420c6e3f5cf5b845e14", + "0xc57923978a9dffe0812618f2f6420f30ee927658f9f1615ef7cad4519b90eda1", + "0x3a20d5e138cac29e3fa031847086bc62e5f90a5e363a70fd52e2602545faf9ec", + "0xf3b0bd1d597eb2b6ad98fbdcec7dec2639b92bc83c33db4fced5d23e6ddb64a2", + "0x0d5bbdf1dc7d52fddbb3e81e2d757b848f9e79b6847ee8d30352d4b01ba927f2", + "0xf8f51ff9cfdf6b2ad5609a68433c012c92cabeb3053335d784b1baac087516b8", + "0x5777236f251506c22a92f371e4ad3c78bedae22c4527ed5e796727512bc2b8e6", + "0x228bea6da7246c2dc862d9de97bbf824df6396cec583a4db71667306c5f6a02b", + "0x67ccfda86cfccbb139d77d8d2acf0d4bd980b507acd9bfdda6b5af6e10493df7", + "0xfd8f9ab200dd111c04803f62145fd82e6a79221776904be20a90c1c6328cfdaf", + "0xcd8ce973cbfa8a91a55ec09ac9acad4cfdd050b598349b996d252ecb3935d277", + "0xfe8067acaad74db589275d3122d84f04f717cfda870d444872824300ea10f969", + "0x4112ee457d4108c37121ef4ff0ceb1a4c7db3a9e3776d647225bf0838153356a", + "0xadb045193cb85002f2868c1ffd672bb93e60ed2841ad368bc8399e92c996229e", + "0x4243b3645b99ab1468bc421309220529d8ab204542c6901ce618ceb32b93becc", + "0x434e3c4da46b052402d465220e27d0e243bb5b116967d4baffc9325e326c9900", + "0xceeadbd91caca5832cace1624baa5f67b0d18f725627702cbd7e19ae3c691712", + "0xac54af2cdd95c862b3d9115c9550231f75ca8d6f6e607038850892daf1dd6643", + "0xc4ff21314ba2cac393c67982362a39b7ec96192fe37c316bdd4cbc692f729ffd", + "0xc84746b891e6dd8aac32b2ed0b373172df4ef375afe7e4ab826532b6b3fa9680", + "0x0b0e01ec97c12e488829d13dc1fd420c08475dc95d1fcd72c066d76220af055f", + "0xf0b54fcb4a3e075f391bfe937dd6b4f7481877182ddd4413e8b70efc63aa7f40", + "0x1a78c5cca33184c9e404a05f61cc56968b924d9d34b7ca6d573563eb250fc691", + "0x37ca206f795c02f45abc34380d67b15aa48122444fc444d4b307ab2f7f30a9e1", + "0xe03c444efd29f8d7c89b480ffbcb996a642ac6205ae43bdbb815ba1968051e36", + "0x2fcaf6ef7c22cebd36ccfdb037e66d9113d0965f3b5b89d597d91b490019471f", + "0x11a06d63b3395d09a048aee4d4291c0a6ab2d5f07a7667362890ce647153c2d2", + "0xc33a74c178ef5460b53a9a81aee02d3b42612acea7adb853ef74cd6b65f36efe", + "0xcce38b309fd919a930d38c7c7a7bc828e5039c22a7f3f858fd99c5d44b8cdb2d", + "0xc470e1078c305a5eaf7311d7ff652e24c9dbed83c3572a1c2ec7f6fce5788b0b", + "0xa29b6d0bf49a64182aebecc190a9a0b06931096d9984e7e6da9800ce17f7cea9", + "0xab0821217488504e1c255343939d109353c79298b04c69ff65152dd0e934022f", + "0x40c7bf4dd5a2d39c0dff9fb3bec5c8247093cc1bd55a8087d83f5fa7c8a35b31", + "0x3387ef8b199a2656c39407d503b9bd1571714e178d1dc7b1a74bc43cf88ca201", + "0xa5b2b8b2d708d97666281684641b611efc792f7c0cb27e053eb06752661b35f3", + "0xb604a4b7c3661098d4644239295cb9f6e456854651a5b289a2f4b65e33964232", + "0x4bf93500c257f054e6a6f993f344917215c9c943589644474f5cf98950b8fa46", + "0xa9ae0b7679a65498eeb2b460fe678c3452043bafc344eeb393ff1d930dd8751c", + "0xf21e50f55d7be256d14dba4f8909879cdaa3926b03da9ffa0c63ec3c9df34c48", + "0x88e1e824c968441ebf88b31f7a24fa5cd4e8985ec82fce5eeb13b3a30845e146", + "0x85d5206b3136bee840dbbf8d3d2302694dca2d5397aadcc34e1c1d6accac0354", + "0x00f68e845a2331a0704037d75361831d5a0079af3c6186ecaf256bf1da923c27", + "0x64c594c02b35bd5f69beb236ccc08140838c30b67a1576d2780123e29e073849", + "0x93f6540af637f1a630a8aaeaa86d046e09348320ca5103ebe2222f747a5acfc6", + "0xf9b4b9461b765b449191c7ee1acaad88d4dd7260e2b826c75d506a908fe71e6b", + "0x86aff1c986fbad8da2ca9de6315222459e9c47c58fd7f1a543e6719c566af5e3", + "0x68629388371ceb2a08bf7e335cde88a1bad7127990b44135058d62dfac258107", + "0x9b81d6745d5ab0a3459d26b97ab8f19fb38bd38c758a0ef106a025d091f6f9ba", + "0x2b42455bb30c387315cdf205a8a178ae4bd2d2e221fbfe4be55f5b364fe9a7bb", + "0x555e4dafa7d5d3f209d70a5c954da144ef231638f4a63715152bbfa4fbf82b4c", + "0x5d779a8f08d68794723fb5e95bafd7004685ec21d2cbae0e5ea728b36418dc36", + "0x7e5163ea9b1c0494aa997997422b02404a13b690257757f87f69bb42f81ba28e", + "0x3814efbbbfd4001641da7d5c93483f96467d55aa8b5b2aa6f980bb12a0dab6cc", + "0x431b7452a8157e3a6cf89a5a85d22127a1282877750519a8cf95e172c654c3cc", + "0x77ad2749e61c96fa868c7764ea626baef8a1bba56d3a3106e981869f9736ca76", + "0x7c069d14a86017ac36cb9007fc9bfe75ca92cd2522dcfd7bbf9d85c5133ed8c4", + "0x21dd48139667872fa67c98430f68e8d38c2948f19fff534ab2a5b8e0b92a4d51", + "0xcbc2dad5151367e6533963061712ee325f08e7df3cc7fa73eb5220cb32a2ec4b", + "0x398fa6f8d2b76d482a0c312bbf48ba8dbe9fb8ae06245da60ac68ce50f42638c", + "0x4ca92096314fe1d2d8e07aae3df39a6237e718c1396e88f3c0b73fb3124c89b6", + "0x3ae030ef952e2da7b29aacb08fc41776a44fa5a6c42e745d8b7991ff82566730", + "0xb4ef4b02dc130cea24a71a6053639238db2db30d4752dd3fcab1d98442fc3f94", + "0xa6256dc24acc6de428f47aab0b65a1f36855c7f0834a3e730d10a3c0c8d2bc49", + "0x9d8c8bfedbcf9552ba9eaa08a61846c52e240ceff531e7b19415ca148781ebcf", + "0xc6737357b53db7d2a14d7e7d4130fe6a516fce1dd0c7716be6137d93e21ceae3", + "0xafa9d3182fe6246f6c8d7b96852bc5dc200e8c3a97ce7d262a18c2fdaf5bf2b7", + "0x8064a1ee1eb4ddbf301fc983a03fa2983bc3743602bbb96d7fa6ef85780ba79b", + "0xc4616fb2fd5381efb37719cd9998c5051966b254abbdbe12228b2210c6f79116", + "0x05c30fff77a3d751853e3ae4c11678755c0afea16480a94bd99d61ac894300e6", + "0x47757d0104771c7e288f383bbbab1eeca2fc752d11989674305898e047a71bae", + "0xcc0f857a7617c16da7d35363cfc0af0ecccd9b1870ffdf1a2b2e2224ef81f876", + "0xab3a1b65f93df60eaff5df9e0bc1d91152d34d3428961c207f36ac3a94f61257", + "0xd0cd178507f1c3bdcfb7b528933f2d6227933bee2614636f3add19a66cc089e0", + "0x6379b65e140eed64020f496a95c36b3c27ea10387f78e0faccc5b4018f8f73fe", + "0x3b6977a571ac8d59bde2e851fec4384fea35a8d3905735fc8b8f2a8cfa6adcbe", + "0x2f193712529ecc908ee0a61172ec7839a9168cb424d8f108e7d7cc356bf20cf6", + "0xfa3e48832d13748aba9128bf6bfc76652cac371e49945fc33c941a9b294f7033", + "0x7086c7711a91271d7e38998715b4a142d7ec107accecf29f4518efe9f3333c4e", + "0x05c126586f4a2c1dc5814d07f158513d42282726918f71bcd1b4e0b67ee944b6", + "0xb7cc1efbf6880a60abe6b20f80bfe2ff3aa59de805ad964f8a7c5ed3bcefdcc9", + "0x64189964cba347ac35018ed9169ae64b78c3d0430145017cce83d78667b648d6", + "0xf6b1d09181b9fd18a0efa47c15631a6aa0eb01613a5fd1068834c4079e1a95e3", + "0xe760b5c16aaf587bee263f348f9adff4e04628b94ef27c828cc7155ebd3ac902", + "0x523a2c0fae8b2408ffe1c3b43e0aa7991b82336ed136e84c3f7d458d31143fe3", + "0xcc6d742b22b4fe3f41cf783a2f6f8dfc97a4b33866cd4bdfb27b05bc2ed39162", + "0x4d4ae86d282ec414a574370458c99e189062a3a48dc59a8e8e2a44790ce9b841", + "0x6fcba6a9469de1db92468f2b58b3b82c5080698aca4403ba8ecd1cfebd12b657", + "0xe7b584b0bcca0a5a119c8b2cddcc7a73c94f6f6a58503ddba7b0335815302f11", + "0xb1edda9625ea65b96a4485e10c798c707f6926e4ac2b51340a6f9d212a71a737", + "0xd8e2a94d4c0937a2033dc3b70b50934cb5b2ab54f57336cd6a8882af9f14b8cd", + "0x93ec08aaf09bd453c2b53cc7d9aff059681e0c23044f99569d0ea649cc7b885c", + "0x8ea82c1ca6be16616b62a8dbd88c75217470092063e0494419a6a926279230c1", + "0x175d030004e718f39b3986daa3beaf2e1a523583e529d6e90d117cbc844c647c", + "0x34cfcabda8b4f51cce74befb08f6a2e9ce884175f33fab59f26c60085ea73a92", + "0xd0570fbc17dc030bf6e7e3619d56ad2e866868939e4e5b23258adb191997b4f1", + "0x83245688ccb6e6f1b541930a3134d3141ef01a5f9b3f55f0321039b9d4a3cc1a", + "0xd782158768560d84ebc21d8e4f270f30055203b2d83c46ccf53ff8890e833fad", + "0xdaf31d5afb20a502b28329ecf1aadfdd16b4fd9118b10f9bebfe6f986a902dc1", + "0x0e24b26cdfc345d98a6d6dc3f4e3aa2629aab6fb2ca3820a78d58b10b09deb72", + "0x895f7a9b16ef1d1933c009b38a35a41632d00735a906b035f7fbdcaff1665295", + "0x70ee8681968778cb7da20dd794b75f08eda6b4b6e4aa653464436ff3685c6186", + "0x569f51cf2b92bde98085c2c167b773fbb9917a35844059696a1a97e378b5b577", + "0x4ee20277fbe5d2e616dc0b170e40d5b62cd8dd9f058c648e8e0d636316be7e00", + "0x1224d7eb3ae847458af472b19d3b0ddb90ce822f3389619487e68f3ce08cf6d7", + "0x57fb6d2ad5a75648449c99a46d92570b1dd74757dc1c0c11fe4923748eeb1711", + "0xa4ebbd26ed7dce135ce61bea0da82b8262d4a5319a7ab9c94527a7c670752b67", + "0x1533f0c29bd8a7b8d90c4c0755fc0b018439291566dc33bc816c8ca21269c63c", + "0x9cb5a5d41061a2168c0a8175d2712cd82d27cc777a015158c2fab0751e192d25", + "0x479f0a41aa04509beacb2eace213d9375393f583d384dd4e69b5b921c681c845", + "0x5791638640c821778349fc3064f6c5215f973f2b4f098ab38fc2138f6a8700b4", + "0xaeb1dc9ba82aa0c9ef266d1beaeeb5c756fb497607ee680c0a161b89cec21d26", + "0xb13f56956bc48a6b0760639488463cf403ed47f6d94c7b6e5a6de1d3d35800c8", + "0xfeccfb58d300594be16cbc9b5502ce851de36e15d62164317ef6e3dd9d72015f", + "0x3b218812b3219e243f99c6d23f24ba2b70e91b6a1e9bd27a5d3c83622c176b2e", + "0xfc8f86579345c5fba8e86d1263b3e9d01dafacd0c7347fff348c9a661925180d", + "0x50c6d100a8c0977d24c78bb58021df17c880a36f1ed118a0806d1aab347e3b42", + "0xd18166f82e90410a556744042badaebf3282c65d3c1fd81cf7e599695436b2d6", + "0x8f47f418fa13eee50b9a97781a02cc6a8b6818389f1b1f9b94aac17897ef1bb4", + "0xa4b3f32d84a547f66ca91ec35deacb2d5cb4da741059c01419b60b8d526d8a15", + "0x3187128246074cff2e8c0928dfc6b29294b0ad3f2ab839e7ba6d0b72f4f078ea", + "0x213988ced1828cfe0021da680b166b7d830b66a795613953589604d09b58bd5e", + "0x343c1581b9d75f1f72a787a29dba31a73384364672f0a06ec6d675bbc5b81beb", + "0x59a9da5a92994baba7e27688505df673c7131f4de43e6d174389124463eaa0b9", + "0x15c6b483253806002ed293f89d86d66314e55fdc32633f3e15dbd73dacdbde1b", + "0x01c22d029f765b941eb772991d3ef50458319d49ecd1e237ae0d61a05b7ff0cc", + "0x62f5ede9e4ac720b4fb34c239953b3289cb77e4e7bfb5268925727f5d21f0c75", + "0xe330297f6aceac790b3f4741efcaa4e58fbe1c61dd52c1d9bf99220803132553", + "0x47073de2812458f45fb789cb1a6d57f9ae772a38deb7dfd4c8c21c383cae3cb4", + "0x9e5dfc6bfe32b5f56c9799aad47fe1a01746fc9edc5d8583dbd1c0a1f7f81246", + "0x1d9a6fd76fc6a6f359fd917582f6a1af617b0b21984fe7038c323802660fe1fd", + "0x6f50b828af00200b81d65e14f07f8c34a5d485056b017146699fb8ac4ebc39ea", + "0xa8b15957d1dea63b64c56d3e40dffcbeacc5c9b8e35d27cd66f61f5c293def93", + "0x0ec32ee93cc52258a0de9eb53f48132b7101abd3de242b9319e791bc4205f57d", + "0x4405dae679f464fda0959884464e47f7d21e21d69288b66c35878560deefd6b6", + "0x1e490b1858da4d82632f376234e04ef4cae529c3307f3dcc5f5b893e38a418b6", + "0x4683e9dde5e2d66da4c288452eb653e2e6ee3a611f36cf2c80e5870c187c28e4", + "0xa657cd63ffa0cc282221e70ee3dc8a7f2e9eed9b8544f25467208b1954bc1f4b", + "0xd8ce555f85b979a26f207bc1e86d1463ab77f8c7e5f5b3c7db6d79785e388662", + "0xf604274a19dbc99c4c079ac4caed9fafd49c123226c3c223a53aff7f7b253b9c", + "0x4edf0d0aa873fedea6dbe3ad1dfa8a2b5e312e2c2b51c464c9af60a5a5c588c3", + "0x5ee990ce5c4e5eda4d80885409624af7b8075bf7349f386a40e03ae64b578707", + "0x3d34e4bb3284428153db9216319a83c3940ee95d0a47d963dd079a46d14ca105", + "0x7503687ea102d05d92bbcd2397eaa1edb42f757a0ceffd3abc871d2d895214db", + "0x7e7201b9fc6176b6ef993dea53732f335efb98abfa3d92462231bb6a5186bf16", + "0x1ab3a0afd0338ee34e047c60cb2c766521b3085658ae2e019c0688c2397bcfc8", + "0x68b5df43d045043400e3583c4ed125ef0df6f1617e30693525f68fede915349b", + "0x201fe9c6fe4cefb948972c644fb9d67634e30529589b4de597f9335bbd6dc8ba", + "0xdc09d73232f082162df780069a77f180bb30d8b736457b0c746c3e0a29d7dbf6", + "0x7c33f90910049812c0a87aa8321c97320ca8953f654f8ff7b6e3982b13e2cc32", + "0x5658b211c7a5a9d8d66be179b8d6039c6fcb5b5c9d232d4655e536e21fade31e", + "0xebfa63617d9055c50466157b9d8d0c16ae58f02df12f4e23f4bc09304701391e", + "0xb29f737d036e5d7164786e62b14d1f9c427792fc4faba265efc59360129aeba9", + "0xa1271a340258127b442c103959fd8d5f6369487c16575d90f9f1267fc3f78456", + "0x1d5e62fc56da958eaced4c2e6a58ad4acd3e978eeeb0f417e4a4078c6014a8de", + "0x4357d167c61da7d4d0b3f1646508a859d8270842cbf1f1f9f082d8f713da3904", + "0xd9556c35934ffc3ad2970a448d8caacc43e452b509f2cce4cf755b19d888b674", + "0x248efe4782d57127bdeb94420062b742031a4bd51c41d36375a9671b279b1e09", + "0x94d06fff869c9923ce5f524c3ccff9d9609b0b36562f47c65c7f8568d3f9207f", + "0xdea7e81ac2b15c4b145dfe132a1dd41300fae3a86eee16f936f46df16f33c686", + "0x733fb7f221502d0f10a13a5ab0473d50746afc5ed442dd69b4f9378abd304e87", + "0xc680bee47e540c3d706cf461399fcc1d7a6749b4b9f6808afa099c52d28cc6b1", + "0xadf685a187510063c7cf4b3ef6ae478705af7b4dd6c3c4080239ddcb6b069b3c", + "0x4ec68b78bfaa971ad03296b71dca45e36852f04f0cf6d0e8ea681c4d32ef6d64", + "0x407017242e04da4a1d4b16d59c59526a172e18d1d7abd4a343ac28ac883298b1", + "0xc92af4b5d045a6b02f2df7cf5a23173d969c447d7c006457a5be7f0251446488", + "0xfb8367fe9396d369332684b2fa3fad1603c7b572dbc00377bfcef0021192a52f", + "0x1d73c88199bc153c932ba313175344b436b28e5e0b39c3353d076c7e26fe843d", + "0x253fc1aca7544fb93d493684be03d3667628b5a0f3f516d7981e3a01e6656440", + "0xb8fb006c1de093ae15658b7be4b6625d5c6d14a5c4dd2623ac9a31e2479d32dc", + "0xb46abb8860cdd8ae411231d897af8269057060cb43880e52e63254f698af82e2", + "0xefb736142ceab502aeccd9df17018719d1004b554154edc5ac62ec45830a0d30", + "0xd9ce776c58f4e1eaf1ca20f61232d3063e98fee3ba0b078e5ba34736a16a7e35", + "0xb63a06ab391813bcf830a53febcf9553f292e097f127ab610745742f12ff7a02", + "0x225004609e0edef06ede2d08f490ef3616b1c5976027dd03f329605bfbf8a916", + "0x748f462a0fceb4743d8b03de6ecad430fbf35d957483b04e04609e9527fa37bf", + "0xf13227684614cb92591a4c0381ebb87b0e52bd21cfa265b501e231d8c3a0e504", + "0xdb56e9aa8ede4b7b042f32190ea90757dd9268457d43231d1a384bc6da5d6396", + "0xb4880cd0f5e5ef6e30e5c015fad427e418ae0efc70d084b7b6d342e1cb71ed2b", + "0x8a59bdfc0413acf03c39f473bd09b34223b109556c4e0fe976a30bdb1b944c52", + "0xfc2f062e32c3fce97a5f3922d3bb5c0842ea02a71775d6852e256ed0143ccb51", + "0xdc3ba03348f62599f9928101c65a8f13e2eabc09a377ed461636e48cc9e0a5a7", + "0xc5b2ac69eb80b3f2ee751ad4aa8e2eb2cc939e81586088986cf9d6e420330de4", + "0xd6d389727a18def7ce0bcaf65417e3d7543b1381b1b49c6f128f3e13f7d3eb74", + "0x02f48b5d43397b1f22bc7617ffd4d93254744b7fb872c051ef8a02698ebddc5e", + "0x90f674e478cf1dd60cccaa750363efe18cb4ed54415db0ea917a09d3d78a1778", + "0x98bc38a5b90450f89255564e3fb825c53d5fcb5eb9dfd9c07485ed6c42aa3f87", + "0x5b70c7cd74a8a92567686c5785657688f3f864b10d2ed8d9f21f004af2d0a3c5", + "0xb153280a3c86e119b7a03dfc4c8cedf79bdd41ee6128b3f5fda20cc83daa39a6", + "0xea4c28d38762dafc3c6716a760883e33666560cd05173d3844e7e280a6d8188a", + "0x8b498049e107092deee810a68bf8914e00d6759a7e62c8d6fda1c5b1531ff72d", + "0xcbcba70e0a5bb3ddb84e1b115432f025a71f2824061cceba494cb917c689f452", + "0x5906b23bc6b56c4e91706c5204d8873d17252c0291585fe4cad030ab6171e710", + "0xce634ca362c4acf53cf9fc68f0e7c8b199b7f3a1f5a2f9cc1c58a31f9650bea8", + "0x840f429289a783b9b4f8e0f575d1bbf0d2f4b00e09ca6dc83abd17d9718ad688", + "0xace326fc69d8ff3746bfede0d167206d3df6093315f3e3cfca8d41a857c20b52", + "0x905d81ceddb8f4301e62a871e29f1f08769336d7c0b94821b12668354af31fa9", + "0x8decc0ea30a4102baac7ccb3e50e15d50102f05f4a3102ee01a0a275d2c51ccd", + "0x56b67da5e38cfc995831754a64f0ce636f060d51c11b746aefac13638bafddb4", + "0x6672660064846341aa343879a40c5b29f10ebd8120c59bc76af66bd86b96cdf1", + "0x3600a734f1b1df6fe6dfd1cf49d8072bab86717bc5f2d276668c1a482e62acce", + "0x28e4ff2dbfe40b374a103ef1bb9e577c0f2cf1186ba3db324286ec490fd02fab", + "0xcc814edcf5ea3fa138fa7d5e387747334c3ad2095ff08465d7e533250430e25a", + "0x1aa1447a8db11875dc7ff7aa49d6927bc31f3b63cd88d2d937f53b1d85e448ac", + "0xa78c6871cc93ff6db876cff3755a59f8fac71e06c89ffc1200de6da08f56dfb5", + "0xf3c259454de9dd21788084bcbcf1cf0953bf7710bd797295fdfecfebd584d4bb", + "0xf86c0f1dbfb94dbce7368211fd3b19875fc831a422989340bce63102a2af3ac6", + "0xbd192dc3426a9b2fa33e2808a258e9bc27e1f14906b9ba9ec973ce604d9ea8ff", + "0xabd37b505d353f7042ef2ea28168f9d6be1a229bcd5ecdd4d69a96663a169446", + "0xf0f05dba6971b57e32e017285fecd48094e6044584889690dd6e0d70c62c3f67", + "0x15a8053e0694262c4954d8110c505ca101898fb5a5814ae8bcd35b8f24d6f90c", + "0x3f8c3d5b5a03f514d0b2f79fcdf7ea58eca2f85651932220362ec9ab50448aac", + "0xdadb41f6e17beff092dbb9a6dd57d3d0951a188fd041f60e455d63755134fc48", + "0x4017f006a6eec8c71840f7051e91dbcb6b18e52fa43529df1121980670f77350", + "0x358dee5f49761fbfe7e6694144a2de8e33614669da6b773fbfa2e330668f4e90", + "0x080216884b389a463ab63c12640f82f442fca56803b2bd7be45ed789db6c7371", + "0x5eb35f253d864713fbe058df986d8af27badce432ebfda59810f096b4e5126d2", + "0xa18c044fdebbe991e181140df95076de9cc5a70c2656ae99ef68e3c1532d7a14", + "0x69af193591c3eb53b00e9fadb149172df458a9e99f403352fcf866bf1456c6b7", + "0xf3a769187ea83cb9d2a96293ec8c9f2074e8231356d3cabe7669aba13f9509f9", + "0x5f26f2aab6b2a0b0f64312d243b7e3dc80621e134fe08f8189b135cfe7d9b2bc", + "0xd3edb5f8556c1a4983450a7d5ecc26a3dbdd332882dd63822e7c8cfb3712b828", + "0x6fd2e87efa3e7d4fb943852a358a515037af5c5eb9da73c3e3dbceb63106d2db", + "0xe574ee1110f966de904fb61d82995be95f3092511eee8195150099cf69fc7129", + "0x6d9c9b7b400d1f5c07aab8f4d23233d26e19feca2279f814729f122c01189c03", + "0xf0756f64317e10b276c71a678b5b62ca94e354c9b8d1ed7019a022be23fa6645", + "0x106402792c6b9f57f4b471736376a153d12ebab21e4bf034b6732324a1fa4561", + "0x33f10f38b702a617e0598cb20bd5df0067ac5ff155cd6b445f1abe46ee3d625f", + "0xffbfbf3aba272f7b978c9815e9e17972786c24fdee8f9167a47e85e9be60a613", + "0x9ed9567c8720d1450b2b0e45195c5a836484a18746e5d5a0bcbffe0b511ad075", + "0xa6ca434a876c017f522aa24937cd4dc1534da3fab47ec57e22ea7d2ad555fb60", + "0x2aec2650b00fa5886b61b1d7c4390dd4e5fd39097e9ed5b1714b741c7b0d4cff", + "0x0cab7259658221598aa39b98d9bd40e18c777ac3b11f6bc7799615c99858efd1", + "0xd76a13ba9212ef2ba4374b265d0405e41ef7016cd14197a2f7a9071e6d4e0a5c", + "0x2802a2d30f42fcb2c953ac6a83212c23711988998eb7f537f9807751b42652bd", + "0xb971ad9aee88adae769dad238a7044c996ee35596cc1b2a7f6e876eaeb4aa80c", + "0x524520c4c947c57827359ffc5a23c4926262c002e6c92d024ea7926a7e0a8fd6", + "0x0de58ec745307c9a36d5f3e97108f666ac58d86b85ce31e73b69579e913d300c", + "0xc0cd603660568434bfa04f6a06342e5fd78c6d916fb8dd77dbfe060cbaf02aef", + "0xde928fdfb8515d944a26630fdafeaf4b3a17dc40b08418097a465fc2009c2938", + "0x11dcbdd72f1b46be2a24dfa6a3cbd8024b6e05f8fe5cacb35618429d9918dec6", + "0xbac41ac48726fc1708a5fff1a06e674a64b8c3a906ec9beb7ff9a444903798c6", + "0x16142a81797daae5fa1914a473f0b89465b0078c5c042f6e1accab6d3ea77376", + "0x6535db5ab7dadf1187ab7c6f0e0a56fdb47a6e6c8f45627ab993b88eb09e7d1d", + "0xa476955c4d2810e17add2ac9604869e9067998fdce26685fd6cf422f861687dd", + "0x4b2ad0b366c96bdba812d3dad76f432dce8f0e8be1943ed92ee4478e9496d8a3", + "0x74bf0384fd4b8afa1bbc0fb0cb6543442a6bb041911a817b55bfa60fb9039733", + "0x5c3da2ac9d4284456d13270fe7d160178cdf61be8bbcbe8a8536da815ee70107", + "0x62da3f7efe7d1de45be7d134d290f9b3dd50e45e751290d870a4b232496ee71d", + "0xd130203c98355022ffd5389a6e84cdd8fa0c570ac887d80ccff892c168a49c4b", + "0xfe129ea286e85269736b508aca4471e643c4d84864809d031dffd660243e2f4d", + "0x69a60dbee253142008ed0cbde35b425e4a2d07545571d2646a5d2a03f36cbf51", + "0x1e2355fe638bd71688579e07145f147384ae18220c8324f95c54ba994b033cde", + "0x391020697dd4cf20f8afb4b76b25f2e08b5f77be696c2406ee45d0d8499adcfd", + "0xbac11283e3e355ef3466ca3dc7d604ca002e26a98b76caf134ea86efb1523eeb", + "0x328b03bf254908db475888105015b638e7b16a4743bb235b85b160e430feee28", + "0xe9450fb3b361bac3eefe1cbe97a096218c40ccf4530a669ff9e10207c69b26ff", + "0xa574c9dc2d563152d012a1931352ec3b9116f949197efad0868a53fe79a2afc9", + "0x629d3aa0c10926f4bf5d250b44fa6959e534444d9f0e8fcf5b206a78ab5974db", + "0xe1e7bfc1e38f36cc8a094038ffa44ad0ff7432c508516e7a8b3520d71714c608", + "0x13ac2b375558ac0582ec61c4edfbdaebb268efb3dd736b6483530db77b266c2a", + "0xa2ec61b999d453a53aa33105a90d310a5afd6f9df76966c53fe524100515da05", + "0xac58616f19436e53d5eed7b50162713711a3f9a76266ede35da4411008de1b4b", + "0xbe8d7a38169e1a92a1ffa712af5173d5cc18948a477a4db917a7f8cd7013d6de", + "0xfc6997785c292450bdc3dfcf9d0609efaa2eb780a6cb33fbc911efc18325c1bc", + "0xb0d71a0c1c3b2f1a746f8cb70fcb99695950ea488216f83854cb267f88c993bc", + "0xa41cb69cbb562b104aefb77c9f0b0b2a7b43b92c7e1bb40c6e781f3667e78c3a", + "0xc3dbaa1d46c2bfadf7b69d5930e00b3d2ee2f0e459310eb9414be6e7d8fdfbf2", + "0xabf64b834999a679f71fa66acc622afa69a45bdf0befe5c8e0224ee12cd3214d", + "0xf788f916838793b4efc5cc80d9f29f717b9a84e877773dd4791fd6a0c1cdfc56", + "0x289de39a57b30662c600ef8056dd354c67722e1fe198ec2bb749c2af77a27643", + "0x580829bdf1584a58d7da444d360dd552818dd1cfd5f7ff4323d21a0c13506b5f", + "0xba51c5ed86b5303e52a3b618f78614bc1640b1b145e87fe625b51ed80d31017a", + "0xeef60ce9f49954e62854e938873e556386b5045a57980bab45e6fbe6a6e9c657", + "0x655bfa2d02761722b8792ee69367dbf3103d16ed0d07f7f8ff6725dcb8f2d955", + "0xc7a54faf2898c69f76123fe1910bef9be9ecd77509ac74714218c9bb8b4204f0", + "0xf59ca122bb48dc6c0c577b04449bb64d7a1ff5661a016bf50e32005f3295b223", + "0xd96401f3f5031c1aceb13d9a3a0525b5bcb7afe47424a5b76e8381732e789a4d", + "0xc74fb4d8533d438c78710932c95500923716fdfa6625154320625465ee32f07d", + "0x63ba1efd6ee8de3b07dd2863eda5d46070f7eb02d35cf670f7b132e16a958bcb", + "0x61eea2352d91b206a674c4c2af59d8a2a0fa70479d77447e3ee9b7db85d353a8", + "0x04b60e8ed3b12a7fab29bb6a74ab7c9a33d403662c47e72227e7eab515f33618", + "0x9c229a533ba459b852dbce6d96bb72c03f9829b9a984119cc4e1c852992bd2f9", + "0x54695b023a34947fae5230256ba2b0905d3e28a28f02c2764f70495d71441a63", + "0x2c47d3759d9df5b9330e6836835939107269d70a7d465be651a3845e4a1903e1", + "0x5fb3708137f2cd39aefe87c67a6c4f9cb60a9945cfb769ea71d0dbb7f3ee8cba", + "0xacba51629f86d56e806aac1561bec11a697a05f6dd182ebdaa906ff77aee7abc", + "0x30ef858593f9a35889c8c036eda78d012e298cde4a3e7e603282b7f8130a4595", + "0x1c11971b18e9c870e513d099e5a49615e409a255725a61083001313a1d929658", + "0x9c6e3731ca9cee43af8c299c02eb49760141e74e1f781d1ba49b6815565f3ce4", + "0xb59c0d2e7c5ca751b9abf8b7740d8d5c8a6fb1799dd1d5a5e9f0ba75769fb2a0", + "0xafbe8a18d07a30f3ecdb907eb4cc05fdd8df2f9e4e91e61f88ab87dbcca25249", + "0x5233d2380755af7c385b5b50d79c5cd9b1255f0145a36245cc6dab7a86c0cbce", + "0x54520d2d08116f06e38d1a316e7e4080f3bd8c4e52b06f3ec20c3a5327f88adc", + "0xd36158eb493e04911fe79cdf4c48dd43a42aa3a23568c7a6b06afafd3ceb51fa", + "0x88a509ee3b2bcebe15ede2063f8fc9a04fe103a84551f279b6ce8d4d36d3b259", + "0xb1b80927c19a8cd540d126e07c52aec2206eaa37a13f2ab4726649d34357879e", + "0x83b1534ad48437dfc54412e49357b13528f0f80dcc32555a2b6f2391cedecbd9", + "0x13d00415b9888e8f64bd3110b04bd47125a96abfe52e0b6ec004c96e142eca1c", + "0x9e3b31cc2715b383eac51b52a3d912e22d3c1f23fa883028ace6a1e80b1c02c1", + "0xcbd325f1c10db1289d1c46feadabc59b24ffbeefbc4f242cecc3dc0dbe5c2e8d", + "0x7627582f663394f8284a6636bf024683547863409f38cb6ec4f67224eaeaa2b4", + "0xa4a44ba1e2badbb513cdd55fafbe2f5741caf2132dd46c602172711c110e41bd", + "0xc7612fd67e5d4bfcd14eb631181977f5b6737855721aa42bf4e9252dec190a53", + "0xbe3030a24be5db7244f04c43dbf419db3c7fde7e7a2f87951cc74df9b88a4071", + "0xab77045cc03cfb77d55f118f15b3416f8f118327e78ae4cc8a074b3c8550f992", + "0x0fccd266f83598b42b88c40c54670e3f2ab3a4c8bbcc0b4effec5ba92e0f26e1", + "0x5285dfd8a25356ebc198835359f53cb86608d1058a90b20980748eaf5efa2ac7", + "0x182bd336222d0cfa5fa9a0d8f4ca769e2d45829af50bc3a454193628e073b44c", + "0xf1a20eabf959a3c1135943378f31a69c049529785e0556a45450174237d8a2ff", + "0x69387452eb76800b6cb66231cf58dc180bae7aed04ab182dcc3845cb1abfee73", + "0x5136ee55850f0aacbc26fe7bcb58a74ea738ae6edc56bdced078297e8ae44087", + "0x37eb930540d64aaf250e003ad0c2274cd047eae6c28bb861bd880cb53aa972e1", + "0x82d64719d65ec1c1dcb0d269222b1acfe77326ee7d901c8bbc542b7696d98de0", + "0xfbbef382c42f25021b7b5787fe6ee0feb1e589310c615cf26642ae507f2e8e07", + "0xa2da021c8e8ac265fd7c181ca94b372375b3c297aab51811494c07a96536d4e1", + "0x7ca0d6023b41793f7a4dad7aa65428e43332f9fe40efb62c1e74253bf64a28f2", + "0xfbe923af0120629c5dc3c118350d1ae310844e0df4cb8ed48decd520fa7b38bc", + "0x3c7efb35e8c27c90cfc06a18160b34b772a5818cb79a1bf62b107ce93cdee33c", + "0xf59c8f80367b98738620c50a44cad556d73ce17a5cc1f403528d72a52fde5375", + "0x7173aafc1f35fc4eaaabb61d26f908a8d0d834252b951f5607a8cda0c97cd79d", + "0x7ccf293b0d2ab799ce9fc487187d61eef099801d8731fa21300bc1b166c11788", + "0x6ed0dde1a0e7bb58435bb525d897d1a9abaf03f235cceee32f3987e1863d94a5", + "0x5a5d21f5ae95355ccf41cbaad953150d3f1231de6df6650cc712cc57f77fb7d5", + "0x7731f59f98388e028b194d16478c9315050555889c30242a836e84e5f27aff60", + "0xfa682bb7f35f7a75c9490c074b1ef4c99afc50f1e32d829c057c765deb899638", + "0x10403d6937901a289c468f7eedfd69d38fea6c6b468f63bd7cb17cd8db4a22d6", + "0xc5ede1b02d3841558bd8ab6f51e14f5a4e6b00daa31f982874f0bad7132465a6", + "0xbf01b8033add1db5cd02633cf114492800816bf01ad4c7e060ae4c9ffe92c13c", + "0x72d22a8029386eb9c26dc3277e08676609385cc2f9addd4095fc1de0ca6bbb17", + "0xbb77dd7851cc4cc50551914a62c71f8b8e2ad7fcb700469a6b893810b7d71a69", + "0x6ffbe73f30d4dc914a859911afea236c9540920e5fc6ea35a5b15baced0c8d7b", + "0x2d06f3ac10ce2d780f52e9f8dcfeed80bed8c4fb628e8169290bf35b59fce156", + "0x1f6c2f6010356f6a37b0217433d7a1f5a2e0cf51c41b6ae6de4afb236fe4b5eb", + "0x011c13ffb7e71e32bbd4517b994856f6d21b7ecf43d117b8642cfaac37b9a8d7", + "0xe2613913bc4cd8dc69550d32163b251cb1e6ab37d65eb71b3aacd05713158157", + "0x54247c638b2b1fe4efaeb4eb101d5177c84c975c759ddb1ac20207341818c6f1", + "0x34fa5ed94aec05a24c812403ad050ccc96d7a052b0d9509cbbdf83503589e3f1", + "0xd4c86048683eecb1e595cf76988e76be819488421c56b96a6dd4641efddf4de3", + "0x541b476f9a0273fba6340f7185c2ce43333de04bdf3c1a7ed022edf4372b2d0d", + "0x65319f2394a1b531beb788f72246a6035539816c618867b0e1d0fa3baf318d38", + "0xcc6b6ebd1eb606210f5d03e191f303c1c4a438b9fd7b81f61c38da76a6bf9fe2", + "0x66c0dd3e062f95edbf9b26189a302e46ceb5cfedbbd50e43139bdbcfe9fa2b54", + "0x728f5ccd05bef6a64b639ff86642f71078719f442915496c430dcd17b437139e", + "0x85a856f40e911384e7a7a42fc5d9197e063bbb890a81382b4ca6ce2e78af2c77", + "0xc80aed20cda1826d775271f2160b6040682095e51d7deaad7405a2f1c801f980", + "0x95576e4497c07a1738d07bd468e65d251f9876c957d7efab7ab7ed0a6eb2c9b4", + "0xc30785c899138565d799884aa7bc486f1a803901b6b8b8b66eb6d97ca597d8bf", + "0x3990fd6682fee93631fa80ce6cfc68fa57e25850860d4d982d0945f72ad37f38", + "0xa136539e69b53ffb451c817c40776af735c95f3392d24d906b22c0e6c6114be5", + "0x8fdb4d50398d776ef876ce77547d4d9e1a4609be5432121ca1dba983ba07a28c", + "0xc7a547ac0db666820263a76b9f9adac876b972b22d6c8bac407ad6fa5c839987", + "0x87aa61ed60484044960beec4d9c45c9112e6e4a70cfec894d5a9f93f94060acb", + "0x50b05f8c5a72944787041204b8a8acb39faf179838116e04ee7bad4d6f21d4c6", + "0x8b90f04539dfb2aec48e0f7a47a1ec601af5414f3284074911eca3a3afc36e3b", + "0x3f9b8f28853028fbd3cb0bebf22a723907600bc2c616ac5251fff33b2df5e9b9", + "0xcd7153ad8c35638d23fb26282ab9361361fd23385ebb9693d8d628a75aec6c07", + "0x370788f25ab289cbd7f9a4b238bd35efb41917b771d8d59493a05aa7bcb3fa4d", + "0x942223044ff0bb9ae56f259006787e5ae6f21f46a3a2bf11c0e977fa60b50b7e", + "0x7dc0e910fa0a6d722dc78f17644842792e619d7e7c044ad47a5fa32583686e9a", + "0x669d80d664251cffc5c7289ae2195a0cbc6fcc732c2af1bf429a4aa98c889520", + "0xd6d24bd4d8a639ac36b14c6d8599ee8ef5d84ab71dd7e6ab829b730d930ce924", + "0xba692b11b9febad8099415d1c0761f2a339328e598d9e04533103afac8c04dbe", + "0x8e9f7d1c6c2674b3139ff88faffe8339e45d72212234b4531654accd66ee3d4e", + "0x2589b94b36fec67b5862871758f86c2773a963197b0d7ba9984427da3b4d6042", + "0xb7d1c1c35718c23dd4498571bb0f4727f3ebb0e1cd02d8094f4713fc0e858894", + "0xe222068e575041014f38e20a85ef1e989e9bb05279281c59569a627769b9d7f8", + "0xb0746c8dbf22e4fcf025fe5383fba7865fd02f79a4403d89753052bb9118e3ed", + "0xbccfcf626a8e36b6eecbadad1870358088b3e584ce79741bf5167380e97f5e9c", + "0x6215dd20373041734291e4dcac34b207235a5d19c3bd24359168d75778b6dd5d", + "0x025f64d258d97752e9b648e956d114c8defccb80c8810113a3522a77ef3f7d35", + "0xc00ffb03dc524d1ea1984eecfb8d26d860791cdde35c8b262faab927891e3fef", + "0x4ec39fa070e38fb24c41af52ae2ac640a859c61c96661d24e53c817228863abb", + "0x7d943dbec346b6bf55c226cae23ee23086185d9377fad511103bfdda3d677ddb", + "0xbfb16c7a87172cc804008bced344dd6c1105a7f0e925f3b7335b6b4d7c8def25", + "0x359acc4a540fb3b54fe22d81f1e3c1b969a99129e130e9e4e24481d024cc81fd", + "0x33091ed3e9f0e50c8c9aa100d9615e8523d594a99095e83863a58cf54332edc6", + "0x5eeb88207a02fe01699c8796b66ad3a0827432559690bf42e76ce1c7f23c0b30", + "0xf5a521239d0f969c8b5c372b84f739af314645de36efd1190f92973c0a2f9098", + "0x1a634f2d829a24589a25a01a22b139b8342c7aad990a14b5e30715d2a83074ce", + "0xc5f62552f5e25ce475af7eea51eba85991c59b73da75eaaccc3e5571b58a6372", + "0x9fb29bce2aff82c7d3eceb134cb1d5c6e6b309b8a9be5d239e6c6dbe231fca32", + "0xac3e3a2edae826437228f39859aea596a84253070a5e442e04adfd5504b9a108", + "0x717d4b6b147ee5eb42baed2a926241dbaed7e6426aae40972488c08430659d20", + "0xe18c4e7cec87f2e53f1e10683835563bb05e182596fd5252017efdf7d29411cd", + "0x6ddc0db9f04fe0b7f8417507afe16b59479303b5473563723b390149a5f09b2c", + "0xfbb88e97efd86e451817b13e55fe3d310edcb302607127808ffb350799631ccf", + "0x5f61ece4f330c3eb3647d2cf9ceb4f3cf238a324bfff628257ac4aa1de7f1663", + "0xa2a3bd77e36c3ede311ef3fe330e4a2b22dd41313ff4ff6347f629777a88377e", + "0xbed3c97e0d2dc6e56006bcbdeb007c8b63e060d80f46b691d38485b03c17c791", + "0xa4e4b8d8922741c5a767d9c4dd71f9d850231d298a5b5ae741397fd065600a52", + "0x0f49e95e5812f573c00dcab19683c391996beacf61442e52a9c240f08f8ab92c", + "0x3701c4ca890dba3cd43fa3b506cb3d9ce540e87c493c6cb9e80bfe05ec5cd255", + "0x785e2c2e4652a9dbc413c4b7bd54dc8c103f6c933eb9ec41ca44e609cf7e0bd5", + "0x7859e4bfa55b11274bb0e91f608c6d840b7de4385ce8158cc08b38449a61213f", + "0x64221410a8e57fa61ee9d1ea1b5ac161face63a493dc7b0da0f398c0d18b6174", + "0xabeeb213fab38140a8e66b41664626f3ffd831b91e83f3cb7d4f2f09a0b73e5a", + "0x8bc1b2eebc3481e54df34a5f0229a54264ac518dd36f994bbd162442fe1190c4", + "0xeb0753b5fe8706efe7224f354cd92381960212ce4d448d3ba554450a66bb5e7c", + "0x30f73d3082f6ce7f9ece8dc9d6c78610babeb05854415279d615eb24d0d10962", + "0x4bdbb7c38040b9f623b67409d8890070fd5d6f89f023556f2bbee1f40f55056c", + "0x18ff647cfbae0ee093bf85bbbe218802afecd7f45bde5dc29c0c76420311f5de", + "0xdf91143a55752eec775c6c02464a781e16c8e93a4270ebe1bf2127658adeb5a4", + "0x64ba37e403fe57a42440bd2fddc1e301297846f69df5990c2d664d3734f902c2", + "0x2f70192df5b8359e851856351ebe2b0888b1c51ce802766f16ea2cf8b723004d", + "0xa5ebf72bbf06ea040306715900f6bd06564887b52e4692333f880e38acc40b0e", + "0x3b86d989319b0c910e74a79b2177efa068d8601b9889b5e3d17d57c59c6a2238", + "0x1e416fb3c47d77206efcabafdfd3fbd0919e7e6d158ccfddf1d0a2a7cff6a37c", + "0x3db2b1eb730ce08d44e27585207b39d5f8dffe7425949fce9e6e1a4f296c6e75", + "0xf703aca3c59fb4e102018a6b156a83af6c93baaa96c54d9a44485a5b90ff6679", + "0xa103f504db51472ce4d6735684bbf46259e04224d42fbbb87548eeb01aabcaec", + "0x282e099b561c70a9a1a3ff6a4518970deac9a096563e15c01151c0c37f78f737", + "0x87bf6fc28f774c2f6bc83f32751e0d509a2e009e2e3dcbce44db2697dab33520", + "0x97d109285466d0d40ed47f6e1c8e11259e69b90b02731a4c25efff829e9c7e71", + "0x18232c1bca21707fe7b74896e3b1568f88094adcc51b4ad9a29a4c76ca33063f", + "0xc230723357dbd10e7e57ab187d1a1f72a27a53c45b650020cffe672fa8e156ca", + "0x6984c028091bbcf3e40bdb8da39d81d2c9f8a73801276ce3644fcf57cfd3e8d0", + "0x8b66e1d6d3d60f03098f29d9f9857a29ae48a5a34d43786a8fe64e6227ee2da6", + "0x353c9a58633a1fc28b5acf9a0f40e69fdd48252c689a9b8db7610c3d003d5441", + "0x1e020c7d1997e15baddb02742e8846228e4eecb6bb1beafc81a759b95783e238", + "0x50e9738978bafa44eff6b9ad9d344efdf40f7ace0dcb146e2c758cb7b3ca05e7", + "0xec6ca85b0c27f1735eb0822dfe5a0d4e642776e2945a9a22e104b9caed098f11", + "0x94f749840d03dfc1d1cc7f31070a1019cceb1eb36a09f520129457057885fb48", + "0xd29d8d19a1dceb08208369498527ccb0fd4aae41077d4c01c715e6989d5f828e", + "0x40b5cc4710284f1175ce67c1a0f134288428d8ea28f64f41fd061a3a4b139242", + "0x7ea68209ad947c37eb3ff8c779ba7f5f3efaad2d61edca2ae5efef666d7c1f5c", + "0x0af74db9e9195f27f1a04acc3150d6d6200a5f50be63a6dc2fa9acb953759517", + "0xd7a6b221519266e935b12a864c84c6d7daf4e4c8c812a93515ea8325e94f2644", + "0x041fd7dff3672a07a2922226bb0526daf0817fcc61cbde7fd3e1f8efa8dd6c76", + "0x79fe74fe4e56514072881413ba7157cc125051476d42fc9361a58021268ff0d0", + "0x01cfb41ca5887931cb98c347c25d6c03eb5e992fd661085307245dc77cfccc42", + "0xa1e93426afb5ef56a564ebfacfc52149e293c25dd36dcc2319d1ee50057eba41", + "0x6a8e8e62cd387ea56c621a5e085daaeb51003e86fc3c252d115ad417e2e79242", + "0x18e5d5dad6f00c36be4ea9c7898645611887a3c3310b97363699178136989527", + "0x6701bc914e70bced06487f22a16792fe3dff4f1fd15ab87ad42dc91de3cc951e", + "0x75161e0ea68a78e4377837bab6162f1b6d53cc5dd76c423acba9bde4f3ff356e", + "0x9d9ea2b7caf0b67dd97b62f0e25d172f78c984baf97ae3851e52e26c5af87770", + "0x4257fe5a910db425844b2edc8badb4977c819a3c40e356d260b93fd2f9170bc3", + "0xf2c878a894811bd844c30441bf38cfe79f3ede5b0574721f32a24755c40aeaaf", + "0xd45e12f2f3a025090fa81bd95e555c8787c26849410f96aa172d3dd153b40a67", + "0x6204243276bb752e5e2d77fc43cf7c5cc92078c283c4d489b7310ea2753ed71e", + "0x806a0a9e0f4e744b02b5091f72f57377a4d7bbbb27829789070967d35fbee325", + "0x13489b922a69fe05869130674253f90b4f883b199f01cd03c85df0a000e1717f", + "0x4fa87d7ead2b1789c72908523c5aa6ef83b7d9559f5c5edb506b4c2f681b617c", + "0x4bad3e31f50fd2dc570c31bd547d278b92e5c93a7d971c38035c09ec5a1dad84", + "0xa0f547806d376b76b33266d94e7d2ef86584a234b540e74f79756e0331405c61", + "0x4bab9342aed359dbce241e580b46043b160a01e44eb62bc29ee5ac413b8a7ad8", + "0xc7ff1b8f8557acccfaf4dd37d13a12e3f9d0e3612398c3d8b1d675467fca56de", + "0xb412685d085b0d52c72ca3d9987cc188f930f759022f060d5f2f368e77a7767e", + "0x0775a447ddac0050f5cb29e08fca1e7d016b42c882ee15bfbae3de5dd99b6705", + "0x1d33342e6115ca2919ad6d31fcea9f4a9fda5dfadfdb4e206e464ac44e59e178", + "0x26dd97156aa189d9f3c799e943f50ad13c2d0cc8018b054af65eb37f5caa76c1", + "0xc4daf50db81c04055bfeba3534a48af718695e2789aead7c3fea58b064bc86d7", + "0x87e2b037cdf4370ece9a2e4a54329d3e1be0b910af6da8c3850ac75d6ba34920", + "0x1b8fd79a76b40690a3bd1bde5cd3b68b36148eb951f45b798958777527a876d4", + "0x63ef67d88acd91fa005706dc9912991ecaa81cc7334ec367340a2c12147cbfad", + "0xe20cf7a6540722b3062b9f49dde601f210aa8cddb5b5ea65eb7bf44f53ce9d5c", + "0x05b5daade0670fddf401298414b70656294b8c5d3203ef7e21536ab2696195c0", + "0x678791e0898a0fd0dff39cdf16d298162200ab1d93beb96ecbf9e9a664362b9c", + "0x77698208c576cf9f2696280872c6f2938595ae522b37c2b8dc5b60b83ce7a9cc", + "0xe9453e5ae3e39110b65b03dca160f930f39e933ecca604f7b1d9db0f3d4e3915", + "0xf3d84caea9ee5dffd395c7da7131456174cba99f905eb734c0df1e070c16d359", + "0x3b56c6cb8308bfe1d9339e14c713eebd5830cd0c538b196d18743bfb729878d2", + "0xd0a1ed8e3bba6cd1ab36ae3e60952e6ae56cf2157039ef2f7136e09999393650", + "0x206a0bc96ac96836c5230d024aab5c7733e4c769b7cfa9fe4c52ec9ccc2c9ecc", + "0x322a0aae92f406bc6c08dfda0b60f625716af5dadfec8d014c6f863eb33c2edc", + "0x701f25bc99f297ac9e8a8e5d8c376f9a363ba277ec87d2eefe30833035657e23", + "0x98ee55ecb672b58e5d02ac83f716013b2e5ad57894383e792cf1bd82cb47b20f", + "0xd7c63ead8a31b5b188fbf0663e4bca087035291834ee1380da270bc26bd19186", + "0xce3824ed345e2101fe30f43287f428c2cdab4a9ee2b4a047d4c6ba1b46a05c98", + "0x853eb9e976bc0fb95caf99b60c978056b0423f2455e5433f3b9d6d28e8ddaec9", + "0x2fefc2d9f5d26e0e9893b98d6546f593dec46105109fbec9c0efb298dd18e534", + "0x255bfda7bb1a2df1a36e7ebc4414338928d59474d9b33f478dab6066275896bc", + "0x678516c205b1f93ddc8d3558e86ccc9ed5dc317387f4a7849ef158e7759234e5", + "0x58d0e9d13bb841286dc4c579c11cfd659b70e84aab4550a75d1d8f01d31c0b64", + "0xb132975005aac90edeba73c75a8533cb9099a5a7f6e9e31755a22b44289bd950", + "0x77ba37c64ec1db20a6dfad1462bc4cb5d49cae6e3c801a99e223e6062dda2598", + "0xe3a4d6edfccad2c55d2a729e6531cc9c20d668dd057c3a8bce78dc7789384d9f", + "0xf419bd76337344144a1e3f1e7a8d3f768fa97f4f1be87757e3f2e50c78c7ab14", + "0xac248be7b1b0f85f35415e09025f379bfbb02776e854d682bfc93caba3a0cbb3", + "0xd853df355a1b6f7b6921870bc5a00a615d5fbdbd9c5214e57e0461a00af92711", + "0x3696d847c84ecdbe2902eb3200013d332d364c0be47f67cc122bd7d4d644f08b", + "0x843a93026d2075704e731fec65fbef6a234eb6d2368f7da29e8e2d3cae45fc3a", + "0x923e0d97b13c9ff4e051cc43daa92960ec646236d1b02faf28902c5067cf83ef", + "0x4a700c31d34448662af972353f9cb471fd155b6c7b5c0afec7acc09e58ee85f6", + "0x2cf612c948d6d8a6ea9886270d5de1e131c2dfd4012f1811849c332716ca650a", + "0xd9acf143ada3cb5e1eb8c3d14b4c188bfce9efc13d317822dc406e08cb5ad9de", + "0x55b3ab14f3d1c8c7b8660a136c98cb4dbd90f8ee329c1fd08edd612a5b866428", + "0xd07432a9b77607da1fe30c98226a224c171cfabf96a1510849255a58f7040595", + "0xe12a4928faffabff9d4835598e103b6079f359061175ccd18159a6dfa7ece183", + "0xa223cb9afb71fbe269c1f721c22fcb13addb8ec06286f9d5b7e337a262c99104", + "0xc133b48eb3f4946ffec9fa143a85d2e009a3b8a99a68ed1d0121c7e9fa616fb9", + "0xcd63f76df5da2994fd87c43f743cd7d35d94cb8dc973cb7a120cb677db9cd5b0", + "0xde86817e4351951cf1b6402036bea2c75901b6aa7a6dff62b9862fe4783e801a", + "0x2872145a9ea250731bbfdbda0b66367300d88f2d9934c6b1d12960067d717bd3", + "0x86e0674ddc6c584cec7931847ec5283675445d337a89d19047817e46e9047d22", + "0x4aac4bdc309bbbcd210b87b0f50d55fe86f5db69b83e201f156bc9ad25347966", + "0x1c0e32260f903386af7e4cf14ef819fb1245d269d2713faa729f05b019445243", + "0x919711d6689630bb81d59ad2c75ace09b462625180ee8fb8fa2d3ac5aa15540b", + "0x231f8566ebd8ac13f2d6cd5a91566aba9074ffd235c762c26280e52feb5ee4c3", + "0xd5df310c108bbf4dcd5f876e0290c5d9c9c2cf20f4f979bc74d962d7da99a777", + "0x45e6ea115a13d30d8dec6f480a9d0b17cb9288f3d2590af02a40bf3dedf3f1ae", + "0xd9930c2a8d4dfd36b70207175e3ec5386fe91371e4b7fb484022e64b5aa8388b", + "0x529278e0e137a319d3a7516b41bcf4be1390e5646fd74fa8c6ece03b9e734deb", + "0x471c07b4e2c5760ad10759fc0889fafda85c2367f2a9147667ad61b687a52fe9", + "0x39332fd9e3c9c89f6b51e4a5fc43d8da10191d07e71c35383e5bafb997c651fe", + "0x72b4753dfe94ecc08b1ca90329dae352e677b64d3e28281b88765cb2e7e3e428", + "0x9a3d06d9134005224fd1f71f14bdda085f18824b9c86b3ec6254b213d8e349fe", + "0x9e8a68163e7e0d096cb822d73c420324ac7416731b27407d74059903c05f2862", + "0x292c607845fdbec84efa2321bdbda9864c3e7e543890fbedf1b85fa4b7ea6b7e", + "0x31be5706424ae91ed9695b2f8f7cb0a81b7623e02da8595f0affd2411170ea11", + "0x9331ce0a7339609a1a4ab7d82e41f432c430685dc6aae81c50ce18aa0592b465", + "0x37dfd9817be661b6f7310ae6c90b3b97fb5f63e0e622618ecedca0d609c39e35", + "0xa350f656a9cf101ba47b0fa109409f1113ae33405ed766d0308740d5497237cf", + "0x272d62080e7b1c27f7134c60ac9f0dd9c903528b1a32338ddc8fc199d9ff2bd6", + "0x8903ab21a203161e433cbfaf719a95b1fae95e029ee19f0c94fa7f1a68f3a1fc", + "0xd3ba92c896627745c0afbbbc9e3d8b5a1511057b24817d7070e08308812f7ce3", + "0x703ec0121dc8e020de0dce30459da694fb8b7ead68bf5b052320c97b0edff1dc", + "0x0491cb350e466467a1078436a1100a70ed6198122f299b4bcbcf8dbac4b1cbe3", + "0x826cc32fd3097689638c8701164358719b6c8645270b70abfc0b07e103d5403d", + "0x351679f35e52895312c8524262a6e420544b443ca3eee81cc11a11c4e40b195d", + "0x0fb18a66d08f29e90c1a71a648d1b36c2dd3fb84bd2e4b8ac24959233cb7a244", + "0xec7fad9848cdb994996bb9fb63cae6e913fe90c9727ba49ab8c9d293b692237b", + "0xd76f7d686c80c1ef3387ff50925bcb540084d3e8d750a862e76e9dce7a443d40", + "0xfa237f1a2b3dd6e4c646d7c77982558af1633cb8662e1d107d5ad5140ec86024", + "0xe7b5e487328a3398b8716043d3e6bcfb39a996405daa98be49493e46e9a46555", + "0x306c41368e9d1a13d4d20256602c4d4182e45b2b69549be7c7133e01dc930057", + "0x9551a36f384e66ad7c5a7d43f510480448f59fc2b3414cb2dafa8d71314ea4fb", + "0x72c3b4a7c21c0ead562b66abb8e6ac42ab96fc5d01c8a5f934df2393b03b738c", + "0x849f7030b271894fd605067a59e373d903a6a52e9fded2357c05340138d3de1b", + "0x5be66687e522cce14e119c9d4b3b3853fef6cadaff6f6c5c2eaef9b6769b1fef", + "0xe063a6dcd767abe2a9e37d3f18b67e2a2efd68ad4d96b4215eb75e4b23295afc", + "0xa8f6fbac9f159d5a5db1e8d614dbd3302bd5737eeae692ae44155d26637ceb4e", + "0xed37085b1ea6b01638a3a145297f390b63b307479e88c55908fcb46afa1e5960", + "0xd963204f34b83d30e97b458148d7e3cd0143495ff67d893b512d7beb7b225035", + "0xdcf4fdc30c4e90b82c2894b12cf27c2c9ca9e4e5ee88d6052d3526a96b93c55c", + "0x48ae98a481df3d2ec8a9c90d0a838125a5237d5716617d4be50d09b2f1f2f592", + "0xf85cea1c73ca422200a9b41a19fec626d13d70e0ae20dbf8c5db66977091e2f8", + "0xbaa3273782c55be478f5e44af8d6d32771bf837002231621eb82fd5b8c07b519", + "0x1dc0a7713568a6fcad865704e07a405a44c2b0096354115f07af09b760eb9a09", + "0xfa70563c38634999282cde0e088e97953e2d8a81180f5c9b2e99ad74493cebf8", + "0x58c7a37a105fe671a833f01f6c189c6f3204d462a0e119b494b6b0c8bd97501d", + "0x9ad437c83bbe3a45191b5c9fca239d1993960a8316e3c52978c266cbfb4d0ed8", + "0x0e8ce8c69bda4ff65d9bd614bb827def7d0f6bce5d550ed72bd5d91c8c1e33ce", + "0x74e04e71ea4c189be803be1116781a66cdfcc50a067387af6d1d468733185b14", + "0x9d1eeeaa2b39e1e0cc9717e921507d34f35faea1450727825d147ecefcf70464", + "0x6758482ad61721f92137d015d4d07bb238b0976bf14a3c548adbbdbba6b73f00", + "0x794c1b2f6ae68389c51761edde1c96b8bd44904769e85a8d7d0035e76be9f13d", + "0xaafd63d0587a40d5b73ba230c976ca80c46a09e3b7f7df136f8eb0b04b60f5de", + "0x67d184707f6e0b9af49aedbfca464946b4f54321c4eaf3263d4ce52de31f8767", + "0xd2af9a84d73ef353c42517a6c5c0667b1f811ce2bb327e3702b49a178fb94179", + "0x2832ef9283d9ffedb03743b454894472eb31740487ce89ef016a00819ff30c2a", + "0x82ea0cb0f3eb68ead50a1d8106278f464e0126c0d7589e6d4c16142d80989194", + "0xfbdc8b5fbb0109cfb3a3b03e01c90c37cb4ee7781563026c338f455ea708058f", + "0xcc34701c30d0ced752f863fbe56d47abfec0c9f8012d1fccacf3814e5bb824af", + "0xb0cdfcf55823aa634004387d1dbc34246921ca0459cf4b9f751377e3a78ee041", + "0x313e6f0cc985a8a0eb2fcb8d3901fcfecbb7d29e98ef8145996e4cea804420c1", + "0xa64f1d4794cd286788c281b14adaa6c0890f9782ec0d80448b8fef906ed7bbc9", + "0x619d70b2e48cc3b295add6bfbb8fc60f38a01e61f4dfb4872b58c1ce7046efb0", + "0xdb35cea33ddc36b0b91b0dcd84155e214a738cc81c8805127c47fb7312257299", + "0xe101f36ff5b89d028618d46138aed3d6b3269605cbf4f83d68c9bbf233f63d81", + "0xe5925c839b60da70be28b38b2081701e3bb0be98cf763539114609b309c5f97f", + "0xb594135c1794da9f7b7af1366d56b4527223c0471ee3780d65cc03cd70fe2391", + "0xd6a8a3b4c6d33bca9b02b8207aa680835266d9c9d4808e2d57f28f92936b7d01", + "0x640a50f666edfa0c4cc55b6c945a09108fdd53af5ca55ae92de4245d56d5e436", + "0x8dc9acbbf2b71953327924fc2cc711574fb1e82a6746a3606a71071369e77601", + "0xd764b84ee9d6a552e34252322f7a939ae546281136a217f5f7f34e41997e677f", + "0x3ec87053d8ec66bf2449a17989721644050b2341adf9036df6843a414a9a1de0", + "0xdca7784726ae438b274f4a3c5892da0bc69ea694791c1ffb5398683952bdea75", + "0x29114fc2dc70ec997d34e3937c2e54136fd1de4ba7fce8353e19af65aef490b1", + "0xf1407df809e1bb932c725821347954eecc9e5e226cd37b6058b45ef9f4fbd377", + "0x873826f03bea4b73698a17d2b0044f1c689daa17925302edb0f815dbf50c7fec", + "0x3e98eaefd07ff2f1f4d6c67aa7ee3cabffd701aa0150f572521a17772bfd8d01", + "0xf44be55471f0b66b065a2465a04f6f47efb35a9ede93a9d8b22aa26d3c6637e0", + "0xb114c762f1f60a913fa570cdb207c279d20abdfd789d7fa62de06e38c44d650e", + "0x6f300baf19fff0f5af714e63ec81314d7de839d4f5900979cc9761e0ac325956", + "0x94d99e9025cec968ce5a80d82965bf72db62250c49131b14c0329b0aaa462b79", + "0xf1ad3dc366363b5a7c2a238e693600ced352984673cc4d0a07ba0ddc2b25c815", + "0xa48dc388a5dcbbd81e38b3e77178a4248232ffeb23acd7869375323f1aba0529", + "0xe995c7008184fe2d5b39eb0b1229caceccc8e86ef5caaa720f15e133e79a2efa", + "0x8bc6d112254905a89fdc319bc231f4d2c52a22d60baea4a499da91119a6872d4", + "0x16cceba4d6c7ccffe424c9331a78bc3748aa7b629f0fefe88c43dad9324a1fc4", + "0x564aceef2d2c0d4b8d6f73c10c234dd82570a9caeb572dfdf023024b61365f4c", + "0x5630bfb3fbd9625f2204846fc81b98774e95191dc8f7995ef33df915f77ce2d5", + "0x23d02e3cb1729ee715fe84775b969989d11c4ccd470910921b75c63c4e9e24b1", + "0x5984c5d4ed0af67154b12c73e38909b45e46e161d85d66e286d33b5ced150a75", + "0xddfc15bdbbd16b80d442f9a0587da4e304d3d7951ada0dc3d041f5a1df85a9ae", + "0x924c83566150cfdd60410c400078830bb4742b7286a6f8badd3e848a5afd0220", + "0x82847029234edd5c2f1538a71ff2eccf1de43e94f651557ba73caab59ef9faf3", + "0x15949ae538f10280406ebf73fd79fe0e77e937f82cd9d0c623e700ff04fa0a7e", + "0xd93edfcb2fb0c16e18b5c42acb751ff197ebee6ef13e01690b08f8e38e777e08", + "0xcb33ce0679bc3b417095cdecd66cbdd4cf5bfd288037d57e93cb6a542613c06b", + "0xa678db01074492af055c36dcee385b37166ad08a4481309945d227640ece520b", + "0x30b123bd31dab5f0dc65766e2b6067e5caee8a53af647b0c7d35d16ab85b2ee3", + "0xfc3faacebfc2c0ed22820eb332bb2f3d9634abc98d26fd42438276541f2beb86", + "0xa0d90324e7577ab7ab5f9667f9d7a0731d223f8edae77dcc9e38225b0206ba29", + "0x75e3bd20d6378133c8a4f9d0ad1121c485130d65340b0596258466fbc733d61b", + "0xbaef6a6c8b335cd317631b907f692cccdd730c82213755988ff7fb78d08fa754", + "0x03c32b933280b801ee17ade93600bed888caf283e0a058bfc0c73f47072f2459", + "0xabc98360fccd9567e9d555924bd815557cd5612836de1b38b63828db742ac297", + "0xdc6770ceead9f41fe0fabf046cfaf0be83f6c27bf28616a97d58c43e3f591ea3", + "0x4f9a91b13c9af1523071f1d4741ead5b6c7a9e72bc2881ede8309040b8ab686c", + "0x175c7e494c7f0347ffed5ce74eafcede61403cd0829d71a9df99e914774ff33d", + "0xe408f526449bec877c0d5ed25e677e8623ea68b797818b93e443179c9ed4d334", + "0x8f3346b57ad4a5de31df1b0b5fb5cac40ef0152fb5360d50ddc84752beae5965", + "0x4b2398450d192781d3ad48ed398fe7cf9e5e8a417b29661894c6dd43e83e2248", + "0xe94177ce0fc04293688209ff52cf53c548ac5b7022e7e60ee739f5c1711099a0", + "0xee6e5c8a30380746df8d9d3f3de53439fe0d864dab6ab5c349012d384284fac5", + "0x9fc9e919898303f537988a6695329143a77e965802be3566396f7a581962c3de", + "0x5277cff2542cb90c1698c7e673b7ceafd16cf4d0750272ebb51e3aa3fb02f3f4", + "0xea07718095d00493c662b21d0dff8bf747783c93897f6f2421571e2c7e3e8955", + "0xa8bfbfcb73a903d2937025226b38aefcfccbb3f9d3fcb0563ede2d9f1cd8ed84", + "0x795af85d146f9e00cfc5d12c97efa5073f19977afeae31c636cb3a6c9771ba14", + "0x60d169884296b60a45cc87beb366a513a6bb7ac34e6acf6066d9abbb1bb3844e", + "0xd256c59553a03c8069aa3dab431c2868c6dee246fcdaa9683b0284d462ad3fb0", + "0x1a399a1ffe8e7f5eb5fa69e70a620e1b15087988934a754a468ff47a7c2f8add", + "0x25cfa588df60eb1127c4057ba949004ef8f7f2681e435fba925f4bf8ce0eb54a", + "0x282d5589c98668c7a9baf871dbd48a3a8c263ea55452086ebdb3b4db440fb9fc", + "0xdd3cfdffe34633d189d9bea7513b890b6d54c2c0d12067d8f45ae72c258c77b4", + "0xc81f96420ae777252b04116d14bb80762c5169b73abad2e1fb23e8bb9334c2bf", + "0x88bf1fb814490289ecdd3d411134d42155a483b7225a496f24ef29d84df164ea", + "0xc6f0b78237824d0b240b8dcf1e31e75e93b4608a495fb7d47ed47ac70caa5aa3", + "0x10f4272adf03ae39311b049b460dce8579b424d3c169101a80aff74efc018846", + "0x52a6ed4acdf0766fc0a63b221d113e3dc7f9e22435d734972e3facdfb3447a8e", + "0xeb75f393b00cbceeace53bff0725e0fa3382e367450fc1c7f0005bb859467d62", + "0xd58b7c94861e7822f924356cf808c0b6ba19c100e49cd8a1fe2ca8a537bb20b5", + "0xd355030bcb4e35157543fafe7f204040ef0e0ecbd60bfbdb897add425112be2f", + "0xbe3ca964fb22fdb9c6c74f07381dabca0e932310cb88676144cd78cb374416c6", + "0x6417c82c4fa9ec681e767a8b3a26640d72c61ea72b1857bd61930187a54f08c5", + "0x0501ac461bf7f2e813ff8b58fb9ba936abe7eb0dc6ef0072f98c52f83458765b", + "0x6ed677008e96476990029e1ac8a86e4d9af83f812dc73d9b876c772c2beb5a77", + "0x9c35dd84c1d73d78dd3277d96ce4c76beac8c6bab498a8a5853970a03026b2c6", + "0xbb0b70d3be3239ac17b3689d67571c12318b51bc6811dea5e8908393d9a567e8", + "0xbfcc8fb9be4c41f8b26214e8462320e79c2fc126abd6e129f701b27b9ac96711", + "0x18bbf70cfc61152ffc64fa6bd21011e446f9d8d1798076e8841cecdbb2e25ccd", + "0x6ec57e3b3b13f8e3fc9298760ea47907c9e08b89bb7599c5cc50c83157a5b12d", + "0x1e681fa5a5d2d63ac23f45cc30720c5b33a3417ef0adccb10b9d9299f5dfdd15", + "0x63397c3ea42e3ea7dabaec5f3aa3cf7e15a4ff94ec745228c0b099928c2a5f1f", + "0xc8d14199fa6b134b84c48a44b9ef1962a9d08b34dbe78713f84ebc0d307c38fe", + "0x4dc0102f265b0e29cb403b258cfee5c73afb843b0805c9218bea86cc12a08503", + "0x4acb64d573cef699cb2d9036488a28bdb3d68a0d294d04c92cd198d42bb48098", + "0x872df3af6d40c5beadf565ea8f6cc502edcde941c43cd3024c812b2cbc33eaf0", + "0xaa24ebf00a407b1ee7e126cb5f396a1b4489577f160a7ec735e0e47fbf077abf", + "0x15e6c3ebacccecb59426bcab8f5845a60a584a18d5f6875431181a816d5dc0e1", + "0x3ae0bd8b42433be46a280335444e8e2d35c1afec926cd2c1d5ea537992c506f1", + "0x1e423a88a245221c826586cc67ea45dfea247c3e9a36c81ae9f0c0b5d5d3e5d8", + "0x5401f93723132c737589b457216dbf231a753c4c4619444af4eae9bc6153ee40", + "0x70d9a2787990c3dd8166357ab21985abc81a55eb0d50af7e19ec20454b314d4d", + "0x4ab7adbe2f74ac269840ae607a17824e8ec74054fae9d9b3998dfb162962e1a0", + "0x91fabfea828408eb161ac781a0896155ccf7d9cbefc3483cde52b35ec67883e9", + "0xaff4547e50acac2e3851620e541e96d7645682f225400793ebc0b959c6a09a01", + "0x0937506d4c9e37d57560bac5851795d6559e51df255ea2c64f2e119b88cc7511", + "0x88d66c613582fcf6df46773a1456304c4c0eddc212612b2dddab065b6051c8cf", + "0x2d6315542c9b30c8984ca951ab488906c78e6c84aec2090397d4a61ef26375b9", + "0x8ca8d613a382711420966787bf7bd541f517733d21ac4f893c282dd930f69b5e", + "0x1751120f6735feecee772482da8121e9e57d930d23e69cdd5bc039f43520b9b7", + "0xe161051a099cf4b605fc773734e68f46253efcd52fc9c7d7a207f956c407c606", + "0x3742dfd43498b7159cef3dfdb520d34583ac955cf8abb3a453835f3132877d76", + "0x1cb6bf586b0d422a986d235cd2cfccab6aae1ff580434bc9d1eed944d0c54d0a", + "0x3028e937857f2ac53e1d988fe8aac0f18616fb221560c69530c4399bc49db96c", + "0xf5ba682318437ed7770cab6098d356ee63c41cbb8d7a114ae094aba333f78416", + "0x9ff54c1d56a1977d406ef680e80850a4eae13e2f5b0012c0961a87426881088c", + "0xed99d4a9efedd66d3902ea4bf332bbc3649eb84e6a32a239c6fa712019f4158f", + "0xf9fb0e5082e82b4e3fde779d9f42870319e30e01b43f88a89f651c6994f1c513", + "0x69467611b658799b1ed8369ce39b66b5479f9601ee796a93bf57e94c4a840db5", + "0x8e1d27af1e1eef4038af7c34a142ebefc75269fe0991575f06f658afd96b293e", + "0x3a03db5ce3be82a8b47d34e271a7f126509d0f0402ee067395b4a6d7963d178a", + "0x641e2f3a93b6867ff70d8acf1dfe8a82e151c84d7561341107528f58e69df814", + "0x8b33c66fdefed9127a548e2ea61a30188d7a2b16b6bbf5c52d5bccdf860a47a2", + "0xd62cef231735d396b265e3241d51d08a90f6ec82267442ed151fe6484fd2f2b6", + "0xf52f27645bee7eb4c8f9c11e61aa11658240bcec7b6bef9c56149a3dae1d9374", + "0xbe6de14b25ace5ce862be24755393abdd07b3f4c50985062815139073e4c39bb", + "0x60e06bca41e0d1b136a7ef2476c0b495dd3443089f19f2e8c306611e40d5caae", + "0xa9c739fd18f5962d8b71215ca05f129153968e12634ddc7a19d54136de335247", + "0xecb51e8baa0e733048627977d8ec736cea38e501cb9256d7b5b4f264c4851055", + "0x634a99ea3bd706001327f1eb6fb79a9c0aa49a6517e78c1135095160152e3273", + "0xb9846ba9630ef1607061ca5cd2c70c48b632f285bd18fa2db6b4ade2720538d8", + "0x8ca68b47412dc13adfc72489a0371f5f2f0cfd5942d5ffae08a57a79b9c70ec9", + "0x13c9d7b77677291c415253af2508e66ae8fc09b547e66bd0372bfc7371b3379e", + "0xcf3d8c54e42a98852364dfc2a22a9029b944bea2361208262c149dca5fe1717e", + "0x752a1d54477a8120a7df54691c70c21dd399e9d84a576717cfcdbe9320a10686", + "0xfaa8c3a9658b4f096aa4c89aed1fd305062608aa73fb9d734c9d9205d2055760", + "0x96839db4f4ebcbff566b96dcec7c57de674b8075c07e6a17a4120b225618f6eb", + "0xd7accc2bae2cccacfb7b7bca6fa9659bac4bcc7f47fd05b459f8eb271725e676", + "0x37cd77dbc69588fc060a696827004b1d1f48e46b317cb82dc8329b65c4f2ea5b", + "0x83682e40a4dc120e5019eddcf84be4e42563904d1f06bae96cc5c513790762f0", + "0x4c519f5d6664f4441baa7cb15053d7a385c7c31ffaa52044fb48195d9edce9e4", + "0x28e1f389b7b0338f7ae494af7b4f239fe703ac53cb8648c24ed201eb3d0fa366", + "0x65d0b0371e3ab2d49d30ec178921d8410de8223ef4fdc4721d0a3aa1d1fd2676", + "0xe7779ddea50b161ecf429a3d382b7eb564306ad7c050da244a6ea2ec4336a85e", + "0x42ed7b3277a97be9aff896f3bcbb1a3ca9a1abcda194185f40aecff40dd05c9f", + "0x16151d4334d8e9555e2df32d6a58ba3caedc4cee88906391fead30cf7b6c1492", + "0x22454deb333cf072d9a19f52c64c232f4e232100e4097dcefc552c66cd037174", + "0xc77ea7b5df0d670d6828243b057169f25c1dd3a55ee23706aa16859254119d74", + "0x297b0d48dd676057449e91ec41a35ff23ca7101062c92c0dfb10f989be59b5f6", + "0x74b963f879f86a4bfe0233082129bc19095888f0d9ff99e09d835d8214de6e31", + "0x09b537b0d42a9c3a1a191c9295611c1ad9fa5f8002a2ffb990131ef3afdf2cc4", + "0x71b3dd8b8b917826609084149140de5e0b34f71e2baae4685d8be00784231499", + "0xa2666cdcd63be625dd08c7298d6bc06dce126e6a294240a4db43aa3aa0b3428c", + "0x3860cc7900f214952e4b797bc5ae198d59385d8fa747076b497a5b4a2c51df66", + "0xa53b70488cc1e45c1e11460c66ee94c46dae564c5a1cb7e3eb6796796943d880", + "0x06c7f6905ed8d559f757a6d823b876850002ea38697373a77bd9447ac9d34f60", + "0xeca8100c89ce9478abf32238bdad1505f3e1299915b6b67d1f5260ee3d494c09", + "0x06187fc14bd288ff503e878d0300b088dd2f9fa7c4da3193f321fceb4702a841", + "0x4b8d46ce312100e848366f8283558873f17fae5719f7f33f9a73df885fa12828", + "0x1d68bc807568d3d971d36d08f06c2e6d70cfd02ba03d322d7cf144dfc53c3044", + "0x0635b0924e22d1b03d1ae8bf9cd51a6b3479cf9e15e9c341ab97c9578ecfbebb", + "0xd181293e935a777d4b4905e7eda21cf0a6d48842b28228a9ab4e480cee7abfe9", + "0xcd1e363a1e2bf26e5f3c98a7a426e7528e4a24155bfa2a1a968a971d129af069", + "0x32ba79240b478b0b82d06adabfff6caa596987c07d73fec3907f4bb21aab169d", + "0xc4c7b178c63ef2f10860a346acd8d43be342ad103c41cafacff07bf748b6c262", + "0xf7c42fe2f081334fd729629f766de6919c41084dc143999abd637dde580895b0", + "0x2b3c788d5492557137bcbde36a3c77bcad3fbf46e93dc83c43801c13debe4a3c", + "0xfb2fd5480e25e6d50f22bf422edb888194e510ee40d112d21210958bc47d919b", + "0xfbc6dbeb8b5687e5360da7e241bdac501a6ed768e6c9694dab686adde5776cb9", + "0xac01b85031a280013440e18402e378d16e8b8cf582923597d4937bd9502a7951", + "0x6de81b17804834c0390ca350d4027b7a0824ddfb38bdb01f2922e240594a26b8", + "0x18ba82983465250c42294ad5c3fb634d372df537b67c1bd735aef7b3d045a9bd", + "0xdaf21a1151c73bedabb678497324ab939a9ab1dc3ac506e395b164a2daede36a", + "0xda42e99c8b304a39bf2ed10d88bcbf9ff527c1e3b9a5932400f331e9bc51a88c", + "0x563e2b38354aa19dd91ec0914f95852810f3f605e828a727ec0a69f54278be61", + "0xc64bc37db96aeaef1d1b9f5da5b50964690022e0c78015811a8034f2e10be4a8", + "0x96958617222852f4f6dad6bc4cbc79657170d2f9c4ea0a5cdbaf3ae723460a0b", + "0x0abac5a8433b40108cfbd385a3bb0298c069ea4660349927c64945eb409da78b", + "0xe5d5f48418141703f119222ec582abae55448128570da3ddacd758f112e67472", + "0x2491021cbfeee20e3a578b9f0508c85eaed8232d3ae1e6f074f43410ee373a57", + "0x353a4b80cc69d701510ba8711543f1b5677916ecad829c76740f21bbf7b1658a", + "0x74397d86b849a792c4ae5e8e65750a932310d1496a0ccd3f5f4170dccd707d3a", + "0xef520df7a1258440507525a8b1be9e60016a95a7da4eab82dc85d8aeeea3a929", + "0x0182f92a90d14a09e6ad6595d86dae389d297766dcb8d1d7a685bdaad733d2d5", + "0xe2b947deda76a4cc65948c3a40dc7ae7bfecc285f8881856bc55d4d8834f5ec8", + "0xb56dd5d67c8d49b5220cb8901a67525e00cde18ca52a5b26d09974c430b1c304", + "0xd5aaccc68b4fe4694c9cf7bde2d3c27a4c8c5df40232df1b875195404a762977", + "0xba7681f4f365a69625ec74bb1d114124bdb156767992c778ae5b49c4390438d4", + "0x838d298d84516b49a77b86ae27e300b1ad52beef517df8dd4b87d43960e51839", + "0x931e8b07cc0df6eb35d54d24d180e2b98e0ad3bec2525793511bbbb218063853", + "0x94db666ca733d8fa4954091dcc53e24fd1fc7e6135479b803ba45fde46753b74", + "0x4e311786ff11cb12e929f2509b5c7e94a87739f4475a213adf546dfe288966da", + "0x5a7be45e660da5079427166c854a81f2d4bbe2e326d0ae1f1d0ad067120c6c73", + "0xdb863b5b5109bd3f6fb7af19bd608c5a8836e2c0d8512cc438aee184ba97708c", + "0x8e21743089dd75ae94a2970874ccf87d8c57f2bd90c701d9c30fa922ab600f67", + "0xde96e7f8eb356b706754151805417b690e9ea613cb0886df7424f07f90b9f35e", + "0xd9af1f5dfa685f1b0e0b4bacdee2e24cb2448b9c990a21cd32ea85628bf00553", + "0xe61ae40a63d3cc113a9df987512cc6f94cb69caf36ddf68baf7b77089fd8842e", + "0xd32d2de4b6de7d3b9a8b75fe004b1829006473daa4507ad3c2bd74bb5473f2f5", + "0x5032a547596c291d8e0f20797dbe1b52896deb1b13a930b9ead43ca93ffab7f7", + "0xdf75524819354c93547474a730c86e285852736e3aa6a93a1397cbeb8574be5b", + "0x2ad84a52217a7b78ef30fe6ce5b36fac975f8eb996d89423e35d4de57dda944f", + "0x24273629f43c888b4ae4ce0e98babbb86aebdc304ecf7565e8f5cee13713e109", + "0xe340a7207222fbcd3a18df2e95aba462efff7806fd0ab5c79f163a9ad277239f", + "0x14b19088ed16354ec0d508d91100fa39f1c50c5b153edde1c7fe12b6325c3269", + "0x8ad8cf08a5d25b9798457a32ad4b559ceefd8086aa662e210abef814d8dc5c84", + "0x002ca4fd98f15c2f1c8eb360e3cd38eb102d6f93082e3f1bd43220309d53bca7", + "0x5c3df07ac15d8f1e16662b5ed8821e43f45b8adeff87282ba92b1a53434bfa83", + "0x75d277049869aeb977bbd1d7c371b6a9d84c3714834d1a16a32af5286acfed23", + "0x0bad0d61579e2555d6fe7f4cc514b674c67b589ebe5e7c5cc451bacbdd5c1318", + "0x92f15acffbdc999e32e763c32ae7a6f373f4864b2807de08e7af49c70f64c659", + "0x9443fe858cda8b2788eae50b66fd1d44280c58f022471d8c6696716f0322d8cd", + "0x9c3bfc75fbe747bf2c0f1015472e67fcb8ec91f40e9b509429ebd91954b32d25", + "0xd112736eda168795236314f0de72558fcfb104e2f692d952b16533446ba75ed8", + "0xf0671d0460f40c687b9d7d7a5a46812897f3e8289aa7913b3eeeddcf902ad907", + "0xbd8dff979715487464394682bece79900bce98196542df4479086aa7a28d00f0", + "0x615d56554914d61bc4da030292a1056d18f71728de4941d0bcfe8dd123253f84", + "0x826a5d357b7f2a007804bbe75fb89ac6f7ef3011f408a07470b031e476d49758", + "0xceebf085d7d36747965b6a2ea80d1a1e47c71a27f28584ac89e35535d2da35ec", + "0xd4fa150d101967f3d7eb60c23b9993bf9a93ef36bda6bb75e17c3f8e992a7620", + "0x8672059e26d3c2605d82c219d2ead47d94446c8dc1351b109149a0514d618f64", + "0x38064f1f84a646320bcbc7778596c25e9aae2e356548b4559aa447b6bb8d79ac", + "0x6f195e60a921fc96202810a55c4ba9a042685f20761fedf15a22b28198fb0497", + "0x8dc83f591d7eaecdf50fe1e92e0480d1f174007f5b7a351f377ea651ecfe76ab", + "0x6bd195f328b200ec4ebc57f94ddb36be5b77aa16e633b9ea8aea5c8a3f1f1b1a", + "0xdc1f7643b1ac9c9703e5caa148001f2e2cb7168775ad3c6c95c675d6adf85e6d", + "0xdb2aab4822e191e5fbab62ccf4d8b8e548f62d50fd2b0e1008e834edb91762d5", + "0x7100363198ee3bfa9317ef4e8455bcac54276b3a55b8c01873a54f1604e7b24f", + "0x9de02048489d873a3b3c22cf74d275696aa699ec103b4aff251a2f22ebe20b80", + "0x2a3cc09ec20941ee8b04bd89e38b7cdd9e9f0dea006111d0b1a61a47f77e45d9", + "0x082317557cce01fb189870585aaf7e9af411e7c8cf38b4ef7f101c96b0549b50", + "0x64f53c41e32b0b9b2fb925222bec9676a21ea39b558e2bec0132fd045aca03b4", + "0xe407abd21dc0cb6a76932ac56f7b018bb3a1e9aedbc38d59aca4c8776260cacf", + "0xa6686c4193a6b61439b55658605f9429082ead789e70629860260706a62151c2", + "0x190dad8ee494cd10a5fc87d5b33cad2b401fa8e9e60ddc3152182cb15dc4bf37", + "0xbd81f8a9a639cf29aae2534b2e7e9de0ca54329360fd6b5263b27d8c9c3320c8", + "0x60923c3f36a0cdd88877ab46cbfc471eb43313059ec3fc814bfc40710efe24b4", + "0x7bed716f7a843c885688ed7af46771588f563b63507f0862e822ebd8077978f1", + "0xdd4a6184be0103d67fcab1ed07b91257b7c337ccf5dfd651967a9bf51de0ad7a", + "0xb675cafb5bedda4ebd58031ea37b88d6a5cdc6c70d2302ef2c8bbca1a941a434", + "0x1e84b7b0320b305d21864238c1d5309029d6f236705e86ba557ac4ab3286306c", + "0x07fb4aee552ed17b6633df226091a7440c6e8fcef8defba0b74dc26e3f63bd70", + "0xaa2af0c4c0e3b5e10c6bd02f9834ea38650d21ee6267f31f59a94b65211ce71c", + "0x0ffd43f9155d4d98d28bc491a351e354a1597aa54180f5a7525800f366205d0a", + "0x47a3c45224065eebf34ac0c544487b07bc81e977380845ca3599af1c9ad1fbde", + "0x582a6e56abeb12b0904f5e72f292ec8eb7087a9ec904f704bbf4fb4b626c761a", + "0x961aa84e2f69cf7cc86af84bc5eebfa47f16f69f31eab4ddbb6e34b4ad78f368", + "0x2fcc76736c384389f7bcf80af928b1b2d5f2a666ca7c7233855a38e2f5fa7a16", + "0xa5f51bfee955689e2cfefec36f6fa11c8c39191a93d55003414649089dafedc0", + "0xc33e8750e8c0c9be14b844b61a6c1c6a05c762935a28811a1fb61b9ce613b8bb", + "0x75db0ee106632fdce0d6dbb847f756344f044ef0783563c41c2212a47e140d1e", + "0xfd48e7fd4bb7e075dec1c506cf23ce165151bdaf95902a4d33e174658c5fa872", + "0xc06795ff7239caed1d216e9c715b56b180c131cd8e7303518c8bdffda6a9a293", + "0x6aa82ce836cf55ca0180fefb94631376ca40e8d0b8929a75a011de0b617ae2f2", + "0xb9b8a68c9c52fee3911f56dcc301138864c45af8157568df0a25f1c4bbdd3985", + "0x6bf761d69df953d56be46933bc155b6d5cef72fb502470a02dd4f376f6642152", + "0x5a1282a8d75bdd8bfe98800b202b31eb8d00e05a7233bd3b94ebb724ccc78902", + "0xf7ba12d853026203a0ffdeea4b2a7f2c765552bc218006802f2fc3fae24718fc", + "0x20cc11d68ba309de6ddcfebf6af9f3dabc109e4f80b37a553652e3860e4e718c", + "0x1a348abe945c24781cc3130841d9bd7cd3f65a4ded62f03ca43e1edf0a3d5d3e", + "0xe49ee1bc38403dbd29dd9f1d9a0c30658766d190a99d88055beb8ebb3bf68255", + "0x8d11133a1e20b7c98a820626c3c7165b99290814807450582a75fb66cbdcc4a8", + "0x82de0eb96093abd04ea54056408859c5df792f9b9fae157912bc1612e946cbc0", + "0x09a05827e3d8ba4ef391d3a59499d3f4f0368725fdfe606b2037c0da1fddd04f", + "0x27afaeb9233d09de28c35d425a826c1f8ed5d9aeaff974e30bc8267119f181da", + "0x8c20e9a837f4ff4791d535285e97e0db6fbbb6f90650ad599ee8cb539fbc6fdc", + "0x145c283aa63d68999c2cf54b3a1db63e7e1c5cdc513f151620b7601af93c43a4", + "0x33a610d432ac33a5afd2d4f45cbc7d2d38c3b2306cf951354e8caaa6c80078d0", + "0x26b9f9916168a3a3824ec188e9fbb4740e38f2f01571cf6f5c5f797515420a6a", + "0x02b0b674e9b1bee1606e1b04d74cb568d257eae593e53291e02e3c63a5a50a62", + "0xad6a8970d964768a29ae2c0a69870ebb86257043282e901a08c83347f2f576d5", + "0xb3432872f6e00304d0c7f697e4d5bc84fbcb0db519b0b2d10bfc59fb7a66d0dd", + "0x801b0b76518a3871d99475a87ffa410966ba140ab06ba70bf1e0f986a75ea99d", + "0xe30da2b86208f67afe68b136fbad8baa2dc2085798178be34793e4fd28276ed7", + "0x56d15e4935bcd3441337544b0dfb1be964594dd15ede8920c8aea890c0f5f3d3", + "0xf2cd6dd6bde075ed422413aa2a4dcf7ea831e9c0b05e72a11284702ff4648695", + "0x8d0d6a0e37eea6274b66eda85cb955a480744eaa0ccbbf6c53a2138c2ee7f6f3", + "0xde0e7560fafd1f6145705ce76500d117e916a549c331466eefb672d5d1bb683c", + "0x378f9c77586f4204fb0eb4dbde4c1cd5212dff3dd00f78ffe4d0a7fa993b4420", + "0x38d96f59c01f5677a8f0ae74c85ab92f403d3e0d458dff74bbe30cf0bba9bb82", + "0xa167bb791f78123df4933c7ce81adead29863c93383fad587e0736eb9f62f96c", + "0x1e2eee0b810ff2e3647d4241f0ae3c10de6ab1a81783b141929ce29f50f1b611", + "0xb3da422014ba7a2b692577d4831ee8a2fa0e93075c6e3022b9fe87e589b03ab3", + "0x36bc055c7f7b0082ed73b69ddcfee537ad59dcb2f79f11f32302c781a44c1138", + "0x7824e636dc9b3c3082dc8d7dbf90b75a6694a149d1451070cee9234d3d1442c3", + "0x3a7cdb84f95330c17cefdc3618f67d67930923ccbc1a9233a303aeb06c900908", + "0xfd200a9779e710a0474fdaa7c2bf426748bc17fe8da08699c0fa863d0dde4252", + "0x0bb5f63f4fa916b3aa8e92537a98a9741dbd0191e8ebfdd1bdedefee6a03ed27", + "0x58d261dd02d2d38c4d9d64834659bd223a694780f8b0cd287694299099f0bb9a", + "0x246c86e5fcb56893162362ac404d498193ffe74b43516848c73e3d2d2f1ec680", + "0xe5094d30072956be53f7be3d77e4bac8ddcd8a73781cefd6731af1ebdcc3b9f2", + "0xfb3c6d47d72af2421fcabc66965595841a373214d33e5ae4decca29928f9b8eb", + "0x8c88883b7846c76de5512b190be454046d88c529ba80800db53fb6bdc9f5c480", + "0xe3d7ba4090d3273ae1d0a79a999b256d888d1893cdaf0f9bd046b01a2d35149f", + "0xd832fbf93a01f4f99da4c824161dac8fb5ba379d7a62bbb11630fa059eba4bc5", + "0x2743d2076ecb58f172ee8f2a7c1dcd3284a86f4b38346898c9a0e30cd1c016fc", + "0x375ba23cdd92078d0c1eb959a84e83f973821b7c5148c78c2b5c911ed89d4a33", + "0x22037d3589911f11598fbee2ceea39758667a6316b6a05dbe016c8f27c0ef556", + "0x077901299ce69ce115289009bbd864d5bc412b227c9d45b0a258b1249d1aec64", + "0x0f3356271576310287a00a52bddc9da2865ee028b30319aa238018d1dacac7cb", + "0x4a3d3a133af48e90299cdc0ce8360a1374c3ba7697def7d71ee7113172244351", + "0x32734db80d04af59061f913484a2fc22f0b13778ef049e02e8f9fb30e1da9d39", + "0xa3a472ea8349299a3378e0ff14369ee28337f73a475ddbf508e74259b998067d", + "0xbf358991d9c5ec46243f526f8c322c70f8eb6e5fd99954cb8dda31406cf492fc", + "0xcdd3269fc0abeebb8e44e74b5990413755665b3f7ea6ec763dc19091eae902d9", + "0xb2347bc4742f37f82069ad24608916ccb17e0b23097b6f50c6ffa672f9d7798f", + "0xc950786f85a20e53d496a7f6f539dc93ed4db152ff3fa07ec9ff545f93b98a2b", + "0x5524afc5be48482b279a86994b227152a9070e998c7a8beb8164024213cbe865", + "0xabc025567a68660848fd0063a75564b9fb1483d038cd5a191fc9bbde69c91374", + "0xec61a7238f379549a2b267fce0884513fcae479bce9aef046298cfd35225301c", + "0x0646761899d9bd075b892cb4b8ba2444fa83a8674013022b784e91808241624d", + "0xbbda1dec49e56ce2d3554dcad78a37693eb6437a5e21cbf05a357c2663f6e144", + "0xe218e9d37ba3f4544dfdc31e3332eff0c8a9b6d3bb10188531d4e2de4eacc3bc", + "0xf708a6e77a00c47a72d9f019165044d827a26d9adf51ea53cccb6693063313e7", + "0x3c9f9d34166dc61e2e7c0e15f0e61b0ca46462f7e136f0705c49524019cee3e4", + "0x0c4616a6f0f847fee88f1b914118c3acd207f7e2d84260db50137d1daa6e891d", + "0x5e34ae26c1072f07b7815190fdd67f5cb2605c849300bf28e9ea6c3eee400f77", + "0x15ae51496b44825cd74fc5d34c964b9e2764115d287e47bac9744eda09f6204a", + "0xcd6a8ea1da8d5eeba387281ae5e3cc2edb14b8c8ebdd87ee604bc09befd0fd6e", + "0xea39450403c2fefde5f54cba19b8fb2845c282d9076bbddcd89c4d030a7d786b", + "0x51a9808cfb305f3d1d2dcb5cd8355ad295ffd193f503313d0c23b631d70c85fd", + "0x94473e8d272904770c25c158fbb2ff05d41de0a1cfd1f0780b99e0c70e6da313", + "0x3b78c5f500f3723cdcd7225a83749aa6a1e1d6678162ea667df496a9a59fe822", + "0x3c02d338e7ab6b10a91e311dd0d7fe83bc62f4fb90559535e15f01a6a94f8908", + "0x254613902cb39d43f8fd4efdbee4ae29ee1f73df829239eca702c4c6b76a8056", + "0xf5a59c3ee350c1b5360a790f713b054bf34370f18e7fb3e68d5d1544dc142b9a", + "0x7d8c61e608461215a5190422cb8cda548f67de7d396c610a7043a12c38797f26", + "0x21f61007950ed1ff63140a6533b5caa66d6afeb768190870a0bfa56bff4ba249", + "0x35221c26f511f1d356dbc6cd33354ab04270417796b29c26cfc208fcc22a1926", + "0x7493f5f0d913201df01cf514d9209fc689be68f3759cf7487a0d9c942a4f0eb9", + "0xa28f9fd0a06f07196bc4cd235f86781811d26ce87ba510e9d089ff0ac48dfa09", + "0x296f7a79477fc94384c240d103d3899a0979bc7680ae6b0c77dba5b40236c5f6", + "0x4f610acedd15c3df59a079a3edf02ba8c3cb1375cb54a86f9b8b7aadd3bacd4a", + "0x78e6df69fbd9a8a51dcc14a9faa99e591f6b65cd7aecdced5e898c3207c88433", + "0xb1c4470ea0cae862dd84e77be0aea69d045149193ee2ede2280aec5fe2bf9290", + "0x2906203e1e907396b983b5ddc8f53c026fd8d278a7d580d770edacd560abf9f4", + "0x172486825d1472fb99a53996de84a6e58e9d1c25ccc9eff81ff660728fd35200", + "0x0d85f1ac03ed46541c171dc9e521d58e50c1059ed14591f3ac01870b0ce6f4fe", + "0xa327265260bf6252279cb97e7dbf25a423cf979d347251e2cd548f902aaa5333", + "0xd2465f53b0d477871e9979b56e1c4de2fb81f5ea6657d26d9142ba450f60f9d8", + "0x11c5da85c8ef6bc2afb51fb8c85d3e15e4dded355a55bcca7ab03fb9addfd9bc", + "0x8ae739acf676fefc410ffacb01d9e588fd94df577eb88c86b29bc9b97fd0b39f", + "0x9b626245152f0c1fe45650dbea9edf10cd7a4f4a9b9f472a4f5f58365b736b7b", + "0x2ad3f303486ec33231a94fe6899f8a6881c6273556afb9d43df10557ecaa2625", + "0x815535b3b87aa7cdb45dfb6e08248f73d50d2e97b3919b7c6d4be0db82ba736c", + "0xc5b2ee3ef00a78ddd19411529d9df0415b598d8bf8b0e9be14e0db3abf75b538", + "0x4a43c2151e9bc477dcd23bb690f59f764d1b4f40b434d0bbd229c2fa33187793", + "0xc98e003d7f67589e42dde11b6e5c4337e56ba5379ed36ba64e328140b66809b3", + "0x548d00d6d57076dad3ba99c12446fd704459ae26efb2f32f31ed8cc002d70472", + "0x220074ab3e4ab2b1478ea4e671da8f4a29cb63820cf444b8b8c80dbf55dc7ef7", + "0xa605579bdd11648f0569166a6b6b9fff1c5f5314e4a4443fb45e779b6ea67f23", + "0xbbd91c03ba7a25c5ed6d2c3efaadb9beac37bc41371d1627061bbd1b07bba2cf", + "0xe5a0b22f3733c62c253ec1d438a162bb523d600078b137ab64a68acbabbfd591", + "0xd62697c4e5a86182930e5f03370ee5ae429897299b0a089942d0affad839c396", + "0x441bd17de05582bccadff86e92e1093066042c74ee6dcd2a3d372fef2464a25f", + "0xa1c7340ef8700794a780d623c61611ec782a28e89744f2b438cccd582111ad84", + "0x8325267cbc3f24ec1ca175420d0a1efe55f32bba8856cd5649a06c1c2dda7d6b", + "0xa10890568036a3d81ead9346e8b5d272ea5e30425351baf87fbc87c85caf12ed", + "0xf99feda98b47b71aa95ee45df084689e805639fa816c19726e8a3a7bd4fa714e", + "0xafde69e66a08f8d67df3328ffa50bbff36e596342becb1b30de9d63c7ddbe779", + "0xe6b92570ceedb890e38cc820fde3a63f08ad816fe36690a8e0e3d590d2fd767d", + "0x8d8127ae7b04e1c40e690b67e6b0ec7f84ca3048579826f66e6c2f931d0e158c", + "0xbcc4f1260c39444a096c6ad54fdf3b83ace0c5b88d1ed08a2fc36539b50ee6e0", + "0x186074682f41df28b76a245dc37378308fe996b6b1c033daf582bdfdf6a99593", + "0x62d93c7126ac1ae0d815460a87ce1b7a2bacabdd7ce02fe34d4d8c1a62960a9a", + "0x5b6a7a8fce8f9f7181806ab5a3c84a5f60a7bc4ead1247735a43b08d225195fe", + "0xc848fb9925e445d3595c338197ac7d31296d9247f43f2a604494bd63e3ce78df", + "0xf40966a6c7666339a4c136186fd753079739732c2bb724cdcb6047a5e5d2ef1b", + "0x6d8c1765efdff94ab61b3b4872c1acae846e8a98c763fc7924cbb27865295deb", + "0xdda74969fd0e49dc1e9bbc04f8e3dd952ce0e9a98041c7599058bf481b57da8a", + "0x72ff550e2a8f2bc45918e8fc1deb14e4309eb8cf03629ec83217f06e457dabb0", + "0xe03fa58b28a8e1b601846bfccfdec6a290accdc467898caf0be38acf0cbe8e30", + "0x75c3bfbfe321a63b96c376fd1cd3dff0d06308c1749c5544ea7bc36b0dd223f5", + "0x75880a9c922a15652b74b9114bba464ac49626fe1df76d3aff3e6def1f8a9ff4", + "0xec8655c4f3280725ef24930f547a23988f57b407ca7962477921c65aa8d582d4", + "0xaf3830d825b5ba849d7a7fd8de3d74683191ca71eee0c5dc13fcd45892ae739c", + "0xacc6f31736270b88b54c0b51afc6c3d4388769a9a76befc1fe2f8c72e4e62c56", + "0xa534247fc228dab8d5d42a2d8aae86d854deb257a81c7ff19131656a3f1aceee", + "0xe2895527939deb6f2e6367642c0b6b13caa8a9888338ede14c60bf12bb5a54da", + "0xe59ac0c8184eb0936d6f5eaab44aefb441e5e2d1fe69e290868245b04935d924", + "0x48d2dd98705594a63855f3c4ebe02695f6f67b89703c3abeabdc11691d6aa10d", + "0x7e58bdf9588e2449e7ea947d05ea19c698450df9cd188882a23f5007aaca9e7d", + "0xa0974b5f82e5c03e874a4edb97557450a5280904c35d863b5f14eb1860caa681", + "0x4ddd9abaa7c78129efcbd0a47611b735c69d876626e7b13a5c6b6cde4ef6b744", + "0x065e3d364e47bd0f98ba30a89411954ea051e38b487d4344beb6fe59f5bb191d", + "0x4732727e9fd520893173d2a334a0fe55ac63dd9b49956eb13b2fd89a6e686f82", + "0xceb1f7c0b101f66014a7bb3483828026af59328c0a192eaf6e7c04eec97c4077", + "0x87d17806635d4f607567d24f1267b4a55156b92d4021d22dcc312af69a9f4e4f", + "0x1a865d70134d23472644fc40d4ba988f5e9ce3d24c43c39eff3fbdf80ad6a2e4", + "0x757160e251b8c79293c218ea60e6d3b453bcfe8176993a35ab69b067c5e9e2f2", + "0x1590a6f60eb7ade8bf7ff3d1f00bde5e06e1333b1c9c7ab3aacfb7b0d2ccb535", + "0x4262d42ffe1b9b0036b63a4c70df1d9bf0dad17cc646cab635757e9bb97804f8", + "0xdd1e6c9526efe954559d889158c5a0acc6ec7b9184b4323bfdd3205a25863424", + "0x3d713007089684f50ac3bbd9bb4b88dc17652ba2ad0e1e4e980e25ecaee6c63e", + "0xe031bc30250931e60bd8a220659fc868c8b966c34c94c65d981ea99867baf8ce", + "0x646d9776e8465e4cbad03ec86c25704d39f2dee031dff68d8fe4675da0f3a3c3", + "0x73130be5f9c034f7cef8e297497e6d3905ad9ca28ddc6ae4606b2900269204bd", + "0x76e319544cf0c7c037d7e7dfc5a22cbe8e0f08390f93b985942953c1c695ad4d", + "0xf5e6b2572536543da031afe3d1a085191cb363405b2290c95ea2b58a2777502e", + "0x07c89313a0f9582709438509df2eff3dd71d063cbd7465e5e704915583b105af", + "0x4bb2017c31178ebf59a614f3fabf7c3c4a0b52fc560be65a9ca018dd10fafd20", + "0x1aa73d4ca741cbee068e178e9457806cee040aeac414f407ec03be19c57d1427", + "0xc6f1b04e3b6d58a01a3f08a5adbbc29d531301e152b9e952268624472c4e53bd", + "0x99fc97c755b1307b937fec8fe4a90f874f62a734a19761976ed178dd1f66a6b7", + "0x1f60601cfebff679cd55ea8d164984a902aee16f9409916e30f12b83d9d8ddb9", + "0x2777d5ed02d18c45209d28adde18152b50565fccffcbf792fa9ad08092ba4f5f", + "0x081ad560b5fe6c1102d728e35b89294da36e6f2abfa7487b069824ce07e31067", + "0x4348d38b71aac331b929c1db4e33a7e3ee650dc7d7c7944b24b9c815709864f0", + "0x6522d302c92d109bb7a481ff1ecc01b9f9415ea1e447e91721959f5cfc64b6d2", + "0xe6e8719ed1687434dc226626d83e6a8cd317418e3b8feb41b677087e9c848658", + "0xe05f788540f52a58df08bb86344e1a0b8bff2c29cb4cca07b277e729ae20be35", + "0xc939ff4b5cae98c9b65bae38a2a9f0ecf7fab9dffd9d89f4c3c43a645b6b0ef9", + "0x3da552ed48e9cdf2325e58320e79083cd45c6c891e1ca95f30bd9a6cd74dca79", + "0x46543e616a4fecf94cd4d92ec83a836e072d6e075272ab3626927f661647bb42", + "0x10fb4585c8ac92719b0dcf6d735fcf3cfdd3fbd5a56acd53be227a3f96df61a0", + "0xeb58e384a7f55adcc5269da55ef4bde232dd9b4179757619f75a8bdba729877b", + "0x1bc53b776541a38ddf5aa1e21137a94fdba7a76f76b511b767474bcc8d6ede98", + "0x8d7b8db0737d9ee9612f232bdcd1c35be0a8536dd2bea3b4cdf79813391903e7", + "0x36a2279bdc7e5d17c8ba0479b563a5d3304f6e2ff472d534ee698315706cd4e5", + "0x49c45d4b2e3d01230ce8072d8b55f25b715b87a0f8b6c82cf420429435e98133", + "0xa62973c2b8c9e0bbfd28137a2622256e5094dd6b69003a84cb13ec22c57cd41c", + "0x0c9552fc3306720151bef2a6b13a24560b932e0d3db36b1b167d1afd8aa7e341", + "0xd40c221db7809051f8204e132793a7998f7c1b285c3a2f52a1de9d0a0262b703", + "0x77bd0c7abfb7ba1178d75537eef04a618a61e0285a1f4913d414dc1191fec41f", + "0x6d865ddc6512a32b54671ff7c9732326e967aa0deea9ecfbe811be8a66247c6b", + "0x64e4787de14840b123064911dcf83727683f4b59a1a60b2dbd2301aa50e150b1", + "0x1726f22f71e69d3e919702809f5be7b4a855f127427164211bbb83712899bb60", + "0x7a0ce836320b43e8fdb8b1789af8a856f97ed401167309c8b0eb7a99f73bf41b", + "0xcff5ec573970e3984409dd50d911dae041fc3a51d2035c481985f2d36a40a018", + "0xe308ccfd734d243298f65be9dedcf0320e5fc6ffe28bc18a4abf7cf30869fbb9", + "0x6465d11dfd96a8c36c86265748197b9ed81056189467520d048e320da8addedb", + "0x6da91a602c5b73550abac25299b46a2f8727c5f156c1a7ef6912cc30ac60247f", + "0xdf85ef603adbe64ad1d06d903bec6d0a136ec88bf4788acb4b1d6ef256c4f342", + "0xfbf21ccc3a80affb14aa36fc08caf0cc6babb271becbf5d7f8778fc2e8e2cac1", + "0xc9f2bcb111dcbc477ae94b7ad5cdb7747aed186c8336dac2f04c41efb8d9bc68", + "0x54eeadf4dc7b7d9aca271a0e1b86b1a2cec0edb59da9a267d2254a635bb888b4", + "0xcab9c1cb0ed4ee12496d612fede759e40ca4937d21a370cddfca557933795f5e", + "0xaa53a4d43024db7d7d55581b7c690d2894661b137dec89a667ee60a0066df278", + "0xe947f3e7cb27ee9acb3e21771fee420b1b8d95e8deead159fae0cf3d3bceaafe", + "0x9111f637e6470bc6b200fa0af8314fbc2a649432f665fe505ed6c35782941cc7", + "0xe07f2cddcc582df384760910f1e3b01d25c4fb76110dfdcc565e89c179317484", + "0xfe9f06aea3dddcdf1baab052506a89a671354e36ad00b0838414927e2cf7fcc3", + "0x84c6fe378564403f23d29c3d15dd1b15e6d376fcb9a95dcf6bbddbb32e18f154", + "0xd31439e688f850e75895edcd6af76c55a2d9288bca689c6955e3f83e621ab750", + "0xdcc931be9f3ceeb04edb4052abe56b79fbddd84eca955392801c527923178d6e", + "0x72c462d90b888f78410307496dd042aa6aada8de17e2b112bb10f245adb89f88", + "0x3bb25b18d8fcba475e66562b6a685a18b1ddfde6c8bd16bce45e0dfbc3a54467", + "0xe4678a3925c238589fbc5dd61fa3b22f8b6893b206291c5982ac9ad395f45724", + "0x1d493abec856ba109aa3e21afb621510c1abd38875ef1decb5d790f303d8322d", + "0xc8b1820789f1aadc67b6cc5f7f9a0b9018bb4aa274708621c036cf670db899a6", + "0x116d77b470c6d37dafbe4d2dc110d2dd92420891f18c2f5b8f43ed9341304502", + "0xa9b47217de308165e87d8a2df2778469b4304c39cd1d743bebdefc7eae435832", + "0xbb1e6776f78c94e0c37119952ab925acfd70cd9c9b5ec8d2286cceaad547d537", + "0xfbcaac553ac391cfc5578cfde41837465a132606fdde27e93706c64e4024b4bf", + "0xb39f16fc4baf58a30a6cc625bba7a6ef7427541fd3f44ec158463bd74494f8cf", + "0xf4a3704d5217afba230999e16a8af8c0df77a236eae8fc250aae3b0ef10c704b", + "0xb1a8cdad34ec1ef934bdf49dbc910b4f23346fd6fec4ab15617c77b539b9dfec", + "0xe773a6a957a4594421c4b682748df2ce0924c8299caf31e821d7f2da89ef1b0d", + "0x80703bf02ae8c47b20cdf35017460945d31d43c9004307a0f68fe15a79ff4422", + "0x000aac49cfcf7479f54da63f6cfb15c358e58cc50dcd4f178c1d48c7cfc70ac6", + "0x37359a207f2d1a5d483485e175a25ef1dbd1597593489e03da0855d5b73978f7", + "0x36649fa2d11c71a4e009fb10e118d00e6bcfb4947c7da998042766aa65509e2e", + "0xdd367d7be52578d809f2117f011bbfab36e9f10025248764f65b49c3e4c6f2e2", + "0x1100529aba908d0134d124c320ecc5ae5f68e55e2c83d81e153b9b84730e0348", + "0x12b9176f9dfacc4c0e07b233a0eeac51661c9ca7bd8534bb324c72dae99b8869", + "0x141374e0e24f1d70dfb9fcd8f49f42de1208cb7268d18bf11dbdf60047a4373d", + "0x5bc84c71853b2f6ec0e7733d7b12cdf644af07746881174157d25046a3cb0c15", + "0xc0b190e2f49eb4a8496985ac98feeecb61f8f103110cbf4b0f404f086eb90dc3", + "0x1baed721a6b29aaf434b0de72486e92c5dac340f846d0db2533aa74ab58c2fe6", + "0x7bf7d41ee40b8a20bf80ab71b9674ff474a9c0b2b0b3b768f4d177b118f55021", + "0x461bbf7146e4e95ea95add280d7b7199a5dabe4bf369dd0bbb6d74eb363eb399", + "0x38728b104efd235331b7e0e2cd519adcb8333682fd48e404dab19b5a0fdc1eba", + "0x841b6488a00830c28b4b1517134f01a071015124a6202abd48d7440b5f6464ce", + "0x00b07f0c3e6fe366d115950cace606137c284c418e6353adca18df07b4224183", + "0x09bf2e8d2d2ba69603ee2aadc58f87dee12a0a07e091c7cb98e18c00242bfe98", + "0xa94a6b1b9cfc8c6efd37e74635630eb2a5f4dbe1a6cea2d2f0b9ada691f49534", + "0x995162698367b47f8eafb9f2de2e8261ef17ebd9ff4565d6578dd32021b4b49c", + "0x51728725af93c6fab7f955cae9158aa0cae132b7977efb080320bd5540d4a246", + "0x7a901c710bb225aeb851f1f5b92fcf3dd1526018f34bf94cfbf0081b9e2bc252", + "0xff8057f4427717a343ac8a056043fc6f80ace0a9166d263a8d12c52c7d985148", + "0x3f2a6a04434fa68093777e69a0648da8ba8ae27b6264ae26f91a0322ae6b4273", + "0x875175a87bddd42be4f2115630976f143b7804da25737dde75f373a9da7db767", + "0x0ef0d47ca0cb90186b0db9b7f69438dd7d416414833b993d1facea8c190a2cfe", + "0xe70920e1e8f41cc04d34b2381747674d64dd87c892dca35cce6be3c21c5ff74c", + "0xf6bf1b5438ad9b45d88310b11340fd5f961e0c3f97d25cdab298466485ff70af", + "0xa86b8867cca790d03b4508e46425705b5755071f6b196a484edb26eb77d669a2", + "0xb2462de4b1149fe1c462cd4a944c5800209426be3196d28432d22d928a6e3b56", + "0xdde87562cd130db3a4cbdeb300e7eef5ecd884751b9692b3530253da3b426d3a", + "0xef6f3bcf6cd610dce1327131251c1febcfb2c8be013a2cdeeeea1d7ed2145279", + "0x49c449580aebe61fdbbe7b659956cdff5d34a3d7078f2d531e1dbf9e78fc707f", + "0xa7d87aa0df5d0f8c84f0a11ee2c5d00acf63cdbf98be9244ab37ee5c705c1991", + "0xa8ebb8e6ad2015dace964ede93c8014d4fa3439aab2cdca09100c337be0c87f7", + "0xa5e855d01efd43ce43dbf196eb94199ca4206ae95fa293d2d43dc58ab69eb5dc", + "0xde56b2630dd3988a67d4c1a8bbfcbbcd90c99f0162ce697df8ba5a2fafb38681", + "0xd1d6195544c51fb80f41bc2ee4ee73e44536d8b2d2f478d719d72f0b7880c09e", + "0x2691de4f1ef0d2451f07454d5419abeb80502f4460bf365984d46a7343d47239", + "0x3eed848da0595777b65d377857ef1097d7c0e9d812bc0b1c334e94a3cddcadf2", + "0x82b5df95601fcd73e1aca3706974e9aa9f704d02715ebd750fd0603522850e72", + "0xd4597a1d9e91391da18fa148006db4f439ed269360a8415b35ef74eb3e767f5a", + "0x3fa8dfbe6d64ba346d07559d4698263e63d8bd456f114eae1416bb993d99e64f", + "0x4336ba517815c335dec9a08e7d1857fd3e668a12dc8abb0085193cc6dfb60463", + "0x10939a82565c112b767fa5d4c5628a670c5623f1c417a175d09becb077aba66a", + "0xf3211211715089b537ae8c270d7bc0952bc26994d070ae4692f1aa4c850f1747", + "0x719010b1fea904cb96f56b5a16c730839f030fe8f967595a2647b57b67a7ffb5", + "0xf6c883fc56e57a70259f1c1b56e94581efbc18115a13e7a83560e32458a78c6d", + "0xaea535f44b812fae7f3a7e216d695c4b709cfce4869ee4b0470c6df99a6abb06", + "0x9e659a2d3d72b13a65fea0396623edd3c2491d309ab195ddfde6e83832bf6764", + "0x35047f5b4aa180f07d47273ab0d9ea3dac5bcaf5ff3a80ae713427a3aaba2f1e", + "0xbb35cec8f1b8fc9707994df6b93dba18342156add6290dc6f906c8c06988b080", + "0xce5aae3a026f15cddd8bcb904ae984b27364c85a1db01669eb437a1d2ec116db", + "0x5b80480132259b9f159917b9af112113ff6ab2c9cd3587080c4b45118c9f5912", + "0x20ee0b82e04f86a6936971893aae1dd6c9f4a03b78d0ca6e5af1d195d8779b7c", + "0xa4a90b7855d6fe80b403c5cdc32405ef1156ab83015d8a1634560b4046aae931", + "0x32e97984751c36a6ab0f651b4675d70c8b4ee461afa7daae6bbc65760ec7029d", + "0xc1c17b3f900bbbaf392ba82c480c90b706079ae1c559f5edbe9e8cd56b0f41f2", + "0x4314478c7404a573d1e17600f07209b331917459c6756de910a81071f4e468b6", + "0x6256928f29827180db86269ec33ca31e510b8c2bc287aec00281bb4599cffda1", + "0x91ce6107d89e783bfd9887e9f2cf180e029c86886287357cc36cfc29fdfad94c", + "0xd5937778af97763ed36c35a9955b1f840c5bab2032b3418c11537f896596af75", + "0xbc3580fb9dccc7f6a214e4bd3c0c09e2e9a8b8a8e2de20c841082465e9fd64a5", + "0x3a1936cb41e17890be0e162ea95ab908f0612c20fec62c22c2bd7ff1947d0482", + "0xfc4c9e86ee1f824fb446a966073bff965fd116b1618904e9a8397cd586bc7107", + "0x6c66246c94ad6c8e2b8b7bc90690775338c238cdf431e53f4382244256a5bb8e", + "0x3e56991487b66b41f209ee749d817dfcdc1aea634ffb0b2125d4a086053f9a5d", + "0x6bcfbd7381295875e2d7a2f1d35a96320b0d222ce8187987b9ce693d1ce0a5e2", + "0x4580fecc6d2f4f9e68053b3067b931b252e5140598120fc3d593ae2add79da85", + "0x69afbc59d9d5f2aea003558cfc32bc0f59fbb28bcbf048e83e67dacb2f051a9e", + "0x6f20a07738f02c250baf47779acab06b31ed2713891621cbdbc3a33cb1a0f1bb", + "0xec3ae039172c3f35b12d185048c7ae3e9ebaa9afe3b01fbe9af9eaa8d132ab41", + "0xf8953caf4a7078796d54a797424db24f42e22a1257110f429de39365f87eb167", + "0xf83d0408a57377c2ef00481c15f0fa35ff5bbc53913456f2ffdd074614b728d2", + "0x120474940e643c946c9b1d0411ebe85441681cf7674dafc7f437085b78a26fae", + "0x7639039a138a51df89c0c06c08353ff3baa86bb5f4846860b62727ac9e98b75a", + "0x0c334c25b7bc1d64748cf6b1a21b64ca859762c239b2bb63aa66f0192bbe9e82", + "0x91bc6284b38b103e31cf20d99b8f94a5f2a8714e05ac021b8139e51ed97034f7", + "0xa119da5d5daf11ec238315f7eb7153c980b7df420896759b05d6e0cb9c15b099", + "0x478774c200ade9d6bcd6ee55006191dcd262829396f5d1a33c5104838fe6a998", + "0x72fdd84d4358dfb09c172e0e91f57ef0706337e9e9e6de1faf28a5ad1993cbaa", + "0x40d5695aa29352d0b03f4e367f03d50996a7091f5210774bea024421b4ea2efc", + "0x5ad627cc00bc5fca0ad8ddf5a09d4e310948c41c54d8650da28817efa05fd8d3", + "0x090a72d69f2255810ac423e447d0118afe8fd4d656d198f9af6fcf16725c2cb6", + "0x16ab98a77e42ca0084d5b6f0962c8d9729569a3ee5468f404b31046d710be31f", + "0x40f3eed9711a132dc483b6a1f911d386228e67b12d23d9b30c4f476bc7869290", + "0xa92722e58027878eec3a115f41467b420af8c4ec901f8fd8b2cda0208e526deb", + "0x1f341f622cba201761ace6fc164b5ffa90c32cca3379a9bcdb0b215d347b2c1e", + "0xff49ac00c27cbbf5da17956b19371e5ae8a288fd6ff7562b7f8f55d6bb356bdb", + "0x6a856bf3855f801748f3c259465a30574eb720db4e4547feaf9a6a3c8fba9b66", + "0x4367b7f1597bfac50a191888271edb84e9ccbe98340a3e896abc1410f6c2fd49", + "0x3a5dffd2b7db4b4437983e21126581c6f0e5b2b2fd7a62e3b51caaf415a7488b", + "0xb96ba50acd12ffd0e253514b8a9d9f8a2387a35f6eda3a63666e7a0bb5a74536", + "0xedc56a3af991603540ab6d8ac47c383e5429213abe2bcfa6e48ff9b7ac4df978", + "0xd9248991faddf6a9e2939921f8129a2b88ed785c0f0e41a11c16ff2ecc76945e", + "0x788ffda4f94d6cd932b41956dc6d48c04b17e75a019ddc66a452ee0be582d324", + "0xf755360190f6621f8d319a0a3169b62d0ad47561474b705cda88ba44b4ff7f22", + "0x412e8de38edabd1156e6c9f948c9f9aa0c896499f77aa5332b000cc70053d868", + "0x8ed82eae843f37e7b41dad6a309b6e2deb3e7ba09ecda1083e3896e593bf38ac", + "0x450ee983d78f5da457d1d44e83c2994194bf0f88d16365385da07a6475dc278a", + "0x068f39349ae7b94ba18f55e5c56a4d0f4fee5f3d6506c91dfa486956b886cef3", + "0x1e0ba420bf0a554523d73b0d7dde4ce1fe813feb445dad74913fc0d60a2fcdde", + "0x51dc8f1fe4e01e1ab6577a8e82506dad9f0269dcb4fd3f355edcea3565c2759c", + "0xb1dab28ba4711c54adf76b9606b6d7dcf2b9c6e2b5957e9e97350e5ba703a3b4", + "0x51234eb88a707e5d6844d09c1549a2381335d49cdd03dfa92506713724c25591", + "0xfdae48e9ed96dcb8eb3ccc35c84a342e9e5314a8bb04e5e9dde16e9281cb918a", + "0xf9bc67cfc4401b08c467a61590909fff1442eca8f0be2780f28a5a9116a08655", + "0x53212f1b630a1e52f27d7698ba7bc9af6b94178a7e57ff8861a8c9d0ca9924aa", + "0xad4b53eac401436504a3768f2784fb72ad48ec2ae1fd6f80e842a3fe26836be3", + "0x11eca84857ac81b5085dd50a4a10c8f032150c215ab8229ef4335fa8c6340465", + "0x41c288fdc4d9a9406e987d90b11a3728ed3c9a77e20bb7e5ce34d62ca5166b7f", + "0xa73bd71d818dafe4633209ef735c6d58b086b8c805442bb57fc46ceba9a7517d", + "0x80cf0b2ca45900bd5705c14c025c53e1cd4f180130060e8fa8f7112074300c1f", + "0x5795c53dbb9fe7e3a9b3998fc213a4961d6716d58e2c9727d3aa2d5ff7758cc6", + "0x18d7ea60dfd5e763aeddd204fd2654b52cce96a4737e665e67a952d7f9d40a32", + "0x88955311540d5b5333c728f976f4bfce14a07839fd3c4d9d8488a12cf99c38d0", + "0xf818504defde32f54d398b607eceaa073e33f161eb48f606cdcc203c38490577", + "0x845a911cadbadd8800dad80b820fe953953df4d0e2d5cae24bcc2027a6ddc08a", + "0x35a1001cda605ea277494b223a6835667b8ecfe4b5f733444bfafc760efc2d12", + "0xbdfed38c959847df8ac6f43a301355fc1ee46ce0906da434a4db7d05ecf1688b", + "0x5f1d4b9dd2efbb6bd0649c23f214b055a14f02643bb75b14754cc2af4901825a", + "0x6a8d121588d21dfe2e94a38bf6aae3de47e513917a61f5b2d75fb5ffd391610a", + "0x0dc0cfebad3445a400760669f16d711dad869a4e87bf579d0745e6307b1203c4", + "0xee23bf9111193c3cfa4173a224752c6e8c52e2b87327d6aa6164cea231d29b6e", + "0x37a2e1540239c7ccfa424d72f2092601873e8d0ade78e4c5b422a7a3e5ad3bb9", + "0xcd9b85e253cf016c1e1d8a6479387c1d6e460bed771e6283462064c377aade65", + "0xa1e924b638bd740dc0a8710c188d3b266e3e40fd1b1711dc3f30234051d1c552", + "0x6cf65402fc320eb643b795fcf3878732799389d54f59ca521c9d265f93b5ca9d", + "0x88c6a984e2d74c2d6ed90de3e7341764e2c03e640226c36d895254458f18799c", + "0xb8947441ed6817ddb0206da8ce4eedfaa41adcc461f13dd260559f92cac0507f", + "0x92f4e68423c159cee14f2feaeff830ffd973c386bb9e09a8620024a36814d858", + "0x673d7a32c6c60c83431915bb032bb0e41f26bb0175ecae230041070c62a09042", + "0x7229d4e3eae51188ccd8cd1c65dcef8cfcfd42ecf39edbaafdc6ec49b43a8afe", + "0xc1087cfd4fcf9f1447f22ccaff5acf35148162f06957002f0a49e85cb703c1bb", + "0x08c0e8cefeec470ed1c4de8117a55c9ba975e3ea485a284b4944adde16a69c5f", + "0x3c3311722c540c28ff86b1ba17c830c537b5eb8fb60f3957404c3da7746768d4", + "0x2db506655cdd06836d09a478ca79cee997f3dbc58bffd49d89b91f449b7b04a1", + "0x9b648bebb498ff6c37d4101cd78f1b3982c54dbcf9fe2c29ebfd2f9b7e04f099", + "0x82c680a2a3eac1238adddb76f6f18bd28bb4818fb30cde24863dc197dc8ec13e", + "0xcc8ed40abb13449df851c4694088283228a9eebc5d3e30bfb251abc02076bc9b", + "0x6b7b737c5a012fcebc781999145113a89e44f1275938201ebbaaed865b78fbac", + "0x795483f3990d7056e6557356e0ebcd0c1a305534b9ad22c40977a471ff765008", + "0xd50325af06de4c2dd53c51a1b68a57b23a1dc9ba1a1ab01299bf3da48e0263c7", + "0x481ddc79fd4eafaa1405c85748602a4012a3ce668021399a309ad7530f17d1df", + "0x776e02940d65eda493f5925362bbecb2e19b088fd51a044c5b5091bc0908edd5", + "0x89dcec4b0df855daa6ee38c26228d1f0f83e3efbcdb8c9f743ee544559f880ed", + "0xd888802df592a2c8779432354f50abbfd89e826795bc3ad204a8329031e0f612", + "0xf148daf80df025a45bd6767db4f260685ea2c8efca1f4f2e1f07a1b46eaaebb2", + "0x42f87796c2eae0d78af26581f92960e76582636705fa747d52f94b5ff9dd672c", + "0x5a7c25f42a4821d4c2a8621c8fddbb0818df1507fceb2f9bce29b737864e69e5", + "0x7f339843b3a45076d4bbac3edce392ce978318ce4fe363a1a5e8a851229fea4c", + "0x66d1bfef48f6b3c695bcce0e1c406bfb413cec8358c62e718880e9531a2e1188", + "0x1672dc0afd5f480fafa3d5d76632e9fd24bcf2f791c03d4b79ce26f2a6b43c40", + "0xc00de487ae1557f6dec118421611a654c3b6e9315f807e18e9285ab698d62de4", + "0x3fd80e20d89463b793ee947515aaf2478bfaf3b76c476b57c80f594b3601a4c3", + "0xeb5dc70e6d66098fe7f431ec8438c3c0ef664fc449d228fb3717cd643b0662ea", + "0xc95e9fc217820b220a1dfc8d80555f3abde3f7811f7719084d5d1439a65b8cb1", + "0xe80d667231fec8e334dd88133150bc6e5aef23d4dee2b15ff9815c191ce30b5c", + "0xb35c99fbd6e410abd0496238bf7e66d68b2c452848d852a46ebbfece862c6f46", + "0xd434d46f3e94dad8a411881bcae2db9cb99506ac8a0354c50586cc81c1867f66", + "0x360bb1940475abbe7168c9de22e43e1e711883e9fb614419dfc23ee3b301c1d1", + "0x8cbea95b1ddf914937d23916db6083e6044b8c52617a71ed140cbf884dca696a", + "0x3cfc521239386fdb6c7c02dbf20960672c5118b5273bf51890df9ad31a388c99", + "0x6e73b52562133ec4a8cd389a352af64705c2a1318ae99b2dfc78dcff1d72319d", + "0x86e6f9bd9edcca335b9169738198aef3a541a6b41bf58274429a29cd0b3924a8", + "0x9668e3aa0d09467be183c811485203df5e10f4e332b2f033f4cda7369d90aa3f", + "0x4b5e3df053f882204387151c1e7120c0f7086a9edba0d3c2c3a505c0d61802c5", + "0x634c9245fe89685be14edb30de2543a878c97fd7506a9b186df5e064b286165c", + "0x10719cf7fb4a7eb4b70192a8494dc071ffec3fd37a17b7ceb10bbacc4cd3c132", + "0x36766864b6d50c50ac2b75e2b335a2b143a1954d61f57e7827cc205c33dacb8b", + "0x4160390fedc6faa039c11711fc2b9fddb40968b534b370ceed6e37e37a0fa437", + "0xe1a28cfb5ae74d7adc0e0e0dacf0f0e197af1ab27626de8b5a56f4dae938a8e6", + "0xc2251525dcd1a93c21f4911f525f8ccfc36a6e4f90b4e275c8bb788522607618", + "0xad403b7913b7d705db6628354f8621dacdd4c91b6bb60b747e6ba6080e37e7e8", + "0x2f67cb9ecf5c4678d1d27779730833825f0bba23ddb3b3c2090e22ad7deef26d", + "0x07df980ce9fb75bf368e179a5cb7b4af1c695aebb0342f25d00e421016281687", + "0x8a56b31e9b9d3c6b2b153a32c99ef4ef65ac34911da645a4556d5813d6505283", + "0xc49d0910f95d400041dcbc98d8e2d95261c2cc9054c8c36a94cd18042794268b", + "0x2030bbd6de4e34c41df9a5471601df5980773ffd594fb8a80c2619aa20a7d427", + "0xfb1ef5d538b7db8c1b712fbd6002357fe95aa9009ddde8df604eccbd66b57a0d", + "0x7a623749e4bc69d3c1ab3670dfc992e263278714c8876515a99a06ffd91f63a0", + "0xceb9b81c22f6808affbfd3a9e049d7e3890f2b54da827d91a1de11e790272c3b", + "0xd68fc65ea61dcf560631c3ef0f5c078086fd6c7b6b4c0d0ebb231e2a07a4a230", + "0x36dc7267df912c83c92ed9f53ead40bc2ef241bdfc62f0d7a4c24e9aa8568c2a", + "0x3abd8e1e1950b65ca1198bef4bd671546ba59600f017a63ecc656070f77624e9", + "0xcf65057e90df4030c8d37724fe2a81f00728774c9965302aa90f8cea36cfabc6", + "0x7c96f5fee074c4cccb1db5b3b396623a28e41a430ed4c5aa51175f274e65d1ce", + "0xde71773646c63b3a68ed6d6ff26f1760b68e497d1579d0de51e372ce74d6db98", + "0xf0fc0c493d23d02a7822ca306c739608929b4be780125f8be038b3314f57de3e", + "0x6230ecdc6b41bb4e2cdceb84f474c0845a1762aa5a3bbaa6ee11813be6f1c9f0", + "0xb201eb0d085a065c6371973c2c9b13bb783bff3fa888f7f06e7760f8ea31e4c2", + "0x1b2055c094924aa007c23f8970029dd6a4e4042efbd1cb5876092de0abae3af8", + "0xf4adf2731dd675c33673e0a2a0e964f14fc9c26081e7a3d9dc9567b61f194a9a", + "0xa1b61107f1a84d5c629a6126eda275fbc2eb34ed171129d432654345cc5a368a", + "0xbaaab04bce4baa421f76a029729617d0ad72de8926632aeb5e8050deb16c3cb7", + "0xf2555f067f8855d2381b298fd78a308262fe8bfc0fe6807a5cb923dab9a0f519", + "0x86dd603d29b186cbdef1cf6958e9d37ad8f8092aeef7f19f5539853fa26b58d3", + "0xa23cb2599d49f0e93608835c375386936678ac58ae14d87c112b86f0694b5596", + "0xd358582a0445ad0cf49dcf89e5945fba4f62aa42311b2a31eaac068817f555ce", + "0x860ecd3efc5d8dbc40e5cc6786859ca07c85fe40ca959523739b62b0e4e0fee1", + "0xc772b9adacbaaefecdf5ae2ecddcb9a6c2cdc141a211875465d3bd29b00e14fb", + "0xafb210d709cb8b0ba068a9f8fccc5d138e1f84d03d26a6b3d854addab236ec95", + "0xbdc3cb79641e51c9f707d159c9d88c2026258b6f73e65471c0c25527969035bc", + "0x5c13fae2b3043759ccaf48d9f12545ea32c27bf7bb66e6f619eae2f417bf821b", + "0x68a007f921b6e70f29a1d6d16f9656f07476f371fbf9a1c1a7acb5c2b609bb30", + "0x183850e4f92d307db4ae75ba4695f24bef26eba825b4a51575f51fab0e1a6f27", + "0xfff3b9a3742d7ef534f50a079cbcc55833faef098818277d6ca6371ca3d753a9", + "0x78ef8ce32497df07a7bec9add4b07eb81b42590f02597249538075e41ab6dd2c", + "0xe58fa1651c0f44e0926bed37c52a60665d732128a34db9703830cf95df0e7e67", + "0x6b7b688c0b98a58621392de01a9bff28e86115cb9a4f884326d29a2d21667bd1", + "0xb5df489fba833ac4828f5b3283289eb327feb115de64e7b71b9d3128762be589", + "0xd12a2a88f3b740960fc2155dcd81bea7e8ed81a4d02a78ba18e98aec67161783", + "0x0b22142f3c76af00919230cbc5b00d7d263c5e85647d2de8a3e6352ba02cad64", + "0x6b4e299b6771ffa71a09f9b43bb7d573b3b76df27abbb167f3e5ac711ffa751e", + "0x19a3415b944a837037f7efa5fbba4b005b9d4b91b9d8b6365da23e54cb8140a8", + "0x0255c4c289bb1520a8f771e95d3863d9e3542eb626d8448391cd8e9aa2823855", + "0xe304bf675403603fc39c4160e20b47624cfccbea2a371d7613e36e47c8251038", + "0xc2c138a736de8ef11dcc3317ddd89dfeefddbb20f8cbe9b26e6d58f0fa0fbb3b", + "0x00c0f43ab18e8ae57cd4cb88ca1074ba08dfc3e7a493caff5d02321f17d3f96c", + "0x3840eb9a35e137d7104c7bc4e62a2d1445021aa136363e0fb463d0a8ccc24cbb", + "0x6bdcec67ee09dd0cba8a0fb3eee93bbb18f947607b8a0b9c8553ebcd6d63eb16", + "0xf63940a931f3171b375c2f55d0ddfeb17f34e4b37e671591748326e72a5d39b2", + "0x45e659968306110b827b48998208ba102a8c28ccf08da317e34c8951eeb18f8a", + "0x2f6ca4bee975b058f62fc48bc7b17eb8631c4ce36b3f7f1f6f7958811b7a34c0", + "0xc1daa62e5add1fe79f3883cd53f3cfd53ee29d8934a0d49f8c339347cd276739", + "0x90b542089fed6c8240d9367e60357bf7c685775744c57b079867e0a724644184", + "0x62e290067d8abb0e1fe21a488cf54471d6421cda07c80b01ab750d3d352186c8", + "0x3d42eb2d8d2639fd63038f69895b00ab04d92b1ab0a0b7772775615fe2a8424f", + "0x4caec53a8c0977a0f38813cd37458c783709da6d386dbe0a0358be87482aad15", + "0xbd8f3c60b0b998d72cdfdbad6fefd2ab3762583f4efc8606f62657d9c05cabe1", + "0xb6ec64aa2f81f1d5cefef4e819dbf54e8ed9f018faeb99e16c2560ceb3d82533", + "0x0acab9585bf5d17fffb1c0e479646c8a138670f181a1bc9b5fee71a396b24564", + "0xd9ea8713827ed39e9d0a8c308f20c567cda99c591b9777ed40a5b878e2454451", + "0xe7991c113e4fe09610a4061dff84bda3205bdcb49ec137340f596e03c4a961d1", + "0x4e19826671fdd3c0028c4820776eeae96ef435ed23f07c54b2393a517caa968d", + "0x4ff24d17dd4b18d0ca4167c6769d20aac8285779da23cf8f56a12cdd9806933f", + "0x6a2431fc40b88341209023b8898c7e8e8f28b6c0d83225d597bd445382b6fd55", + "0xd8be9caf486a1b8f3ed5b637882d2449a9e89dffd582a5fd55bffc4fb4f85418", + "0x54d6060edbbb771b06997b4dfc6fadac4b76fab74908a169b06201a13a0a22ca", + "0x8b461cd45b90b3c062c801349d4f723274cce36ec256c44e2d749897da891627", + "0x46fa69a77abdce3a0298effcc823f9e69dd22869ba26b4c1d01541bf2de7937b", + "0x13279e1b1ff0c1527e09aa8cd610c1aa54328f88c4dffcebfe41281c53a10aa9", + "0xd1ad1dece0824c9bb0b7e09269f813a1a75e4efa1eb6cb93ab1dd42119223f06", + "0x46243b104f4399a3404db73fecc1767b3308f4d51df8e10c306c648901a064b3", + "0xfce2eb01ca4594199347b46eab5c889371e7d3add681da4d36595976c5f7fc58", + "0x8af66d1c12db728f09018d3839a320f82c7b27b97000f9212989699c78e6c26c", + "0x545d857048fedaa6de9e10d59aea4f3369ae1ea2cfd4d990292c15bd7f37e182", + "0x63c4467f63fdf41ba4bdce830189c6421d6c67f3db531ce357e317123412245d", + "0x6f4305c01be3eae45809e6caf06360fd9690cc39c305ba5a64dd47811882a16a", + "0x751d6be0d942d718f44cd70f10d1611db0c4c89124b76b732b7decc1218959a4", + "0x7db5bfdec57bdc3b74e47bdcb41cfcaa642927e5eb436c0c76e36a43a02b62b2", + "0xa75bbf12e95613fdf3cdaa4badf1d340af7c6251fa2f649737fb19399720e7ab", + "0xb6cdaa8b0737001af40740abe099a51857a35aef0f209e859db01480a2f23816", + "0x1b8f7551cee4eb0e92ce6a9f0b1a4e4d943acef65e2ac65f2466e4fc2272aca6", + "0x164c76393945a764479fede040f13455768aa3ac44071acfff7f96b59f8332d1", + "0x561400d0ca3d1f322296b635e7b58d7266d65739e0d4fdfae898a9c49ce364b3", + "0x56892960f0c37d7513b88b7f99540aa49bc92e8bc7256bc1c2fc990a6c84344c", + "0x493500d343bbc38b73f289a74204d9186b34f477705f9ab32dd92892209f011b", + "0xbb713e726c6c4b3a8206a5a05e3c4b8b2f27aad052fbfaf385f16ae562573309", + "0x5eb20169a44963f8c1011a5940cefaff81139426fa200e6427bc028d8cbbbcdd", + "0xcead0359164f39fd00200de825cecc63bccc8cb76bca930262f5ee625efd234b", + "0x4aea59dbe3908afc1ec06f6d891236e906f135efcd28347c766a2315ee662640", + "0x0fd5dcb637ea55c9ed20147153e7ff1bb578832452c3b56e661c7594f141f712", + "0x3904bbb37b1f292628ca91fcb546e947f7cc52e827487819116449b739aee8df", + "0xbfe3767fca8cabd6d18d4d3c4aff79174a373082d6b6d4a63f2d03d0a64126d3", + "0x3793ae1a9b7887b8cb1f2ca995098b73bed8865c47f02d5ddd4e5b968a404ae8", + "0xfbcccfc208701b5ef22e6390f91b37e1f3d8f7a8ffe47951e5ae9cfcb4f28e5f", + "0xc5bdca16693d60334353a58233521bb12bf80e4312e63618f08400bd51be7876", + "0xd6896c40cb689153480778c4a46edffa531739573f08e3f3d0c9013e9f4532fb", + "0xe4c31595f204a44aeafe75779dca0ca894185b3e2627cc4e932e432054e58057", + "0x1ab27949919c75168ec496faca66141917449e1cc292702b52f165f3c224f5b2", + "0xdcd8131d8a1e98342029c3ae4fd1045d0a3b3a038e7dbd8e13fe3ecab30d13f1", + "0x373636000f911dd05c0c412ef69fd5c71888aced86d721ca6f6d3a097fb6243a", + "0xfbfa33ec677bcf4ad9b9f9404cf6945a2f2d0cb4544436d97b0615dee48e9ad0", + "0x4cee41306c387e673b6ae31295a331ec122ac2dcbc1664fbf4634c55c8f3df19", + "0x0df90b24ac4280df5a90a40bf1e1f6b895d790d7ad36ab863e80ee1923d71c81", + "0xce57e7edcdcfaa1d4d020f955e3c7c84746ba8a77a2dca69914331ae6a588c93", + "0x2857b09b2507973040e63fe5147f8c0722bb31b494f122187bd9ec3a119868b2", + "0x5edd2c25d12dbcb1b0083ee471f3c8d3562f8e812c7368afd39bccc5a8a475a8", + "0x0eb3fc45bed06182648ebc82fce9c599973616c2dff37791c014d81b72bf7ebc", + "0xf0daf44cc73cc1875444b8f97cbf96923ecb1d2406e6afdf30be1ebd67170a8b", + "0xe6cf543cebd12913b99e51f454690b2e6fb54d885e06269c7dd1dc940fae79f9", + "0x9b46655d15c4c8e06d28f97f8655a1211c97b32cbe932a1167040168ed757017", + "0xb48a7111ee89b664c7b3fc3552fa3ce288598880e3c63c86ba2b40d0f1de47be", + "0x733d13d1ecf3101ff428d49e3cd50ec300ada80429f46ec9621d308920e313f8", + "0x02bc80564388ece34922f531ace4b429925990d68c42226303ec2393ac4c8d72", + "0xabb2831b72888718eddc4575d79c31d5075f7687c9e6f7df9c5b1e3f672735bb", + "0x017650f52c51f3cf2e7d82ed8b757206873eb71508161210b4f7320089875b16", + "0x97d26f102797f52ab80bcc786c683b3768f54dad05b0cf5d2f7c69f7c5e4b477", + "0x8e01eb81eadd76e276e853bfd3f052d9a9d05de552985a74f4c51ca7c702cd32", + "0xaa9dc013b931a332f294dc074707216440270a27774c7928882cec0124a84f45", + "0x4d49d26f98115d18353e7c15cfbeda5cbb0dc3757a152fc486079565ec05f744", + "0x6dd93f797d1983445c06e551ab46dde6096110dc602aabf520959cbddaa98e0d", + "0x5af113b1aed1076edb16781bc9116dc2d347a178ed6c1ccab4d89d66a2801dbd", + "0x193c02baefae0ffd3e3a7afea1e7e1ddebd7799eb511fc7c62628fc31866c6bc", + "0xf4b7f803d7e61cbe2a08a4ec9b814fc3d70fa9da89a8eb58e93868ba95fd4f71", + "0x99a2cde1e1b08a6559bd4679df647911294be7a73cec0f8c6bdeb0adbd914073", + "0x3ef3b1292bba31f20b5759d0ae2aedd24facd710f837d5373460ce1be08249f9", + "0xe158ef6d40a5b798a181d561f8494c83157478b09eab7c08b438c55498297d76", + "0x466b6c92326aa974a81f77b3b365d590f5ff3387cf6946d9b26a97e8c6c07599", + "0x71144f5a9b95b05102d1ac52c332de9f3ee054937a0fb6cacec61c230818abe2", + "0x43857db3249a1efb81a8aaa934631ffaf6087d7d95e99b8b7e3a307088babdf2", + "0xd76ab08fcae444fef658d002d0ba8f0fb10ca37e2190aa848fa765db9bf938c6", + "0xbc372c482f74e1c5d04a565ee4ffbb470c376da174ea317d7abd6de7f24cf9c5", + "0x9033c56c26ccb9a08332d0a89eb22560607964e29aff9161f6736f12f7473d3d", + "0x082d2acfa4df63deb929cb4514cde04faa0d4a06d53fdb1a58de3ec3fdf4fe15", + "0x2ea6011771c74d920c395caf9c70650afb4deeacf9d496007d03baff837a689e", + "0xdac8c9829f362a81e7a88306123986375d2c83b4cba0dcf1998e44e4692c256f", + "0x1d3fc9c51b3ccf0ec3620736d22ba7123441a2dc334bf925c75ac395cce6d74c", + "0x4881784250b53fa771634929fc34fa26bff9666701bfea61dcfc1a8b6ad012c8", + "0x8a33423f7fc2f11af8ee8beedc8b7e21cc2cd515a6c5ac1a55918dd5e2b16e99", + "0x3fc7e4707e24b5af35c4659da17186f4ce36d526fa91a121f4b9c2f3084263b9", + "0xe104a42b2766455416e0ee8736c1b3191822bed35fe36c01b5e3436f83157ee5", + "0xb9f270344e24eada673b5edff6f07e6fdcab6dfa89ff5f9197115cfca40428f9", + "0xe10df92ac34ed8b77c25d1f5c3f7e4dfb9785464e80b5752d641d986d86ec718", + "0x5baf89908afca6661198fa8bd6af1a08ad0c055abbc724801deb2f5772532c70", + "0x234c4085cfd920d8a76610df100a57e2c798d7c28481e4ee0dea38429691b061", + "0xfbcd104ca8ab7ffaade1ac59a4d9f62969035ea2fb40b54a0207292eae753e89", + "0xfa617eee82fc7887f71bbe0d38ec6535f58c14194441680de7ed91e6156e338a", + "0xd1e2a7c1b81a765293272287e9cdffc50d36b01bf884b1912f4ef37cc08fd7fe", + "0xd9ff3c03d42cecc78087cde6c9b3c4f699c3f1691adf0d3bef421361cb47c794", + "0xc8dd84e4ddac7535547b103be4023f54f74ec0c24e6140314232e1a65d2b4b67", + "0x80e188b2d5f02e63498e455bcd45b00a97915971c7901f666428e8d17c5071aa", + "0xa3378ec252a08d59233803847d8bd8ad275b78bb64224998b4ae308559ca3937", + "0x362ca494021482f0d9dea4abd844ca11b71fbeb0a98e7db7bfb3bb6f864eb58c", + "0x09ec27c856f50888e4634ffaca66f8185fd13e0bb2bbf522ce6209886502c7a5", + "0x24996d2f96618887c1c5e61d5d7ce6948853ca35811d48f72155a4778308e255", + "0x4f199a8efc8615c623902b5c279dd995ac1df4654a07aab0423e070d14bd24d0", + "0xe6875990cef0d2ce1f9d100654cdf522bbe345a462ebca769b1e288128c13201", + "0x36c141d47991e557f7226d8b1fe791c334f046f867d7865d663f99e2a337d915", + "0x337e59da56cde8e3f9e90fafff54d4fa240ba01aec855fd55626e4b3a45a9767", + "0x67672d3a29c49e3545d25422b6015a1eebe86596f55d4c9b8772e89c99ac9f8b", + "0x6d6e167641bcd2e5241ac2710951f7f0c47fb311e32e998831e6fe38f5bebb25", + "0x6dc4fa5ae3f281a90619216491284d951151f37be648694d1952314f43ffe05d", + "0x3c865ccee7900b39d671c43ae15df71fad294781d74815537de94d02b48dd8a0", + "0x10ba37d2ff46db181ff8a15f38bfeecfd9c21e28bf63cb5ab975a2d7c74c0aef", + "0xba265a598f3af5bf4c2b87bd8d28a55f963cfbd09108aaccd5b00294f662e8b9", + "0xaab422eb98f7b0ab9a01558069a3666efa2be2510097b0054bd5c8fceb1023df", + "0xdbff3ce1e6fb0388029f95bd091c95b88c6539fabfe6f1de8e44c47dab064ff8", + "0xb1aa0c7254f3aaa61b58c9d973f3d89f5f4dc6bfee011ad4c4a3e3ae76aaf7df", + "0x055e36325029db9e089808ca01b0ee3eae53703f3e91ee51e587e7b7dcaa8a3d", + "0x00ec5a25517cf0c0a1bf892e5209fd0185ff1ffc6b2523642bf86f6a3d0c10f3", + "0x7bc6a8d5017760f12ace9ebfcdf5a91abcfd6e4f4131df5c4dbe84d2d6a6add9", + "0xeb5da64c8d0cc93a44da96ee9c3c0a22054a2a2e87a7491a5618ade1f59a1b96", + "0xc0a937729678bb6aca27ae16c662ccd2dd0b53346c610d6e5d5b1655762fa4b3", + "0x55c732917d3894ffeb9844fcb1c690d0956c4e2a8eccb6552cdde4ea90c99db2", + "0xf1dfd2205daf748da9e8e98bc4ee94cd6b2db5560e4cead28910e14c576337aa", + "0x60a271fb20c017f90d99c57783ebb8b1a3233398c49f89d73db14b09adf2893b", + "0x8fbd97d55dc64f2124c79054765515f49d79a05f2962b17875f12b353c33f564", + "0x5afd5951c5e834fbf22071047f72619496e9a9dbc6073b661c44741b67fabf03", + "0x2d05a19223820f92e385d2c942b70cca32804546f3aa7058381ca3f6c1ecde11", + "0x267dab323804f2e7bdcc80dde83ccbff56d1aa0fffd0edc7c02ffd4a24bbe027", + "0xf4e9e580bbcc5a9be1f942c12d4b34eb1a4c07feffd0b95abe27ddff57a6cc8f", + "0x3f146ceffcd100ca9fc1af743fad74acd03a289f4038413acfcfd0eb87d14a56", + "0xef98171ed6b269c0ebd6bdbb1d98694316b639bae6a3ad01f4964c3d2eb3d2cf", + "0x510013a35d5c71863b3385176c794ad90e17af1fd271b933f9f7ab980311b27c", + "0x5eb181d22f30ed203c4d3fad610d31c2338dae6a88eee250af19ae0f58319ad1", + "0x50a28d65b51ff086dcf2110feca7d990db95f078394c56bfb850a3b8cfd7f1a2", + "0x4148b8f2136b84773b7ff71d73aa8ffb98f0f3952939849f324c28b9173efd70", + "0xa980bc7fa736bf6d6d794ffa5e035664c45117c21e40da7ba76de7c2ff8164d0", + "0x794a8ef17e48986df700d6e68799a50695086702d6224ae9a71663fd03f8a55e", + "0xf354c82e1c75d7d758099dcd4d0592363eef81e85cba773aa6d6b30e1900582a", + "0xbb4c8b990add1c4e43ddebf742eb605028ae2daa8b61db7d237386d81e4c3413", + "0x61470a53ef9757fa7c452bdbe26d448dd8bf6590fc11420ebeddf441fe56f381", + "0x603558b2f72405e9625ac561d62c2bbcdda84d8ef4b5510d06bdac0553025bf2", + "0xf52d9ba6ba149d0e4266a8d05b73e4a445e9583560024e0185d4b8b12bd55640", + "0x26ef211f77b4a67ddb0a24c4e63f7d247d6ce8635dd9862894bdc067633ff395", + "0xed4ce5eb08b63534c5de241513a996322d168f6b8bf5c75167e79dd7ca1cc817", + "0x9d5f39f494a36d17db609b7a7a62734ca7222426c3556132bf1e2241d6c45cd2", + "0xe664772da4521e1140cc2c5db744010f57c15374dfb78a97701904787846a8f6", + "0x93faea0d197923b1578ac190fe608203f637fe4991ad4954c15ea94e17ee948b", + "0x2b028c1aaae5217cabb97c46c20541c93e55a868f78e82740f9fb9a0a033d662", + "0x529103419484990ad11c05e0c4c696826f67fbcd491e19aaac461cc340747ec4", + "0xc1e773415513b7bf47340d7b0a29e5d49d1a88bb3d0ee2a79726169d32012378", + "0xf97c43bb4ae25524b180e59cb6cac75858d4a8a0772fcf4f3bd24dfad42169da", + "0x19fa7ad12455fd022cfd15897d553e031ca1adf80c963c770250d36f1810a5f0", + "0xe67ce6e2444b8318a01150952a537ee47b701555c79f60eb90d3c3cdf93fb6b1", + "0x1b49d232180b0922704ebd4e9fabca5dd8ae9cfc2a39ea07226ba903a15037e3", + "0x56540b02ffe1743468342b5664b6e51cb3ef6c48dd74d6cd74e0c0c513c13129", + "0xd4d9d67f352c7f54d68ce994b3765b032108a5bd0b5b62d14b893949b96008d4", + "0x44d1b765df81594fd37e7700019f19b1ebd6d9b50631455931b83ce35238cb6b", + "0x2b67aef7cecfec055853cd63e8519bf506d7a1ae69a768e4db9415bdff532c47", + "0xc30ac2a4acc33cec2cdc83e114fb8237c4900a2fc89dddb6af3a4dd5e4868e51", + "0xe0e7127e086e2011f30fcd0469b35769cae163acb8ee6db8a8e2c032c2b351c5", + "0xb46c428070d15ec926fdf1d7465a9168c56dbb959d5391e26480500a98e36047", + "0x8dab41ce167633da3c0b5332833dfad5d2c28ef30c94973e5f4647e312781676", + "0xc632d30657b39208c254cf4f899d00d7c3196cbdc31248798a760972bf399fec", + "0xb4eb2c6c656406a9bc6cc6176dbdfc0e878046530d830a51e04a4e22c4572370", + "0xadb48a02c9c87b246360edb45528ba23cceed736a2ee0cfd03177428e6243024", + "0x443ac2e63e6d629398e607d6689725dd68fd5254916c1b76c876885456a13338", + "0xb66c4d950a9304025654de37c7d0e9759b755d86226a816d1e3b4c7d654a1bc3", + "0xded624610c3493bc7806844342c37909c1c1d179025c215108a12a0428ae9e36", + "0x28c85177961714ce796f152dcd31c8b19db1c39deebfe383d6fdf2334d4261b6", + "0x6d342534c3a4a875c5455ed3ef546e876cedb5aee7b2ecf194c6e47c6a09d3a4", + "0x65a84879e014085b7a0de5bf604050bc6bffd8ab7748253203fff49573763558", + "0xcb0e4339dfbfc8b420c915149a0d352fda69c31668b32452c432f067462b4325", + "0x3466440e4c88895f2642f2986dea4be482c028592530224d73e67254b2bac69f", + "0xb7c325fec25c7b278724ebb91c64fc2ac37e91e44b136dd6c29bf48b80990888", + "0x7a9a2bd3ab5972c1a4ec5972f959a1e30eb678090ed76947e38d76fc3ed758a5", + "0x74deabf896026cb20e2f5f8a88828b265d6696883dab972fe1bc9a4ca98d68b5", + "0x195d2e25b1ec8deea095bcbaac5277f4586237e68bd9c9ad24e65a8e53d6d27a", + "0xcc343c21f7f18c1d507cc3cf12381d7bbe55d7355363361d05d972343fb4b7fe", + "0xd2637aaef2034203e549453225eb1d75633d2c66e8cad0419395250c1e369536", + "0x0f8052a87aa435deee2826e6dbc944128835264d5770dbb064373de05333f8c2", + "0x2091278a3d6a7ed1ab0458cc307903a51d75c6a1c549ebed1f0aed29ce6533b8", + "0x3f7d25feee0dcf39372ccbad55989442d9b7ce16ac93e4b1dca63bd92d5204e4", + "0xd0f866c38597038e360af960e3e84c79a0027576bf3fdf4358a9442f0c671b61", + "0xc527b3694dc6b46f0562cb36e2f766e5b75793ad2794258d8be5119bff4ea8b0", + "0x47f1d7d32904cb0945e97140c2412d12b1e0980c2f72c7878250170aae4124dd", + "0x57aa1ef2a7ec01ee7acd0c4baed5407f30d6c34f2bc6bce7fda6366517343199", + "0xd392127f856736dd74d16a24309a247682e2736f78fc92713c484a6f13edcdbf", + "0x595aa7e3eddba867389d63b2eaa6b16e4e5163076f03d2c8013e40c3b0fc98c0", + "0x50bb320d8bea03db548be3a3b619159e1993ba8eea83af6f022b9cd29ae4d0ff", + "0x53deeb64ee923912f76a233532f474d76d8f6b8cc42eedcce81bda8ad608294c", + "0x1af301b0eaf36d16a74b2d1f76e9e26659f047cd3466a765049260047c25bbee", + "0x05c1d40227ece15c55f06dc922f5a9be01cc147a96e070e7a81b696f0f40b6ee", + "0xa63ee877c70d8e51e795d153a34ce3bcc212f8fb8e77df52ff83084b9133a280", + "0x07ab3e2107db7ff479f5be0d7a57e3b76627cf6230cdeb61d78ebaa2c391d360", + "0xc893aee6d249c152f5db3d7763f34a3311345dff721ae9c71ab5fb3d2b3e2559", + "0x250caa98ea3e682be9c866990f19647f443d57690052229ac0ccfa0ab30a5a71", + "0xc32fd5318214071a41cd8e98499b2b65942c5837c686a06b536146fd0bf294bf", + "0xac390c012eecd83fa8f4cc77a59992914b5c95af36b28747e07adea13228acbc", + "0x5baa5a91d5e9d4632ba89304ca9a3b252f873477f3f0dbbe82a2656eb11cc74b", + "0x063db9182a0d7061dd6872e56c0fc9c5ce9dcd50bba1c1be4e066ac31baea300", + "0x30718f710304c59b8438a03539aca2d431d0a751fd718d905bd14b9b14587674", + "0xeff0df83d65ca2db9b93f92245f8f2be2777ac0eb8b05960c63f9761c4a609b2", + "0xad3e2da2fe9dfa45f6c2655ebbf57f4291db03ee48d4cc9c9dce8ba77068192c", + "0x1c2da7631ac5be07f69d7a33ab11c19677f037339197eb6019ad7a85b81ccc73", + "0xad135339b16d46696f1d630a041af6ff703e50f03720a2391a7437cca1e86c6b", + "0x18a288ba23d438c58600d500f8a2f5b66fbf8cac2fdf21c92602715e1d7d9c0a", + "0xc41f27d18eeac02197b67d185163b407d7ee75e776cd73e36e568f05f7528631", + "0x5243561b8e640354f82568049d4b8ce7f30e092384398f22ec4f0558da756c86", + "0x0fc498227a7c657eec7dfe09a668db967d6ed74bbabe16dc2108406870d7d7f2", + "0xf229992ca93866a74fe61e3d0a742e7b756db30e5c1b20038cece1c7e0a20c2a", + "0x6ec77884426881486865322f73f26c09cca3446081380d91730d19fca46adb61", + "0xed8ce85df6404d421b09dda6e3e4539df7963067f2ee0190de80faf9589249a7", + "0x5fe506925192e162787bafa20c4829755d2616c27fb448d08a9594383608b114", + "0x18808bdd50aa3f52f045cfa8eb2a669c52004c38b12b68536ac3e742f3a11a15", + "0xded04cbdd4942959435b197403ac9d38b7239f51693440d88e3fe4cc2f90a3a0", + "0x6ad413fbdd413fc14decf9aae5c37dae63fd4ec2d11844c6058023a462040053", + "0xa1cf0f465f9af59340b2e3f49242e02282f6a0ab82ea4721bfdae4f995e2da99", + "0xe1794440b5173a4a6cde5595e3d34df38aaaaed9489af182af314b29357748b2", + "0x1d427d41658ea2a40d9da5e2f03ad0b3060a9693572d2e188e0ae4e9e1852f36", + "0x0799a99fb0ef1edbcb102022b3d86abd3a4d771e583814a292f6a499233a0fc4", + "0x63cc0d8e879d5c25fb4001b90e0e9e8fb8201cf50aaad3c9ae7f6354760bd976", + "0xc94df53c16fad900034e2b3fca50038979b8eb94032f745073f10a56bce1e027", + "0xc587fb5f436afaf00310ec86dbfd622afdb3f694c08ff71db952f903a4bb8a55", + "0x70fda21e86b108ac5e16109a12f51f26d374c164899898106d80d5a641b7dd03", + "0xa48bf905f87aab400fb9f4e456d27de102763156bb33a3db37f8fc8aeccbb135", + "0xb934c6f92f574a1ce070dfefbc2fbc6764ea22a2565a8083ac5b1063b3a237d3", + "0x474b3eb3e73312269d3598161bfbcae30b7e1056919a6f6afeca3a2abb853897", + "0x122e4343fe46c9cd740381675fba4a0258e0f42dfa569073bdf055bb66cc6543", + "0x8c4a235053e9fb225eaed1ad6f61747d1ca9f29fa520465ee0471f4fb028c619", + "0x5228999495c587f7000ec00e18e09cccaa1ac2eb8e0415307439f3927450832d", + "0x81ab2253864c7e7ce4d7184f2280cb080e38a7d672e9f8dc3c18907a51894509", + "0xf8bc443f7984839c9024c2649ef329cca6c7f05fffe90e116436267aa0bcc27a", + "0x99553484d427f255d14c1b03ceeac1cdb5e08134ad4f4a06a1b02ec3fb1657f4", + "0xf8fce679a0ef4119057ee408a5bb7dfea18cb93d8d41f4ca7e663ca6c1c8a1cf", + "0xa432fffcec6116e11426685b7d73d37945e884c2f261a139f5cb8c458e501f1e", + "0x2729cf60d8531d0620ef907cd4f5cb51f6eabfb94a5af5b1e1f674bdb916cbbe", + "0xa5977b367bb45c53c85f40d28e9ff0215790e94054dbc11510222137e55736cf", + "0x0c4378b1341796a2ae2143795df0a7c5e3a85c57e5a2ed62d14fe6296fa98d84", + "0x07d744b148a65d6535c0b7ec4789323c10cf19062177780cb196e2d7ff5b169e", + "0x9bbf777e8fbb1cbdb773eb18a47bf9cf0946e501653584a8364e8f6bda245d34", + "0xdd70ea9aa94dffda9c2dc901e84e621135c139405e2136ac6f7e54e71aaad593", + "0xde5e19af4bc19137ead84d3db93a511a7c253eb1d71ca3cc9284163facf2ecc7", + "0xa75e5454a26c2f26768e17aa56fc1768503d7c8b2d3d0bf8a65380cdcb3348cc", + "0x37f55a4f1df17bdf0813e0781d0227f539e9633f6ff924fe73d9cbb248e2741c", + "0x2834deeb897f9f9cb7f8902825a106b0c7389f5a151f61f7bcf38fa569968893", + "0x31e583216ab016d456e9e5cfda5a27b564a822f164ee3b70dc956392bd504a18", + "0x92bbc94b98ce4dcc8bc0f98b5cec91618904021c721f175676fe59ce308cf6e1", + "0xeb3ca726b5bd919e41376a95d41deafba80d8ab52f79f976dbb1eab219af8653", + "0x1b4ff093569939e006a6854a2a1af06b8220151968240d80fbd5ac56a0837cd4", + "0xc87b28f21420b002c2b79c12388d714661ba67e55a587aca1a390f2082505168", + "0x866a67c833049cfc8491d672696d591d1163f8fe21b67f385030e6a153c3399f", + "0x61b4ddb584fc452f47db7d9912388da253ac97ae4270676c09dcfab3df91e4fe", + "0x132616810148d4491328b6893edb9a66db1b20184aef5efae481505d43ee78db", + "0x21c644596d384f59307e7e6defcf9547794b30a1f61758ec24dd0362690bf22b", + "0xc4905b2f5798c1e88ce47e7f2144bb5f8c2650b44926be59f9336b9a76477f14", + "0x281a805a9dff1fb6ffc3bc1660063d2d92ce2cdf1de4da98e007c217a8eb2b2b", + "0x4f52a327469d9fb0978cb57f8061d7c3c4c39b73aa7eb771173ac5f375850832", + "0xb690d892e39e838dda77b78ffcb4e3dc6fc4621856388233d559eddeb25f89c3", + "0x1dd206d1bfaf594caeab38e041f30f2bbcff635f8818bf5c8407a7a957e44a97", + "0x6d5189f970052250a91f304dd419742b1b96655566f4426b33335c3bdcc3e6fe", + "0x7aec3247a3d6e0ffd3e4bfd60dd143455dfebd7a5587e531575772f215bc45e0", + "0x810187dfc969f107494d9f9891d9f1cdcc0978d48efdec0ac8bbff5ef9843977", + "0xe104b79045c6efaf4b5cdab9ab1c25d6afac28a9165bdd22a601a0baed63b1f5", + "0x258f8300d1e177e19666c69dc714b71d7a441d251e4841d73bac817814ef2f91", + "0x3e78915853a869348a65035fec30987d4e7cf23f42e06f6f6b932e0d94d45d1c", + "0x60f0fff616c4014b36320f632b50e011521a4804b7cf87071f0d4b138e1540a0", + "0x91efbedd8494c07e4e77e826dc0cc557f55b903854cfd45358a7b10deaf9f814", + "0xb8d2abfbdb710b8a2694a60e72536f0e99b455614c1e2f0050ff6be1e2c0d89e", + "0x26f7662a23f6b3f20e9ade429977f4c3c56b7e53ff72f09d40d2dc0cd3d002ef", + "0x91e9906b0591fbecef8e154903c4dbeb3d2d6f853b1d2bd85af26fa6ec6b12b8", + "0xa932981dc47fee204a3a57fe11465fd836936b7cf0d314ebbfd92f5a700935c0", + "0x49ea0da0300b7864b201bc474c841641b920741f95607714d59b8ce62c11be14", + "0x778fc84c0b7e7aaaa9a12478156c352c3eb88c9703066e7744183eff8615f529", + "0x28467d644dbe57aecf7486e729c5dac2e23d1850f2d1c0e1fd6b641c9c57a72b", + "0x4a5a47a6978dc72d46dd823e9a5056d37367ee9b31b620baec372a60a5d923b1", + "0xb3ffab40553877702b0401133e512958bedbc667076cb19afc3ac17ad812558d", + "0xf0fdef8c21a19c70e3eec8f5cd8cbd8e7189ab12924adc6a913739da5b259814", + "0x3052012ceb30e8a8805a289c1a702451d8d144325e960b24214659dbbee92aa0", + "0xad90c660afa7d924632728d2462d6e12621292436d5608d6f8f4b9edd6e8fac1", + "0xa77f30230e8444590e86c0062585e299a42fc11f1bb4fe0bdd54270bc56d41bb", + "0x3b95bc0943de7c51628110c942c96445bf6e66e22817803f62a961fe5e5a7842", + "0xf1d18b53e1753fe6ae35451ed5416871df5ef3d11f298fe0c4728f2a45dc4a36", + "0x9f583b0e5aaa4ecaec2f364d15fcc92127b7975d21d73d88cc8a4dac794c4c4d", + "0x8b35fafdfae45c2084821d8232f39515f0eae1a33b54a7b068c27ef577f17401", + "0x9164a7d5479e4e017762a6d23f9615aefb7908309aac0d7ca5136c5f12038be6", + "0xbdc2907185dc191216024480db13512f447bfce61a26cada361b13519f4c8750", + "0x26aae1e9fc65bc757b8b5214a53dd3181716148fe5ee8b6024def720e8f2dfb1", + "0xdd27ddb445b4e0ebbcaee4e4ee16cd82026053ba710d203a8f12d98be49bd192", + "0xa65e6212135dc4800e8db31eaffecc5fd102e27392eeb29a0408027b8296aa6c", + "0x48be60400a417b4278f6a4462df5b21ed84478aef95832d6bc84d268043a58d4", + "0x15064498fd0d9306f93b049c09e2ae34bde26666a68398d43334bde79e81a8c5", + "0x1675cfc2488fbcc07abb552be0d9330863d72109cd326df28fc29ebe31a9f0c3", + "0x355dd1ddbc5d1661798bc2e6c14bab637c865ef2f9269cbc9de65c000e8ffd6f", + "0x3d43b77d3cc2496287b70876afa5fd95091b9c7be2404ba7d4beb33f63a59946", + "0x67d7b72f12b310423f7255c23adddba8b254955fbd26f6e1a04d2894b986d2ed", + "0x474266653b5c0fb8cdec08165fd372e0621666cec9518dd760ecf4a17532909d", + "0x21789112f6735fba468d54bc2fb0e36944dc6600714a5a91559a2d3c58a88506", + "0x4f7b92f944a137f4fabe94e79dead83d0751d67fc576d3bf0ed12f45ae7ab19a", + "0x8e8b807df4d55d066e557499e338a0c4469d0dc60c1f1049ab10c0793bbc1341", + "0x0c80c5a951364b0535c30cb2377359330e62a3b22baa9e46def2bd34335808df", + "0xed0e8622188e86095f0c00451330a8c6c66c3c4ded762c24cbc5d9583ca6c14a", + "0x32ebe89b887a32f373619861777bd4848834e2f15d32caefa86cc68a828b60e1", + "0x219dc3416bd64cc30ea4d235962476703ef07371b894e2fc6921831a400668b1", + "0x15094b0e7221259ed675e59abecae8a7b06639b8af7c8275331fc4fa2ff28bfa", + "0x39eac3cfdbcc36436bb4dc9549921b3da0b698bf6811a524f5645a43ddbb4152", + "0x50434374e8cdd1d864073732729f22a42b396973a94966afb61787a6a016878f", + "0x65b62ec39e4e8191eced64fdd511f8631bdc91361e7340b04b0bcd36f64a1450", + "0x108449a43e9c8162c067f1a7cc592c64d77646fa56bf752b4f9d8cf509df8ca3", + "0x0a01e40f6cae91f422eb3f6ccc2bc1df1ecd74102e31ca7c108cb830fe960dbd", + "0x687a6e0d33f87f4218a27806dad2cfcc03ee83a60b129bdad30640210bc0ceba", + "0xbe9514f263b1e396879f7e826e70eb610f9324d6b5b1bcef613184d858b20268", + "0x5240516bb101ef84c1ade7f6d4859f1de174f8d71a58651eee8aaaf625812c92", + "0xc92b4d735fe7b91d55d4d9dd7be705010c5046e734e7269e00a8a2d0b6eda469", + "0x989cbd034d9785f6391387ff80280bb871f5fcda1ed4491558deedc0642d539d", + "0x8b1f0fa6557b231bcfa3c1e3e441b0307d0143cce4147404cc2251e04f2e7c6e", + "0xcd6c7d23c13c62de5c2d1b284e95eec5aa938146963bfc0d928dc4f2bedbb990", + "0x6598cb8c83478b0169bdd9efc51e31c03029a193962cde282eebc57ca50209a8", + "0x6ac406d7f3c720ef0e511482353fd1764a59e236681dcc21b5b0c5608065c254", + "0xc4f81e27afca02ffdb9cc75b10755714d9f0ed585c49a02ff56dca68ea81a4b9", + "0x73f18bb87df70b65d87f5857b7ed56a0aeee9e5782f02c731b2a088dc87ffa90", + "0x292c53312388cab0d16e1ef0b5e0664260e6192a2eef5466cf2f55b9d884e84f", + "0xe12f08a92be7116c0f2124e00e31a0e365862c02f24b969d11d73eca742e9d20", + "0xff4dcaf5ecacd0a0c79ffd05fed7064a42aa34b7e4d4c2ef06cf93866ab11b0d", + "0x09b269a7bda10a51f41a382195997c1eb999e7d5b95cd80c2bbcdca1516ad2df", + "0x84a3219e02c807319ccb729b8b75884ef07828362f41352ba5366c8a971ac8ad", + "0x00625ef937b27ea4d4cdea0877a8ea6c1c12a30fedaf9ffa616c4bfc03fdad41", + "0xb260408afa75b0dd271c42d03329d18b4a52eac1b366284e4dce49228c93aee4", + "0xf6aab365a58d33619568bb5b048f0832bf56464b8ff18e5e5cb01221d2c9153e", + "0x3c1cca7e56641f2513ed3a8200af452f07c57ba719a03f0ad152924d5025f78c", + "0x4d8fe151b547736943fc9461162fd0c38c3c587543ed07919f0899c33571c02a", + "0x1f96e14e7f4b0d88667caa9358f71537ae8259058cdd5bf4d4548a596aafd6fe", + "0x47269a44adf8d4da7387b4472a6fe6fc73ff036bfd3d18539baa7a994cbb08b6", + "0x99dc1f31c4372c92c111e07f9204b0c02a65c60cb98945b48f36f91e4ee3ebbc", + "0xb386f83f1dfb377542729637b7c9fa5aaeda1b1e80a943814b595455169df4d5", + "0xc658d48da7857f2428e842f082058f67b5a207f1e89755be975d63f2536d052d", + "0xb4ac984c3973d2b29dab339b22f24184a71a8f2095687730e2e983c7ead1debc", + "0xe18a17e73707dfda4dff0d6d265dbefb30ade501f66ddb271e4acc14abe33a67", + "0x54094994c0767621e6991968292626ea6b96ded08b7db4911ca813addd6c97cd", + "0x66ebf14e3b67586988821edc1d1359b5e2b7a1308ebf74e8f262936eaf094a79", + "0xe4ec70730abb9ca432449ade5fa755063f000e4f951b9bd66427a7c81f0e2693", + "0xba2d8fd5e35c180ab7f82bd9756bc0d6d9869517dfa955c4eca986ba24e77879", + "0x01a94449579d72a037bc9b3f2c7e5b2a9fa271efbba739dcfc4317f46f7f6351", + "0x58acf073f978e3429fec96bdb141370e950c4b6262455e187901a8ae9cd996c5", + "0xf8dfd826ef39b866257bb1735a6f90e42cf5c43b0141bef9e8a40ad27fce51cb", + "0x13bc935c01bb67d74f990026ee7c71af40fda4ba767477811806033c9eda0627", + "0x06be0395e7baf7411391eb25aa6d686d17bc9b5234da75e222513aee2fd57667", + "0x79c8f4cf27457be49ba894d8f9941d07537c6efc8403e2409fefd48cdf57ff72", + "0xa3e8dec2fe3b7ae4a72bb335ffd73ba83b6f554a241bad37f57e91fe0489e0be", + "0xa09c11f4d0a7987b2b13645db856b0075aa7cf2ae6d192df34e47ac3e382e91d", + "0x6bbd7d58f36dabf050aed607cf4cf0cad4b77cd8d8fabd7e8102f37d57d0b431", + "0x64f8a336f48ba487fce269f2a50f96b27854e821a9ed8a7a37d234531919fffc", + "0xeadd50546049b0fe946d16fb473694d67cc3a3a47b66c95e36e2c5c07d5c00cb", + "0x7ff4c90b3926f3d1e0e05256afca46888c873a518d4cb31e2a8e09774c8377fa", + "0x071beac76eea71ff246007f02a36cc8a622280dfaec5ee03ad4b30c7de4e7db7", + "0x32700ffce5a146bcd52564e00a98452038e19871f766a49734705b0715b4813e", + "0x8d2266050b03ef7e8a04338443bde3838d70c093ee018ef1b78175a96de98f1e", + "0xfae1a03d9e78ac16e03720f2195ea151b266fc1af5c9cc394846a3005b939944", + "0xa9db306a833357705f982694f681ad88e6b4f01f8bbe788ebc94e46d6e57de88", + "0x0bcd8dfe6604fafeebbd60243236c8b087f39525a764b069114c254d9b3a0660", + "0x32233199d897fdca97996fda5ccade8627169b0f674fdd2dde0a9fc7fa90c44e", + "0x2457dd631c1eb6142f65a4b3de12fe569a40d44345d0bde097341acda75a40cb", + "0x484bd77e0c06fecbcdcdcd28b07baf8de611b732123a08bcc4a3a94a49e6a6c7", + "0xfb9cb098723627e59ea6904dddcf688d8df3f7128a613b0d2519d445034d79dc", + "0x0804bb070784b8eb843c54abbd0a3047cf0c8a0ca7cad1853b2c9e9e38058d61", + "0x3c8d85c1cc596e45cf5f2e956ed42e1f1b87e8d38a9e043520b23721a8dbfa6d", + "0x718be0e6a7902f2464021258cc453038fd16baf96ae5c23d4649d4f12b405841", + "0x050660b3a33d96bab20fc6325ad84aea2727cd15e6908b438ba781ea92b83b51", + "0xd1c630d407eea28e5ac5bdaa26ac32a942896b5df088ba3adf67bdbe379b0adc", + "0xe76ea018d89c46a82381d930814e79580bdccc0acee6040162ebf44d174b0be1", + "0x25193d452b79ba224d3099ab5037af2420604d533773dcef5809bf60a46d5a42", + "0xf6576b28692002a1af1e3a6b0c3955cdd9c152b8b393e23dfd35b89786ea9067", + "0xe72cbedb7d4d7be50c52a0c0341b6a1e2b8d2b9b5a337eeb848840eb67eb435e", + "0xd1db44c28724f464268c4167f10ee0b7926178c181693ff60314b6b8d1eaee83", + "0x85b058f6028aac3720e6357d3f422c698b40dbfbc669c4edbfea775feb9a4463", + "0xa4fe8bd82ae34471453c6555314c4eda49f9273e996d6d54f7d1623229a96f30", + "0xa1fe7219b3f459c299f74678c1dff85cfa71e0286fa648022670ddcdad71a14e", + "0x43a9107554de014df984318d14a69e3c2f944ce5f63740e0c234e72ad9a7d05c", + "0x7aeb4bde654f62f16272018905520fdcd5aff603c3b5f400ce308cb4220458fa", + "0x8b2c8a696b029571caccbdc6c62b88e81216fcef074a9962e2b8da9589e4eee5", + "0x70ca647133e53019d1eb2ad9f88a39cedfff6613ba145eff700a2e6430f5edbc", + "0x56b6e937851f9fff38f8482fd739d2534bbea1d9f7bdff37593f2b6e24c6c892", + "0x6fbbbb8c4b2194b3f29d9233b251d33ad2b35e44ce51ceaaad6c982bb27ad6af", + "0xc76aafb66d6506356a83bf7bb4f618fa8b4e8fe5c5eab6361b6381ee519d7299", + "0xd839e351e77b21da7b42028f0102982703785b7ab17844c8fccc08385a85fdae", + "0x18a0082277bd4521c73f506f775f7b9193c81e3985c1a0341b97c9eb532a2aae", + "0x18dfbfa1771b2e60c8e859352550104d4f4ed4f788e4acb5e1700eda9bd2aae6", + "0x4c637fec82e7c993ae0c1f1ca76ef7ce02cae03eef1d40d3651c0ca945b37223", + "0x59fb0b58a885ba8dc9fb49cae638505bb609ad4fb8ff6769cb5174df461de748", + "0x97c58e7dfd2d45c4162f3590d0a4307b3d489223167df97177a11a9a2c4f107a", + "0xeb3a84563ab5b034eb5b301ed927db60c7c9918a73c88725bcb4f391ec80e264", + "0x1e24665e197511c1d5f369b6cd5d9655e39ccc71dc96481c3786294aa95f7716", + "0xd99d4053a8937501b5f33c2a891dc1c5c68596540f46be4bb95829b0fc8fe518", + "0xcacd99e02e6d95871337755edd5078fac19d0765a296a256401cb36772450fc8", + "0x0d8b1ad0070f13966c5c1a793f8596a1c4546e0deca4d2eab770abaea7d8c788", + "0xae12f968a8d9e854a55213c7d8c3522014fabfa31a41c5620bf4c1fa4b412ed8", + "0xae8d86547cd68065a8201df6f5e5e7ff7d0f253354e3a11f109b4c307197bacf", + "0x9aa0e527eb19eb7ad49e98387b7c367a8af94bbaa1493e9cb1f82ffba95439b7", + "0x4bc7af1e8d91864331f06e261b71ed690a2f95bce4a10b32ce8e57d41ed434ea", + "0xb7e3303f5aea61f4198720b67fec535db3a67a236271897c40a5b3626324b1e5", + "0x1c28333ddb6b715dc49390d7603124a32aa79f2d1a3df439972b796fcda24b75", + "0x1142fe51525a5e1c35e710e39136e9272c3ffe17e93070e29f543e2ce15a1747", + "0x13d2fdd1a280e4cbf56c256a0874b37d1c96b720c57d6baa58ce5e53c878778d", + "0x0697c729147f0bfcd8140ece6818594d9700a06eb642dca83c82d71ee3fe58c3", + "0x575577dea847a6dbdae4996ee5d580233f72a14862674c5d3e7a10a42e2d0351", + "0x8be0771aa3c46db990fcf44e5695cc68e0eaab17a27c2edd8ad133071b213d08", + "0x97c00d772b74e819d1ce3bd8f960ed146876c92a6832fe550af02ee1a5fcdb6e", + "0x252574a6c2b3d4c1256555c92b15bb319c65c281ec7182bb846556039aac9ae8", + "0x2c8c35d0884c1722087df8453554bb41c4dc0ccd2c733a4cb0ef96e82afdce29", + "0xed9bd6b0a0935fea6255c1165c3cd4f4a679e7682b2c1ddf56576a4ff4e2899d", + "0x15930523b35b7dcb5c3667235530f65c6dcb6e50be95a566bae3ab8462e09d6a", + "0xb496381c8bceed672708b285db8faaa4a88685c82cb3300aef2eec432ba5d510", + "0xaeb6db62dc87ee9c11b22dcb1f6e2edc8704614ca8339f46fd5ca93c9a6dfdef", + "0x51d2858b08f1fce5e913eb191bf00e892101b28cc052bc101fdd3b1431f33566", + "0x6e116778db7bea0bcc0ca8091ddd25d79e49380e8ae1db3f6c5d02a58108019b", + "0xc8bfa6406b64178e69982aa5b0469e3c673335d02b95c4e92e063b63f3c4822e", + "0x99dc14bb9eac3b98ec17c47dde323eca58c03995819fd77064e67c39fd4bd267", + "0xc1ead1e67df08872a479b65e113dfc2b526798fe6710498d23f85860f975f19d", + "0xd02d56db80e0f440b8a341070e9fdbf4367d4f00de0d20540fe0366ceb805c43", + "0x5e729e9b1c67af239a175145dd70231e27c803e74f41978e2c2a1c57bb44e01d", + "0x8278da9eee31e624a0a18d3fbda12a01212ec3b768efb17ed0104861d0685c8c", + "0x9fc130daf463021658a868f4e04ed7ead2f7eee4f7fdaf69f6d8e56e08fb52bc", + "0x65527a873087e8be55671750d2c747dc1fd6786097824cc7e6a38014d4cc7a40", + "0xa5e696a432c64bc1839ac343f4b421d480f86050f463a32bf6f4886c271b579a", + "0x59b5c415bbc0e63238a465b9f97d246a71a67265796568e15cad26bcecafd656", + "0x1dd2cd36fdf907adc8056ab2d95ea1271d750afda532e72b1e4934831acf4c9e", + "0x56003948c7d0b3ba9a2f2b750e59435f6c07931ba7b268e921f92641a99f1ea5", + "0x4aff1adfe1ca51079258e8af4459dec78140e41ea008ecbc4f6c0ee6da9c0379", + "0xf06bd8fe34e7ef3adcccc9ec96bb8a353375d46eaf4e5b96d75a81605f04abe2", + "0xf3e751999b43f851b5c03da4c204c516af1c48a427e918b1c06881f19df9e698", + "0xa3096446ca5a29ff568afd1054d37f9c1cee28ef5e285a73ab478dd4aa7166b1", + "0x481c53551e35f05d14e14449c0baa5595c482e36dc5f71cd1a6ac94027eb1d08", + "0x4604fbec1af30c8a30524ac648da5ad50d35a2cd2d7a74ae3d91a485c5f6c627", + "0x527dc65c0cefe3734029ed170d6a555729b83ae0934bb28230aad0c1b6f81579", + "0x7df2ef4eee8774415151f49c3f2936778f660f9086e389261fdb7838e6805e86", + "0xf7a6da82f8adba9187bc45cb1e23428c7c16cedd3b8313816baeee93784b3bd3", + "0xe69fec45b3b22ee02e540adea0a45dc05c0268e6ad6e9a6d180ca3a407eacc79", + "0x67052e1622bf5bd9227e63cd0fc3dcaf8db70012649d5676150121e73f17c314", + "0xc253d564634365b785ee7f83f28a9fa2f975e24063a2e6b8744631ffb7f47add", + "0xb0c858b95a5761e46aec676ec81ba4d84b76f4a77c968267e835905a035b1d79", + "0x8e400499cab14c1b3c172758ab8c1ae6130d986d4252bb5a08ff2d01ba9a5ca8", + "0x919fe24156e68e047e059048771ebdd7c521bdfaceeecabc00d2985eccf85f23", + "0xb848d66d8ef6611b5b8aed3c2b52514d122065ff823ae2791b8fb2a0da0012e6", + "0x4e2b2ac13f7d8fe7c3610d9f9ca72a2e8c3b087a30340dc602cda5dcb34ee1be", + "0x7fb678e57abe63f107a2f551f02119ea8f4818b33d24254e83a50ad31cd9e003", + "0xe20d018271635eda8809a6e33e212356145dd760e0396ca4c7c20b174e0903d1", + "0xbbd32616b6405ebf16a849c52466f44d1b6a75781144ca26bbd9a0a800ab579c", + "0x66e56cde1d5725159dc25161a7fdeae566286102197da75d3b2a0061c5e72e17", + "0xed78c34110a34a035c272d23177b1e89711aa6fe5d86bc310639e2be281cbbc8", + "0xdfd222650f64f50bcbdcbb0cde52f2f595e2bbc6c407f2331d6261710039a229", + "0xf417a3bac12e37cc34af45941d125364e967d733960dcf532f5884f0123cce8c", + "0x71bc627f16637e45f324d328ee77753405f386e6eb09d728751484b669bb39a3", + "0x8c1ddc7575b40e933bf78d79ffc5e7a1576f57d815188135c9b69f95cb7a07c2", + "0xcade8b3aa016d5c38fcd25e437efd7faa7c7b348ccc0f5739e432ea764c43934", + "0x0faeaac8367dfa7befe0d1fe8faa0dda63e52b2a3fd6c1949ad3cb573b65f812", + "0x788c80ff254701d0875226bf44d1979f0630d62e61e462af607030ff0d9b3368", + "0xe0e6e03423b59807bb8b13902fd122e9a54948a62ab1c7166d70b04827732b9f", + "0x9d719c9624361d38acbbfa953d138455aed6219988f4c0efb81943b9914aa667", + "0x110fe7e2bce9d595b165bfa4b1623b8d68aadc009dacffaa7f5b9b22e156429f", + "0x8584f37f802adfc366bc7e4495381a5118a1748cf7092263af6ae821639b375f", + "0x43ba36909165e888100e3bfa68c143608d2957e6e12e8e5a5afc505723f2681f", + "0xe3502faa04ecda52f9e2991e9b0a4bb12336568f8639b2d5df79302293ba0e80", + "0xcb5b16709d72464e9cf8006dee81c0a13134ba0fc7cff79a3c148c023906b46c", + "0x39042255a95890e5e25fe5b337ec6f67752a525c3f16c13c192278501d1cf98b", + "0x6acb1a8761b4dea3bbfb0ff36acbfd9691306760128021645ff996047956ce52", + "0x7d271348df01d06078731f840dae289c83ad9c62a053a6fc4c1604ac3761059a", + "0xfded75a4f5fc836ba1e7c361fd8c9859c8837c9378e85382ff9fd5ce68c35f6e", + "0x7be16ddbe3440ca448b35ef2096e5908df7c6fe5ebb947d36fb8b850296be6b0", + "0x231f208f3cd518ffb2fe8247839c85028e5f571294145568041d485cf890818a", + "0xfd6b89d1df0963e9f1e7cd20a04c8c64d4acf080068945d369c147818876661e", + "0xe6b04006a037628d7d5b92daae5a658f0609a67a1e3ab5ba192c4b1b89124fd2", + "0x64e4c31781178ad1cda0f4692fcb64f712fb2168662c62c329a5583e57b18108", + "0xa2d8b3ae5cd5426986f9b9c7efb7b310048a0a0d2f67334bdf7f624733f6c848", + "0xd561bf8889d91b742fdbe91568ff515ed00ee4b00f0c348b7ccbf886b77def48", + "0xc75f30604271aa0866c4bce63a36843ac97393eaaf049d1f298bbe5a222a7e84", + "0xe1311ecd05a64af66424105d836cd841f24109e95dac07c88bb64ee78c449200", + "0xdf9926e89a65d1bb3207adfd7b6db4a3244d97be45142fa06bb3e998dab0a86a", + "0xedeb275850750b783ec429af321dfc027e5d39dd803f4c9a5b203ddf953a1b27", + "0xee6148cfb49cf82a27d1dfcb14f80147f690e01f3d9a890616bf5dc1e607c046", + "0x3b69daf8b05fae34985bf38b252453dfea52213cb5bfecd90f6ca38a8e58fd1e", + "0x348b4cd39e5d417085e043f8a8025a3e68ccd6bfcbdbdcb90c66d70a28709494", + "0x9002d69e7e739b8f776ecff6d118435b900e505a7c16fca31f64ae71dce82986", + "0x29a96ec2a1293ba421682f5d1c74f83aec5d4a6f0fa3c1c394df14b9e235d974", + "0xda53cb82c0ad9c5c26ddb6562d8af102334477c2f7435bb53c8fc4e4a877b0a5", + "0x13b9d65a3a66d855a206f6f63312eaed4e405cc4ffeab4fe7263539360755b26", + "0x4a4cec2d543aea8d1418a1fecc9f0e1038457d753da7f450b7d3293c851ea512", + "0x35630db49b5997eedc830b7b47fe0428a95fdabd954e2c8af32a0a98309e0761", + "0x7f50e590df1675cd2385dd13c5f82cb0c8faba9690dd294b5ca90bafb6b588cb", + "0x2b6cc6065a1804cf831874955a03df8f106fe271ab60832c0f33c3b0ca94bcc0", + "0x258fe7a7fa5a2628512f9a1cf775ed428e5d333213584e40df40e4e1e4b53e99", + "0xd1b148d8d8212698f4f5f99c0b615fe3d1d0d81983149d87c0fadd3f308425e5", + "0xda4b8ef0abc842ddcdcf78fe71a9526120585fbff658bde79024c43fdbc86551", + "0xb446a4dec3b4f517a705e58d699ff5c07290648db07de60bb09e62877ab86584", + "0x33830123a250cd8638561396c1b840001e1e2b6d169ad0bb5bc59286547fef91", + "0xa1576028b9a8c08f4492bab43160fd3dbae34ce6be0de51ebfd2a6d2d6a38dc4", + "0x1d962eafcd83751feade5c58c63e76a56253602775521ab1a202006b391c4e89", + "0x86ead56e6284fa402779a9e4553664ec6ae0ec1803b850a614868b21ce8586d3", + "0xd4cb116199be898e4b56769751a9e85b8ab87818d259e916a9db1fc73ac06e0f", + "0x882652ae9949e0ac72673999486bcad68ff9baa2956c7372670e51c98cefc8af", + "0xf6e6ff41c774c0becd16b43ef716775181a925d274c31c768f74ad1c3a32b1ef", + "0xb09e6534374ef307453dc3f2a0602fe47a346c62f2d001f6697236d2f2e11a98", + "0x75597bbdfc11290134402983aa34f4b5af723ae2e4a825a4b5c0819db72ac240", + "0xb9110e79b2f2330cbe3b4535ea080c5ee1fa80403da4fea5ecb6084ecb6d277d", + "0x55ae4ff2123e5101cd3e4f4fdeed8545bf9c59397db8e8f9d8901e0a7e75ddeb", + "0x3238b14dff5a6eaab7fff9091fed04ab2789b1f368926d86035a82a140ae49c7", + "0x2514e5d19c4a00387e11dc98cef2763692da4a7f90342d2adb6f4802bb70ea2d", + "0xeb5643fe5d8e8fe13f285be6b76b1eac831c57fe46cb6fa7a59e239676676959", + "0x1f1ef022a02bd26891c039b75462be51fd13865c07a3c60dc98688bd45f4c543", + "0x668e62f2513afc51ccbb179aa126c14ab0317c2278702938337949da86e36417", + "0xe16db22afa2c8f38121d6e67250691e124474e4f7fbc8d3c6aa9b285ae7c92b3", + "0x8793a39fb3262ee2c50d11bf33a5604d9e0cc42b39375683ef6a6cd89ab5d5c1", + "0xd8b11d3391a1007d7aa716743c452e6eebcf4bd5695c1ed5533a071899cc543b", + "0x192b38f9be07ef6b42b5217376352c95769e5e07997b9d5baf51663581f232b3", + "0xec13d6b476922aa74a40f50eb782581ba47ec6327082df32473952de25c83d0c", + "0x5cc1c80c881738bc133377ea71be4b6802c99567247719a387cda27668d58778", + "0x34b7a9633cd49ad3a895f772ac73a8e715ce9c4f0fd5507356c8e3eaf33cb29b", + "0x46f1cdf66e60d898ae032f06bfe93f61b7cd69fd5a0eaccb9db620380339083b", + "0xfe6d2f1ba7e4ef4b294b41970fa68dbf900b4e85e58a9af27c4a42cfc30f1dbf", + "0x352f6b99a68daaf5dce5221592a142103b7cda46731ed187c3e1103b96e82dce", + "0x6e99833da7b5b8956d716cb9a2960a392eddfe06a0bc5d78fd564c86fb0ccb52", + "0xfff814a33bac8f75288186ef922ece3b606dcbbbf737c9c4e8a5f1f4b8aeb043", + "0x9e76a2096f56a74a8c7e7087e0fb800cab4c8cbef8f74561f084b744427a57b3", + "0x3ec126ac97179bc3b6b5c6e705e99add70c05fa0944d94cc7d03dea80cf99a22", + "0xd3bcc11fff5b05e8f68dcc7ce18fc859b4694ac6054274eba2d57b429bfd4684", + "0x2dcc7c43c813f86f5384bf873f80719ba130564fd762f79f997afb8b78400ddf", + "0x99dd99812eaf582974ea9dfaa34af648b8c9285f83739064ba5c1a27b15b3a9e", + "0x4dbf1bb339d6bd7aff3cc30cf88fbb1ad477ff86b03003c27c00d04daebe3b9e", + "0x965d253eddefce112690eda236fd4b3c0bc886cf1fbd8f7169baf01180db62f9", + "0x65b655141981bb0fd37f940a0e9cd4ec0da22dea05ea76a218b282c5c3bf6870", + "0x206ced27047c5943fcbe0a3e8aea8319eedfb74f9ef987e325e960c1e5de6c1b", + "0xafe29dce7d2d5fab4e25dbf8feb9e9140b7c9ec32e85998094b45bd567c501f7", + "0xdd9587a1ee2979c22d3c5f9c1f75197c6106fdef4edf96b6c031a145275c3411", + "0x92923394097069edace46aacc259122d57e839a88d8279164c060860c02b558f", + "0xf0bdf2797e8e26c50e72790b8e2eb9f021cdd28d9f787c5be91f9ae9aa7c4254", + "0x375b5ec9a57ec7e138d83d587557756c8a257c35826647d6fb8722483f6ad6ca", + "0x97565f3583e044d82b34538bc1ae4ae73b1438bd293353bcefd8074fc4d57d9a", + "0xccaf1047024f3879cc6c24be5f2f032bd66c811f3e31c43ed4e659cf615d5c22", + "0xe0feb551c2f9d3abb1aafcd39ad8f6e2cecadf58452c4cf618855829e51296f4", + "0x61b00166b1e2418340130739836b55e629e71121c03d951f216a5ffe790c0bb0", + "0x224940c2a88acd6c08d383f9266cd58cc30733778419a1eebb9b3f29c7d63ea5", + "0xf7ee4ced3c20f765bb217df4f9ed3acffeba11adcb3ce780cce4534f0d1f76fd", + "0x6ec6d073da3ba16c979d73d89a484805a61f89ae5aa7da63cb3b4142e672c37f", + "0xf13edccf3c2ba5b07e51aacaac79390d48407f172369fb3b5d0fae5b0362e81e", + "0x36bf725db4b4a913b9da3b9239cfed8cd8c2920b9f6fa225fd9e01cf50f7b015", + "0x313761a59054f3fcb6575d84dcaf36a0b2b98de4ec7c946c0e52d98390977396", + "0xfb2f6e111aca75e4a7eee5e45e9bd019242751208874f70f130631e6e70f652c", + "0x5f669e23137ce3b13c3370a2a9bb69d678c2d4832bf83e92f3d3fe4004e74f65", + "0x3e4e8e594981033e13bfd7c966806f29c488a8fd28b4d4c41762909cb1eed0c1", + "0x012223f48eb911be09c85d7c497383ed56198483a624fdb6fee2647bd225773d", + "0xff1873be4d0bd3b5f631b9838e690a359849b33f7f3fc1e19ccbb72c88756767", + "0xbd687d562bcb4ce7c97533750e6b960ce0c70e651cf4e48a86471d9c2d697bc9", + "0xadf6c679a8bad9a1debac26bc47ea20d85fd583d1ecb6686e04fa9e302f9115a", + "0xbaf772ae7b9297ca5506f5dcf2c38b8342d25cef39d38a3565b59b053f3bc3e9", + "0x75e82f9e9b1c1bf35165642cb5eaf663282e19a865b8ed357955da5357807040", + "0x1434b0eb9da6e3d6b303fb90ff53b1e9437a48c0a76a0c4b697e0cb35be1f2ce", + "0x9374a8ccb290ac7092baaa3015833b85162dd8a25f5bc9085bdb3cec74ab74cb", + "0x3f70a231bbe16e811656114d9f56e2f2189a8c09150c771671fde8dcc810349e", + "0xa35119becf58b88b1047cf99c6e1505fe95084b3a7bed9671086586af9f73492", + "0x80529edeba202929712f3cdce41d5e62e64b400be30367628c00755ff6b9d413", + "0xbc3760b47f838830baa4ffb46e2565e1d46b5ebc23b3b1edf6ec7c805f09c2b6", + "0x62a71459985ab84b9d41cdf869e3662fdd893cba3d0bb4a927153de686599a5f", + "0x5ef1e0728bf7beccf56ba47d4845bb46390cd3c6e93dcb2cca731606f95d1500", + "0x7779015d840f8a88c1d0cf67f92cf127d3c9794ff3dc054aaaf2a3e4b3c1aae4", + "0xa9080b382667b7441685f821da557df676a42816d09315675c7a006a72270a46", + "0xa47b186f5816a5e491f340f6ddbcaea411fdb2f18927434c453af3e516823600", + "0x7d8c351d6adbdd697adced72bf78d872cbe0863ac9ec8d2dba3a710586164cd0", + "0x405866bdea47ef0bea80299efade675f38d3d3fe7099ef81a72e38e1a3cb3986", + "0x4dfc49055b63fba170f839e40b4937db2d526e417b91663315e2b30d6f457659", + "0x305c768a219d7cb2680e318db51a56316b4cb5031ea3054881391223f14d0d68", + "0x068059d70253d4b9fa6c6b9aa5f1e630216dc86909d9d0ef85efebf035c7e117", + "0x8511119d6b7ad71610dc7f6885d629cbb5b29de798ccbab2d19c933c4b19cdc1", + "0x5c07b07624f978be768a9ee75c921008fe568b26fd72fcecac9bb86cafdcca2c", + "0x3fa37280dc8af0b49c5336a212d4ad0eade7c396aa819d1875843912d926d44d", + "0x927f2c496e370470948f98840189bd42e1069c19084d286d92b99e18657fce11", + "0x1e16eade51d54a2571949f47a60f3c8fac1fef64017f4aa89e352d59ebaed60c", + "0x4d192d0b3676f2318ce425322362039570bed3a631712c77b2a7ec83e533be56", + "0x772edb64509e35b4787a4a00b9744970af1611b5a99d54369d72285c1b8cebbc", + "0xf7e8a2805741e7026c16e5725abdbb79e41ae67d7e8244102fb9335825b7c121", + "0xcff6ba50d31a3517b6b8a90f369c1926487097ab1aa8f94db8b1825d732da641", + "0x32785079f4953cb089335c558734e7db5bc56ce9ff0fa6b3eeba5c17ccddf712", + "0xb1bf5ae4a4c4d15951737a8512907b55d6861b4469eb93f0126131f0e960db76", + "0xa1f6ad11014379152a2d9ce3cfcc9ccb78c7d368fc8d6fe6c7d3f0cd9b18d243", + "0x29acf19bbd78df2552e096d34865103b67bcb675e1f7637d7e3126ea81328383", + "0x5fa035769737cea3a671055117fcee6e49f87dbb91f405bd8e57917f40d43258", + "0x9376967d393c7f162b3137a8d5223eba30523efb840a77f9ffb3c54f6562cea0", + "0xeb906fcea9d31514f9a9ca677a1a5446c59f55b00988f31288be7b793d4d4a0d", + "0x28df5982f0ec1bab9f53634f84812fab8474ef1f1ea445bd5abcce7160654af3", + "0xe8db1f0c5c36b93e6a624faab49798068ad7048e0e119b85d2bc390a47ff86fe", + "0x035eed70ca4e86cfeb63724e4497097fb5732f9e35186499f32305e1cb62aaf7", + "0xce7e3d7445800b883a6afe66de6ef645ff64860ecca5138c0114efb0b98658c1", + "0x507d639abbbde60fe1a793cbb74b3390159177b7ed439382e1c6bb519b93ab4f", + "0x8165b07162d41891743b8dc66ae9e74b53eb0b2148ee0a279004ab4fede787b7", + "0xc591ba93abf2754767db7bb127c72be6acd719913c36ff7fa21bdbd05ec3c928", + "0x54f15e8785546f8a30e21ab3674d46a6e891f9bebead810b9f1366d5072fb538", + "0x61d3b6d1e22ec3ce39e01b3a2156bff745eb28f405450e7415b6aa75bc2165ae", + "0xa0710473b2f9c580c38ed05d49c3a70ec3d62b8da444bf60b025dc06865b7913", + "0xd7060eafb6ce0e0290392ff840b36014b279707c96eb8a6874d539c17417db77", + "0xe6cdcd01dbee6f9bebb2b8d6ecea9128adbaae36645e95402a3141f720c61607", + "0x7defe0a4cca43220d9e734eae2c391140146a1429893c4e22872b322097ce083", + "0x0889381511a1c287d44de2b97892bc42a7187f192a40130c02b64fe4ed307979", + "0x7b51f005bd2251f2505c166af288afce15c5daa7e579d84dec64da2611663213", + "0x78590863017925ae20ecd0ab3d894ee379eb6b317fd555762d690afb6c7571c9", + "0xe5364e7972dfd48a13d283faef5048eb5cbf9cefdacfca2f344bab62f553a3e9", + "0xce082eedc1cf0e59648767fb5e6111cd52c2384142bd0e64b53327eed71b9bda", + "0xb55bb94834fd25c07be869a595ecc8c7ca073bcd10a52736ae090b5333a7c01a", + "0xb7ba53ed094df02bbcaa3f5e14093050fd7ce3b5f56581da3ef39b20faa52ff6", + "0x14f91b36704989c461c3c91fdd387af8a0e5cb9de83564768d12a3161dfb6570", + "0xb783126d4aff67331c09a8c2dd67975e390c5e30d491f387eba3ab460d61e48f", + "0x1df18339d1cd450b00eef7c5ffc629ddde7ce7c66635d7e3f6173ba67c465f09", + "0xc3afbe9680722e1c6e6e2f1c4ca05578f5cc03ee471c3a874629500375772ce2", + "0xe0762a2f4dd50008f509b090512a9f3b61da31ca15e89565de1a20a5e82498c8", + "0xb40798c2bc2f2f1d4ca733cf725067d93b8a7ce79e825b0d8c3d75de4b7b75f2", + "0xbbed0630817e3be3756769ac03f8cc47773a89b4d108dfb0f7c8134426d311e8", + "0x363ecf42cce3b2f9fae5351a3b1720f7ebb103d98ab98e83d070169c92f6eacd", + "0x5e2cf0cec878c48132bdc509d673617bdb5c8700cdaf0079594e9f0a852638c0", + "0xa41f1ab43326da96742e3ea121302eb78d699f7dfe5819874502c49922d32547", + "0xc57973f78786bc0da7d145c24029ca002ad18c305a2cb4a797702c2b5935afc7", + "0xa5c244713fdf07819cf73ad4e39370df2f9bd16017bf949235f709253ce8196f", + "0x5a2330c7eefceec26683cec8c78b03b31ed8d487f5a5fbc56ed1a7d70f30b4bf", + "0x4ba6253ac69cd862741d80b6c8cfef6bfb371148dfec35d53b2fda83a1d8d032", + "0x4f508f16eaddfab93cd2c54237c88175593f430efa30de624658ba1c07f7beb0", + "0xc7dc55bfd18e467d6ffd1fab5fd848976541aa5a57b6c959dee421c6a4b7eca1", + "0x261269c42408993cc6c818784e86b6c717c4991aa762d3b0b8478116e3703003", + "0xee2b50c384ec0b8033b3ff955369a91421bf56567495336a428a5e50cb6b27e9", + "0x133644fa7416af0ff9fff35be0ca69cec4624be54b9e578c9498a25942c8b583", + "0x04a76a83d9175aaae387188e53004a97856f509afb1d7b46d894381e73994741", + "0xab10e84cbf8e2b02a2e9c5a8235a1a9df4517d4df3af1830ad50d225c4644721", + "0x2a0aa09df678f7b485b8a3d96e61b79bc0879cff33093410bb833a6ae8dcc9f3", + "0xa8eb8a0459295693d0024bcb8cf86bd0d829ac391694253c99b478a1325a4fac", + "0xa7d00c2f790abbee2aa9664f03814c8639538a8d3c897d573964a4a295b40fa2", + "0x9cb474bd11aeaad0b80dff8f86f053d3590b427a1a47976ae43be8620f1dcad7", + "0x3652c1b1014d272fcecfb5afd5f3cde1767a275054a009204ba41816741aee74", + "0x0b7f0b3f88b29597ce10c687133a97910a285ea3e9b9cc7f961482559c4db446", + "0x28e0f502a6feafa88d1f9839aa1ef05f885edf07b82c8a459c8be2dfe27011fe", + "0x3ed7c0a277f5c487db5ef55c873000051748845d33eccef3db934b4292eeface", + "0x9079da1da700f461597e4f986d0b4cde30873ddb400aaf087a827636f44a7ffd", + "0xfa44d95c7dcaaa534031536f3bfd7630776f1862a3585a6daa5e86e3dc5264b5", + "0x959dbcca720dfd5e920e618c28c663c925b589ae2bd82faab265b09e4cf6db08", + "0xbbe07491ee234bf9ecbb35560ad6e2d1a7ec8cb2690cd68b46cbad79538aba1f", + "0x589d7e261ca64bafa4d7f9cb101f5f3417ef71c501b5317e5162c3774291081b", + "0x5b97793b3b83b554beac60b2b6b3e22b6c257c81c32adeaf11f58cb70794bf5d", + "0xb37dc9e9418dc0178364af954fdb1a9395655955ff138fb0f66a81275ccfe0ed", + "0x704631d8f514805cf51530ba31f3c9f25d1bf8828a410cd89e4d31e98711f278", + "0x81ee7855bbd2ae8e1aefa5141efeaceff850b2223b8aae2fe65f2e2076d11b87", + "0x226370d2bb775c69f3432fdc1545c263311948acbee525e3848317cd9fc3da7d", + "0x4e6b200866b090eb2dc26259b7f8adabf57740fa0a73f73df0ada6d9f80d13ff", + "0xd164106da1db225979ad7f6fc9e11b40e5fb5ae345a818014d810e1a871b2b48", + "0x68087615488020a515970c41ef40392a4877e59f05d07444ec0b7f2467a099b3", + "0x21575bcaf329553469449cdf9d68faea0218728b09627a36ba8426bcf8115791", + "0x1e11dc27c4932814b0234bd17cff690aa0f9c8a258d57e11564484b4b17a3e0b", + "0xa8a409601f945aa2dcb36574966f6b8f1942f83d5110dab917d730016b3703aa", + "0x4eb77c78b2157e63b6ca0ddb36afcda138561ba409552529ab49ea9324e1796a", + "0xb66cd6e9e19f50d0346b5ca40410cf6d334dae9c41ab8fd5402c538c11a94a78", + "0x5069ac42df7f89261f4ba36452190e0ebe938ab46eb422090e9ef458f2fea8bc", + "0xf77faca1a86c25db5a348fc916b7f3724855b136b21eda7779b874459d6b7562", + "0x3fd875f36e535bbca2ba2f539d45b8e60487415a96d34846b110690cfb45fbff", + "0x2cf97dbc6bd70524c91ff72718b5ebc2b3ffb38b46a6430e9f16a1a8c3545271", + "0x0e4bd06ec123f3510d059c03439da7e19397473a2b144868b3fd70daccbc6e25", + "0x36d07bd92969b5465a70ea63ec814f18033990a941b38e76114e2173264505bd", + "0x7d8a17ff014fda45bf5c43a83316f53069214949be5eefa80b0fcb9c447573ac", + "0x70f8d99ac59af894e9f136a46e650ed1dcc022a7f23f7c7f7d3d899f0a934729", + "0xccdc7473316bf9faf3196c11f65eb560cc5be04988ed4aaeb2ae2fc7a76cd7cb", + "0xb95e9102f44161346459f9166695ad4d01b02cf827333bc04b73e9bfc76a6b4a", + "0xa0073174e023480efe99e1ee414a3a6fe7a4289a9146eafab77bc2a2f74ce041", + "0x71a170f1bd3eec872eb86ca28f5a07a16d34df621841c9a0327c5a4842d14cff", + "0xb46b6570cc7b9b9c6530f1395628201390559117744bb3ae3289a1329e2a9fe5", + "0x6612ab632dfb5fa48c92c28c1ebdc606d6456defa2cba07fee5c7637a9f0881e", + "0xbdc0d3c7bef21e95e10e012e8b3beb1d9d6afbf0f6d4431671c5e2c9d3d558d2", + "0x1317011bd4eded75c83e9a7a96e70556b3c056a996b90efc54cf983eb832234e", + "0xb63e87384e2b36fda06a1600031b9e8f76d8ab3ab2d1a50fdd24dbd0d7aba82c", + "0xc266ed0d55603ff6781b55b850d6b03fd2f0e96298b4cdfb5f05897a0fd2d143", + "0x3a6d30c03b37b50fee8cc592e39077f2577c1cca654fe65b30b8e6b7175d7c2a", + "0x6c1cfd1c1ba9c00cf25d42fc53fea15b3d436dc5b58f2cb3afeb8bb2a353a5c0", + "0x63d68be124625c2604e5297a5f8e655a6d44a43d0254f538d3f8e095c75c0e0a", + "0xcad240da9f6d07760ff04cb649dd5614d9ba8d1254734f2d99583cd24ec35d89", + "0x0ec939ec5cef73b863b964f3d7b852626d9d2428ce174fe998a45bf01aa8a203", + "0x9b526692a719f47c3c645818165283d9fcf0fe42e4dfbd780cd2628059278f14", + "0x1896c29de4883b1a6c91cb95db2dcdc0ff176b65ae1fd4bebc18afeda41eb425", + "0xb71cef6adb860bbde041254126bbaf54fd2a385f1870045c4b7986e22bfee34b", + "0x05c0644792c8d246675f4882045a2226aeec17443c8f796d63c84533c627b343", + "0xb3d2c5ed1089cc20ff4bb0882ac778417190dca446c7b83f5d58b194ecc55a66", + "0x723ef30c89606acf024be95e383372d42e07214de1d0040f386f268ec216df76", + "0x7dee5122c011954e14f6eb35957ead3b728e181331420b3919105f073d16bb05", + "0x0d10c86c88fbefe4f397db0e19ef7ffd5833d53ba90f4754987e89c13fb67d9a", + "0x5c744c979c84b49dcd4139c7c179910bb2150239979fb5a3b4a1053c6d398dbb", + "0xbe3c32d2059814004ec49e460dfe39cca8202877a8a83c8911f01c3ba234c921", + "0x8adfc2c122e2cf58b3c032981574255cf40b4559df4e62d49d550f04ed0553a0", + "0x80bf3ac9eaa6dc061e488a431c4cf08d4d042ea47453c44892ec50e966081065", + "0x817a4b2f3e63e983f6fc37476b1b1f467099a50a25f356738126479839c084dd", + "0x5dee0513b55736564262a7fc472ff671358d4fd66eeb9596ec170e054d954faf", + "0xce34b38ac7d48c0655885f7378948deed4f107f5fc4268608ca0a9850fd15085", + "0x6c95a9df5aaf661a2f32c96a25a091f66c38cb4b7479cbfd7a9a162dd4bc12ce", + "0xa63bfeca9998140d7aebc8d8603d6ebf91dec849445e454dc6539dcde35481f1", + "0xed514ea523571fd4eb31623e0da3dd8a41bdffc26ab4f8fdd90e2cd9324b1bf2", + "0x4037b9d183c4d81add87254e50219cf87c4cc94128535e50f2f04331b1baa3a6", + "0x1f009704b3245fd77ecdca0ad95322e6ada6f4075e1289108675caa5da480de3", + "0xab62a47d7ef09bb1f1e78289127d993aee91bfb76f95bb3264f6577df6d54684", + "0xc70538d7614ec964fea3227e60d9d46a5c6215c185d1d0db8e8c39763f50421c", + "0x2f294fdbc0f5a6407267d525fafd59211baf345e566db91717209349f655a31f", + "0xe867ce4a2df3e263044479d9c6f64a72a4d5b1f3426c54b9fb217451f81e6d6e", + "0x5a00548bb8369aaf20d16a63141a778346c70a37a3851eec1aac38c69c3c8c7f" + ] + }, + "nodes": [ + "enode://efd48ad0879eeb7f9cb5e50f33f7bc21e805a72e90361f145baaa22dd75d111e7cd9c93f1b7060dcb30aa1b3e620269336dbf32339fea4c18925a4c15fe642df@18.205.66.229:30303", + "enode://5fbfb426fbb46f8b8c1bd3dd140f5b511da558cd37d60844b525909ab82e13a25ee722293c829e52cb65c2305b1637fa9a2ea4d6634a224d5f400bfe244ac0de@162.243.55.45:30303", + "enode://6dd3ac8147fa82e46837ec8c3223d69ac24bcdbab04b036a3705c14f3a02e968f7f1adfcdb002aacec2db46e625c04bf8b5a1f85bb2d40a479b3cc9d45a444af@104.237.131.102:30303", + "enode://b9e893ea9cb4537f4fed154233005ae61b441cd0ecd980136138c304fefac194c25a16b73dac05fc66a4198d0c15dd0f33af99b411882c68a019dfa6bb703b9d@18.130.93.66:30303", + "enode://3fe9705a02487baea45c1ffebfa4d84819f5f1e68a0dbc18031553242a6a08e39499b61e361a52c2a92f9553efd63763f6fdd34692be0d4ba6823bb2fc346009@178.62.238.75:30303", + "enode://d50facc65e46bda6ff594b6e95491efa16e067de41ae96571d9f3cb853d538c44864496fa5e4df10115f02bbbaf47853f932e110a44c89227da7c30e96840596@188.166.163.187:30303", + "enode://a0d5c589dc02d008fe4237da9877a5f1daedee0227ab612677eabe323520f003eb5e311af335de9f7964c2092bbc2b3b7ab1cce5a074d8346959f0868b4e366e@46.101.78.44:30303", + "enode://c071d96b0c0f13006feae3977fb1b3c2f62caedf643df9a3655bc1b60f777f05e69a4e58bf3547bb299210092764c56df1e08380e91265baa845dca8bc0a71da@68.183.99.5:30303", + "enode://83b33409349ffa25e150555f7b4f8deebc68f3d34d782129dc3c8ba07b880c209310a4191e1725f2f6bef59bce9452d821111eaa786deab08a7e6551fca41f4f@206.189.68.191:30303", + "enode://0daae2a30f2c73b0b257746587136efb8e3479496f7ea1e943eeb9a663b72dd04582f699f7010ee02c57fc45d1f09568c20a9050ff937f9139e2973ddd98b87b@159.89.169.103:30303", + "enode://50808461dd73b3d70537e4c1e5fafd1132b3a90f998399af9205f8889987d62096d4e853813562dd43e7270a71c9d9d4e4dd73a534fdb22fbac98c389c1a7362@178.128.55.119:30303", + "enode://5cd218959f8263bc3721d7789070806b0adff1a0ed3f95ec886fb469f9362c7507e3b32b256550b9a7964a23a938e8d42d45a0c34b332bfebc54b29081e83b93@35.187.57.94:30303" + ], + "accounts": { + "0x0000000000000000000000000000000000000001": { + "builtin": { + "name": "ecrecover", + "pricing": { + "linear": { + "base": 3000, + "word": 0 + } + } + } + }, + "0x0000000000000000000000000000000000000002": { + "builtin": { + "name": "sha256", + "pricing": { + "linear": { + "base": 60, + "word": 12 + } + } + } + }, + "0x0000000000000000000000000000000000000003": { + "builtin": { + "name": "ripemd160", + "pricing": { + "linear": { + "base": 600, + "word": 120 + } + } + } + }, + "0x0000000000000000000000000000000000000004": { + "builtin": { + "name": "identity", + "pricing": { + "linear": { + "base": 15, + "word": 3 + } + } + } + }, + "0x0000000000000000000000000000000000000005": { + "builtin": { + "name": "modexp", + "activate_at": "0x85d9a0", + "pricing": { + "modexp": { + "divisor": 20 + } + } + } + }, + "0x0000000000000000000000000000000000000006": { + "builtin": { + "name": "alt_bn128_add", + "pricing": { + "0x85d9a0": { + "price": { "alt_bn128_const_operations": { "price": 500 }} + }, + "0xa03ae7": { + "price": { "alt_bn128_const_operations": { "price": 150 }} + } + } + } + }, + "0x0000000000000000000000000000000000000007": { + "builtin": { + "name": "alt_bn128_mul", + "pricing": { + "0x85d9a0": { + "price": { "alt_bn128_const_operations": { "price": 40000 }} + }, + "0xa03ae7": { + "price": { "alt_bn128_const_operations": { "price": 6000 }} + } + } + } + }, + "0x0000000000000000000000000000000000000008": { + "builtin": { + "name": "alt_bn128_pairing", + "pricing": { + "0x85d9a0": { + "price": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 }} + }, + "0xa03ae7": { + "price": { "alt_bn128_pairing": { "base": 45000, "pair": 34000 }} + } + } + } + }, + "0x0000000000000000000000000000000000000009": { + "balance": "0x1", + "builtin": { + "name": "blake2_f", + "activate_at": "0xa03ae7", + "pricing": { + "blake2_f": { + "gas_per_round": 1 + } + } + } + }, + "3282791d6fd713f1e94f4bfd565eaa78b3a0599d": { + "balance": "1337000000000000000000" + }, + "17961d633bcf20a7b029a7d94b7df4da2ec5427f": { + "balance": "229427000000000000000" + }, + "493a67fe23decc63b10dda75f3287695a81bd5ab": { + "balance": "880000000000000000000" + }, + "01fb8ec12425a04f813e46c54c05748ca6b29aa9": { + "balance": "259800000000000000000" + }, + "d2a030ac8952325f9e1db378a71485a24e1b07b2": { + "balance": "2000000000000000000000" + }, + "77a34907f305a54c85db09c363fde3c47e6ae21f": { + "balance": "985000000000000000000" + }, + "391a77405c09a72b5e8436237aaaf95d68da1709": { + "balance": "49082000000000000000" + }, + "00aada25ea2286709abb422d41923fd380cd04c7": { + "balance": "650100000000000000000" + }, + "acc46a2a555c74ded4a2bd094e821b97843b40c0": { + "balance": "1940000000000000000000" + }, + "de07fb5b7a464e3ba7fbe09e9acb271af5338c58": { + "balance": "50000000000000000000" + }, + "4c696be99f3a690440c3436a59a7d7e937d6ba0d": { + "balance": "3460000000000000000000" + }, + "fa33553285a973719a0d5f956ff861b2d89ed304": { + "balance": "20000000000000000000" + }, + "67cfda6e70bf7657d39059b59790e5145afdbe61": { + "balance": "646000000000000000000" + }, + "a321091d3018064279db399d2b2a88a6f440ae24": { + "balance": "3200000000000000000000" + }, + "fb3fa1ac08aba9cc3bf0fe9d483820688f65b410": { + "balance": "30000000000000000000000" + }, + "6715c14035fb57bb3d667f7b707498c41074b855": { + "balance": "700000000000000000000" + }, + "d4344f7d5cad65d17e5c2d0e7323943d6f62fe92": { + "balance": "267400000000000000000" + }, + "a3294626ec2984c43b43da4d5d8e4669b11d4b59": { + "balance": "1008000000000000000000" + }, + "656018584130db83ab0591a8128d9381666a8d0e": { + "balance": "63960000000000000000" + }, + "0fa010ce0c731d3b628e36b91f571300e49dbeab": { + "balance": "999800000000000000000" + }, + "3098b65db93ecacaf7353c48808390a223d57684": { + "balance": "449965000000000000000" + }, + "ae635bf73831119d2d29c0d04ff8f8d8d0a57a46": { + "balance": "1337000000000000000000" + }, + "0f7515ff0e808f695e0c20485ff96ed2f7b79310": { + "balance": "1000169000000000000000" + }, + "8b30c04098d7a7e6420c357ea7bfa49bac9a8a18": { + "balance": "8000200000000000000000" + }, + "64dba2d6615b8bd7571836dc75bc79d314f5ecee": { + "balance": "10000000000000000000000" + }, + "e7912d4cf4562c573ddc5b71e37310e378ef86c9": { + "balance": "394000000000000000000" + }, + "a4da34450d22ec0ffcede0004b02f7872ee0b73a": { + "balance": "93342000000000000000" + }, + "34437d1465640b136cb5841c3f934f9ba0b7097d": { + "balance": "173000000000000000000" + }, + "c652871d192422c6bc235fa063b44a7e1d43e385": { + "balance": "155000000000000000000" + }, + "a8a708e84f82db86a35502193b4c6ee9a76ebe8f": { + "balance": "1015200000000000000000" + }, + "5c3f567faff7bad1b5120022e8cbcaa82b4917b3": { + "balance": "2000000000000000000000" + }, + "dbc1d0ee2bab531140de137722cd36bdb4e47194": { + "balance": "200000000000000000000" + }, + "f59dab1bf8df11327e61f9b7a14b563a96ec3554": { + "balance": "6000000000000000000000" + }, + "456f8d746682b224679349064d1b368c7c05b176": { + "balance": "3700000000000000000000" + }, + "5f13154631466dcb1353c890932a7c97e0878e90": { + "balance": "6000000000000000000000" + }, + "f4b1626e24f30bcad9273c527fcc714b5d007b8f": { + "balance": "200000000000000000000" + }, + "a8db0b9b201453333c757f6ad9bcb555c02da93b": { + "balance": "2199970000000000000000" + }, + "a0fc7e53c5ebd27a2abdac45261f84ab3b51aefb": { + "balance": "3008250000000000000000" + }, + "1b636b7a496f044d7359596e353a104616436f6b": { + "balance": "360354000000000000000" + }, + "74bce9ec38362d6c94ccac26d5c0e13a8b3b1d40": { + "balance": "999954000000000000000" + }, + "9834682180b982d166badb9d9d1d9bbf016d87ee": { + "balance": "2000000000000000000000" + }, + "1e6e0153fc161bc05e656bbb144c7187bf4fe84d": { + "balance": "2000000000000000000000" + }, + "989c0ccff654da03aeb11af701054561d6297e1d": { + "balance": "4000000000000000000000" + }, + "78a1e254409fb1b55a7cb4dd8eba3b30c8bad9ef": { + "balance": "100000000000000000000" + }, + "9ef1896b007c32a15114fb89d73dbd47f9122b69": { + "balance": "4000000000000000000000" + }, + "33320dd90f2baa110dd334872a998f148426453c": { + "balance": "999972000000000000000" + }, + "e72e1d335cc29a96b9b1c02f003a16d971e90b9d": { + "balance": "1580000000000000000000" + }, + "0921605f99164e3bcc28f31caece78973182561d": { + "balance": "793744000000000000000" + }, + "fc00a420a36107dfd5f495128a5fe5abb2db0f34": { + "balance": "5960000000000000000000" + }, + "dfcbdf09454e1a5e4a40d3eef7c5cf1cd3de9486": { + "balance": "4000000000000000000000" + }, + "646e043d0597a664948fbb0dc15475a3a4f3a6ed": { + "balance": "20000000000000000000" + }, + "79aeb34566b974c35a5881dec020927da7df5d25": { + "balance": "2000000000000000000000" + }, + "dbadc61ed5f0460a7f18e51b2fb2614d9264a0e0": { + "balance": "40000000000000000000" + }, + "97b91efe7350c2d57e7e406bab18f3617bcde14a": { + "balance": "9999980000000000000000" + }, + "8398e07ebcb4f75ff2116de77c1c2a99f303a4cf": { + "balance": "500000000000000000000" + }, + "f02796295101674288c1d93467053d042219b794": { + "balance": "740000000000000000000" + }, + "f4ed848ec961739c2c7e352f435ba70a7cd5db38": { + "balance": "1970000000000000000000" + }, + "82485728d0e281563758c75ab27ed9e882a0002d": { + "balance": "147000000000000000000" + }, + "427ec668ac9404e895cc861511d1620a4912be98": { + "balance": "40000000000000000000000" + }, + "1bbc199e586790be87afedc849c04726745c5d7b": { + "balance": "4000000000000000000000" + }, + "10d945334ecde47beb9ca3816c173dfbbd0b5333": { + "balance": "1400000000000000000000" + }, + "1dcebcb7656df5dcaa3368a055d22f9ed6cdd940": { + "balance": "499800000000000000000" + }, + "2ac1f8d7bf721f3cfe74d20fea9b87a28aaa982c": { + "balance": "161000000000000000000" + }, + "0a47ad9059a249fc936b2662353da6905f75c2b9": { + "balance": "2000000000000000000000" + }, + "768498934e37e905f1d0e77b44b574bcf3ec4ae8": { + "balance": "20000000000000000000000" + }, + "f46b6b9c7cb552829c1d3dfd8ffb11aabae782f6": { + "balance": "21000000000000000000" + }, + "7aea25d42b2612286e99c53697c6bc4100e2dbbf": { + "balance": "2000000000000000000000" + }, + "af3615c789d0b1152ad4db25fe5dcf222804cf62": { + "balance": "1000000000000000000000" + }, + "92e6581e1da1f9b846e09347333dc818e2d2ac66": { + "balance": "3640000000000000000000" + }, + "240305727313d01e73542c775ff59d11cd35f819": { + "balance": "5931229000000000000000" + }, + "b95cfda8465ba9c2661b249fc3ab661bdfa35ff0": { + "balance": "318949000000000000000" + }, + "1b0d076817e8d68ee2df4e1da1c1142d198c4435": { + "balance": "1550000000000000000000" + }, + "93c2e64e5de5589ed25006e843196ee9b1cf0b3e": { + "balance": "1670000000000000000000" + }, + "0e2e504a2d1122b5a9feee5cb1451bf4c2ace87b": { + "balance": "3940000000000000000000" + }, + "22b96ab2cad55db100b53001f9e4db378104c807": { + "balance": "10000000000000000000000" + }, + "a927d48bb6cb814bc609cbcaa9151f5d459a27e1": { + "balance": "271600000000000000000" + }, + "5cbd8daf27ddf704cdd0d909a789ba36ed4f37b2": { + "balance": "13400000000000000000" + }, + "9adbd3bc7b0afc05d1d2eda49ff863939c48db46": { + "balance": "199955000000000000000" + }, + "ac7e03702723cb16ee27e22dd0b815dc2d5cae9f": { + "balance": "16000000000000000000000" + }, + "1e210e7047886daa52aaf70f4b991dac68e3025e": { + "balance": "200000000000000000000" + }, + "c98048687f2bfcc9bd90ed18736c57edd352b65d": { + "balance": "1000000000000000000000" + }, + "81c18c2a238ddc4cba230a072dd7dc101e620273": { + "balance": "1337000000000000000000" + }, + "cb3d766c983f192bcecac70f4ee03dd9ff714d51": { + "balance": "100000000000000000000" + }, + "44a63d18424587b9b307bfc3c364ae10cd04c713": { + "balance": "20000000000000000000" + }, + "4ab2d34f04834fbf7479649cab923d2c4725c553": { + "balance": "3520000000000000000000" + }, + "b834acf3015322c58382eeb2b79638906e88b6de": { + "balance": "24000000000000000000000" + }, + "7d551397f79a2988b064afd0efebee802c7721bc": { + "balance": "39400000000000000000000" + }, + "b537d36a70eeb8d3e5c80de815225c1158cb92c4": { + "balance": "1500000000000000000000" + }, + "805ce51297a0793b812067f017b3e7b2df9bb1f9": { + "balance": "100000000000000000000" + }, + "085ba65febe23eefc2c802666ab1262382cfc494": { + "balance": "400000000000000000000" + }, + "b1c0d08b36e184f9952a4037e3e53a667d070a4e": { + "balance": "1000000000000000000000" + }, + "83fe5a1b328bae440711beaf6aad6026eda6d220": { + "balance": "20000000000000000000000" + }, + "7fd679e5fb0da2a5d116194dcb508318edc580f3": { + "balance": "6560000000000000000000" + }, + "41ad369f758fef38a19aa3149379832c818ef2a0": { + "balance": "1000060000000000000000" + }, + "6d846dc12657e91af25008519c3e857f51707dd6": { + "balance": "4590000000000000000000" + }, + "c02d6eadeacf1b78b3ca85035c637bb1ce01f490": { + "balance": "4000000000000000000000" + }, + "826eb7cd7319b82dd07a1f3b409071d96e39677f": { + "balance": "1000000000000000000000" + }, + "4ac9905a4cb6ab1cfd62546ee5917300b87c4fde": { + "balance": "1015200000000000000000" + }, + "cf6e52e6b77480b1867efec6446d9fc3cc3577e8": { + "balance": "222010000000000000000" + }, + "2476b2bb751ce748e1a4c4ff7b230be0c15d2245": { + "balance": "4000000000000000000000" + }, + "1a505e62a74e87e577473e4f3afa16bedd3cfa52": { + "balance": "500000000000000000000" + }, + "21d02705f3f64905d80ed9147913ea8c7307d695": { + "balance": "1363740000000000000000" + }, + "7b1daf14891b8a1e1bd429d8b36b9a4aa1d9afbf": { + "balance": "500000000000000000000" + }, + "5338ef70eac9dd9af5a0503b5efad1039e67e725": { + "balance": "2674000000000000000000" + }, + "50ca86b5eb1d01874df8e5f34945d49c6c1ab848": { + "balance": "1000000000000000000000" + }, + "f3cc8bcb559465f81bfe583bd7ab0a2306453b9e": { + "balance": "20000000000000000000000" + }, + "5c323457e187761a8276e359b7b7af3f3b6e3df6": { + "balance": "10000000000000000000000" + }, + "4d82d7700c123bb919419bbaf046799c6b0e2c66": { + "balance": "20000000000000000000000" + }, + "8a66abbc2d30ce21a833b0db8e561d5105e0a72c": { + "balance": "699958000000000000000" + }, + "2ae53866fc2d14d572ab73b4a065a1188267f527": { + "balance": "8000000000000000000000" + }, + "9af5c9894c33e42c2c518e3ac670ea9505d1b53e": { + "balance": "18200000000000000000" + }, + "cba25c7a503cc8e0d04971ca05c762f9b762b48b": { + "balance": "500000000000000000000" + }, + "fda3042819af3e662900e1b92b4358eda6e92590": { + "balance": "118200000000000000000000" + }, + "9bd7c38a4210304a4d653edeff1b3ce45fce7843": { + "balance": "282000000000000000000" + }, + "edc22fb92c638e1e21ff5cf039daa6e734dafb29": { + "balance": "298000000000000000000" + }, + "a1f193a0592f1feb9fdfc90aa813784eb80471c9": { + "balance": "1400000000000000000000" + }, + "e97fde0b67716325cf0ecce8a191a3761b2c791d": { + "balance": "1004700000000000000000" + }, + "110237cf9117e767922fc4a1b78d7964da82df20": { + "balance": "3940000000000000000000" + }, + "e32f95766d57b5cd4b173289d6876f9e64558194": { + "balance": "100000000000000000000" + }, + "f2d59c8923759073d6f415aaf8eb065ff2f3b685": { + "balance": "7880000000000000000000" + }, + "c53d79f7cb9b70952fd30fce58d54b9f0b59f647": { + "balance": "5089200000000000000000" + }, + "9eb281c32719c40fdb3e216db0f37fbc73a026b7": { + "balance": "20000000000000000000" + }, + "2d6511fd7a3800b26854c7ec39c0dcb5f4c4e8e8": { + "balance": "399910000000000000000" + }, + "61ba87c77e9b596de7ba0e326fddfeec2163ef66": { + "balance": "200000000000000000000" + }, + "de1121829c9a08284087a43fbd2fc1142a3233b4": { + "balance": "1000000000000000000000" + }, + "22a25812ab56dcc423175ed1d8adacce33cd1810": { + "balance": "1850000000000000000000" + }, + "518cef27b10582b6d14f69483ddaa0dd3c87bb5c": { + "balance": "600000000000000000000" + }, + "59161749fedcf1c721f2202d13ade2abcf460b3d": { + "balance": "2000000000000000000000" + }, + "3e36c17253c11cf38974ed0db1b759160da63783": { + "balance": "7000000000000000000000" + }, + "cbfa76db04ce38fb205d37b8d377cf1380da0317": { + "balance": "1430000000000000000000" + }, + "a7e83772bc200f9006aa2a260dbaa8483dc52b30": { + "balance": "207730000000000000000" + }, + "e87eac6d602b4109c9671bf57b950c2cfdb99d55": { + "balance": "49932000000000000000" + }, + "9b06ad841dffbe4ccf46f1039fc386f3c321446e": { + "balance": "2000000000000000000000" + }, + "e0f903c1e48ac421ab48528f3d4a2648080fe043": { + "balance": "1015200000000000000000" + }, + "5d872b122e994ef27c71d7deb457bf65429eca6c": { + "balance": "7999973000000000000000" + }, + "f34083ecea385017aa40bdd35ef7effb4ce7762d": { + "balance": "400000000000000000000" + }, + "7f3709391f3fbeba3592d175c740e87a09541d02": { + "balance": "480000000000000000000" + }, + "888e94917083d152202b53163939869d271175b4": { + "balance": "4000000000000000000000" + }, + "bed4c8f006a27c1e5f7ce205de75f516bfb9f764": { + "balance": "16000000000000000000000" + }, + "b3a6bd41f9d9c3201e050b87198fbda399342210": { + "balance": "3622615000000000000000" + }, + "550aadae1221b07afea39fba2ed62e05e5b7b5f9": { + "balance": "20000000000000000000" + }, + "bcedc4267ccb89b31bb764d7211171008d94d44d": { + "balance": "200000000000000000000" + }, + "6229dcc203b1edccfdf06e87910c452a1f4d7a72": { + "balance": "32500000000000000000000" + }, + "94be3ae54f62d663b0d4cc9e1ea8fe9556ea9ebf": { + "balance": "23280000000000000000" + }, + "0e0c9d005ea016c295cd795cc9213e87febc33eb": { + "balance": "198000000000000000000" + }, + "55d057bcc04bd0f4af9642513aa5090bb3ff93fe": { + "balance": "1106680000000000000000" + }, + "ed9e030ca75cb1d29ea01d0d4cdfdccd3844b6e4": { + "balance": "30895000000000000000" + }, + "86c4ce06d9ac185bb148d96f7b7abe73f441006d": { + "balance": "10000000000000000000000" + }, + "2c04115c3e52961b0dc0b0bf31fba4546f5966fd": { + "balance": "200000000000000000000" + }, + "b959dce02e91d9db02b1bd8b7d17a9c41a97af09": { + "balance": "8000000000000000000000" + }, + "e01547ba42fcafaf93938becf7699f74290af74f": { + "balance": "2000000000000000000000" + }, + "c593d6e37d14b566643ac4135f243caa0787c182": { + "balance": "12000000000000000000000" + }, + "2c0ee134d8b36145b47beee7af8d2738dbda08e8": { + "balance": "201000000000000000000" + }, + "0ef54ac7264d2254abbb5f8b41adde875157db7c": { + "balance": "40000000000000000000" + }, + "0349634dc2a9e80c3f7721ee2b5046aeaaedfbb5": { + "balance": "4000000000000000000000" + }, + "873e49135c3391991060290aa7f6ccb8f85a78db": { + "balance": "20000000000000000000" + }, + "05236d4c90d065f9e3938358aaffd777b86aec49": { + "balance": "500000000000000000000" + }, + "d2abd84a181093e5e229136f42d835e8235de109": { + "balance": "100007000000000000000" + }, + "b56a780028039c81caf37b6775c620e786954764": { + "balance": "2000000000000000000000" + }, + "86df73bd377f2c09de63c45d67f283eaefa0f4ab": { + "balance": "1000000000000000000000" + }, + "7670b02f2c3cf8fd4f4730f3381a71ea431c33c7": { + "balance": "267400000000000000000" + }, + "24aa1151bb765fa3a89ca50eb6e1b1c706417fd4": { + "balance": "3100000000000000000000" + }, + "43227d65334e691cf231b4a4e1d339b95d598afb": { + "balance": "10000000000000000000000" + }, + "695550656cbf90b75d92ad9122d90d23ca68ca4d": { + "balance": "1000000000000000000000" + }, + "5281733473e00d87f11e9955e589b59f4ac28e7a": { + "balance": "660360000000000000000000" + }, + "99a96bf2242ea1b39ece6fcc0d18aed00c0179f3": { + "balance": "300000000000000000000" + }, + "b1cf94f8091505055f010ab4bac696e0ca0f67a1": { + "balance": "1580000000000000000000" + }, + "54391b4d176d476cea164e5fb535c69700cb2535": { + "balance": "100076000000000000000" + }, + "152f2bd229ddf3cb0fdaf455c183209c0e1e39a2": { + "balance": "2000000000000000000000" + }, + "affc99d5ebb4a84fe7788d97dce274b038240438": { + "balance": "5000000000000000000000" + }, + "23df8f48ee009256ea797e1fa369beebcf6bc663": { + "balance": "2302671000000000000000" + }, + "3a72d635aadeee4382349db98a1813a4cfeb3df1": { + "balance": "200000000000000000000000" + }, + "ce26f9a5305f8381094354dbfc92664e84f902b5": { + "balance": "230200000000000000000" + }, + "d283b8edb10a25528a4404de1c65e7410dbcaa67": { + "balance": "12000000000000000000000" + }, + "a7859fc07f756ea7dcebbccd42f05817582d973f": { + "balance": "10000000000000000000000" + }, + "b28181a458a440f1c6bb1de8400281a3148f4c35": { + "balance": "376000000000000000000" + }, + "27b1694eafa165ebd7cc7bc99e74814a951419dc": { + "balance": "800000000000000000000" + }, + "66cc8ab23c00d1b82acd7d73f38c99e0d05a4fa6": { + "balance": "100000000000000000000" + }, + "926082cb7eed4b1993ad245a477267e1c33cd568": { + "balance": "374300000000000000000" + }, + "4a47fc3e177f567a1e3893e000e36bba23520ab8": { + "balance": "2000000000000000000000" + }, + "594a76f06935388dde5e234696a0668bc20d2ddc": { + "balance": "2800000000000000000000" + }, + "e91fa0badaddb9a97e88d3f4db7c55d6bb7430fe": { + "balance": "376000000000000000000" + }, + "574de1b3f38d915846ae3718564a5ada20c2f3ed": { + "balance": "4000000000000000000000" + }, + "5816c2687777b6d7d2a2432d59a41fa059e3a406": { + "balance": "133700000000000000000000" + }, + "b50955aa6e341571986608bdc891c2139f540cdf": { + "balance": "1970000000000000000000" + }, + "6d44974a31d187eda16ddd47b9c7ec5002d61fbe": { + "balance": "940000000000000000000" + }, + "80abec5aa36e5c9d098f1b942881bd5acac6963d": { + "balance": "2000000000000000000000" + }, + "294f494b3f2e143c2ffc9738cbfd9501850b874e": { + "balance": "2240000000000000000000" + }, + "bca3ffd4683fba0ad3bbc90734b611da9cfb457e": { + "balance": "200000000000000000000" + }, + "5992624c54cdec60a5ae938033af8be0c50cbb0a": { + "balance": "3621678000000000000000" + }, + "6560941328ff587cbc56c38c78238a7bb5f442f6": { + "balance": "744900000000000000000" + }, + "74b7e0228baed65957aebb4d916d333aae164f0e": { + "balance": "2000000000000000000000" + }, + "8516fcaf77c893970fcd1a958ba9a00e49044019": { + "balance": "196279000000000000000" + }, + "b992a967308c02b98af91ee760fd3b6b4824ab0e": { + "balance": "2000000000000000000000" + }, + "30bb4357cd6910c86d2238bf727cbe8156680e62": { + "balance": "100014000000000000000" + }, + "b8cc0f060aad92d4eb8b36b3b95ce9e90eb383d7": { + "balance": "150000000000000000000000" + }, + "28d4ebf41e3d3c451e943bdd7e1f175fae932a3d": { + "balance": "6000000000000000000000" + }, + "8c83d424a3cf24d51f01923dd54a18d6b6fede7b": { + "balance": "4000000000000000000000" + }, + "7efc90766a00bc52372cac97fabd8a3c831f8ecd": { + "balance": "158000000000000000000" + }, + "7c2b9603884a4f2e464eceb97d17938d828bc02c": { + "balance": "3000000000000000000000" + }, + "9d250ae4f110d71cafc7b0adb52e8d9acb6679b8": { + "balance": "9840000000000000000000" + }, + "61b3df2e9e9fd968131f1e88f0a0eb5bd765464d": { + "balance": "4000000000000000000000" + }, + "9ae13bd882f2576575921a94974cbea861ba0d35": { + "balance": "3160000000000000000000" + }, + "3d09688d93ad07f3abe68c722723cd680990435e": { + "balance": "29999948000000000000000" + }, + "5e58e255fc19870a04305ff2a04631f2ff294bb1": { + "balance": "17600000000000000000" + }, + "bcaed0acb6a76f113f7c613555a2c3b0f5bf34a5": { + "balance": "193600000000000000000" + }, + "159adce27aa10b47236429a34a5ac42cad5b6416": { + "balance": "31867951000000000000000" + }, + "e834c64318205ca7dd4a21abcb08266cb21ff02c": { + "balance": "999999000000000000000" + }, + "7b6a84718dd86e63338429ac811d7c8a860f21f1": { + "balance": "1790000000000000000000" + }, + "2118c116ab0cdf6fd11d54a4309307b477c3fc0f": { + "balance": "10000000000000000000000" + }, + "34a901a69f036bcf9f7843c0ba01b426e8c3dc2b": { + "balance": "4000000000000000000000" + }, + "c7d44fe32c7f8cd5f1a97427b6cd3afc9e45023e": { + "balance": "1580000000000000000000" + }, + "c6045b3c350b4ce9ca0c6b754fb41a69b97e9900": { + "balance": "925000000000000000000" + }, + "cf5a6f9df75579c644f794711215b30d77a0ce40": { + "balance": "2000000000000000000000" + }, + "e2904b1aefa056398b6234cb35811288d736db67": { + "balance": "40000000000000000000" + }, + "7101bd799e411cde14bdfac25b067ac890eab8e8": { + "balance": "1450054000000000000000" + }, + "cc45fb3a555bad807b388a0357c855205f7c75e8": { + "balance": "865000000000000000000" + }, + "ff0c3c7798e8733dd2668152891bab80a8be955c": { + "balance": "80220000000000000000" + }, + "3536453322c1466cb905af5c335ca8db74bff1e6": { + "balance": "447000000000000000000" + }, + "08cac8952641d8fc526ec1ab4f2df826a5e7710f": { + "balance": "300000000000000000000" + }, + "0d8aab8f74ea862cdf766805009d3f3e42d8d00b": { + "balance": "5820000000000000000000" + }, + "8908760cd39b9c1e8184e6a752ee888e3f0b7045": { + "balance": "6000000000000000000000" + }, + "8156360bbd370961ceca6b6691d75006ad204cf2": { + "balance": "40000000000000000000000" + }, + "a304588f0d850cd8d38f76e9e83c1bf63e333ede": { + "balance": "39800000000000000000" + }, + "14c63ba2dcb1dd4df33ddab11c4f0007fa96a62d": { + "balance": "15500000000000000000000" + }, + "a009bf076f1ba3fa57d2a7217218bed5565a7a7a": { + "balance": "1000000000000000000000" + }, + "1c89060f987c518fa079ec2c0a5ebfa30f5d20f7": { + "balance": "38000000000000000000000" + }, + "8895eb726226edc3f78cc6a515077b3296fdb95e": { + "balance": "3940000000000000000000" + }, + "7919e7627f9b7d54ea3b14bb4dd4649f4f39dee0": { + "balance": "1670000000000000000000" + }, + "b3c65b845aba6cd816fbaae983e0e46c82aa8622": { + "balance": "1000000000000000000000" + }, + "eff51d72adfae143edf3a42b1aec55a2ccdd0b90": { + "balance": "300000000000000000000" + }, + "05bb64a916be66f460f5e3b64332110d209e19ae": { + "balance": "4200000000000000000000" + }, + "d5b117ec116eb846418961eb7edb629cd0dd697f": { + "balance": "3000000000000000000000" + }, + "05e97b09492cd68f63b12b892ed1d11d152c0eca": { + "balance": "1015200000000000000000" + }, + "84cc7878da605fdb019fab9b4ccfc157709cdda5": { + "balance": "1336922000000000000000" + }, + "79cac6494f11ef2798748cb53285bd8e22f97cda": { + "balance": "2000000000000000000000" + }, + "bd5a8c94bd8be6470644f70c8f8a33a8a55c6341": { + "balance": "200000000000000000000" + }, + "b119e79aa9b916526581cbf521ef474ae84dcff4": { + "balance": "1470700000000000000000" + }, + "aff1045adf27a1aa329461b24de1bae9948a698b": { + "balance": "33400000000000000000" + }, + "4398628ea6632d393e929cbd928464c568aa4a0c": { + "balance": "1400000000000000000000" + }, + "99997668f7c1a4ff9e31f9977ae3224bcb887a85": { + "balance": "291200000000000000000" + }, + "bc0e8745c3a549445c2be900f52300804ab56289": { + "balance": "33104697000000000000000" + }, + "e5bab4f0afd8a9d1a381b45761aa18f3d3cce105": { + "balance": "1508010000000000000000" + }, + "be60037e90714a4b917e61f193d834906703b13a": { + "balance": "1700000000000000000000" + }, + "8ed4284c0f47449c15b8d9b3245de8beb6ce80bf": { + "balance": "800000000000000000000" + }, + "333ad1596401e05aea2d36ca47318ef4cd2cb3df": { + "balance": "2910000000000000000000" + }, + "22db559f2c3c1475a2e6ffe83a5979599196a7fa": { + "balance": "1000000000000000000000" + }, + "fdf449f108c6fb4f5a2b081eed7e45e6919e4d25": { + "balance": "2000000000000000000000" + }, + "0be1bcb90343fae5303173f461bd914a4839056c": { + "balance": "6000000000000000000000" + }, + "b981ad5e6b7793a23fc6c1e8692eb2965d18d0da": { + "balance": "9999924000000000000000" + }, + "c75d2259306aec7df022768c69899a652185dbc4": { + "balance": "4000000000000000000000" + }, + "6c2e9be6d4ab450fd12531f33f028c614674f197": { + "balance": "3580000000000000000000" + }, + "6dcc7e64fcafcbc2dc6c0e5e662cb347bffcd702": { + "balance": "20000000000000000000000" + }, + "aabdb35c1514984a039213793f3345a168e81ff1": { + "balance": "309760000000000000000" + }, + "d315deea1d8c1271f9d1311263ab47c007afb6f5": { + "balance": "69760000000000000000" + }, + "4faf90b76ecfb9631bf9022176032d8b2c207009": { + "balance": "1000032000000000000000" + }, + "3e7a966b5dc357ffb07e9fe067c45791fd8e3049": { + "balance": "59100000000000000000" + }, + "2e64a8d71111a22f4c5de1e039b336f68d398a7c": { + "balance": "2000000000000000000000" + }, + "181fbba852a7f50178b1c7f03ed9e58d54162929": { + "balance": "666000000000000000000" + }, + "4f7330096f79ed264ee0127f5d30d2f73c52b3d8": { + "balance": "499970000000000000000" + }, + "a8a8dbdd1a85d1beee2569e91ccc4d09ae7f6ea1": { + "balance": "5800000000000000000000" + }, + "1f9c3268458da301a2be5ab08257f77bb5a98aa4": { + "balance": "200000000000000000000" + }, + "fc372ff6927cb396d9cf29803500110da632bc52": { + "balance": "2000000000000000000000" + }, + "4fa554ab955c249217386a4d3263bbf72895434e": { + "balance": "19982000000000000000" + }, + "2a59e47ea5d8f0e7c028a3e8e093a49c1b50b9a3": { + "balance": "2000000000000000000000" + }, + "5e32c72191b8392c55f510d8e3326e3a60501d62": { + "balance": "44000000000000000000000" + }, + "1dfaee077212f1beaf0e6f2f1840537ae154ad86": { + "balance": "1000000000000000000000" + }, + "7eaba035e2af3793fd74674b102540cf190addb9": { + "balance": "1273000000000000000000" + }, + "d62edb96fce2969aaf6c545e967cf1c0bc805205": { + "balance": "85705000000000000000" + }, + "220dc68df019b6b0ccbffb784b5a5ab4b15d4060": { + "balance": "3940000000000000000000" + }, + "45bb829652d8bfb58b8527f0ecb621c29e212ec3": { + "balance": "2000000000000000000000" + }, + "79b120eb8806732321288f675a27a9225f1cd2eb": { + "balance": "2465000000000000000000" + }, + "740af1eefd3365d78ba7b12cb1a673e06a077246": { + "balance": "19700000000000000000000" + }, + "0f042c9c2fb18766f836bb59f735f27dc329fe3c": { + "balance": "10000000000000000000000" + }, + "6dda5f788a6c688ddf921fa3852eb6d6c6c62966": { + "balance": "40000000000000000000" + }, + "96ad579bbfa8db8ebec9d286a72e4661eed8e356": { + "balance": "1070750000000000000000" + }, + "0c2073ba44d3ddbdb639c04e191039a71716237f": { + "balance": "1430000000000000000000" + }, + "1a3520453582c718a21c42375bc50773255253e1": { + "balance": "790000000000000000000" + }, + "efcaae9ff64d2cd95b5249dcffe7faa0a0c0e44d": { + "balance": "401100000000000000000" + }, + "0a3de155d5ecd8e81c1ff9bbf0378301f8d4c623": { + "balance": "4000000000000000000000" + }, + "80f07ac09e7b2c3c0a3d1e9413a544c73a41becb": { + "balance": "20000000000000000000" + }, + "c3631c7698b6c5111989bf452727b3f9395a6dea": { + "balance": "10683500000000000000000" + }, + "4cc22c9bc9ad05d875a397dbe847ed221c920c67": { + "balance": "2000000000000000000000" + }, + "1a987e3f83de75a42f1bde7c997c19217b4a5f24": { + "balance": "2000000000000000000000" + }, + "5b2b64e9c058e382a8b299224eecaa16e09c8d92": { + "balance": "161000000000000000000" + }, + "86caafacf32aa0317c032ac36babed974791dc03": { + "balance": "40000000000000000000000" + }, + "1cd1f0a314cbb200de0a0cb1ef97e920709d97c2": { + "balance": "2000000000000000000000" + }, + "7d980f4b566bb045517e4c14c87750de9346744b": { + "balance": "1337000000000000000000" + }, + "8b5f29cc2faa262cdef30ef554f50eb488146eac": { + "balance": "5818250000000000000000" + }, + "5153a0c3c8912881bf1c3501bf64b45649e48222": { + "balance": "4000000000000000000000" + }, + "d21a7341eb84fd151054e5e387bb25d36e499c09": { + "balance": "14000000000000000000000" + }, + "9560e8ac6718a6a1cdcff189d603c9063e413da6": { + "balance": "4000000000000000000000" + }, + "e49ba0cd96816c4607773cf8a5970bb5bc16a1e6": { + "balance": "1670000000000000000000" + }, + "b8ac117d9f0dba80901445823c4c9d4fa3fedc6e": { + "balance": "15759015000000000000000" + }, + "af67fd3e127fd9dc36eb3fcd6a80c7be4f7532b2": { + "balance": "1670000000000000000000" + }, + "b43c27f7a0a122084b98f483922541c8836cee2c": { + "balance": "715000000000000000000" + }, + "4d9279962029a8bd45639737e98b511eff074c21": { + "balance": "1337000000000000000000" + }, + "c667441e7f29799aba616451d53b3f489f9e0f48": { + "balance": "13920000000000000000000" + }, + "275875ff4fbb0cf3a430213127487f7608d04cba": { + "balance": "500080000000000000000" + }, + "9a953b5bcc709379fcb559d7b916afdaa50cadcc": { + "balance": "100000000000000000000" + }, + "7ea791ebab0445a00efdfc4e4a8e9a7e7565136d": { + "balance": "18200000000000000000" + }, + "6ffe5cf82cc9ea5e36cad7c2974ce7249f3749e6": { + "balance": "1940000000000000000000" + }, + "f1b4ecc63525f7432c3d834ffe2b970fbeb87212": { + "balance": "3000064000000000000000" + }, + "6b72a8f061cfe6996ad447d3c72c28c0c08ab3a7": { + "balance": "4271316000000000000000" + }, + "bba3c68004248e489573abb2743677066b24c8a7": { + "balance": "2000000000000000000000" + }, + "b7c0d0cc0b4d342d4062bac624ccc3c70cc6da3f": { + "balance": "4000000000000000000000" + }, + "fe98c664c3e447a95e69bd582171b7176ea2a685": { + "balance": "4000000000000000000000" + }, + "ce71086d4c602554b82dcbfce88d20634d53cc4d": { + "balance": "43250000000000000000000" + }, + "1c601993789207f965bb865cbb4cd657cce76fc0": { + "balance": "98294000000000000000" + }, + "476b5599089a3fb6f29c6c72e49b2e4740ea808d": { + "balance": "2800000000000000000000" + }, + "3439998b247cb4bf8bc80a6d2b3527f1dfe9a6d2": { + "balance": "140000000000000000000" + }, + "c4f7d2e2e22084c44f70feaab6c32105f3da376f": { + "balance": "1970000000000000000000" + }, + "c1eba5684aa1b24cba63150263b7a9131aeec28d": { + "balance": "20000000000000000000" + }, + "94ad4bad824bd0eb9ea49c58cebcc0ff5e08346b": { + "balance": "1940000000000000000000" + }, + "ded877378407b94e781c4ef4af7cfc5bc220b516": { + "balance": "372500000000000000000" + }, + "699c9ee47195511f35f862ca4c22fd35ae8ffbf4": { + "balance": "80000000000000000000" + }, + "e3a89a1927cc4e2d43fbcda1e414d324a7d9e057": { + "balance": "205500000000000000000" + }, + "4d93696fa24859f5d2939aebfa54b4b51ae1dccc": { + "balance": "19100000000000000000" + }, + "0af65f14784e55a6f95667fd73252a1c94072d2a": { + "balance": "192987000000000000000" + }, + "5b70c49cc98b3df3fbe2b1597f5c1b6347a388b7": { + "balance": "970000000000000000000" + }, + "426f78f70db259ac8534145b2934f4ef1098b5d8": { + "balance": "360000000000000000000" + }, + "58b8ae8f63ef35ed0762f0b6233d4ac14e64b64d": { + "balance": "2000000000000000000000" + }, + "8eae29435598ba8f1c93428cdb3e2b4d31078e00": { + "balance": "2000000000000000000000" + }, + "17fd9b551a98cb61c2e07fbf41d3e8c9a530cba5": { + "balance": "26989000000000000000" + }, + "ab3e78294ba886a0cfd5d3487fb3a3078d338d6e": { + "balance": "1970000000000000000000" + }, + "bdf6e68c0cd7584080e847d72cbb23aad46aeb1d": { + "balance": "1970000000000000000000" + }, + "f989346772995ec1906faffeba2a7fe7de9c6bab": { + "balance": "6685000000000000000000" + }, + "dc5f5ad663a6f263327d64cac9cb133d2c960597": { + "balance": "2000000000000000000000" + }, + "68fe1357218d095849cd579842c4aa02ff888d93": { + "balance": "2000000000000000000000" + }, + "e09c68e61998d9c81b14e4ee802ba7adf6d74cdb": { + "balance": "4000000000000000000000" + }, + "890fe11f3c24db8732d6c2e772e2297c7e65f139": { + "balance": "62980000000000000000000" + }, + "a76929890a7b47fb859196016c6fdd8289ceb755": { + "balance": "5000000000000000000000" + }, + "2dc79d6e7f55bce2e2d0c02ad07ceca8bb529354": { + "balance": "1580000000000000000000" + }, + "19687daa39c368139b6e7be60dc1753a9f0cbea3": { + "balance": "8000000000000000000000" + }, + "c69be440134d6280980144a9f64d84748a37f349": { + "balance": "715000000000000000000" + }, + "3d8d0723721e73a6c0d860aa0557abd14c1ee362": { + "balance": "5000000000000000000000" + }, + "2b241f037337eb4acc61849bd272ac133f7cdf4b": { + "balance": "378000000000000000000000" + }, + "24b95ebef79500baa0eda72e77f877415df75c33": { + "balance": "910000000000000000000" + }, + "106ed5c719b5261477890425ae7551dc59bd255c": { + "balance": "11979600000000000000000" + }, + "5b2e2f1618552eab0db98add55637c2951f1fb19": { + "balance": "12000000000000000000000" + }, + "403145cb4ae7489fcc90cd985c6dc782b3cc4e44": { + "balance": "5999800000000000000000" + }, + "e8be24f289443ee473bc76822f55098d89b91cc5": { + "balance": "2000000000000000000000" + }, + "f6bc37b1d2a3788d589b6de212dc1713b2f6e78e": { + "balance": "5000000000000000000000" + }, + "67fc527dce1785f0fb8bc7e518b1c669f7ecdfb5": { + "balance": "240000000000000000000" + }, + "6580b1bc94390f04b397bd73e95d96ef11eaf3a8": { + "balance": "20000000000000000000" + }, + "98bf4af3810b842387db70c14d46099626003d10": { + "balance": "4000000000000000000000" + }, + "17993d312aa1106957868f6a55a5e8f12f77c843": { + "balance": "450065000000000000000" + }, + "0729b4b47c09eb16158464c8aa7fd9690b438839": { + "balance": "1999800000000000000000" + }, + "ae70e69d2c4a0af818807b1a2705f79fd0b5dbc4": { + "balance": "985000000000000000000" + }, + "38b50146e71916a5448de12a4d742135dcf39833": { + "balance": "32200000000000000000000" + }, + "38439aaa24e3636f3a18e020ea1da7e145160d86": { + "balance": "2600000000000000000000" + }, + "54b4429b182f0377be7e626939c5db6440f75d7a": { + "balance": "1970000000000000000000" + }, + "7179726f5c71ae1b6d16a68428174e6b34b23646": { + "balance": "7353500000000000000000" + }, + "c2ee91d3ef58c9d1a589844ea1ae3125d6c5ba69": { + "balance": "970000000000000000000" + }, + "912304118b80473d9e9fe3ee458fbe610ffda2bb": { + "balance": "200000000000000000000" + }, + "3308b03466c27a17dfe1aafceb81e16d2934566f": { + "balance": "17000000000000000000000" + }, + "10346414bec6d3dcc44e50e54d54c2b8c3734e3e": { + "balance": "4000000000000000000000" + }, + "4fee50c5f988206b09a573469fb1d0b42ebb6dce": { + "balance": "2009400000000000000000" + }, + "9ece1400800936c7c6485fcdd3626017d09afbf6": { + "balance": "310000000000000000000" + }, + "ddf3ad76353810be6a89d731b787f6f17188612b": { + "balance": "20000000000000000000000" + }, + "72402300e81d146c2e644e2bbda1da163ca3fb56": { + "balance": "7000000000000000000000" + }, + "bb4b4a4b548070ff41432c9e08a0ca6fa7bc9f76": { + "balance": "850000000000000000000" + }, + "c3dd58903886303b928625257ae1a013d71ae216": { + "balance": "2000000000000000000000" + }, + "ca6c818befd251361e02744068be99d8aa60b84a": { + "balance": "6000000000000000000000" + }, + "b8d2ddc66f308c0158ae3ccb7b869f7d199d7b32": { + "balance": "844800000000000000000" + }, + "8e486a0442d171c8605be348fee57eb5085eff0d": { + "balance": "4000000000000000000000" + }, + "a807104f2703d679f8deafc442befe849e42950b": { + "balance": "2000000000000000000000" + }, + "bb61a04bffd57c10470d45c39103f64650347616": { + "balance": "1000000000000000000000" + }, + "d1c45954a62b911ad701ff2e90131e8ceb89c95c": { + "balance": "1394000000000000000000" + }, + "5e65458be964ae449f71773704979766f8898761": { + "balance": "528600000000000000000" + }, + "f9b37825f03073d31e249378c30c795c33f83af2": { + "balance": "200152000000000000000" + }, + "e309974ce39d60aadf2e69673251bf0e04760a10": { + "balance": "254030000000000000000" + }, + "d541ac187ad7e090522de6da3213e9a7f4439673": { + "balance": "2000000000000000000000" + }, + "f33efc6397aa65fb53a8f07a0f893aae30e8bcee": { + "balance": "2304850000000000000000" + }, + "d2f1998e1cb1580cec4f6c047dcd3dcec54cf73c": { + "balance": "200000000000000000000" + }, + "0ed76c2c3b5d50ff8fb50b3eeacd681590be1c2d": { + "balance": "100000000000000000000" + }, + "637d67d87f586f0a5a479e20ee13ea310a10b647": { + "balance": "48300000000000000000000" + }, + "1a5ee533acbfb3a2d76d5b685277b796c56a052b": { + "balance": "2000000000000000000000" + }, + "323fca5ed77f699f9d9930f5ceeff8e56f59f03c": { + "balance": "1337000000000000000000" + }, + "a5fe2ce97f0e8c3856be0de5f4dcb2ce5d389a16": { + "balance": "22892000000000000000" + }, + "93258255b37c7f58f4b10673a932dd3afd90f4f2": { + "balance": "1000000000000000000000" + }, + "950fe9c6cad50c18f11a9ed9c45740a6180612d0": { + "balance": "8000000000000000000000" + }, + "ee31167f9cc93b3c6465609d79db0cde90e8484c": { + "balance": "2000000000000000000000" + }, + "6ebb5e6957aa821ef659b6018a393a504cae4450": { + "balance": "2000000000000000000000" + }, + "be305a796e33bbf7f9aeae6512959066efda1010": { + "balance": "10880000000000000000000" + }, + "537f9d4d31ef70839d84b0d9cdb72b9afedbdf35": { + "balance": "70000000000000000000000" + }, + "fe9e1197d7974a7648dcc7a03112a88edbc9045d": { + "balance": "4925000000000000000000" + }, + "99f77f998b20e0bcdcd9fc838641526cf25918ef": { + "balance": "1790000000000000000000" + }, + "76ffc157ad6bf8d56d9a1a7fddbc0fea010aabf4": { + "balance": "1000000000000000000000" + }, + "defe9141f4704599159d7b223de42bffd80496b3": { + "balance": "100000000000000000000" + }, + "7b1bf53a9cbe83a7dea434579fe72aac8d2a0cd0": { + "balance": "199800000000000000000" + }, + "23ccc3c6acd85c2e460c4ffdd82bc75dc849ea14": { + "balance": "4000000000000000000000" + }, + "9f86a066edb61fcb5856de93b75c8c791864b97b": { + "balance": "2000000000000000000000" + }, + "871b8a8b51dea1989a5921f13ec1a955a515ad47": { + "balance": "8000000000000000000000" + }, + "4efcd9c79fb4334ca6247b0a33bd9cc33208e272": { + "balance": "1337000000000000000000" + }, + "35ac1d3ed7464fa3db14e7729213ceaa378c095e": { + "balance": "1520000000000000000000" + }, + "c69d663c8d60908391c8d236191533fdf7775613": { + "balance": "485000000000000000000" + }, + "c2ed5ffdd1add855a2692fe062b5d618742360d4": { + "balance": "1200000000000000000000" + }, + "454f0141d721d33cbdc41018bd01119aa4784818": { + "balance": "6000000000000000000000" + }, + "6c8687e3417710bb8a93559021a1469e6a86bc77": { + "balance": "11126675000000000000000" + }, + "ec5b198a00cfb55a97b5d53644cffa8a04d2ab45": { + "balance": "2000000000000000000000" + }, + "cd59f3dde77e09940befb6ee58031965cae7a336": { + "balance": "10000000000000000000000" + }, + "8eebec1a62c08b05a7d1d59180af9ff0d18e3f36": { + "balance": "500000000000000000000" + }, + "92a971a739799f8cb48ea8475d72b2d2474172e6": { + "balance": "3940000000000000000000" + }, + "bed4649df646e2819229032d8868556fe1e053d3": { + "balance": "18200000000000000000" + }, + "c50fe415a641b0856c4e75bf960515441afa358d": { + "balance": "2000000000000000000000" + }, + "91f516146cda20281719978060c6be4149067c88": { + "balance": "2000000000000000000000" + }, + "54a1370116fe22099e015d07cd2669dd291cc9d1": { + "balance": "20000000000000000000" + }, + "80c04efd310f440483c73f744b5b9e64599ce3ec": { + "balance": "1200000000000000000000" + }, + "a8914c95b560ec13f140577338c32bcbb77d3a7a": { + "balance": "180000000000000000000" + }, + "e3c812737ac606baf7522ad817428a36050e7a34": { + "balance": "1940000000000000000000" + }, + "6d1456fff0104ee844a3314737843338d24cd66c": { + "balance": "141840000000000000000" + }, + "0e6ece99111cad1961c748ed3df51edd69d2a3b1": { + "balance": "100000000000000000000000" + }, + "019d709579ff4bc09fdcdde431dc1447d2c260bc": { + "balance": "20000000000000000000" + }, + "ebff84bbef423071e604c361bba677f5593def4e": { + "balance": "10000000000000000000000" + }, + "e10c540088113fa6ec00b4b2c8824f8796e96ec4": { + "balance": "236400000000000000000000" + }, + "e03220c697bcd28f26ef0b74404a8beb06b2ba7b": { + "balance": "8000000000000000000000" + }, + "e69a6cdb3a8a7db8e1f30c8b84cd73bae02bc0f8": { + "balance": "16915503000000000000000" + }, + "e5fb31a5caee6a96de393bdbf89fbe65fe125bb3": { + "balance": "1000000000000000000000" + }, + "030fb3401f72bd3418b7d1da75bf8c519dd707dc": { + "balance": "3000000000000000000000" + }, + "1c751e7f24df9d94a637a5dedeffc58277b5db19": { + "balance": "3220000000000000000000" + }, + "bded7e07d0711e684de65ac8b2ab57c55c1a8645": { + "balance": "591000000000000000000" + }, + "dd7ff441ba6ffe3671f3c0dabbff1823a5043370": { + "balance": "2000000000000000000000" + }, + "b55474ba58f0f2f40e6cbabed4ea176e011fcad6": { + "balance": "1970000000000000000000" + }, + "b92427ad7578b4bfe20a9f63a7c5506d5ca12dc8": { + "balance": "2000000000000000000000" + }, + "91a8baaed012ea2e63803b593d0d0c2aab4c5b0a": { + "balance": "1500000000000000000000" + }, + "a97e072144499fe5ebbd354acc7e7efb58985d08": { + "balance": "2674000000000000000000" + }, + "75c2ffa1bef54919d2097f7a142d2e14f9b04a58": { + "balance": "2673866000000000000000" + }, + "53faf165be031ec18330d9fce5bd1281a1af08db": { + "balance": "140000000000000000000" + }, + "055ab658c6f0ed4f875ed6742e4bc7292d1abbf0": { + "balance": "83500000000000000000" + }, + "6f18ec767e320508195f1374500e3f2e125689ff": { + "balance": "1000000000000000000000" + }, + "90fc537b210658660a83baa9ac4a8402f65746a8": { + "balance": "1880000000000000000000" + }, + "34664d220fa7f37958024a3332d684bcc6d4c8bd": { + "balance": "10000000000000000000000" + }, + "15acb61568ec4af7ea2819386181b116a6c5ee70": { + "balance": "31000000000000000000000" + }, + "69d98f38a3ba3dbc01fa5c2c1427d862832f2f70": { + "balance": "100000000000000000000000" + }, + "ece1152682b7598fe2d1e21ec15533885435ac85": { + "balance": "4000000000000000000000" + }, + "f618d9b104411480a863e623fc55232d1a4f48aa": { + "balance": "265793000000000000000" + }, + "f9debaecb5f339beea4894e5204bfa340d067f25": { + "balance": "1665000000000000000000" + }, + "5e731b55ced452bb3f3fe871ddc3ed7ee6510a8f": { + "balance": "3000000000000000000000" + }, + "67df242d240dd4b8071d72f8fcf35bb3809d71e8": { + "balance": "4000000000000000000000" + }, + "c4cf930e5d116ab8d13b9f9a7ec4ab5003a6abde": { + "balance": "320000000000000000000" + }, + "01a25a5f5af0169b30864c3be4d7563ccd44f09e": { + "balance": "1430000000000000000000" + }, + "7f6efb6f4318876d2ee624e27595f44446f68e93": { + "balance": "1550000000000000000000" + }, + "82249fe70f61c6b16f19a324840fdc020231bb02": { + "balance": "9504014000000000000000" + }, + "205237c4be146fba99478f3a7dad17b09138da95": { + "balance": "2000000000000000000000" + }, + "fd1fb5a89a89a721b8797068fbc47f3e9d52e149": { + "balance": "236400000000000000000" + }, + "e47fbaed99fc209962604ebd20e240f74f4591f1": { + "balance": "2000000000000000000000" + }, + "a24c3ab62181e9a15b78c4621e4c7c588127be26": { + "balance": "162410000000000000000" + }, + "b6cd7432d5161be79768ad45de3e447a07982063": { + "balance": "4000000000000000000000" + }, + "32a70691255c9fc9791a4f75c8b81f388e0a2503": { + "balance": "985000000000000000000" + }, + "562f16d79abfcec3943e34b20f05f97bdfcda605": { + "balance": "4000000000000000000000" + }, + "dbc66965e426ff1ac87ad6eb78c1d95271158f9f": { + "balance": "18200000000000000000" + }, + "7e87863ec43a481df04d017762edcb5caa629b5a": { + "balance": "39400000000000000000" + }, + "587d6849b168f6c3332b7abae7eb6c42c37f48bf": { + "balance": "880000000000000000000" + }, + "721158be5762b119cc9b2035e88ee4ee78f29b82": { + "balance": "10000000000000000000000" + }, + "84b91e2e2902d05e2b591b41083bd7beb2d52c74": { + "balance": "9848621000000000000000" + }, + "632cecb10cfcf38ec986b43b8770adece9200221": { + "balance": "20000000000000000000" + }, + "c34e3ba1322ed0571183a24f94204ee49c186641": { + "balance": "58200000000000000000" + }, + "ae78bb849139a6ba38ae92a09a69601cc4cb62d1": { + "balance": "500000000000000000000" + }, + "5ce0b6862cce9162e87e0849e387cb5df4f9118c": { + "balance": "1670000000000000000000" + }, + "f52c0a7877345fe0c233bb0f04fd6ab18b6f14ba": { + "balance": "400440000000000000000000" + }, + "e016dc138e25815b90be3fe9eee8ffb2e105624f": { + "balance": "500000000000000000000" + }, + "5789d01db12c816ac268e9af19dc0dd6d99f15df": { + "balance": "200000000000000000000" + }, + "d8b77db9b81bbe90427b62f702b201ffc29ff618": { + "balance": "930200000000000000000" + }, + "5dff811dad819ece3ba602c383fb5dc64c0a3a48": { + "balance": "186000000000000000000" + }, + "af3087e62e04bf900d5a54dc3e946274da92423b": { + "balance": "20000000000000000000" + }, + "8c1023fde1574db8bb54f1739670157ca47da652": { + "balance": "6969382000000000000000" + }, + "bb3b010b18e6e2be1135871026b7ba15ea0fde24": { + "balance": "10044000000000000000000" + }, + "cabdaf354f4720a466a764a528d60e3a482a393c": { + "balance": "1000000000000000000000" + }, + "94bbc67d13f89ebca594be94bc5170920c30d9f3": { + "balance": "80200000000000000000" + }, + "3275496fd4dd8931fd69fb0a0b04c4d1ff879ef5": { + "balance": "446000000000000000000" + }, + "281250a29121270a4ee5d78d24feafe82c70ba3a": { + "balance": "1000000000000000000000" + }, + "590ccb5911cf78f6f622f535c474375f4a12cfcf": { + "balance": "20000000000000000000000" + }, + "542e8096bafb88162606002e8c8a3ed19814aeac": { + "balance": "2000000000000000000000" + }, + "a65426cff378ed23253513b19f496de45fa7e18f": { + "balance": "7200000000000000000000" + }, + "4aa693b122f314482a47b11cc77c68a497876162": { + "balance": "1970000000000000000000" + }, + "d9b783d31d32adc50fa3eacaa15d92b568eaeb47": { + "balance": "34010000000000000000000" + }, + "068e655766b944fb263619658740b850c94afa31": { + "balance": "35200000000000000000" + }, + "9e23c5e4b782b00a5fadf1aead87dacf5b0367a1": { + "balance": "20000000000000000000" + }, + "bf17f397f8f46f1bae45d187148c06eeb959fa4d": { + "balance": "1001440000000000000000" + }, + "8578e10212ca14ff0732a8241e37467db85632a9": { + "balance": "6000000000000000000000" + }, + "2cb5495a505336c2465410d1cae095b8e1ba5cdd": { + "balance": "20000000000000000000000" + }, + "695b0f5242753701b264a67071a2dc880836b8db": { + "balance": "16400000000000000000" + }, + "f2edde37f9a8c39ddea24d79f4015757d06bf786": { + "balance": "100000000000000000000000" + }, + "480f31b989311e4124c6a7465f5a44094d36f9d0": { + "balance": "1025000000000000000000" + }, + "cf157612764e0fd696c8cb5fba85df4c0ddc3cb0": { + "balance": "30000000000000000000000" + }, + "27521deb3b6ef1416ea4c781a2e5d7b36ee81c61": { + "balance": "2000000000000000000000" + }, + "6efd90b535e00bbd889fda7e9c3184f879a151db": { + "balance": "10100000000000000000000" + }, + "b635a4bc71fb28fdd5d2c322983a56c284426e69": { + "balance": "170000000000000000000" + }, + "a17c9e4323069518189d5207a0728dcb92306a3f": { + "balance": "1000000000000000000000" + }, + "6af940f63ec9b8d876272aca96fef65cdacecdea": { + "balance": "3000000000000000000000" + }, + "469358709332c82b887e20bcddd0220f8edba7d0": { + "balance": "17300000000000000000000" + }, + "a257ad594bd88328a7d90fc0a907df95eecae316": { + "balance": "520510000000000000000" + }, + "6f051666cb4f7bd2b1907221b829b555d7a3db74": { + "balance": "1760000000000000000000" + }, + "46bfc5b207eb2013e2e60f775fecd71810c5990c": { + "balance": "1550000000000000000000" + }, + "62b9081e7710345e38e02e16449ace1b85bcfc4e": { + "balance": "910000000000000000000" + }, + "bc73f7b1ca3b773b34249ada2e2c8a9274cc17c2": { + "balance": "2000000000000000000000" + }, + "1adaf4abfa867db17f99af6abebf707a3cf55df6": { + "balance": "6000000000000000000000" + }, + "8d629c20608135491b5013f1002586a0383130e5": { + "balance": "1370000000000000000000" + }, + "38e46de4453c38e941e7930f43304f94bb7b2be8": { + "balance": "2005500000000000000000" + }, + "3485f621256433b98a4200dad857efe55937ec98": { + "balance": "2000000000000000000000" + }, + "775c10c93e0db7205b2643458233c64fc33fd75b": { + "balance": "2000000000000000000000" + }, + "7c4401ae98f12ef6de39ae24cf9fc51f80eba16b": { + "balance": "200000000000000000000" + }, + "17b807afa3ddd647e723542e7b52fee39527f306": { + "balance": "400010000000000000000" + }, + "0ab366e6e7d5abbce6b44a438d69a1cabb90d133": { + "balance": "320000000000000000000" + }, + "194ffe78bbf5d20dd18a1f01da552e00b7b11db1": { + "balance": "7000000000000000000000" + }, + "c45d47ab0c9aa98a5bd62d16223ea2471b121ca4": { + "balance": "593640000000000000000" + }, + "2487c3c4be86a2723d917c06b458550170c3edba": { + "balance": "1000000000000000000000" + }, + "ec4d08aa2e47496dca87225de33f2b40a8a5b36f": { + "balance": "158000000000000000000" + }, + "aaa8defe11e3613f11067fb983625a08995a8dfc": { + "balance": "200000000000000000000" + }, + "50bb67c8b8d8bd0f63c4760904f2d333f400aace": { + "balance": "2000000000000000000000" + }, + "1227e10a4dbf9caca31b1780239f557615fc35c1": { + "balance": "200000000000000000000" + }, + "44a8989e32308121f72466978db395d1f76c3a4b": { + "balance": "7236900000000000000000" + }, + "59569a21d28fba4bda37753405a081f2063da150": { + "balance": "4000000000000000000000" + }, + "c3756bcdcc7eec74ed896adfc335275930266e08": { + "balance": "6000000000000000000000" + }, + "ce3a61f0461b00935e85fa1ead82c45e5a64d488": { + "balance": "500000000000000000000" + }, + "012f396a2b5eb83559bac515e5210df2c8c362ba": { + "balance": "200000000000000000000" + }, + "93bc7d9a4abd44c8bbb8fe8ba804c61ad8d6576c": { + "balance": "3999922000000000000000" + }, + "e20bb9f3966419e14bbbaaaa6789e92496cfa479": { + "balance": "3465116000000000000000" + }, + "9eef442d291a447d74c5d253c49ef324eac1d8f0": { + "balance": "3420000000000000000000" + }, + "db6c2a73dac7424ab0d031b66761122566c01043": { + "balance": "3000000000000000000000" + }, + "704d243c2978e46c2c86adbecd246e3b295ff633": { + "balance": "2012000000000000000000" + }, + "d2ff672016f63b2f85398f4a6fedbb60a50d3cce": { + "balance": "342500000000000000000" + }, + "d2051cb3cb6704f0548cc890ab0a19db3415b42a": { + "balance": "334000000000000000000" + }, + "1111e5dbf45e6f906d62866f1708101788ddd571": { + "balance": "1300200000000000000000" + }, + "6a686bf220b593deb9b7324615fb9144ded3f39d": { + "balance": "1460000000000000000000" + }, + "911feea61fe0ed50c5b9e5a0d66071399d28bdc6": { + "balance": "60000000000000000000" + }, + "3881defae1c07b3ce04c78abe26b0cdc8d73f010": { + "balance": "200000000000000000000" + }, + "ea94f32808a2ef8a9bf0861d1d2404f7b7be258a": { + "balance": "20000000000000000000" + }, + "2eef6b1417d7b10ecfc19b123a8a89e73e526c58": { + "balance": "600000000000000000000" + }, + "dd8af9e7765223f4446f44d3d509819a3d3db411": { + "balance": "10000000000000000000000" + }, + "2efc4c647dac6acac35577ad221758fef6616faa": { + "balance": "8000000000000000000000" + }, + "1547b9bf7ad66274f3413827231ba405ee8c88c1": { + "balance": "17300000000000000000000" + }, + "250a40cef3202397f240469548beb5626af4f23c": { + "balance": "92500000000000000000" + }, + "c175be3194e669422d15fee81eb9f2c56c67d9c9": { + "balance": "200000000000000000000" + }, + "c9e02608066828848aeb28c73672a12925181f4d": { + "balance": "500038000000000000000" + }, + "8229ceb9f0d70839498d44e6abed93c5ca059f5d": { + "balance": "123300000000000000000000" + }, + "39f198331e4b21c1b760a3155f4ab2fe00a74619": { + "balance": "2000000000000000000000" + }, + "3ffcb870d4023d255d5167d8a507cefc366b68ba": { + "balance": "649400000000000000000" + }, + "00dae27b350bae20c5652124af5d8b5cba001ec1": { + "balance": "40000000000000000000" + }, + "fc5500825105cf712a318a5e9c3bfc69c89d0c12": { + "balance": "4000000000000000000000" + }, + "1ed8bb3f06778b039e9961d81cb71a73e6787c8e": { + "balance": "2000000000000000000000" + }, + "530ffac3bc3412e2ec0ea47b7981c770f5bb2f35": { + "balance": "133700000000000000000" + }, + "5f344b01c7191a32d0762ac188f0ec2dd460911d": { + "balance": "1000000000000000000000" + }, + "5cfa9877f719c79d9e494a08d1e41cf103fc87c9": { + "balance": "200000000000000000000" + }, + "f6eaac7032d492ef17fd6095afc11d634f56b382": { + "balance": "500038000000000000000" + }, + "962c0dec8a3d464bf39b1215eafd26480ae490cd": { + "balance": "2001680000000000000000" + }, + "262a8bfd7d9dc5dd3ad78161b6bb560824373655": { + "balance": "1169820000000000000000" + }, + "9b4824ff9fb2abda554dee4fb8cf549165570631": { + "balance": "20000000000000000000" + }, + "bb3b9005f46fd2ca3b30162599928c77d9f6b601": { + "balance": "8000014000000000000000" + }, + "f7dc251196fbcbb77c947d7c1946b0ff65021cea": { + "balance": "1000000000000000000000" + }, + "af1148ef6c8e103d7530efc91679c9ac27000993": { + "balance": "200000000000000000000" + }, + "0bb2650ea01aca755bc0c017b64b1ab5a66d82e3": { + "balance": "1337000000000000000000" + }, + "0cda12bf72d461bbc479eb92e6491d057e6b5ad1": { + "balance": "10000000000000000000000" + }, + "4e5b77f9066159e615933f2dda7477fa4e47d648": { + "balance": "200000000000000000000" + }, + "391161b0e43c302066e8a68d2ce7e199ecdb1d57": { + "balance": "4000000000000000000000" + }, + "c7e330cd0c890ac99fe771fcc7e7b009b7413d8a": { + "balance": "4000000000000000000000" + }, + "d4b38a5fdb63e01714e9801db47bc990bd509183": { + "balance": "5999000000000000000000" + }, + "bc0f98598f88056a26339620923b8f1eb074a9fd": { + "balance": "200000000000000000000" + }, + "dbc59ed88973dead310884223af49763c05030f1": { + "balance": "20000000000000000000" + }, + "0f85e42b1df321a4b3e835b50c00b06173968436": { + "balance": "985000000000000000000" + }, + "d7788ef28658aa06cc53e1f3f0de58e5c371be78": { + "balance": "6685000000000000000000" + }, + "ecd276af64c79d1bd9a92b86b5e88d9a95eb88f8": { + "balance": "20000000000000000000" + }, + "81c9e1aee2d3365d53bcfdcd96c7c538b0fd7eec": { + "balance": "1820000000000000000000" + }, + "5d39ef9ea6bdfff15d11fe91f561a6f9e31f5da5": { + "balance": "2000000000000000000000" + }, + "99878f9d6e0a7ed9aec78297b73879a80195afe0": { + "balance": "3980000000000000000000" + }, + "7294c918b1aefb4d25927ef9d799e71f93a28e85": { + "balance": "197000000000000000000" + }, + "a33f70da7275ef057104dfa7db64f472e9f5d553": { + "balance": "80220000000000000000" + }, + "255bdd6474cc8262f26a22c38f45940e1ceea69b": { + "balance": "4000000000000000000000" + }, + "52f8b509fee1a874ab6f9d87367fbeaf15ac137f": { + "balance": "1000000000000000000000" + }, + "e2728a3e8c2aaac983d05dc6877374a8f446eee9": { + "balance": "197600000000000000000" + }, + "ed0206cb23315128f8caff26f6a30b985467d022": { + "balance": "40000000000000000000000" + }, + "87cf36ad03c9eae9053abb5242de9117bb0f2a0b": { + "balance": "500000000000000000000" + }, + "a929c8bd71db0c308dac06080a1747f21b1465aa": { + "balance": "500000000000000000000" + }, + "9da6e075989c7419094cc9f6d2e49393bb199688": { + "balance": "11100000000000000000000" + }, + "763eece0b08ac89e32bfa4bece769514d8cb5b85": { + "balance": "4000000000000000000000" + }, + "5df3277ca85936c7a0d2c0795605ad25095e7159": { + "balance": "2000000000000000000000" + }, + "7163758cbb6c4c525e0414a40a049dcccce919bb": { + "balance": "200000000000000000000" + }, + "14cdddbc8b09e6675a9e9e05091cb92238c39e1e": { + "balance": "5100000000000000000000" + }, + "b3b7f493b44a2c8d80ec78b1cdc75a652b73b06c": { + "balance": "2000000000000000000000" + }, + "c69b855539ce1b04714728eec25a37f367951de7": { + "balance": "2000000000000000000000" + }, + "052eab1f61b6d45517283f41d1441824878749d0": { + "balance": "4000000000000000000000" + }, + "515651d6db4faf9ecd103a921bbbbe6ae970fdd4": { + "balance": "20000000000000000000000" + }, + "c7aff91929797489555a2ff1d14d5c695a108355": { + "balance": "1000000000000000000000" + }, + "d7ca7fdcfebe4588eff5421d1522b61328df7bf3": { + "balance": "4001070000000000000000" + }, + "eefba12dfc996742db790464ca7d273be6e81b3e": { + "balance": "1000000000000000000000" + }, + "ebaa216de9cc5a43031707d36fe6d5bedc05bdf0": { + "balance": "1969606000000000000000" + }, + "559194304f14b1b93afe444f0624e053c23a0009": { + "balance": "400000000000000000000" + }, + "4ecc19948dd9cd87b4c7201ab48e758f28e7cc76": { + "balance": "500200000000000000000" + }, + "f224eb900b37b4490eee6a0b6420d85c947d8733": { + "balance": "970000000000000000000" + }, + "97810bafc37e84306332aacb35e92ad911d23d24": { + "balance": "1000000000000000000000" + }, + "bd67d2e2f82da8861341bc96a2c0791fddf39e40": { + "balance": "200014000000000000000" + }, + "1b6495891240e64e594493c2662171db5e30ce13": { + "balance": "172400000000000000000" + }, + "00bdd4013aa31c04616c2bc9785f2788f915679b": { + "balance": "13400000000000000000" + }, + "c6ae287ddbe1149ba16ddcca4fe06aa2eaa988a9": { + "balance": "400000000000000000000" + }, + "b7c9f12b038e73436d17e1c12ffe1aeccdb3f58c": { + "balance": "540000000000000000000" + }, + "c1b500011cfba95d7cd636e95e6cbf6167464b25": { + "balance": "200000000000000000000" + }, + "39e0db4d60568c800b8c5500026c2594f5768960": { + "balance": "1000000000000000000000" + }, + "40e3c283f7e24de0410c121bee60a5607f3e29a6": { + "balance": "1000000000000000000000" + }, + "2f7d3290851be5c6b4b43f7d4574329f61a792c3": { + "balance": "100000000000000000000" + }, + "c33ece935a8f4ef938ea7e1bac87cb925d8490ca": { + "balance": "33122000000000000000000" + }, + "57bddf078834009c89d88e6282759dc45335b470": { + "balance": "2148000000000000000000" + }, + "50ad187ab21167c2b6e78be0153f44504a07945e": { + "balance": "100076000000000000000" + }, + "5bd24aac3612b20c609eb46779bf95698407c57c": { + "balance": "1970000000000000000000" + }, + "16526c9edf943efa4f6d0f0bae81e18b31c54079": { + "balance": "985000000000000000000" + }, + "4c6a9dc2cab10abb2e7c137006f08fecb5b779e1": { + "balance": "499000000000000000000" + }, + "02c9f7940a7b8b7a410bf83dc9c22333d4275dd3": { + "balance": "5000000000000000000000" + }, + "b9fd3833e88e7cf1fa9879bdf55af4b99cd5ce3f": { + "balance": "1000000000000000000000" + }, + "7e268f131ddf687cc325c412f78ba961205e9112": { + "balance": "16000600000000000000000" + }, + "180478a655d78d0f3b0c4f202b61485bc4002fd5": { + "balance": "2000000000000000000000" + }, + "ed4014538cee664a2fbcb6dc669f7ab16d0ba57c": { + "balance": "200000000000000000000" + }, + "f63a579bc3eac2a9490410128dbcebe6d9de8243": { + "balance": "1490000000000000000000" + }, + "5d822d9b3ef4b502627407da272f67814a6becd4": { + "balance": "20000000000000000000" + }, + "eb52ab10553492329c1c54833ae610f398a65b9d": { + "balance": "152000000000000000000" + }, + "63340a57716bfa63eb6cd133721202575bf796f0": { + "balance": "209967000000000000000" + }, + "933bf33f8299702b3a902642c33e0bfaea5c1ca3": { + "balance": "15200000000000000000" + }, + "25bc49ef288cd165e525c661a812cf84fbec8f33": { + "balance": "338464000000000000000" + }, + "c8231ba5a411a13e222b29bfc1083f763158f226": { + "balance": "1000090000000000000000" + }, + "6c15ec3520bf8ebbc820bd0ff19778375494cf9d": { + "balance": "2005500000000000000000" + }, + "aaced8a9563b1bc311dbdffc1ae7f57519c4440c": { + "balance": "2000000000000000000000" + }, + "d90f3009db437e4e11c780bec8896f738d65ef0d": { + "balance": "4000000000000000000000" + }, + "5603241eb8f08f721e348c9d9ad92f48e390aa24": { + "balance": "200000000000000000000" + }, + "53cec6c88092f756efe56f7db11228a2db45b122": { + "balance": "4000000000000000000000" + }, + "194cebb4929882bf3b4bf9864c2b1b0f62c283f9": { + "balance": "571300000000000000000" + }, + "4be8628a8154874e048d80c142181022b180bcc1": { + "balance": "60000000000000000000" + }, + "5fd973af366aa5157c54659bcfb27cbfa5ac15d6": { + "balance": "4000000000000000000000" + }, + "303139bc596403d5d3931f774c66c4ba467454db": { + "balance": "1699830000000000000000" + }, + "87584a3f613bd4fac74c1e780b86d6caeb890cb2": { + "balance": "1700000000000000000000" + }, + "77f4e3bdf056883cc87280dbe640a18a0d02a207": { + "balance": "193806000000000000000" + }, + "4de3fe34a6fbf634c051997f47cc7f48791f5824": { + "balance": "1999000000000000000000" + }, + "c45a1ca1036b95004187cdac44a36e33a94ab5c3": { + "balance": "254800000000000000000" + }, + "65d33eb39cda6453b19e61c1fe4db93170ef9d34": { + "balance": "13370000000000000000" + }, + "f65616be9c8b797e7415227c9138faa0891742d7": { + "balance": "790000000000000000000" + }, + "e17812f66c5e65941e186c46922b6e7b2f0eeb46": { + "balance": "1820000000000000000000" + }, + "d47f50df89a1cff96513bef1b2ae3a2971accf2c": { + "balance": "840000000000000000000" + }, + "8ed1528b447ed4297902f639c514d0944a88f8c8": { + "balance": "198800000000000000000" + }, + "a4fb14409a67b45688a8593e5cc2cf596ced6f11": { + "balance": "1790000000000000000000" + }, + "855d9aef2c39c6230d09c99ef6494989abe68785": { + "balance": "161000000000000000000" + }, + "778c43d11afe3b586ff374192d96a7f23d2b9b7f": { + "balance": "2577139000000000000000" + }, + "e3ece1f632711d13bfffa1f8f6840871ee58fb27": { + "balance": "4000000000000000000000" + }, + "beb3358c50cf9f75ffc76d443c2c7f55075a0589": { + "balance": "2674000000000000000000" + }, + "f156dc0b2a981e5b55d3f2f03b8134e331dbadb7": { + "balance": "100000000000000000000" + }, + "eb9cc9fe0869d2dab52cc7aae8fd57adb35f9feb": { + "balance": "1966000000000000000000" + }, + "2467c6a5c696ede9a1e542bf1ad06bcc4b06aca0": { + "balance": "18500000000000000000" + }, + "ec75b4a47513120ba5f86039814f1998e3817ac3": { + "balance": "178756000000000000000" + }, + "9c3d0692ceeef80aa4965ceed262ffc7f069f2dc": { + "balance": "200000000000000000000" + }, + "e05029aceb0778675bef1741ab2cd2931ef7c84b": { + "balance": "5000057000000000000000" + }, + "41d3b731a326e76858baa5f4bd89b57b36932343": { + "balance": "394000000000000000000" + }, + "c346cb1fbce2ab285d8e5401f42dd7234d37e86d": { + "balance": "83500000000000000000" + }, + "45f4fc60f08eaca10598f0336329801e3c92cb46": { + "balance": "200000000000000000000" + }, + "f04a6a379708b9428d722aa2b06b77e88935cf89": { + "balance": "300000000000000000000" + }, + "232832cd5977e00a4c30d0163f2e24f088a6cb09": { + "balance": "3000000000000000000000" + }, + "d2ac0d3a58605e1d0f0eb3de25b2cad129ed6058": { + "balance": "4000000000000000000000" + }, + "a356551bb77d4f45a6d7e09f0a089e79cca249cb": { + "balance": "340000000000000000000" + }, + "b50c9f5789ae44e2dce017c714caf00c830084c2": { + "balance": "394000000000000000000" + }, + "21fd6c5d97f9c600b76821ddd4e776350fce2be0": { + "balance": "1999946000000000000000" + }, + "f0d5c31ccb6cbe30c7c9ea19f268d159851f8c9c": { + "balance": "16700000000000000000000" + }, + "ab7091932e4bc39dbb552380ca934fd7166d1e6e": { + "balance": "3340000000000000000000" + }, + "acd8dd91f714764c45677c63d852e56eb9eece2e": { + "balance": "2000000000000000000000" + }, + "57d032a43d164e71aa2ef3ffd8491b0a4ef1ea5b": { + "balance": "2000000000000000000000" + }, + "5af46a25ac09cb73616b53b14fb42ff0a51cddb2": { + "balance": "4000000000000000000000" + }, + "1ea6bf2f15ae9c1dbc64daa7f8ea4d0d81aad3eb": { + "balance": "4200000000000000000000" + }, + "03337012ae1d7ff3ee7f697c403e7780188bf0ef": { + "balance": "200000000000000000000" + }, + "32eb64be1b5dede408c6bdefbe6e405c16b7ed02": { + "balance": "1970000000000000000000" + }, + "22e2488e2da26a49ae84c01bd54b21f2947891c6": { + "balance": "1730000000000000000000" + }, + "be98a77fd41097b34f59d7589baad021659ff712": { + "balance": "900000000000000000000" + }, + "dda4ed2a58a8dd20a73275347b580d71b95bf99a": { + "balance": "399000000000000000000" + }, + "671110d96aaff11523cc546bf9940eedffb2faf7": { + "balance": "4000000000000000000000" + }, + "5d71799c8df3bccb7ee446df50b8312bc4eb71c5": { + "balance": "200000000000000000000" + }, + "ae179a460db66326743d24e67523a57b246daf7f": { + "balance": "4722920000000000000000" + }, + "198bfcf1b07ae308fa2c02069ac9dafe7135fb47": { + "balance": "20000000000000000000" + }, + "4662a1765ee921842ddc88898d1dc8627597bd7e": { + "balance": "10000000000000000000000" + }, + "783eec8aa5dac77b2e6623ed5198a431abbaee07": { + "balance": "440000000000000000000" + }, + "ed6643c0e8884b2d3211853785a08bf8f33ed29f": { + "balance": "1337000000000000000000" + }, + "5cc7d3066d45d27621f78bb4b339473e442a860f": { + "balance": "9999908000000000000000" + }, + "94ef8be45077c7d4c5652740de946a62624f713f": { + "balance": "100085000000000000000" + }, + "2f853817afd3b8f3b86e9f60ee77b5d97773c0e3": { + "balance": "1451450000000000000000" + }, + "3e0b8ed86ed669e12723af7572fbacfe829b1e16": { + "balance": "1499800000000000000000" + }, + "fa68e0cb3edf51f0a6f211c9b2cb5e073c9bffe6": { + "balance": "291200000000000000000" + }, + "2c234f505ca8dcc77d9b7e01d257c318cc19396d": { + "balance": "100000000000000000000" + }, + "f3f24fc29e20403fc0e8f5ebbb553426f78270a2": { + "balance": "100000000000000000000" + }, + "91546b79ecf69f936b5a561508b0d7e50cc5992f": { + "balance": "267400000000000000000" + }, + "435443b81dfdb9bd8c6787bc2518e2d47e57c15f": { + "balance": "5968500000000000000000" + }, + "3a06e3bb1edcfd0c44c3074de0bb606b049894a2": { + "balance": "10000000000000000000000" + }, + "3a3108c1e680a33b336c21131334409d97e5adec": { + "balance": "20000000000000000000" + }, + "2caf6bf4ec7d5a19c5e0897a5eeb011dcece4210": { + "balance": "139740000000000000000" + }, + "f44f8551ace933720712c5c491cdb6f2f951736c": { + "balance": "4000000000000000000000" + }, + "5bc1f95507b1018642e45cd9c0e22733b9b1a326": { + "balance": "100000000000000000000" + }, + "94ca56de777fd453177f5e0694c478e66aff8a84": { + "balance": "500000000000000000000" + }, + "afdd1b786162b8317e20f0e979f4b2ce486d765d": { + "balance": "20000000000000000000" + }, + "3a805fa0f7387f73055b7858ca8519edd93d634f": { + "balance": "1850000000000000000000" + }, + "8b36224c7356e751f0c066c35e3b44860364bfc2": { + "balance": "998987000000000000000" + }, + "cfecbea07c27002f65fe534bb8842d0925c78402": { + "balance": "4000000000000000000000" + }, + "482982ac1f1c6d1721feecd9b9c96cd949805055": { + "balance": "10000000000000000000000" + }, + "af880fc7567d5595cacce15c3fc14c8742c26c9e": { + "balance": "133700000000000000000" + }, + "acc1c78786ab4d2b3b277135b5ba123e0400486b": { + "balance": "78800000000000000000" + }, + "41f27e744bd29de2b0598f02a0bb9f98e681eaa4": { + "balance": "7760000000000000000000" + }, + "09a025316f967fa8b9a1d60700063f5a68001caa": { + "balance": "38200000000000000000" + }, + "391f20176d12360d724d51470a90703675594a4d": { + "balance": "1600000000000000000000" + }, + "fe4d8403216fd571572bf1bdb01d00578978d688": { + "balance": "9850000000000000000000" + }, + "900f0b8e35b668f81ef252b13855aa5007d012e7": { + "balance": "425000000000000000000" + }, + "c35b95a2a3737cb8f0f596b34524872bd30da234": { + "balance": "7540000000000000000000" + }, + "412a68f6c645559cc977fc4964047a201d1bb0e2": { + "balance": "50000000000000000000000" + }, + "d3dad1b6d08d4581ccae65a8732db6ac69f0c69e": { + "balance": "6000000000000000000000" + }, + "35855ec641ab9e081ed0c2a6dcd81354d0244a87": { + "balance": "1201897000000000000000" + }, + "88015d7203c5e0224aeda286ed12f1a51b789333": { + "balance": "4999711000000000000000" + }, + "251c12722c6879227992a304eb3576cd18434ea5": { + "balance": "2000000000000000000000" + }, + "1f6f0030349752061c96072bc3d6eb3549208d6b": { + "balance": "23891000000000000000" + }, + "86153063a1ae7f02f1a88136d4d69c7c5e3e4327": { + "balance": "1000000000000000000000" + }, + "78355df0a230f83d032c703154414de3eedab557": { + "balance": "2000000000000000000000" + }, + "c5b56cd234267c28e89c6f6b2266b086a12f970c": { + "balance": "4000000000000000000000" + }, + "3e3cd3bec06591d6346f254b621eb41c89008d31": { + "balance": "993800000000000000000" + }, + "378ea1dc8edc19bae82638029ea8752ce98bcfcd": { + "balance": "2000000000000000000000" + }, + "67632046dcb25a54936928a96f423f3320cbed92": { + "balance": "2000000000000000000000" + }, + "ddbee6f094eae63420b003fb4757142aea6cd0fd": { + "balance": "2000000000000000000000" + }, + "b555d00f9190cc3677aef314acd73fdc39399259": { + "balance": "2000000000000000000000" + }, + "e230fe1bff03186d0219f15d4c481b7d59be286a": { + "balance": "36710000000000000000" + }, + "3e4e9265223c9738324cf20bd06006d0073edb8c": { + "balance": "133700000000000000000" + }, + "7450ff7f99eaa9116275deac68e428df5bbcd8b9": { + "balance": "2000000000000000000000" + }, + "021f69043de88c4917ca10f1842897eec0589c7c": { + "balance": "1978760000000000000000" + }, + "351787843505f8e4eff46566cce6a59f4d1c5fe7": { + "balance": "9250000000000000000000" + }, + "ebd37b256563e30c6f9289a8e2702f0852880833": { + "balance": "1999944000000000000000" + }, + "ed41e1a28f5caa843880ef4e8b08bd6c33141edf": { + "balance": "790174000000000000000" + }, + "8d238e036596987643d73173c37b0ad06055b96c": { + "balance": "2089724000000000000000" + }, + "478e524ef2a381d70c82588a93ca7a5fa9d51cbf": { + "balance": "254908000000000000000000" + }, + "4419ac618d5dea7cdc6077206fb07dbdd71c1702": { + "balance": "4000000000000000000000" + }, + "ca25ff34934c1942e22a4e7bd56f14021a1af088": { + "balance": "197000000000000000000" + }, + "5552f4b3ed3e1da79a2f78bb13e8ae5a68a9df3b": { + "balance": "1000000000000000000000" + }, + "4354221e62dc09e6406436163a185ef06d114a81": { + "balance": "2000000000000000000000" + }, + "ca0432cb157b5179f02ebba5c9d1b54fec4d88ca": { + "balance": "1000000000000000000000" + }, + "8a780ab87a9145fe10ed60fa476a740af4cab1d2": { + "balance": "334000000000000000000" + }, + "4ff676e27f681a982d8fd9d20e648b3dce05e945": { + "balance": "2800000000000000000000" + }, + "6c63fc85029a2654d79b2bea4de349e4524577c5": { + "balance": "660000000000000000000" + }, + "1ac089c3bc4d82f06a20051a9d732dc0e734cb61": { + "balance": "700300000000000000000" + }, + "4bf4479799ef82eea20943374f56a1bf54001e5e": { + "balance": "3940000000000000000000" + }, + "08411652c871713609af0062a8a1281bf1bbcfd9": { + "balance": "1400000000000000000000" + }, + "e1bfaa5a45c504428923c4a61192a55b1400b45d": { + "balance": "2674000000000000000000" + }, + "5e1fbd4e58e2312b3c78d7aaaafa10bf9c3189e3": { + "balance": "40000000000000000000000" + }, + "bb27c6a7f91075475ab229619040f804c8ec7a6a": { + "balance": "10000000000000000000000" + }, + "5d8d31faa864e22159cd6f5175ccecc53fa54d72": { + "balance": "26980000000000000000000" + }, + "2dd8eeef87194abc2ce7585da1e35b7cea780cb7": { + "balance": "999999000000000000000" + }, + "0e1801e70b6262861b1134ccbc391f568afc92f7": { + "balance": "4000000000000000000000" + }, + "61042b80fd6095d1b87be2f00f109fabafd157a6": { + "balance": "100000000000000000000" + }, + "fb5518714cefc36d04865de5915ef0ff47dfe743": { + "balance": "2000000000000000000000" + }, + "b5add1e7809f7d03069bfe883b0a932210be8712": { + "balance": "1000000000000000000000" + }, + "c2e2d498f70dcd0859e50b023a710a6d4b2133bd": { + "balance": "1037130000000000000000" + }, + "4ad047fae67ef162fe68fedbc27d3b65caf10c36": { + "balance": "1970000000000000000000" + }, + "69cb3e2153998d86e5ee20c1fcd1a6baeeb2863f": { + "balance": "4000000000000000000000" + }, + "683633010a88686bea5a98ea53e87997cbf73e69": { + "balance": "99960000000000000000" + }, + "6cb11ecb32d3ce829601310636f5a10cf7cf9b5f": { + "balance": "20068370000000000000000" + }, + "a613456996408af1c2e93e177788ab55895e2b32": { + "balance": "6366000000000000000000" + }, + "8308ed0af7f8a3c1751fafc877b5a42af7d35882": { + "balance": "1000000000000000000000" + }, + "e5edf8123f2403ce1a0299becf7aac744d075f23": { + "balance": "200200000000000000000" + }, + "05665155cc49cbf6aabdd5ae92cbfaad82b8c0c1": { + "balance": "400000000000000000000" + }, + "00b277b099a8e866ca0ec65bcb87284fd142a582": { + "balance": "1970000000000000000000" + }, + "4b9e068fc4680976e61504912985fd5ce94bab0d": { + "balance": "668500000000000000000" + }, + "12134e7f6b017bf48e855a399ca58e2e892fa5c8": { + "balance": "1000000000000000000000" + }, + "dffcea5421ec15900c6ecfc777184e140e209e24": { + "balance": "19980000000000000000" + }, + "2132c0516a2e17174ac547c43b7b0020d1eb4c59": { + "balance": "985000000000000000000" + }, + "d39a5da460392b940b3c69bc03757bf3f2e82489": { + "balance": "7019250000000000000000" + }, + "66c8331efe7198e98b2d32b938688e3241d0e24f": { + "balance": "9620000000000000000000" + }, + "bdca2a0ff34588af625fa8e28fc3015ab5a3aa00": { + "balance": "2339800000000000000000" + }, + "7dfc342dffcf45dfee74f84c0995397bd1a63172": { + "balance": "250000000000000000000" + }, + "a202547242806f6e70e74058d6e5292defc8c8d4": { + "balance": "2002000000000000000000" + }, + "3bbc13d04accc0707aebdcaef087d0b87e0b5ee3": { + "balance": "3520000000000000000000" + }, + "be5cba8d37427986e8ca2600e858bb03c359520f": { + "balance": "2955000000000000000000" + }, + "4174fa1bc12a3b7183cbabb77a0b59557ba5f1db": { + "balance": "2000000000000000000000" + }, + "9eb3a7cb5e6726427a3a361cfa8d6164dbd0ba16": { + "balance": "804000000000000000000" + }, + "25e661c939863acc044e6f17b5698cce379ec3cc": { + "balance": "1370000000000000000000" + }, + "24bd5904059091d2f9e12d6a26a010ca22ab14e8": { + "balance": "1880000000000000000000" + }, + "c96626728aaa4c4fb3d31c26df3af310081710d1": { + "balance": "3340000000000000000000" + }, + "0fb5d2c673bfb1ddca141b9894fd6d3f05da6720": { + "balance": "100000000000000000000" + }, + "2de31afd189a13a76ff6fe73ead9f74bb5c4a629": { + "balance": "6000000000000000000000" + }, + "bd09126c891c4a83068059fe0e15796c4661a9f4": { + "balance": "800000000000000000000" + }, + "496f5843f6d24cd98d255e4c23d1e1f023227545": { + "balance": "1754143000000000000000" + }, + "540cf23dd95c4d558a279d778d2b3735b3164191": { + "balance": "10000000000000000000000" + }, + "9b5ec18e8313887df461d2902e81e67a8f113bb1": { + "balance": "100000000000000000000" + }, + "b7a7f77c348f92a9f1100c6bd829a8ac6d7fcf91": { + "balance": "1820000000000000000000" + }, + "2590126870e0bde8a663ab040a72a5573d8d41c2": { + "balance": "5000000000000000000000" + }, + "090fa9367bda57d0d3253a0a8ff76ce0b8e19a73": { + "balance": "1000000000000000000000" + }, + "2a5ba9e34cd58da54c9a2712663a3be274c8e47b": { + "balance": "197000000000000000000" + }, + "3e8641d43c42003f0a33c929f711079deb2b9e46": { + "balance": "500000000000000000000" + }, + "f4d97664cc4eec9edbe7fa09f4750a663b507d79": { + "balance": "4000000000000000000000" + }, + "b1540e94cff3465cc3d187e7c8e3bdaf984659e2": { + "balance": "2989950000000000000000" + }, + "f96883582459908c827627e86f28e646f9c7fc7a": { + "balance": "8350000000000000000000" + }, + "d4feed99e8917c5c5458635f3603ecb7e817a7d0": { + "balance": "300031000000000000000" + }, + "14b1603ec62b20022033eec4d6d6655ac24a015a": { + "balance": "50000000000000000000" + }, + "af8e1dcb314c950d3687434d309858e1a8739cd4": { + "balance": "267400000000000000000" + }, + "4b9206ba6b549a1a7f969e1d5dba867539d1fa67": { + "balance": "7880000000000000000000" + }, + "471010da492f4018833b088d9872901e06129174": { + "balance": "500000000000000000000" + }, + "d243184c801e5d79d2063f3578dbae81e7b3a9cb": { + "balance": "1989700000000000000000" + }, + "3eada8c92f56067e1bb73ce378da56dc2cdfd365": { + "balance": "2210000000000000000000" + }, + "33ea6b7855e05b07ab80dab1e14de9b649e99b6c": { + "balance": "532000000000000000000" + }, + "700711e311bb947355f755b579250ca7fd765a3e": { + "balance": "1790000000000000000000" + }, + "87fb26c31e48644d693134205cae43b21f18614b": { + "balance": "1370000000000000000000" + }, + "001d14804b399c6ef80e64576f657660804fec0b": { + "balance": "4200000000000000000000" + }, + "f9642086b1fbae61a6804dbe5fb15ec2d2b537f4": { + "balance": "2000000000000000000000" + }, + "6919dd5e5dfb1afa404703b9faea8cee35d00d70": { + "balance": "5910000000000000000000" + }, + "9ac4da51d27822d1e208c96ea64a1e5b55299723": { + "balance": "100040000000000000000" + }, + "1bd8ebaa7674bb18e19198db244f570313075f43": { + "balance": "150000000000000000000" + }, + "e64ef012658d54f8e8609c4e9023c09fe865c83b": { + "balance": "28000000000000000000" + }, + "43b079baf0727999e66bf743d5bcbf776c3b0922": { + "balance": "2000000000000000000000" + }, + "06ac26ad92cb859bd5905ddce4266aa0ec50a9c5": { + "balance": "775000000000000000000" + }, + "99c1d9f40c6ab7f8a92fce2fdce47a54a586c53f": { + "balance": "985000000000000000000" + }, + "4ae93082e45187c26160e66792f57fad3551c73a": { + "balance": "21658000000000000000000" + }, + "7da7613445a21299aa74f0ad71431ec43fbb1be9": { + "balance": "68000000000000000000" + }, + "4a9a26fd0a8ba10f977da4f77c31908dab4a8016": { + "balance": "1790000000000000000000" + }, + "972c2f96aa00cf8a2f205abcf8937c0c75f5d8d9": { + "balance": "200000000000000000000" + }, + "b5046cb3dc1dedbd364514a2848e44c1de4ed147": { + "balance": "16445100000000000000000" + }, + "48c2ee91a50756d8ce9abeeb7589d22c6fee5dfb": { + "balance": "3220000000000000000000" + }, + "46c1aa2244b9c8a957ca8fac431b0595a3b86824": { + "balance": "4000000000000000000000" + }, + "21fd0bade5f4ef7474d058b7f3d854cb1300524e": { + "balance": "20000000000000000000" + }, + "1864a3c7b48155448c54c88c708f166709736d31": { + "balance": "133700000000000000000" + }, + "5dd53ae897526b167d39f1744ef7c3da5b37a293": { + "balance": "8000000000000000000000" + }, + "ece111670b563ccdbebca52384290ecd68fe5c92": { + "balance": "20000000000000000000" + }, + "74d671d99cbea1ab57906375b63ff42b50451d17": { + "balance": "1000000000000000000000" + }, + "5717cc9301511d4a81b9f583148beed3d3cc8309": { + "balance": "2600000000000000000000" + }, + "8f92844f282a92999ee5b4a8d773d06b694dbd9f": { + "balance": "1940000000000000000000" + }, + "b5a606f4ddcbb9471ec67f658caf2b00ee73025e": { + "balance": "4325000000000000000000" + }, + "bdb60b823a1173d45a0792245fb496f1fd3301cf": { + "balance": "2000000000000000000000" + }, + "1d2615f8b6ca5012b663bdd094b0c5137c778ddf": { + "balance": "10000000000000000000000" + }, + "82ff716fdf033ec7e942c909d9831867b8b6e2ef": { + "balance": "1790000000000000000000" + }, + "44c14765127cde11fab46c5d2cf4d4b2890023fd": { + "balance": "2000000000000000000000" + }, + "c72cb301258e91bc08998a805dd192f25c2f9a35": { + "balance": "591000000000000000000" + }, + "ad732c976593eec4783b4e2ecd793979780bfedb": { + "balance": "2000000000000000000000" + }, + "d8f62036f03b7635b858f1103f8a1d9019a892b6": { + "balance": "50000000000000000000" + }, + "0a06fad7dcd7a492cbc053eeabde6934b39d8637": { + "balance": "20000000000000000000" + }, + "67f2bb78b8d3e11f7c458a10b5c8e0a1d374467d": { + "balance": "1790000000000000000000" + }, + "4b5cdb1e428c91dd7cb54a6aed4571da054bfe52": { + "balance": "88000000000000000000" + }, + "b3557d39b5411b84445f5f54f38f62d2714d0087": { + "balance": "600000000000000000000" + }, + "0b0e055b28cbd03dc5ff44aa64f3dce04f5e63fb": { + "balance": "2000000000000000000000" + }, + "9b2be7f56754f505e3441a10f7f0e20fd3ddf849": { + "balance": "340000000000000000000" + }, + "0b93fca4a4f09cac20db60e065edcccc11e0a5b6": { + "balance": "200000000000000000000" + }, + "3bc85d6c735b9cda4bba5f48b24b13e70630307b": { + "balance": "1970000000000000000000" + }, + "52102354a6aca95d8a2e86d5debda6de69346076": { + "balance": "2000000000000000000000" + }, + "cda4530f4b9bc50905b79d17c28fc46f95349bdf": { + "balance": "942000000000000000000" + }, + "ff545bbb66fbd00eb5e6373ff4e326f5feb5fe12": { + "balance": "20000000000000000000" + }, + "4030a925706b2c101c8c5cb9bd05fbb4f6759b18": { + "balance": "4000000000000000000000" + }, + "f11e01c7a9d12499005f4dae7716095a34176277": { + "balance": "400000000000000000000" + }, + "a4826b6c3882fad0ed5c8fbb25cc40cc4f33759f": { + "balance": "2068000000000000000000" + }, + "28510e6eff1fc829b6576f4328bc3938ec7a6580": { + "balance": "10000000000000000000000" + }, + "9ce5363b13e8238aa4dd15acd0b2e8afe0873247": { + "balance": "200000000000000000000" + }, + "d97bc84abd47c05bbf457b2ef659d61ca5e5e48f": { + "balance": "122000000000000000000" + }, + "4a719061f5285495b37b9d7ef8a51b07d6e6acac": { + "balance": "199800000000000000000" + }, + "8b714522fa2839620470edcf0c4401b713663df1": { + "balance": "200000000000000000000" + }, + "b6decf82969819ba02de29b9b593f21b64eeda0f": { + "balance": "740000000000000000000" + }, + "c87d3ae3d88704d9ab0009dcc1a0067131f8ba3c": { + "balance": "1969606000000000000000" + }, + "dccb370ed68aa922283043ef7cad1b9d403fc34a": { + "balance": "4000000000000000000000" + }, + "2d532df4c63911d1ce91f6d1fcbff7960f78a885": { + "balance": "1669833000000000000000" + }, + "1fcfd1d57f872290560cb62d600e1defbefccc1c": { + "balance": "1490000000000000000000" + }, + "d9e27eb07dfc71a706060c7f079238ca93e88539": { + "balance": "1000000000000000000000" + }, + "da7732f02f2e272eaf28df972ecc0ddeed9cf498": { + "balance": "205274000000000000000" + }, + "bf09d77048e270b662330e9486b38b43cd781495": { + "balance": "436000000000000000000000" + }, + "619f171445d42b02e2e07004ad8afe694fa53d6a": { + "balance": "20000000000000000000" + }, + "2bdd03bebbee273b6ca1059b34999a5bbd61bb79": { + "balance": "20000000000000000000" + }, + "8da1d359ba6cb4bcc57d7a437720d55db2f01c72": { + "balance": "80000000000000000000" + }, + "be935793f45b70d8045d2654d8dd3ad24b5b6137": { + "balance": "880000000000000000000" + }, + "ee71793e3acf12a7274f563961f537529d89c7de": { + "balance": "2000000000000000000000" + }, + "86f05d19063e9369c6004eb3f123943a7cff4eab": { + "balance": "1999944000000000000000" + }, + "87b10f9c280098179a2b76e9ce90be61fc844d0d": { + "balance": "1337000000000000000000" + }, + "243c84d12420570cc4ef3baba1c959c283249520": { + "balance": "2345000000000000000000" + }, + "6bc85acd5928722ef5095331ee88f484b8cf8357": { + "balance": "180000000000000000000" + }, + "2561a138dcf83bd813e0e7f108642be3de3d6f05": { + "balance": "999940000000000000000" + }, + "7d0350e40b338dda736661872be33f1f9752d755": { + "balance": "49933000000000000000" + }, + "e5dc9349cb52e161196122cf87a38936e2c57f34": { + "balance": "2000000000000000000000" + }, + "543a8c0efb8bcd15c543e2a6a4f807597631adef": { + "balance": "5893800000000000000000" + }, + "0413d0cf78c001898a378b918cd6e498ea773c4d": { + "balance": "280000000000000000000" + }, + "3708e59de6b4055088782902e0579c7201a8bf50": { + "balance": "200000000000000000000000" + }, + "699fc6d68a4775573c1dcdaec830fefd50397c4e": { + "balance": "60000000000000000000" + }, + "379a7f755a81a17edb7daaa28afc665dfa6be63a": { + "balance": "25000000000000000000" + }, + "260a230e4465077e0b14ee4442a482d5b0c914bf": { + "balance": "1677935000000000000000" + }, + "3daa01ceb70eaf9591fa521ba4a27ea9fb8ede4a": { + "balance": "1667400000000000000000" + }, + "7f3a1e45f67e92c880e573b43379d71ee089db54": { + "balance": "100000000000000000000000" + }, + "38643babea6011316cc797d9b093c897a17bdae7": { + "balance": "334400000000000000000" + }, + "84675e9177726d45eaa46b3992a340ba7f710c95": { + "balance": "1000000000000000000000" + }, + "0f83461ba224bb1e8fdd9dae535172b735acb4e0": { + "balance": "200000000000000000000" + }, + "31aa3b1ebe8c4dbcb6a708b1d74831e60e497660": { + "balance": "400000000000000000000" + }, + "a32cf7dde20c3dd5679ff5e325845c70c5962662": { + "balance": "20000000000000000000" + }, + "c007f0bdb6e7009202b7af3ea90902697c721413": { + "balance": "2999966000000000000000" + }, + "05c64004a9a826e94e5e4ee267fa2a7632dd4e6f": { + "balance": "16191931000000000000000" + }, + "f622e584a6623eaaf99f2be49e5380c5cbcf5cd8": { + "balance": "200000000000000000000" + }, + "9dc10fa38f9fb06810e11f60173ec3d2fd6a751e": { + "balance": "1970000000000000000000" + }, + "423c3107f4bace414e499c64390a51f74615ca5e": { + "balance": "2000000000000000000000" + }, + "92438e5203b6346ff886d7c36288aacccc78ceca": { + "balance": "1000000000000000000000" + }, + "bef07d97c3481f9d6aee1c98f9d91a180a32442b": { + "balance": "100000000000000000000000" + }, + "55aa5d313ebb084da0e7801091e29e92c5dec3aa": { + "balance": "2000000000000000000000" + }, + "89c433d601fad714da6369308fd26c1dc9942bbf": { + "balance": "2000000000000000000000" + }, + "25106ab6755df86d6b63a187703b0cfea0e594a0": { + "balance": "27400000000000000000" + }, + "494256e99b0f9cd6e5ebca3899863252900165c8": { + "balance": "14000000000000000000000" + }, + "5f4ace4c1cc13391e01f00b198e1f20b5f91cbf5": { + "balance": "5000196000000000000000" + }, + "135cecd955e5798370769230159303d9b1839f66": { + "balance": "5000000000000000000000" + }, + "ced81ec3533ff1bfebf3e3843ee740ad11758d3e": { + "balance": "1970000000000000000000" + }, + "688eb3853bbcc50ecfee0fa87f0ab693cabdef02": { + "balance": "31600000000000000000000" + }, + "2159240813a73095a7ebf7c3b3743e8028ae5f09": { + "balance": "2000000000000000000000" + }, + "99d1579cd42682b7644e1d4f7128441eeffe339d": { + "balance": "20000000000000000000000" + }, + "8a243a0a9fea49b839547745ff2d11af3f4b0522": { + "balance": "985000000000000000000" + }, + "c1a41a5a27199226e4c7eb198b031b59196f9842": { + "balance": "191000000000000000000" + }, + "7514adbdc63f483f304d8e94b67ff3309f180b82": { + "balance": "622911000000000000000" + }, + "74aeec915de01cc69b2cb5a6356feea14658c6c5": { + "balance": "232500000000000000000" + }, + "76f9ad3d9bbd04ae055c1477c0c35e7592cb2a20": { + "balance": "40200000000000000000000" + }, + "a8a7b68adab4e3eadff19ffa58e34a3fcec0d96a": { + "balance": "6000000000000000000000" + }, + "60de22a1507432a47b01cc68c52a0bf8a2e0d098": { + "balance": "19100000000000000000" + }, + "ceb33d78e7547a9da2e87d51aec5f3441c87923a": { + "balance": "20000000000000000000" + }, + "432809a2390f07c665921ff37d547d12f1c9966a": { + "balance": "30000000000000000000000" + }, + "d5e656a1b916f9bf45afb07dd8afaf73b4c56f41": { + "balance": "97000000000000000000" + }, + "e3410bb7557cf91d79fa69d0dfea0aa075402651": { + "balance": "2000000000000000000000" + }, + "dee942d5caf5fac11421d86b010b458e5c392990": { + "balance": "4000000000000000000000" + }, + "a98f109835f5eacd0543647c34a6b269e3802fac": { + "balance": "400000000000000000000" + }, + "932b9c04d40d2ac83083d94298169dae81ab2ed0": { + "balance": "2000000000000000000000" + }, + "ba10f2764290f875434372f79dbf713801caac01": { + "balance": "955000000000000000000" + }, + "a2c7eaffdc2c9d937345206c909a52dfb14c478f": { + "balance": "143000000000000000000" + }, + "6c67e0d7b62e2a08506945a5dfe38263339f1f22": { + "balance": "1970000000000000000000" + }, + "60c3714fdddb634659e4a2b1ea42c4728cc7b8ba": { + "balance": "13370000000000000000" + }, + "73b4d499de3f38bf35aaf769a6e318bc6d123692": { + "balance": "2000000000000000000000" + }, + "3b22dea3c25f1b59c7bd27bb91d3a3eaecef3984": { + "balance": "100000000000000000000" + }, + "1e3badb1b6e1380e27039c576ae6222e963a5b53": { + "balance": "20000000000000000000000" + }, + "abd4d6c1666358c0406fdf3af248f78ece830104": { + "balance": "2112000000000000000000" + }, + "0c925ad5eb352c8ef76d0c222d115b0791b962a1": { + "balance": "3180000000000000000000" + }, + "be9186c34a52514abb9107860f674f97b821bd5b": { + "balance": "509600000000000000000" + }, + "b7f67314cb832e32e63b15a40ce0d7ffbdb26985": { + "balance": "1060866000000000000000" + }, + "3f30d3bc9f602232bc724288ca46cd0b0788f715": { + "balance": "4000000000000000000000" + }, + "970abd53a54fca4a6429207c182d4d57bb39d4a0": { + "balance": "2000000000000000000000" + }, + "36d85dc3683156e63bf880a9fab7788cf8143a27": { + "balance": "20000000000000000000000" + }, + "2836123046b284e5ef102bfd22b1765e508116ad": { + "balance": "411880000000000000000" + }, + "de06d5ea777a4eb1475e605dbcbf43444e8037ea": { + "balance": "50000000000000000000000" + }, + "9af11399511c213181bfda3a8b264c05fc81b3ce": { + "balance": "14000000000000000000000" + }, + "e2191215983f33fd33e22cd4a2490054da53fddc": { + "balance": "15800000000000000000" + }, + "2eebf59432b52892f9380bd140aa99dcf8ad0c0f": { + "balance": "152000000000000000000" + }, + "dc087f9390fb9e976ac23ab689544a0942ec2021": { + "balance": "1820000000000000000000" + }, + "fd4b989558ae11be0c3b36e2d6f2a54a9343ca2e": { + "balance": "2000000000000000000000" + }, + "770c2fb2c4a81753ac0182ea460ec09c90a516f8": { + "balance": "20000000000000000000" + }, + "b28dbfc6499894f73a71faa00abe0f4bc9d19f2a": { + "balance": "100000000000000000000" + }, + "b0cef8e8fb8984a6019f01c679f272bbe68f5c77": { + "balance": "152000000000000000000" + }, + "f400f93d5f5c7e3fc303129ac8fb0c2f786407fa": { + "balance": "2000000000000000000000" + }, + "f2133431d1d9a37ba2f0762bc40c5acc8aa6978e": { + "balance": "2000000000000000000000" + }, + "9003d270891ba2df643da8341583193545e3e000": { + "balance": "4000000000000000000000" + }, + "8938d1b4daee55a54d738cf17e4477f6794e46f7": { + "balance": "18200000000000000000" + }, + "98e6f547db88e75f1f9c8ac2c5cf1627ba580b3e": { + "balance": "1000000000000000000000" + }, + "009fdbf44e1f4a6362b769c39a475f95a96c2bc7": { + "balance": "564000000000000000000" + }, + "d0f9597811b0b992bb7d3757aa25b4c2561d32e2": { + "balance": "500000000000000000000" + }, + "dcd10c55bb854f754434f1219c2c9a98ace79f03": { + "balance": "4000086000000000000000" + }, + "67048f3a12a4dd1f626c64264cb1d7971de2ca38": { + "balance": "180000000000000000000" + }, + "d33cf82bf14c592640a08608914c237079d5be34": { + "balance": "2000000000000000000000" + }, + "f5b068989df29c253577d0405ade6e0e7528f89e": { + "balance": "1610000000000000000000" + }, + "a9a8eca11a23d64689a2aa3e417dbb3d336bb59a": { + "balance": "262025000000000000000" + }, + "99413704b1a32e70f3bc0d69dd881c38566b54cb": { + "balance": "27382708000000000000000" + }, + "2a085e25b64862f5e68d768e2b0f7a8529858eee": { + "balance": "1983618000000000000000" + }, + "833d3fae542ad5f8b50ce19bde2bec579180c88c": { + "balance": "346000000000000000000" + }, + "c3483d6e88ac1f4ae73cc4408d6c03abe0e49dca": { + "balance": "17000000000000000000000" + }, + "fde395bc0b6d5cbb4c1d8fea3e0b4bff635e9db7": { + "balance": "2000000000000000000000" + }, + "eddacd94ec89a2ef968fcf977a08f1fae2757869": { + "balance": "8000000000000000000000" + }, + "dc29119745d2337320da51e19100c948d980b915": { + "balance": "160000000000000000000" + }, + "640bf87415e0cf407301e5599a68366da09bbac8": { + "balance": "493207000000000000000" + }, + "afcc7dbb8356d842d43ae7e23c8422b022a30803": { + "balance": "30400000000000000000000" + }, + "9120e71173e1ba19ba8f9f4fdbdcaa34e1d6bb78": { + "balance": "2000000000000000000000" + }, + "9092918707c621fdbd1d90fb80eb787fd26f7350": { + "balance": "2460000000000000000000" + }, + "263e57dacbe0149f82fe65a2664898866ff5b463": { + "balance": "38000000000000000000000" + }, + "315db7439fa1d5b423afa7dd7198c1cf74c918bc": { + "balance": "600000000000000000000" + }, + "09b4668696f86a080f8bebb91db8e6f87015915a": { + "balance": "656010000000000000000" + }, + "5c31996dcac015f9be985b611f468730ef244d90": { + "balance": "200000000000000000000" + }, + "b1179589e19db9d41557bbec1cb24ccc2dec1c7f": { + "balance": "100000000000000000000000" + }, + "3b1937d5e793b89b63fb8eb5f1b1c9ca6ba0fa8e": { + "balance": "2000000000000000000000" + }, + "c9127b7f6629ee13fc3f60bc2f4467a20745a762": { + "balance": "16465639000000000000000" + }, + "7306de0e288b56cfdf987ef0d3cc29660793f6dd": { + "balance": "508060000000000000000" + }, + "2aa192777ca5b978b6b2c2ff800ac1860f753f47": { + "balance": "335000000000000000000" + }, + "55da9dcdca61cbfe1f133c7bcefc867b9c8122f9": { + "balance": "880000000000000000000" + }, + "cdd9efac4d6d60bd71d95585dce5d59705c13564": { + "balance": "100000000000000000000" + }, + "ad8e48a377695de014363a523a28b1a40c78f208": { + "balance": "1000000000000000000000" + }, + "252b6555afdc80f2d96d972d17db84ea5ad521ac": { + "balance": "7880000000000000000000" + }, + "60ab71cd26ea6d6e59a7a0f627ee079c885ebbf6": { + "balance": "26740000000000000000" + }, + "f40b134fea22c6b29c8457f49f000f9cda789adb": { + "balance": "600000000000000000000" + }, + "85a2f6ea94d05e8c1d9ae2f4910338a358e98ded": { + "balance": "2000000000000000000000" + }, + "ae13a08511110f32e53be4127845c843a1a57c7b": { + "balance": "500000000000000000000" + }, + "40db1ba585ce34531edec5494849391381e6ccd3": { + "balance": "1790000000000000000000" + }, + "0c5589a7a89b9ad15b02751930415948a875fbef": { + "balance": "126000000000000000000" + }, + "89054430dcdc28ac15fa635ef87c105e602bf70c": { + "balance": "108000000000000000000" + }, + "6c882c27732cef5c7c13a686f0a2ea77555ac289": { + "balance": "100000000000000000000000" + }, + "de374299c1d07d79537385190f442ef9ca24061f": { + "balance": "133700000000000000000" + }, + "b146a0b925553cf06fcaf54a1b4dfea621290757": { + "balance": "2000200000000000000000" + }, + "09ae49e37f121df5dc158cfde806f173a06b0c7f": { + "balance": "3988000000000000000000" + }, + "b758896f1baa864f17ebed16d953886fee68aae6": { + "balance": "1000000000000000000000" + }, + "30730466b8eb6dc90d5496aa76a3472d7dbe0bbe": { + "balance": "1999800000000000000000" + }, + "fc02734033e57f70517e0afc7ee62461f06fad8e": { + "balance": "394000000000000000000" + }, + "a9b2d2e0494eab18e07d37bbb856d80e80f84cd3": { + "balance": "10000000000000000000000" + }, + "95278b08dee7c0f2c8c0f722f9fcbbb9a5241fda": { + "balance": "2408672000000000000000" + }, + "dab6bcdb83cf24a0ae1cb21b3b5b83c2f3824927": { + "balance": "50000000000000000000000" + }, + "94439ca9cc169a79d4a09cae5e67764a6f871a21": { + "balance": "240000000000000000000" + }, + "e06c29a81517e0d487b67fb0b6aabc4f57368388": { + "balance": "401100000000000000000" + }, + "458e3cc99e947844a18e6a42918fef7e7f5f5eb3": { + "balance": "36400000000000000000000" + }, + "0a9804137803ba6868d93a55f9985fcd540451e4": { + "balance": "13370000000000000000" + }, + "40630024bd2c58d248edd8465617b2bf1647da0e": { + "balance": "1000000000000000000000" + }, + "15224ad1c0face46f9f556e4774a3025ad06bd52": { + "balance": "13370000000000000000" + }, + "2e2810dee44ae4dff3d86342ab126657d653c336": { + "balance": "200000000000000000000" + }, + "48a30de1c919d3fd3180e97d5f2b2a9dbd964d2d": { + "balance": "44000000000000000000" + }, + "46a30b8a808931217445c3f5a93e882c0345b426": { + "balance": "250019000000000000000" + }, + "455396a4bbd9bae8af9fb7c4d64d471db9c24505": { + "balance": "161000000000000000000" + }, + "edfda2d5db98f9380714664d54b4ee971a1cae03": { + "balance": "40044000000000000000" + }, + "f5eadcd2d1b8657a121f33c458a8b13e76b65526": { + "balance": "249828000000000000000" + }, + "90e7070f4d033fe6910c9efe5a278e1fc6234def": { + "balance": "100392000000000000000" + }, + "d55508adbbbe9be81b80f97a6ea89add68da674f": { + "balance": "2000000000000000000000" + }, + "66925de3e43f4b41bf9dadde27d5488ef569ea0d": { + "balance": "39400000000000000000" + }, + "b7c077946674ba9341fb4c747a5d50f5d2da6415": { + "balance": "1000000000000000000000" + }, + "c52d1a0c73c2a1be84915185f8b34faa0adf1de3": { + "balance": "1400001000000000000000" + }, + "79b8aad879dd30567e8778d2d231c8f37ab8734e": { + "balance": "2000000000000000000000" + }, + "3aae4872fd9093cbcad1406f1e8078bab50359e2": { + "balance": "39400000000000000000" + }, + "b2e9d76bf50fc36bf7d3944b63e9ca889b699968": { + "balance": "2660000000000000000000" + }, + "405f596b94b947344c033ce2dcbff12e25b79784": { + "balance": "2000000000000000000000" + }, + "232cb1cd49993c144a3f88b3611e233569a86bd6": { + "balance": "15576000000000000000000" + }, + "9e232c08c14dc1a6ed0b8a3b2868977ba5c17d10": { + "balance": "20000000000000000000" + }, + "095270cc42141dd998ad2862dbd1fe9b44e7e650": { + "balance": "1200000000000000000000" + }, + "15d99468507aa0413fb60dca2adc7f569cb36b54": { + "balance": "2000000000000000000000" + }, + "04852732b4c652f6c2e58eb36587e60a62da14db": { + "balance": "20000000000000000000000" + }, + "ecf24cdd7c22928c441e694de4aa31b0fab59778": { + "balance": "600000000000000000000" + }, + "512b91bbfaa9e581ef683fc90d9db22a8f49f48b": { + "balance": "310000000000000000000000" + }, + "a88577a073fbaf33c4cd202e00ea70ef711b4006": { + "balance": "2000000000000000000000" + }, + "00acc6f082a442828764d11f58d6894ae408f073": { + "balance": "60000000000000000000000" + }, + "0355bcacbd21441e95adeedc30c17218c8a408ce": { + "balance": "400000000000000000000" + }, + "4e73cf2379f124860f73d6d91bf59acc5cfc845b": { + "balance": "40110000000000000000" + }, + "2a742b8910941e0932830a1d9692cfd28494cf40": { + "balance": "499986000000000000000" + }, + "41a8c2830081b102df6e0131657c07ab635b54ce": { + "balance": "1999944000000000000000" + }, + "b63064bd3355e6e07e2d377024125a33776c4afa": { + "balance": "38800000000000000000000" + }, + "1a25e1c5bc7e5f50ec16f8885f210ea1b938800e": { + "balance": "4000000000000000000000" + }, + "09b59b8698a7fbd3d2f8c73a008988de3e406b2b": { + "balance": "40000000000000000000000" + }, + "c555b93156f09101233c6f7cf6eb3c4f196d3346": { + "balance": "3000000000000000000000" + }, + "12f32c0a1f2daab676fe69abd9e018352d4ccd45": { + "balance": "50000000000000000000" + }, + "5956b28ec7890b76fc061a1feb52d82ae81fb635": { + "balance": "2000000000000000000000" + }, + "c739259e7f85f2659bef5f609ed86b3d596c201e": { + "balance": "200000000000000000000" + }, + "fae92c1370e9e1859a5df83b56d0f586aa3b404c": { + "balance": "106480000000000000000" + }, + "d5a7bec332adde18b3104b5792546aa59b879b52": { + "balance": "2000000000000000000000" + }, + "4f88dfd01091a45a9e2676021e64286cd36b8d34": { + "balance": "1000000000000000000000" + }, + "102c477d69aadba9a0b0f62b7459e17fbb1c1561": { + "balance": "2000000000000000000000" + }, + "34272d5e7574315dcae9abbd317bac90289d4765": { + "balance": "1820000000000000000000" + }, + "fe615d975c0887e0c9113ec7298420a793af8b96": { + "balance": "8000000000000000000000" + }, + "487adf7d70a6740f8d51cbdd68bb3f91c4a5ce68": { + "balance": "66850000000000000000" + }, + "7e5d9993104e4cb545e179a2a3f971f744f98482": { + "balance": "2000000000000000000000" + }, + "5529830a61c1f13c197e550beddfd6bd195c9d02": { + "balance": "10000000000000000000000" + }, + "2f282abbb6d4a3c3cd3b5ca812f7643e80305f06": { + "balance": "1850000000000000000000" + }, + "7352586d021ad0cf77e0e928404a59f374ff4582": { + "balance": "3400000000000000000000" + }, + "03f7b92008813ae0a676eb212814afab35221069": { + "balance": "2000000000000000000000" + }, + "056686078fb6bcf9ba0a8a8dc63a906f5feac0ea": { + "balance": "499800000000000000000" + }, + "8063379a7bf2cb923a84c5093e68dac7f75481c5": { + "balance": "322102000000000000000" + }, + "200264a09f8c68e3e6629795280f56254f8640d0": { + "balance": "20000000000000000000" + }, + "5a891155f50e42074374c739baadf7df2651153a": { + "balance": "4775000000000000000000" + }, + "80022a1207e910911fc92849b069ab0cdad043d3": { + "balance": "13370000000000000000" + }, + "e781ec732d401202bb9bd13860910dd6c29ac0b6": { + "balance": "1240000000000000000000" + }, + "4c2f1afef7c5868c44832fc77cb03b55f89e6d6e": { + "balance": "20000000000000000000000" + }, + "34ff582952ff24458f7b13d51f0b4f987022c1fe": { + "balance": "2804400000000000000000" + }, + "73914b22fc2f131584247d82be4fecbf978ad4ba": { + "balance": "2000000000000000000000" + }, + "562be95aba17c5371fe2ba828799b1f55d2177d6": { + "balance": "38200000000000000000000" + }, + "648f5bd2a2ae8902db37847d1cb0db9390b06248": { + "balance": "7769965000000000000000" + }, + "6a9758743b603eea3aa0524b42889723c4153948": { + "balance": "10100000000000000000000" + }, + "5985c59a449dfc5da787d8244e746c6d70caa55f": { + "balance": "100000000000000000000" + }, + "56ee197f4bbf9f1b0662e41c2bbd9aa1f799e846": { + "balance": "1000000000000000000000" + }, + "d47c242edffea091bc54d57df5d1fdb93101476c": { + "balance": "2914000000000000000000" + }, + "d482e7f68e41f238fe517829de15477fe0f6dd1d": { + "balance": "500000000000000000000" + }, + "05bf4fcfe772e45b826443852e6c351350ce72a2": { + "balance": "8000000000000000000000" + }, + "f10462e58fcc07f39584a187639451167e859201": { + "balance": "169830000000000000000" + }, + "1aa27699cada8dc3a76f7933aa66c71919040e88": { + "balance": "400000000000000000000" + }, + "24046b91da9b61b629cb8b8ec0c351a07e0703e4": { + "balance": "2000000000000000000000" + }, + "41033c1b6d05e1ca89b0948fc64453fbe87ab25e": { + "balance": "1337000000000000000000" + }, + "369822f5578b40dd1f4471706b22cd971352da6b": { + "balance": "346000000000000000000" + }, + "044e853144e3364495e7a69fa1d46abea3ac0964": { + "balance": "49225000000000000000" + }, + "abf728cf9312f22128024e7046c251f5dc5901ed": { + "balance": "29550000000000000000000" + }, + "d781f7fc09184611568570b4986e2c72872b7ed0": { + "balance": "20002000000000000000" + }, + "6bb4a661a33a71d424d49bb5df28622ed4dffcf4": { + "balance": "630400000000000000000" + }, + "fef3b3dead1a6926d49aa32b12c22af54d9ff985": { + "balance": "1000000000000000000000" + }, + "fa410971ad229c3036f41acf852f2ac999281950": { + "balance": "3997400000000000000000" + }, + "de176b5284bcee3a838ba24f67fc7cbf67d78ef6": { + "balance": "37600000000000000000" + }, + "23120046f6832102a752a76656691c863e17e59c": { + "balance": "329800000000000000000" + }, + "a2f472fe4f22b77db489219ea4023d11582a9329": { + "balance": "40000000000000000000000" + }, + "f0d64cf9df09741133d170485fd24b005011d520": { + "balance": "498680000000000000000" + }, + "8b505e2871f7deb7a63895208e8227dcaa1bff05": { + "balance": "61216600000000000000000" + }, + "481e3a91bfdc2f1c8428a0119d03a41601417e1c": { + "balance": "1000000000000000000000" + }, + "bc69a0d2a31c3dbf7a9122116901b2bdfe9802a0": { + "balance": "3000000000000000000000" + }, + "20a81680e465f88790f0074f60b4f35f5d1e6aa5": { + "balance": "1279851000000000000000" + }, + "194a6bb302b8aba7a5b579df93e0df1574967625": { + "balance": "500000000000000000000" + }, + "264cc8086a8710f91b21720905912cd7964ae868": { + "balance": "26740000000000000000" + }, + "24aca08d5be85ebb9f3132dfc1b620824edfedf9": { + "balance": "18200000000000000000" + }, + "1851a063ccdb30549077f1d139e72de7971197d5": { + "balance": "2000000000000000000000" + }, + "f64a4ac8d540a9289c68d960d5fb7cc45a77831c": { + "balance": "2000000000000000000000" + }, + "c3db5657bb72f10d58f231fddf11980aff678693": { + "balance": "5910000000000000000000" + }, + "b46ace865e2c50ea4698d216ab455dff5a11cd72": { + "balance": "1000000000000000000000" + }, + "9faea13c733412dc4b490402bfef27a0397a9bc3": { + "balance": "310000000000000000000" + }, + "b40594c4f3664ef849cca6227b8a25aa690925ee": { + "balance": "4000000000000000000000" + }, + "672fa0a019088db3166f6119438d07a99f8ba224": { + "balance": "13370000000000000000000" + }, + "c1ffad07db96138c4b2a530ec1c7de29b8a0592c": { + "balance": "17600000000000000000" + }, + "87af25d3f6f8eea15313d5fe4557e810c524c083": { + "balance": "19700000000000000000000" + }, + "d6a22e598dabd38ea6e958bd79d48ddd9604f4df": { + "balance": "1000000000000000000000" + }, + "a2a435de44a01bd0ecb29e44e47644e46a0cdffb": { + "balance": "500171000000000000000" + }, + "549b47649cfad993e4064d2636a4baa0623305cc": { + "balance": "601650000000000000000" + }, + "1321b605026f4ffb296a3e0edcb390c9c85608b7": { + "balance": "2000000000000000000000" + }, + "b4bf24cb83686bc469869fefb044b909716993e2": { + "balance": "2000000000000000000000" + }, + "12d91a92d74fc861a729646db192a125b79f5374": { + "balance": "18200000000000000000" + }, + "7f0662b410298c99f311d3a1454a1eedba2fea76": { + "balance": "200000000000000000000" + }, + "83908aa7478a6d1c9b9b0281148f8f9f242b9fdc": { + "balance": "2000000000000000000000" + }, + "c1438c99dd51ef1ca8386af0a317e9b041457888": { + "balance": "223500000000000000000" + }, + "545bb070e781172eb1608af7fc2895d6cb87197e": { + "balance": "2244000000000000000000" + }, + "161d26ef6759ba5b9f20fdcd66f16132c352415e": { + "balance": "2000000000000000000000" + }, + "d7f370d4bed9d57c6f49c999de729ee569d3f4e4": { + "balance": "200000000000000000000" + }, + "90e35aabb2deef408bb9b5acef714457dfde6272": { + "balance": "100076000000000000000" + }, + "0fcfc4065008cfd323305f6286b57a4dd7eee23b": { + "balance": "20000000000000000000000" + }, + "cd725d70be97e677e3c8e85c0b26ef31e9955045": { + "balance": "1337000000000000000000" + }, + "dcf6b657266e91a4dae6033ddac15332dd8d2b34": { + "balance": "1760000000000000000000" + }, + "31f006f3494ed6c16eb92aaf9044fa8abb5fd5a3": { + "balance": "500000000000000000000" + }, + "cdea386f9d0fd804d02818f237b7d9fa7646d35e": { + "balance": "3012139000000000000000" + }, + "d45b3341e8f15c80329320c3977e3b90e7826a7e": { + "balance": "500000000000000000000" + }, + "0b649da3b96a102cdc6db652a0c07d65b1e443e6": { + "balance": "2000000000000000000000" + }, + "0a58fddd71898de773a74fdae45e7bd84ef43646": { + "balance": "20000000000000000000" + }, + "0256149f5b5063bea14e15661ffb58f9b459a957": { + "balance": "704000000000000000000" + }, + "4438e880cb2766b0c1ceaec9d2418fceb952a044": { + "balance": "133712000000000000000" + }, + "9ed80eda7f55054db9fb5282451688f26bb374c1": { + "balance": "300000000000000000000" + }, + "8dab948ae81da301d972e3f617a912e5a753712e": { + "balance": "400000000000000000000" + }, + "5b5d8c8eed6c85ac215661de026676823faa0a0c": { + "balance": "20000000000000000000000" + }, + "46722a36a01e841d03f780935e917d85d5a67abd": { + "balance": "14900000000000000000" + }, + "d4b8bdf3df9a51b0b91d16abbea05bb4783c8661": { + "balance": "1000000000000000000000" + }, + "98f6b8e6213dbc9a5581f4cce6655f95252bdb07": { + "balance": "319968000000000000000" + }, + "3599493ce65772cf93e98af1195ec0955dc98002": { + "balance": "1500048000000000000000" + }, + "ecab5aba5b828de1705381f38bc744b32ba1b437": { + "balance": "940000000000000000000" + }, + "9a82826d3c29481dcc2bd2950047e8b60486c338": { + "balance": "20000000000000000000000" + }, + "6c474bc66a54780066aa4f512eefa773abf919c7": { + "balance": "94000000000000000000" + }, + "d5903e9978ee20a38c3f498d63d57f31a39f6a06": { + "balance": "10380000000000000000000" + }, + "341480cc8cb476f8d01ff30812e7c70e05afaf5d": { + "balance": "2000000000000000000000" + }, + "af771039345a343001bc0f8a5923b126b60d509c": { + "balance": "985000000000000000000" + }, + "b5a4679685fa14196c2e9230c8c4e33bffbc10e2": { + "balance": "1400000000000000000000" + }, + "2a400dff8594de7228b4fd15c32322b75bb87da8": { + "balance": "95810000000000000000" + }, + "a1336dfb96b6bcbe4b3edf3205be5723c90fad52": { + "balance": "5000000000000000000000" + }, + "e9b1f1fca3fa47269f21b061c353b7f5e96d905a": { + "balance": "500000000000000000000" + }, + "0ee414940487fd24e390378285c5d7b9334d8b65": { + "balance": "2680000000000000000000" + }, + "6ab5b4c41cddb829690c2fda7f20c85e629dd5d5": { + "balance": "1860000000000000000000" + }, + "dd63042f25ed32884ad26e3ad959eb94ea36bf67": { + "balance": "21340000000000000000000" + }, + "c0b3f244bca7b7de5b48a53edb9cbeab0b6d88c0": { + "balance": "5820000000000000000000" + }, + "ed1a5c43c574d4e934299b24f1472cdc9fd6f010": { + "balance": "200000000000000000000" + }, + "b2d9ab9664bcf6df203c346fc692fd9cbab9205e": { + "balance": "438000000000000000000" + }, + "ede8c2cb876fbe8a4cca8290361a7ea01a69fdf8": { + "balance": "7813091000000000000000" + }, + "6a7c252042e7468a3ff773d6450bba85efa26391": { + "balance": "500000000000000000000" + }, + "a106e6923edd53ca8ed650968a9108d6ccfd9670": { + "balance": "9499935000000000000000" + }, + "031e25db516b0f099faebfd94f890cf96660836b": { + "balance": "2000000000000000000000" + }, + "7fdbc3a844e40d96b2f3a635322e6065f4ca0e84": { + "balance": "2000000000000000000000" + }, + "df47a61b72535193c561cccc75c3f3ce0804a20e": { + "balance": "398000000000000000000" + }, + "ed31305c319f9273d3936d8f5b2f71e9b1b22963": { + "balance": "100000000000000000000" + }, + "a6b2d573297360102c07a18fc21df2e7499ff4eb": { + "balance": "4011000000000000000000" + }, + "f68464bf64f2411356e4d3250efefe5c50a5f65b": { + "balance": "20000000000000000000" + }, + "927cc2bfda0e088d02eff70b38b08aa53cc30941": { + "balance": "1852700000000000000000" + }, + "41cb9896445f70a10a14215296daf614e32cf4d5": { + "balance": "1910000000000000000000" + }, + "3ad70243d88bf0400f57c8c1fd57811848af162a": { + "balance": "860000000000000000000" + }, + "63b9754d75d12d384039ec69063c0be210d5e0e3": { + "balance": "2694055000000000000000" + }, + "ad1799aad7602b4540cd832f9db5f11150f1687a": { + "balance": "2000000000000000000000" + }, + "a8b65ba3171a3f77a6350b9daf1f8d55b4d201eb": { + "balance": "745000000000000000000" + }, + "ad0a4ae478e9636e88c604f242cf5439c6d45639": { + "balance": "3520000000000000000000" + }, + "4cd0b0a6436362595ceade052ebc9b929fb6c6c0": { + "balance": "2000000000000000000000" + }, + "c1d4af38e9ba799040894849b8a8219375f1ac78": { + "balance": "20000000000000000000000" + }, + "49ddee902e1d0c99d1b11af3cc8a96f78e4dcf1a": { + "balance": "199358000000000000000" + }, + "ae842210f44d14c4a4db91fc9d3b3b50014f7bf7": { + "balance": "4000000000000000000000" + }, + "10a1c42dc1ba746986b985a522a73c93eae64c63": { + "balance": "1000000000000000000000" + }, + "5103bc09933e9921fd53dc536f11f05d0d47107d": { + "balance": "4000000000000000000000" + }, + "c88eec54d305c928cc2848c2fee23531acb96d49": { + "balance": "1999946000000000000000" + }, + "9a2ce43b5d89d6936b8e8c354791b8afff962425": { + "balance": "2000000000000000000000" + }, + "562020e3ed792d2f1835fe5f55417d5111460c6a": { + "balance": "20000000000000000000000" + }, + "ed16ce39feef3bd7f5d162045e0f67c0f00046bb": { + "balance": "20000000000000000000" + }, + "ab948a4ae3795cbca13126e19253bdc21d3a8514": { + "balance": "200000000000000000000" + }, + "c12b7f40df9a2f7bf983661422ab84c9c1f50858": { + "balance": "8000000000000000000000" + }, + "62e6b2f5eb94fa7a43831fc87e254a3fe3bf8f89": { + "balance": "250000000000000000000" + }, + "423bca47abc00c7057e3ad34fca63e375fbd8b4a": { + "balance": "18000000000000000000000" + }, + "5ff326cd60fd136b245e29e9087a6ad3a6527f0d": { + "balance": "1880000000000000000000" + }, + "79ffb4ac13812a0b78c4a37b8275223e176bfda5": { + "balance": "17300000000000000000" + }, + "f757fc8720d3c4fa5277075e60bd5c411aebd977": { + "balance": "2000000000000000000000" + }, + "0bdbc54cc8bdbbb402a08911e2232a5460ce866b": { + "balance": "3000000000000000000000" + }, + "9ee9760cc273d4706aa08375c3e46fa230aff3d5": { + "balance": "8950000000000000000000" + }, + "d23a24d7f9468343c143a41d73b88f7cbe63be5e": { + "balance": "200000000000000000000" + }, + "46d80631284203f6288ecd4e5758bb9d41d05dbe": { + "balance": "2000000000000000000000" + }, + "3f4cd1399f8a34eddb9a17a471fc922b5870aafc": { + "balance": "200000000000000000000" + }, + "44c54eaa8ac940f9e80f1e74e82fc14f1676856a": { + "balance": "7880000000000000000000" + }, + "aec27ff5d7f9ddda91183f46f9d52543b6cd2b2f": { + "balance": "450000000000000000000" + }, + "203c6283f20df7bc86542fdfb4e763ecdbbbeef5": { + "balance": "25000000000000000000000" + }, + "bcaf347918efb2d63dde03e39275bbe97d26df50": { + "balance": "100000000000000000000" + }, + "974d0541ab4a47ec7f75369c0069b64a1b817710": { + "balance": "400000000000000000000" + }, + "5da54785c9bd30575c89deb59d2041d20a39e17b": { + "balance": "1967031000000000000000" + }, + "1fb463a0389983df7d593f7bdd6d78497fed8879": { + "balance": "20000000000000000000" + }, + "6e1ea4b183e252c9bb7767a006d4b43696cb8ae9": { + "balance": "294245000000000000000" + }, + "c2aa74847e86edfdd3f3db22f8a2152feee5b7f7": { + "balance": "2048852000000000000000" + }, + "a13b9d82a99b3c9bba5ae72ef2199edc7d3bb36c": { + "balance": "1999944000000000000000" + }, + "5135fb8757600cf474546252f74dc0746d06262c": { + "balance": "2000000000000000000000" + }, + "43e7ec846358d7d0f937ad1c350ba069d7bf72bf": { + "balance": "118800000000000000000" + }, + "f2ed3e77254acb83231dc0860e1a11242ba627db": { + "balance": "1980000000000000000000" + }, + "c0a02ab94ebe56d045b41b629b98462e3a024a93": { + "balance": "100000000000000000000" + }, + "f21549bdd1487912f900a7523db5f7626121bba3": { + "balance": "10000000000000000000000" + }, + "886d0a9e17c9c095af2ea2358b89ec705212ee94": { + "balance": "28000000000000000000" + }, + "211b29cefc79ae976744fdebcebd3cbb32c51303": { + "balance": "14000000000000000000000" + }, + "b8c2703d8c3f2f44c584bc10e7c0a6b64c1c097e": { + "balance": "5550000000000000000000" + }, + "ec30addd895b82ee319e54fb04cb2bb03971f36b": { + "balance": "2000000000000000000000" + }, + "b71b62f4b448c02b1201cb5e394ae627b0a560ee": { + "balance": "500000000000000000000" + }, + "e1334e998379dfe983177062791b90f80ee22d8d": { + "balance": "500000000000000000000" + }, + "1d633097a85225a1ff4321b12988fdd55c2b3844": { + "balance": "4000000000000000000000" + }, + "8bd8d4c4e943f6c8073921dc17e3e8d7a0761627": { + "balance": "2933330000000000000000" + }, + "a5d96e697d46358d119af7819dc7087f6ae47fef": { + "balance": "14605131000000000000000" + }, + "d0809498c548047a1e2a2aa6a29cd61a0ee268bd": { + "balance": "2000000000000000000000" + }, + "3cd6b7593cbee77830a8b19d0801958fcd4bc57a": { + "balance": "500000000000000000000" + }, + "ead4d2eefb76abae5533961edd11400406b298fc": { + "balance": "3880000000000000000000" + }, + "6331028cbb5a21485bc51b565142993bdb2582a9": { + "balance": "534800000000000000000" + }, + "163bad4a122b457d64e8150a413eae4d07023e6b": { + "balance": "18800000000000000000" + }, + "c522e20fbf04ed7f6b05a37b4718d6fce0142e1a": { + "balance": "4000000000000000000000" + }, + "2d9bad6f1ee02a70f1f13def5cccb27a9a274031": { + "balance": "1790000000000000000000" + }, + "5ed0d6338559ef44dc7a61edeb893fa5d83fa1b5": { + "balance": "220000000000000000000" + }, + "ec8c1d7b6aaccd429db3a91ee4c9eb1ca4f6f73c": { + "balance": "4250000000000000000000" + }, + "3896ad743579d38e2302454d1fb6e2ab69e01bfd": { + "balance": "1880000000000000000000" + }, + "e73ccf436725c151e255ccf5210cfce5a43f13e3": { + "balance": "19982000000000000000" + }, + "9483d98f14a33fdc118d403955c29935edfc5f70": { + "balance": "459600000000000000000" + }, + "1cfcf7517f0c08459720942b647ad192aa9c8828": { + "balance": "800000000000000000000" + }, + "8d378f0edc0bb0f0686d6a20be6a7692c4fa24b8": { + "balance": "100000000000000000000" + }, + "06f68de3d739db41121eacf779aada3de8762107": { + "balance": "28000000000000000000" + }, + "9909650dd5b1397b8b8b0eb69499b291b0ad1213": { + "balance": "200000000000000000000" + }, + "b66675142e3111a1c2ea1eb2419cfa42aaf7a234": { + "balance": "1000000000000000000000" + }, + "7836f7ef6bc7bd0ff3acaf449c84dd6b1e2c939f": { + "balance": "4142296000000000000000" + }, + "3ddedbe48923fbf9e536bf9ffb0747c9cdd39eef": { + "balance": "16100000000000000000000" + }, + "c47d610b399250f70ecf1389bab6292c91264f23": { + "balance": "288800000000000000000" + }, + "51a6d627f66a8923d88d6094c4715380d3057cb6": { + "balance": "1152044000000000000000" + }, + "6c0cc917cbee7d7c099763f14e64df7d34e2bf09": { + "balance": "250000000000000000000" + }, + "aaaae68b321402c8ebc13468f341c63c0cf03fce": { + "balance": "1520000000000000000000" + }, + "819cdaa5303678ef7cec59d48c82163acc60b952": { + "balance": "14523448000000000000000" + }, + "d071192966eb69c3520fca3aa4dd04297ea04b4e": { + "balance": "110000000000000000000" + }, + "e53425d8df1f11c341ff58ae5f1438abf1ca53cf": { + "balance": "322000000000000000000" + }, + "8ffe322997b8e404422d19c54aadb18f5bc8e9b7": { + "balance": "3940000000000000000000" + }, + "305f78d618b990b4295bac8a2dfa262884f804ea": { + "balance": "4000000000000000000000" + }, + "274d69170fe7141401882b886ac4618c6ae40edb": { + "balance": "955000000000000000000" + }, + "69c94e07c4a9be3384d95dfa3cb9290051873b7b": { + "balance": "70000000000000000000" + }, + "859c600cf13d1d0273d5d1da3cd789e495899f27": { + "balance": "2674000000000000000000" + }, + "c06cebbbf7f5149a66f7eb976b3e47d56516da2f": { + "balance": "2000000000000000000000" + }, + "37bbc47212d82fcb5ee08f5225ecc2041ad2da7d": { + "balance": "3280000000000000000000" + }, + "11e7997edd904503d77da6038ab0a4c834bbd563": { + "balance": "388000000000000000000" + }, + "d333627445f2d787901ef33bb2a8a3675e27ffec": { + "balance": "400000000000000000000" + }, + "16a58e985dccd707a594d193e7cca78b5d027849": { + "balance": "1360000000000000000000" + }, + "f8ae857b67a4a2893a3fbe7c7a87ff1c01c6a6e7": { + "balance": "4000000000000000000000" + }, + "491561db8b6fafb9007e62d050c282e92c4b6bc8": { + "balance": "30000000000000000000000" + }, + "21df1ec24b4e4bfe79b0c095cebae198f291fbd1": { + "balance": "20000000000000000000000" + }, + "e208812a684098f3da4efe6aba256256adfe3fe6": { + "balance": "2000000000000000000000" + }, + "f4ec8e97a20aa5f8dd206f55207e06b813df2cc0": { + "balance": "200000000000000000000" + }, + "29eb7eefdae9feb449c63ff5f279d67510eb1422": { + "balance": "19400000000000000000" + }, + "0d678706d037187f3e22e6f69b99a592d11ebc59": { + "balance": "1580000000000000000000" + }, + "de6d363106cc6238d2f092f0f0372136d1cd50c6": { + "balance": "5348000000000000000000" + }, + "c8710d7e8b5a3bd69a42fe0fa8b87c357fddcdc8": { + "balance": "4000000000000000000000" + }, + "5267f4d41292f370863c90d793296903843625c7": { + "balance": "1400000000000000000000" + }, + "4cda41dd533991290794e22ae324143e309b3d3d": { + "balance": "2400000000000000000000" + }, + "f8a50cee2e688ceee3aca4d4a29725d4072cc483": { + "balance": "2000000000000000000000" + }, + "5ed3bbc05240e0d399eb6ddfe60f62de4d9509af": { + "balance": "193999806000000000000000" + }, + "0befb54707f61b2c9fb04715ab026e1bb72042bd": { + "balance": "4000000000000000000000" + }, + "cab9a301e6bd46e940355028eccd40ce4d5a1ac3": { + "balance": "400000000000000000000" + }, + "64672da3ab052821a0243d1ce4b6e0a36517b8eb": { + "balance": "200000000000000000000" + }, + "eac0827eff0c6e3ff28a7d4a54f65cb7689d7b99": { + "balance": "2856500000000000000000" + }, + "f4b6cdcfcb24230b337d770df6034dfbd4e1503f": { + "balance": "19000000000000000000000" + }, + "7be2f7680c802da6154c92c0194ae732517a7169": { + "balance": "18200000000000000000" + }, + "869f1aa30e4455beb1822091de5cadec79a8f946": { + "balance": "8000000000000000000000" + }, + "c4681e73bb0e32f6b726204831ff69baa4877e32": { + "balance": "1820000000000000000000" + }, + "962cd22a8edf1e4f4e55b4b15ddbfb5d9d541971": { + "balance": "2000000000000000000000" + }, + "131df8d330eb7cc7147d0a55576f05de8d26a8b7": { + "balance": "188000000000000000000" + }, + "19f99f2c0b46ce8906875dc9f90ae104dae35594": { + "balance": "4507300000000000000000" + }, + "91bb3f79022bf3c453f4ff256e269b15cf2c9cbd": { + "balance": "1519000000000000000000" + }, + "7301dc4cf26d7186f2a11bf8b08bf229463f64a3": { + "balance": "2000000000000000000000" + }, + "7cbca88fca6a0060b960985c9aa1b02534dc2208": { + "balance": "462500000000000000000" + }, + "f3c1abd29dc57b41dc192d0e384d021df0b4f6d4": { + "balance": "2798000000000000000000" + }, + "5d32f6f86e787ff78e63d78b0ef95fe6071852b8": { + "balance": "401100000000000000000" + }, + "1678c5f2a522393225196361894f53cc752fe2f3": { + "balance": "1936000000000000000000" + }, + "1cf04cb14380059efd3f238b65d5beb86afa14d8": { + "balance": "20000000000000000000" + }, + "52e1731350f983cc2c4189842fde0613fad50ce1": { + "balance": "11640000000000000000000" + }, + "d0b11d6f2bce945e0c6a5020c3b52753f803f9d1": { + "balance": "200000000000000000000" + }, + "409bd75085821c1de70cdc3b11ffc3d923c74010": { + "balance": "4000000000000000000000" + }, + "0bb7160aba293762f8734f3e0326ffc9a4cac190": { + "balance": "1000000000000000000000" + }, + "7aad4dbcd3acf997df93586956f72b64d8ad94ee": { + "balance": "4000000000000000000000" + }, + "2dec98329d1f96c3a59caa7981755452d4da49d5": { + "balance": "200000000000000000000" + }, + "c18ab467feb5a0aadfff91230ff056464d78d800": { + "balance": "2000000000000000000000" + }, + "c90c3765156bca8e4897ab802419153cbe5225a9": { + "balance": "200000000000000000000" + }, + "85c8f3cc7a354feac99a5e7bfe7cdfa351cfe355": { + "balance": "400000000000000000000" + }, + "f4fc4d39bc0c2c4068a36de50e4ab4d4db7e340a": { + "balance": "25380000000000000000" + }, + "f50abbd4aa45d3eb88515465a8ba0b310fd9b521": { + "balance": "6685000000000000000000" + }, + "4d200110124008d56f76981256420c946a6ff45c": { + "balance": "199955000000000000000" + }, + "f4ba6a46d55140c439cbcf076cc657136262f4f8": { + "balance": "2000000000000000000000" + }, + "fa7adf660b8d99ce15933d7c5f072f3cbeb99d33": { + "balance": "5910000000000000000000" + }, + "84503334630d77f74147f68b2e086613c8f1ade9": { + "balance": "1600000000000000000000" + }, + "31ed858788bda4d5270992221cc04206ec62610d": { + "balance": "1176000000000000000000" + }, + "bfbca418d3529cb393081062032a6e1183c6b2dc": { + "balance": "8000000000000000000000" + }, + "8263ece5d709e0d7ae71cca868ed37cd2fef807b": { + "balance": "990000000000000000000" + }, + "23ba3864da583dab56f420873c37679690e02f00": { + "balance": "9800000000000000000000" + }, + "cedcb3a1d6843fb6bef643617deaf38f8e98dd5f": { + "balance": "477500000000000000000" + }, + "8fac748f784a0fed68dba43319b42a75b4649c6e": { + "balance": "910000000000000000000" + }, + "18b8bcf98321da61fb4e3eacc1ec5417272dc27e": { + "balance": "880000000000000000000" + }, + "776943ffb2ef5cdd35b83c28bc046bd4f4677098": { + "balance": "3000000000000000000000" + }, + "fb8113f94d9173eefd5a3073f516803a10b286ae": { + "balance": "80000000000000000000" + }, + "3e8349b67f5745449f659367d9ad4712db5b895a": { + "balance": "1820000000000000000000" + }, + "79cfa9780ae6d87b2c31883f09276986c89a6735": { + "balance": "1000000000000000000000" + }, + "5006fe4c22173980f00c74342b39cd231c653129": { + "balance": "2000000000000000000000" + }, + "13848b46ea75beb7eaa85f59d866d77fd24cf21a": { + "balance": "50000000000000000000000" + }, + "d64a2d50f8858537188a24e0f50df1681ab07ed7": { + "balance": "38800000000000000000000" + }, + "4f9ce2af9b8c5e42c6808a3870ec576f313545d1": { + "balance": "10000000000000000000000" + }, + "8764d02722000996ecd475b433298e9f540b05bf": { + "balance": "200000000000000000000" + }, + "3b7c77dbe95dc2602ce3269a9545d04965fefdbd": { + "balance": "2000000000000000000000" + }, + "c9dcbb056f4db7d9da39936202c5bd8230b3b477": { + "balance": "20000000000000000000000" + }, + "9ecbabb0b22782b3754429e1757aaba04b81189f": { + "balance": "823743000000000000000" + }, + "831c44b3084047184b2ad218680640903750c45d": { + "balance": "1970000000000000000000" + }, + "ff8eb07de3d49d9d52bbe8e5b26dbe1d160fa834": { + "balance": "3986000000000000000000" + }, + "8ccf3aa21ab742576ad8c422f71bb188591dea8a": { + "balance": "1000000000000000000000" + }, + "ddac312a9655426a9c0c9efa3fd82559ef4505bf": { + "balance": "401100000000000000000" + }, + "9a3e2b1bf346dd070b027357feac44a4b2c97db8": { + "balance": "10000000000000000000000" + }, + "69d39d510889e552a396135bfcdb06e37e387633": { + "balance": "4000000000000000000000" + }, + "83a3148833d9644984f7c475a7850716efb480ff": { + "balance": "3400000000000000000000" + }, + "62b4a9226e61683c72c183254690daf511b4117a": { + "balance": "260000000000000000000" + }, + "50763add868fd7361178342fc055eaa2b95f6846": { + "balance": "66838000000000000000" + }, + "91898eab8c05c0222883cd4db23b7795e1a24ad7": { + "balance": "2000000000000000000000" + }, + "066647cfc85d23d37605573d208ca154b244d76c": { + "balance": "10000000000000000000000" + }, + "aaf9ee4b886c6d1e95496fd274235bf4ecfcb07d": { + "balance": "1400000000000000000000" + }, + "06860a93525955ff624940fadcffb8e149fd599c": { + "balance": "1999800000000000000000" + }, + "e81c2d346c0adf4cc56708f6394ba6c8c8a64a1e": { + "balance": "2000000000000000000000" + }, + "41a8e236a30e6d63c1ff644d132aa25c89537e01": { + "balance": "20000000000000000000" + }, + "6a679e378fdce6bfd97fe62f043c6f6405d79e99": { + "balance": "4000000000000000000000" + }, + "933436c8472655f64c3afaaf7c4c621c83a62b38": { + "balance": "1000000000000000000000" + }, + "abe07ced6ac5ddf991eff6c3da226a741bd243fe": { + "balance": "10000000000000000000000" + }, + "bb56a404723cff20d0685488b05a02cdc35aacaa": { + "balance": "20000000000000000000" + }, + "0d551ec1a2133c981d5fc6a8c8173f9e7c4f47af": { + "balance": "2000000000000000000000" + }, + "23376ecabf746ce53321cf42c86649b92b67b2ff": { + "balance": "2000000000000000000000" + }, + "644ba6c61082e989109f5c11d4b40e991660d403": { + "balance": "4000000000000000000000" + }, + "680d5911ed8dd9eec45c060c223f89a7f620bbd5": { + "balance": "20000000000000000000000" + }, + "cb1bb6f1da5eb10d4899f7e61d06c1b00fdfb52d": { + "balance": "1038000000000000000000" + }, + "303a30ac4286ae17cf483dad7b870c6bd64d7b4a": { + "balance": "500000000000000000000" + }, + "7b0b31ff6e24745ead8ed9bb85fc0bf2fe1d55d4": { + "balance": "800000000000000000000" + }, + "854691ce714f325ced55ce5928ce9ba12facd1b8": { + "balance": "4380000000000000000000" + }, + "a13cfe826d6d1841dcae443be8c387518136b5e8": { + "balance": "140000000000000000000000" + }, + "5fcd84546896dd081db1a320bd4d8c1dd1528c4c": { + "balance": "20000000000000000000" + }, + "3db5fe6a68bd3612ac15a99a61e555928eeceaf3": { + "balance": "1580000000000000000000" + }, + "7a79e30ff057f70a3d0191f7f53f761537af7dff": { + "balance": "400000000000000000000" + }, + "3d3fad49c9e5d2759c8e8e5a7a4d60a0dd135692": { + "balance": "20000000000000000000" + }, + "05a830724302bc0f6ebdaa1ebeeeb46e6ce00b39": { + "balance": "98500000000000000000" + }, + "e4b6ae22c7735f5b89f34dd77ad0975f0acc9181": { + "balance": "1000000000000000000000" + }, + "3f2dd55db7eab0ebee65b33ed8202c1e992e958b": { + "balance": "820000000000000000000" + }, + "395d6d255520a8db29abc47d83a5db8a1a7df087": { + "balance": "100000000000000000000" + }, + "1cc90876004109cd79a3dea866cb840ac364ba1b": { + "balance": "2000000000000000000000" + }, + "c83e9d6a58253beebeb793e6f28b054a58491b74": { + "balance": "281800000000000000000" + }, + "901d99b699e5c6911519cb2076b4c76330c54d22": { + "balance": "2000000000000000000000" + }, + "3a9132b7093d3ec42e1e4fb8cb31ecdd43ae773c": { + "balance": "2000000000000000000000" + }, + "b41eaf5d51a5ba1ba39bb418dbb54fab750efb1f": { + "balance": "1000000000000000000000" + }, + "aa493d3f4fb866491cf8f800efb7e2324ed7cfe5": { + "balance": "1700000000000000000000" + }, + "509982f56237ee458951047e0a2230f804e2e895": { + "balance": "17500000000000000000000" + }, + "316e92a91bbda68b9e2f98b3c048934e3cc0b416": { + "balance": "2000000000000000000000" + }, + "a3430e1f647f321ed34739562323c7d623410b56": { + "balance": "999942000000000000000" + }, + "fca43bbc23a0d321ba9e46b929735ce7d8ef0c18": { + "balance": "20000000000000000000" + }, + "ff45cb34c928364d9cc9d8bb00373474618f06f3": { + "balance": "100000000000000000000" + }, + "8c999591fd72ef7111efca7a9e97a2356b3b000a": { + "balance": "4084000000000000000000" + }, + "8579dadf1a395a3471e20b6f763d9a0ff19a3f6f": { + "balance": "4000000000000000000000" + }, + "c8d4e1599d03b79809e0130a8dc38408f05e8cd3": { + "balance": "2945500000000000000000" + }, + "2abce1808940cd4ef5b5e05285f82df7a9ab5e03": { + "balance": "9800000000000000000000" + }, + "0bb0c12682a2f15c9b5741b2385cbe41f034068e": { + "balance": "1500000000000000000000" + }, + "08b7bdcf944d5570838be70460243a8694485858": { + "balance": "2000000000000000000000" + }, + "c452e0e4b3d6ae06b836f032ca09db409ddfe0fb": { + "balance": "800000000000000000000" + }, + "48d4f2468f963fd79a006198bb67895d2d5aa4d3": { + "balance": "1400000000000000000000" + }, + "f9e7222faaf0f4da40c1c4a40630373a09bed7b6": { + "balance": "2865000000000000000000" + }, + "bf59aee281fa43fe97194351a9857e01a3b897b2": { + "balance": "600000000000000000000" + }, + "da0d4b7ef91fb55ad265f251142067f10376ced6": { + "balance": "20000000000000000000000" + }, + "2c6f5c124cc789f8bb398e3f889751bc4b602d9e": { + "balance": "24928000000000000000" + }, + "c85ef27d820403805fc9ed259fff64acb8d6346a": { + "balance": "2000000000000000000000" + }, + "9aa8308f42910e5ade09c1a5e282d6d91710bdbf": { + "balance": "200000000000000000000" + }, + "9e4cec353ac3e381835e3c0991f8faa5b7d0a8e6": { + "balance": "9999917000000000000000" + }, + "137cf341e8516c815814ebcd73e6569af14cf7bc": { + "balance": "1000000000000000000000" + }, + "889da662eb4a0a2a069d2bc24b05b4ee2e92c41b": { + "balance": "1663417000000000000000" + }, + "0998d8273115b56af43c505e087aff0676ed3659": { + "balance": "3999984000000000000000" + }, + "3e4d13c55a84e46ed7e9cb90fd355e8ad991e38f": { + "balance": "1000000000000000000000" + }, + "abc068b4979b0ea64a62d3b7aa897d73810dc533": { + "balance": "1970000000000000000000" + }, + "d8fdf546674738c984d8fab857880b3e4280c09e": { + "balance": "20000000000000000000" + }, + "aff161740a6d909fe99c59a9b77945c91cc91448": { + "balance": "60000000000000000000" + }, + "92ad1b3d75fba67d54663da9fc848a8ade10fa67": { + "balance": "2000000000000000000000" + }, + "819eb4990b5aba5547093da12b6b3c1093df6d46": { + "balance": "1000000000000000000000" + }, + "643d9aeed4b180947ed2b9207cce4c3ddc55e1f7": { + "balance": "200000000000000000000" + }, + "ab3e62e77a8b225e411592b1af300752fe412463": { + "balance": "9850000000000000000000" + }, + "650b425555e4e4c51718146836a2c1ee77a5b421": { + "balance": "20000000000000000000000" + }, + "ba8e46d69d2e2343d86c60d82cf42c2041a0c1c2": { + "balance": "100000000000000000000" + }, + "f9570e924c95debb7061369792cf2efec2a82d5e": { + "balance": "20000000000000000000" + }, + "4dc4bf5e7589c47b28378d7503cf96488061dbbd": { + "balance": "1760000000000000000000" + }, + "3d7ea5bf03528100ed8af8aed2653e921b6e6725": { + "balance": "1000000000000000000000" + }, + "a02bde6461686e19ac650c970d0672e76dcb4fc2": { + "balance": "8865000000000000000000" + }, + "b0e760bb07c081777345e0578e8bc898226d4e3b": { + "balance": "2000000000000000000000" + }, + "979cbf21dfec8ace3f1c196d82df962534df394f": { + "balance": "2832860000000000000000" + }, + "9f8245c3ab7d173164861cd3991b94f1ba40a93a": { + "balance": "2860000000000000000000" + }, + "c25cf826550c8eaf10af2234fef904ddb95213be": { + "balance": "1000000000000000000000" + }, + "967bfaf76243cdb9403c67d2ceefdee90a3feb73": { + "balance": "970582000000000000000" + }, + "0b2113504534642a1daf102eee10b9ebde76e261": { + "balance": "2733351000000000000000" + }, + "74bc4a5e2045f4ff8db184cf3a9b0c065ad807d2": { + "balance": "2000000000000000000000" + }, + "f1da40736f99d5df3b068a5d745fafc6463fc9b1": { + "balance": "121546000000000000000" + }, + "0fa6c7b0973d0bae2940540e247d3627e37ca347": { + "balance": "1000000000000000000000" + }, + "72b05962fb2ad589d65ad16a22559eba1458f387": { + "balance": "133700000000000000000" + }, + "6ceae3733d8fa43d6cd80c1a96e8eb93109c83b7": { + "balance": "298000000000000000000" + }, + "28eaea78cd4d95faecfb68836eafe83520f3bbb7": { + "balance": "200000000000000000000" + }, + "f49f6f9baabc018c8f8e119e0115f491fc92a8a4": { + "balance": "10000000000000000000000" + }, + "833316985d47742bfed410604a91953c05fb12b0": { + "balance": "2000000000000000000000" + }, + "ead75016e3a0815072b6b108bcc1b799acf0383e": { + "balance": "2000000000000000000000" + }, + "0032403587947b9f15622a68d104d54d33dbd1cd": { + "balance": "77500000000000000000" + }, + "8f64b9c1246d857831643107d355b5c75fef5d4f": { + "balance": "1999944000000000000000" + }, + "15dcafcc2bace7b55b54c01a1c514626bf61ebd8": { + "balance": "9400000000000000000000" + }, + "6886ada7bbb0617bda842191c68c922ea3a8ac82": { + "balance": "1160000000000000000000" + }, + "f736dc96760012388fe88b66c06efe57e0d7cf0a": { + "balance": "2100000000000000000000" + }, + "0b288a5a8b75f3dc4191eb0457e1c83dbd204d25": { + "balance": "4853000000000000000000" + }, + "56b6c23dd2ec90b4728f3bb2e764c3c50c85f144": { + "balance": "1000000000000000000000" + }, + "6310b020fd98044957995092090f17f04e52cdfd": { + "balance": "1580000000000000000000" + }, + "b0baeb30e313776c4c6d247402ba4167afcda1cc": { + "balance": "1970000000000000000000" + }, + "7641f7d26a86cddb2be13081810e01c9c83c4b20": { + "balance": "13370000000000000000" + }, + "07a8dadec142571a7d53a4297051786d072cba55": { + "balance": "22729000000000000000" + }, + "cc73dd356b4979b579b401d4cc7a31a268ddce5a": { + "balance": "500000000000000000000" + }, + "adf1acfe99bc8c14b304c8d905ba27657b8a7bc4": { + "balance": "20000000000000000000000" + }, + "72dabb5b6eed9e99be915888f6568056381608f8": { + "balance": "208433000000000000000" + }, + "9de20ae76aa08263b205d5142461961e2408d266": { + "balance": "252000000000000000000" + }, + "9d4ff989b7bed9ab109d10c8c7e55f02d76734ad": { + "balance": "1000000000000000000000" + }, + "e58dd23238ee6ea7c2138d385df500c325f376be": { + "balance": "1820000000000000000000" + }, + "4bd6dd0cff23400e1730ba7b894504577d14e74a": { + "balance": "206028000000000000000000" + }, + "35147430c3106500e79fa2f502462e94703c23b1": { + "balance": "1999944000000000000000" + }, + "c0ae14d724832e2fce2778de7f7b8daf7b12a93e": { + "balance": "20000000000000000000" + }, + "b57413060af3f14eb479065f1e9d19b3757ae8cc": { + "balance": "40000000000000000000" + }, + "7d04d2edc058a1afc761d9c99ae4fc5c85d4c8a6": { + "balance": "314807840000000000000000" + }, + "1c94d636e684eb155895ce6db4a2588fba1d001b": { + "balance": "2000000000000000000000" + }, + "c721b2a7aa44c21298e85039d00e2e460e670b9c": { + "balance": "140800000000000000000" + }, + "2d89a8006a4f137a20dc2bec46fe2eb312ea9654": { + "balance": "200000000000000000000" + }, + "646afba71d849e80c0ed59cac519b278e7f7abe4": { + "balance": "1000000000000000000000" + }, + "71f2cdd1b046e2da2fbb5a26723422b8325e25a3": { + "balance": "99960000000000000000" + }, + "2c9fa72c95f37d08e9a36009e7a4b07f29bad41a": { + "balance": "16100000000000000000" + }, + "848fbd29d67cf4a013cb02a4b176ef244e9ee68d": { + "balance": "20116000000000000000" + }, + "68190ca885da4231874c1cfb42b1580a21737f38": { + "balance": "3820000000000000000000" + }, + "9adf458bff3599eee1a26398853c575bc38c6313": { + "balance": "280000000000000000000" + }, + "b72220ade364d0369f2d2da783ca474d7b9b34ce": { + "balance": "499986000000000000000" + }, + "38e2af73393ea98a1d993a74df5cd754b98d529a": { + "balance": "1790000000000000000000" + }, + "4d38d90f83f4515c03cc78326a154d358bd882b7": { + "balance": "185000000000000000000" + }, + "aa8eb0823b07b0e6d20aadda0e95cf3835be192e": { + "balance": "32000000000000000000" + }, + "008639dabbe3aeac887b5dc0e43e13bcd287d76c": { + "balance": "310200000000000000000" + }, + "fa3a0c4b903f6ea52ea7ab7b8863b6a616ad6650": { + "balance": "20000000000000000000" + }, + "e26bf322774e18288769d67e3107deb7447707b8": { + "balance": "2000000000000000000000" + }, + "e061a4f2fc77b296d19ada238e49a5cb8ecbfa70": { + "balance": "4000000000000000000000" + }, + "b320834836d1dbfda9e7a3184d1ad1fd4320ccc0": { + "balance": "1000000000000000000000" + }, + "0ed3bb3a4eb554cfca97947d575507cdfd6d21d8": { + "balance": "547863000000000000000" + }, + "32fa0e86cd087dd68d693190f32d93310909ed53": { + "balance": "4000000000000000000000" + }, + "5b759fa110a31c88469f54d44ba303d57dd3e10f": { + "balance": "1683760000000000000000" + }, + "136f4907cab41e27084b9845069ff2fd0c9ade79": { + "balance": "4000000000000000000000" + }, + "3d89e505cb46e211a53f32f167a877bec87f4b0a": { + "balance": "25019000000000000000" + }, + "57a852fdb9b1405bf53ccf9508f83299d3206c52": { + "balance": "2000000000000000000000" + }, + "747abc9649056d3926044d28c3ad09ed17b67d70": { + "balance": "5000057000000000000000" + }, + "5c29f9e9a523c1f8669448b55c48cbd47c25e610": { + "balance": "964320000000000000000" + }, + "30a9da72574c51e7ee0904ba1f73a6b7b83b9b9d": { + "balance": "20200000000000000000" + }, + "220e2b92c0f6c902b513d9f1e6fab6a8b0def3d7": { + "balance": "800000000000000000000" + }, + "5af7c072b2c5acd71c76addcce535cf7f8f93585": { + "balance": "20000000000000000000" + }, + "81556db27349ab8b27004944ed50a46e941a0f5f": { + "balance": "3998000000000000000000" + }, + "987618c85656207c7bac1507c0ffefa2fb64b092": { + "balance": "64419000000000000000" + }, + "e0f372347c96b55f7d4306034beb83266fd90966": { + "balance": "400000000000000000000" + }, + "71784c105117c1f68935797fe159abc74e43d16a": { + "balance": "2001600000000000000000" + }, + "9284f96ddb47b5186ee558aa31324df5361c0f73": { + "balance": "16000000000000000000000" + }, + "a60c1209754f5d87b181da4f0817a81859ef9fd8": { + "balance": "50000000000000000000" + }, + "5afda9405c8e9736514574da928de67456010918": { + "balance": "6008500000000000000000" + }, + "6978696d5150a9a263513f8f74c696f8b1397cab": { + "balance": "6640000000000000000000" + }, + "a9ad1926bc66bdb331588ea8193788534d982c98": { + "balance": "30000000000000000000000" + }, + "e3f80b40fb83fb97bb0d5230af4f6ed59b1c7cc8": { + "balance": "1337000000000000000000" + }, + "e207578e1f4ddb8ff6d5867b39582d71b9812ac5": { + "balance": "3880000000000000000000" + }, + "86883d54cd3915e549095530f9ab1805e8c5432d": { + "balance": "4000000000000000000000" + }, + "6974c8a414ceaefd3c2e4dfdbef430568d9a960b": { + "balance": "334250000000000000000" + }, + "532d32b00f305bcc24dcef56817d622f34fb2c24": { + "balance": "1800000000000000000000" + }, + "761f8a3a2af0a8bdbe1da009321fb29764eb62a1": { + "balance": "10000000000000000000000" + }, + "4677b04e0343a32131fd6abb39b1b6156bba3d5b": { + "balance": "200000000000000000000" + }, + "ef69781f32ffce33346f2c9ae3f08493f3e82f89": { + "balance": "18200000000000000000" + }, + "e3b3d2c9bf570be6a2f72adca1862c310936a43c": { + "balance": "100100000000000000000" + }, + "d19caf39bb377fdf2cf19bd4fb52591c2631a63c": { + "balance": "1000000000000000000000" + }, + "5d68324bcb776d3ffd0bf9fea91d9f037fd6ab0f": { + "balance": "2000000000000000000000" + }, + "1c99fe9bb6c6d1066d912099547fd1f4809eacd9": { + "balance": "2000000000000000000000" + }, + "bbfe0a830cace87b7293993a7e9496ce64f8e394": { + "balance": "6000000000000000000000" + }, + "26c0054b700d3a7c2dcbe275689d4f4cad16a335": { + "balance": "2000000000000000000000" + }, + "7d7e7c61779adb7706c94d32409a2bb4e994bf60": { + "balance": "865992000000000000000" + }, + "d037d215d11d1df3d54fbd321cd295c5465e273b": { + "balance": "1400000000000000000000" + }, + "08166f02313feae18bb044e7877c808b55b5bf58": { + "balance": "1970000000000000000000" + }, + "781b1501647a2e06c0ed43ff197fccec35e1700b": { + "balance": "3000000000000000000000" + }, + "74316adf25378c10f576d5b41a6f47fa98fce33d": { + "balance": "336082000000000000000" + }, + "44e2fdc679e6bee01e93ef4a3ab1bcce012abc7c": { + "balance": "410231000000000000000" + }, + "178eaf6b8554c45dfde16b78ce0c157f2ee31351": { + "balance": "320000000000000000000" + }, + "cf923a5d8fbc3d01aa079d1cfe4b43ce071b1611": { + "balance": "2000000000000000000000" + }, + "0c28847e4f09dfce5f9b25af7c4e530f59c880fe": { + "balance": "1000000000000000000000" + }, + "54ce88275956def5f9458e3b95decacd484021a0": { + "balance": "2000000000000000000000" + }, + "9d4213339a01551861764c87a93ce8f85f87959a": { + "balance": "200000000000000000000" + }, + "e559b5fd337b9c5572a9bf9e0f2521f7d446dbe4": { + "balance": "200000000000000000000" + }, + "dcb03bfa6c1131234e56b7ea7c4f721487546b7a": { + "balance": "1337000000000000000000" + }, + "db6ff71b3db0928f839e05a7323bfb57d29c87aa": { + "balance": "910000000000000000000" + }, + "eb7c202b462b7cc5855d7484755f6e26ef43a115": { + "balance": "2000000000000000000000" + }, + "323486ca64b375474fb2b759a9e7a135859bd9f6": { + "balance": "400000000000000000000" + }, + "2c1df8a76f48f6b54bcf9caf56f0ee1cf57ab33d": { + "balance": "10118000000000000000000" + }, + "2cd87866568dd81ad47d9d3ad0846e5a65507373": { + "balance": "400000000000000000000" + }, + "8566610901aace38b83244f3a9c831306a67b9dc": { + "balance": "3256000000000000000000" + }, + "1c257ad4a55105ea3b58ed374b198da266c85f63": { + "balance": "10000000000000000000000" + }, + "cf4f1138f1bd6bf5b6d485cce4c1017fcb85f07d": { + "balance": "882038000000000000000" + }, + "c934becaf71f225f8b4a4bf7b197f4ac9630345c": { + "balance": "20000000000000000000000" + }, + "1e2bf4ba8e5ef18d37de6d6ad636c4cae489d0cc": { + "balance": "2000000000000000000000" + }, + "9d78a975b7db5e4d8e28845cfbe7e31401be0dd9": { + "balance": "1340000000000000000000" + }, + "16aa52cb0b554723e7060f21f327b0a68315fea3": { + "balance": "250000000000000000000" + }, + "97e28973b860c567402800fbb63ce39a048a3d79": { + "balance": "97000000000000000000" + }, + "4ac5acad000b8877214cb1ae00eac9a37d59a0fd": { + "balance": "4000000000000000000000" + }, + "01226e0ad8d62277b162621c62c928e96e0b9a8c": { + "balance": "2000000000000000000000" + }, + "479abf2da4d58716fd973a0d13a75f530150260a": { + "balance": "20000000000000000000" + }, + "31d81d526c195e3f10b5c6db52b5e59afbe0a995": { + "balance": "264000000000000000000" + }, + "749087ac0f5a97c6fad021538bf1d6cda18e0daa": { + "balance": "1000000000000000000000" + }, + "1565af837ef3b0bd4e2b23568d5023cd34b16498": { + "balance": "393284000000000000000" + }, + "997d6592a31589acc31b9901fbeb3cc3d65b3215": { + "balance": "2000000000000000000000" + }, + "9d207517422cc0d60de7c237097a4d4fce20940c": { + "balance": "500000000000000000000" + }, + "24b8b446debd1947955dd084f2c544933346d3ad": { + "balance": "4324135000000000000000" + }, + "107a03cf0842dbdeb0618fb587ca69189ec92ff5": { + "balance": "1970000000000000000000" + }, + "7f603aec1759ea5f07c7f8d41a1428fbbaf9e762": { + "balance": "20000000000000000000" + }, + "53a244672895480f4a2b1cdf7da5e5a242ec4dbc": { + "balance": "1000000000000000000000" + }, + "7db4c7d5b797e9296e6382f203693db409449d62": { + "balance": "400000000000000000000" + }, + "2ae82dab92a66389eea1abb901d1d57f5a7cca0b": { + "balance": "2000000000000000000000" + }, + "16bc40215abbd9ae5d280b95b8010b4514ff1292": { + "balance": "200000000000000000000" + }, + "bba4fac3c42039d828e742cde0efffe774941b39": { + "balance": "1999946000000000000000" + }, + "5431ca427e6165a644bae326bd09750a178c650d": { + "balance": "2000000000000000000000" + }, + "dcf33965531380163168fc11f67e89c6f1bc178a": { + "balance": "334885000000000000000" + }, + "65fd02d704a12a4dace9471b0645f962a89671c8": { + "balance": "28615000000000000000" + }, + "135d1719bf03e3f866312479fe338118cd387e70": { + "balance": "2000000000000000000000" + }, + "f3159866c2bc86bba40f9d73bb99f1eee57bb9d7": { + "balance": "1000000000000000000000" + }, + "e3a4621b66004588e31206f718cb00a319889cf0": { + "balance": "2000000000000000000000" + }, + "abcdbc8f1dd13af578d4a4774a62182bedf9f9be": { + "balance": "36660000000000000000" + }, + "9fbe066de57236dc830725d32a02aef9246c6c5e": { + "balance": "2000000000000000000000" + }, + "81cfad760913d3c322fcc77b49c2ae3907e74f6e": { + "balance": "197000000000000000000" + }, + "0ab59d390702c9c059db148eb4f3fcfa7d04c7e7": { + "balance": "18200000000000000000" + }, + "2c2db28c3309375eea3c6d72cd6d0eec145afcc0": { + "balance": "2000000000000000000000" + }, + "08306de51981e7aca1856859b7c778696a6b69f9": { + "balance": "3200000000000000000000" + }, + "f814799f6ddf4dcb29c7ee870e75f9cc2d35326d": { + "balance": "1000000000000000000000" + }, + "ee867d20916bd2e9c9ece08aa04385db667c912e": { + "balance": "50000000000000000000000" + }, + "97a86f01ce3f7cfd4441330e1c9b19e1b10606ef": { + "balance": "2000000000000000000000" + }, + "4c759813ad1386bed27ffae9e4815e3630cca312": { + "balance": "2000000000000000000000" + }, + "8f226096c184ebb40105e08dac4d22e1c2d54d30": { + "balance": "306552000000000000000" + }, + "13acada8980affc7504921be84eb4944c8fbb2bd": { + "balance": "1601600000000000000000" + }, + "122dcfd81addb97d1a0e4925c4b549806e9f3beb": { + "balance": "1514954000000000000000" + }, + "232f525d55859b7d4e608d20487faadb00293135": { + "balance": "4000000000000000000000" + }, + "6f7ac681d45e418fce8b3a1db5bc3be6f06c9849": { + "balance": "2000000000000000000000" + }, + "0c8692eeff2a53d6d1688ed56a9ddbbd68dabba1": { + "balance": "2000000000000000000000" + }, + "6a6337833f8f6a6bf10ca7ec21aa810ed444f4cb": { + "balance": "1028200000000000000000" + }, + "209377b6ad3fe101c9685b3576545c6b1684e73c": { + "balance": "1820000000000000000000" + }, + "560fc08d079f047ed8d7df75551aa53501f57013": { + "balance": "7600000000000000000000" + }, + "8e78f351457d016f4ad2755ec7424e5c21ba6d51": { + "balance": "146000000000000000000" + }, + "2ce11a92fad024ff2b3e87e3b542e6c60dcbd996": { + "balance": "4000000000000000000000" + }, + "8ab839aeaf2ad37cb78bacbbb633bcc5c099dc46": { + "balance": "2000000000000000000000" + }, + "673144f0ec142e770f4834fee0ee311832f3087b": { + "balance": "500038000000000000000" + }, + "ba8a63f3f40de4a88388bc50212fea8e064fbb86": { + "balance": "2000000000000000000000" + }, + "ee899b02cbcb3939cd61de1342d50482abb68532": { + "balance": "1760000000000000000000" + }, + "c2d9eedbc9019263d9d16cc5ae072d1d3dd9db03": { + "balance": "20000000000000000000000" + }, + "355c0c39f5d5700b41d375b3f17851dcd52401f9": { + "balance": "3979000000000000000000" + }, + "8179c80970182cc5b7d82a4df06ea94db63a25f3": { + "balance": "727432000000000000000" + }, + "b388b5dfecd2c5e4b596577c642556dbfe277855": { + "balance": "20000000000000000000" + }, + "a9e28337e6357193d9e2cb236b01be44b81427df": { + "balance": "2200000000000000000000" + }, + "04ba4bb87140022c214a6fac42db5a16dd954045": { + "balance": "1000000000000000000000" + }, + "67c926093e9b8927933810d98222d62e2b8206bb": { + "balance": "1910000000000000000000" + }, + "ed7346766e1a676d0d06ec821867a276a083bf31": { + "balance": "4012890000000000000000" + }, + "92558226b384626cad48e09d966bf1395ee7ea5d": { + "balance": "334250000000000000000" + }, + "bdf693f833c3fe471753184788eb4bfe4adc3f96": { + "balance": "1970000000000000000000" + }, + "4474299d0ee090dc90789a1486489c3d0d645e6d": { + "balance": "1000000000000000000000" + }, + "b1178ad47383c31c8134a1941cbcd474d06244e2": { + "balance": "1000000000000000000000" + }, + "979d681c617da16f21bcaca101ed16ed015ab696": { + "balance": "1880000000000000000000" + }, + "6b20c080606a79c73bd8e75b11717a4e8db3f1c3": { + "balance": "299720000000000000000" + }, + "b85218f342f8012eda9f274e63ce2152b2dcfdab": { + "balance": "3100000000000000000000" + }, + "530b61e42f39426d2408d40852b9e34ab5ebebc5": { + "balance": "267400000000000000000" + }, + "76afc225f4fa307de484552bbe1d9d3f15074c4a": { + "balance": "2998800000000000000000" + }, + "1e783e522ab7df0acaac9eeed3593039e5ac7579": { + "balance": "203435800000000000000000" + }, + "0f7bf6373f771a4601762c4dae5fbbf4fedd9cc9": { + "balance": "2000000000000000000000" + }, + "7a8797690ab77b5470bf7c0c1bba612508e1ac7d": { + "balance": "8865000000000000000000" + }, + "2a2ab6b74c7af1d9476bb5bcb4524797bedc3552": { + "balance": "1000000000000000000000" + }, + "523e140dc811b186dee5d6c88bf68e90b8e096fd": { + "balance": "2000000000000000000000" + }, + "ea8168fbf225e786459ca6bb18d963d26b505309": { + "balance": "500000000000000000000" + }, + "20ff3ede8cadb5c37b48cb14580fb65e23090a7b": { + "balance": "42000000000000000000000" + }, + "e482d255ede56b04c3e8df151f56e9ca62aaa8c2": { + "balance": "500000000000000000000" + }, + "2e0880a34596230720f05ac8f065af8681dcb6c2": { + "balance": "100000000000000000000000" + }, + "c674f28c8afd073f8b799691b2f0584df942e844": { + "balance": "2000000000000000000000" + }, + "b646df98b49442746b61525c81a3b04ba3106250": { + "balance": "1970000000000000000000" + }, + "d55c1c8dfbe1e02cacbca60fdbdd405b09f0b75f": { + "balance": "2000000000000000000000" + }, + "65ebaed27edb9dcc1957aee5f452ac2105a65c0e": { + "balance": "43531987000000000000000" + }, + "f079e1b1265f50e8c8a98ec0c7815eb3aeac9eb4": { + "balance": "20094000000000000000" + }, + "867eba56748a5904350d2ca2a5ce9ca00b670a9b": { + "balance": "20000000000000000000000" + }, + "51ee0cca3bcb10cd3e983722ced8493d926c0866": { + "balance": "999972000000000000000" + }, + "88d541c840ce43cefbaf6d19af6b9859b573c145": { + "balance": "170000000000000000000" + }, + "f851b010f633c40af1a8f06a73ebbaab65077ab5": { + "balance": "4400000000000000000000" + }, + "e0aa69365555b73f282333d1e30c1bbd072854e8": { + "balance": "7000000000000000000000" + }, + "c7b1c83e63203f9547263ef6282e7da33b6ed659": { + "balance": "18200000000000000000" + }, + "af06f5fa6d1214ec43967d1bd4dde74ab814a938": { + "balance": "88000000000000000000" + }, + "991173601947c2084a62d639527e961512579af9": { + "balance": "600000000000000000000" + }, + "7a381122bada791a7ab1f6037dac80432753baad": { + "balance": "10000000000000000000000" + }, + "e766f34ff16f3cfcc97321721f43ddf5a38b0cf4": { + "balance": "1550000000000000000000" + }, + "d785a8f18c38b9bc4ffb9b8fa8c7727bd642ee1c": { + "balance": "1000000000000000000000" + }, + "aebd4f205de799b64b3564b256d42a711d37ef99": { + "balance": "1177100000000000000000" + }, + "a2fa17c0fb506ce494008b9557841c3f641b8cae": { + "balance": "20000000000000000000" + }, + "a8aca748f9d312ec747f8b6578142694c7e9f399": { + "balance": "2000000000000000000000" + }, + "950c68a40988154d2393fff8da7ccda99614f72c": { + "balance": "4597943000000000000000" + }, + "075d15e2d33d8b4fa7dba8b9e607f04a261e340b": { + "balance": "1910000000000000000000" + }, + "3616d448985f5d32aefa8b93a993e094bd854986": { + "balance": "205400000000000000000" + }, + "4bb9655cfb2a36ea7c637a7b859b4a3154e26ebe": { + "balance": "16000000000000000000000" + }, + "84949dba559a63bfc845ded06e9f2d9b7f11ef24": { + "balance": "2000000000000000000000" + }, + "937563d8a80fd5a537b0e66d20a02525d5d88660": { + "balance": "2500000000000000000000" + }, + "b183ebee4fcb42c220e47774f59d6c54d5e32ab1": { + "balance": "1604266000000000000000" + }, + "21e5d77320304c201c1e53b261a123d0a1063e81": { + "balance": "86972000000000000000" + }, + "fa14b566234abee73042c31d21717182cba14aa1": { + "balance": "328000000000000000000" + }, + "2da617695009cc57d26ad490b32a5dfbeb934e5e": { + "balance": "20000000000000000000000" + }, + "3326b88de806184454c40b27f309d9dd6dcfb978": { + "balance": "17900000000000000000000" + }, + "95e6a54b2d5f67a24a4875af75107ca7ea9fd2fa": { + "balance": "1337000000000000000000" + }, + "8db58e406e202df9bc703c480bd8ed248d52a032": { + "balance": "2000000000000000000000" + }, + "f777361a3dd8ab62e5f1b9b047568cc0b555704c": { + "balance": "1000000000000000000000" + }, + "83a93b5ba41bf88720e415790cdc0b67b4af34c4": { + "balance": "200000000000000000000" + }, + "8a1cc5ac111c49bfcfd848f37dd768aa65c88802": { + "balance": "10000000000000000000000" + }, + "52214378b54004056a7cc08c891327798ac6b248": { + "balance": "15200000000000000000000" + }, + "ad80d865b85c34d2e6494b2e7aefea6b9af184db": { + "balance": "4000000000000000000000" + }, + "e7d6240620f42c5edbb2ede6aec43da4ed9b5757": { + "balance": "1000000000000000000000" + }, + "d0e35e047646e759f4517093d6408642517f084d": { + "balance": "3939507000000000000000" + }, + "9340345ca6a3eabdb77363f2586043f29438ce0b": { + "balance": "530922000000000000000" + }, + "6640ccf053555c130ae2b656647ea6e31637b9ab": { + "balance": "1970000000000000000000" + }, + "184d86f3466ae6683b19729982e7a7e1a48347b2": { + "balance": "10000000000000000000000" + }, + "84ec06f24700fe42414cb9897c154c88de2f6132": { + "balance": "1337000000000000000000" + }, + "d1e5e234a9f44266a4a6241a84d7a1a55ad5a7fe": { + "balance": "20000000000000000000000" + }, + "e8a9a41740f44f54c3688b53e1ddd42e43c9fe94": { + "balance": "4000000000000000000000" + }, + "6e3a51db743d334d2fe88224b5fe7c008e80e624": { + "balance": "106000000000000000000" + }, + "3e94df5313fa520570ef232bc3311d5f622ff183": { + "balance": "2000000000000000000000" + }, + "8957727e72cf629020f4e05edf799aa7458062d0": { + "balance": "2200000000000000000000" + }, + "cf5e0eacd1b39d0655f2f77535ef6608eb950ba0": { + "balance": "2000000000000000000000" + }, + "f4aaa3a6163e3706577b49c0767e948a681e16ee": { + "balance": "2000000000000000000000" + }, + "97f1fe4c8083e596212a187728dd5cf80a31bec5": { + "balance": "20000000000000000000" + }, + "57d5fd0e3d3049330ffcdcd020456917657ba2da": { + "balance": "1991240000000000000000" + }, + "49bdbc7ba5abebb6389e91a3285220d3451bd253": { + "balance": "1000000000000000000000" + }, + "ae126b382cf257fad7f0bc7d16297e54cc7267da": { + "balance": "300000000000000000000" + }, + "bbf8616d97724af3def165d0e28cda89b800009a": { + "balance": "114063000000000000000" + }, + "adb948b1b6fefe207de65e9bbc2de98e605d0b57": { + "balance": "2000000000000000000000" + }, + "8a217db38bc35f215fd92906be42436fe7e6ed19": { + "balance": "6000000000000000000000" + }, + "e28b062259e96eeb3c8d4104943f9eb325893cf5": { + "balance": "1337000000000000000000" + }, + "6a6b18a45a76467e2e5d5a2ef911c3e12929857b": { + "balance": "82000000000000000000000" + }, + "cb68ae5abe02dcf8cbc5aa719c25814651af8b85": { + "balance": "500000000000000000000" + }, + "4c7e2e2b77ad0cd6f44acb2861f0fb8b28750ef9": { + "balance": "20000000000000000000" + }, + "58ba1569650e5bbbb21d35d3e175c0d6b0c651a9": { + "balance": "500000000000000000000" + }, + "1eb4bf73156a82a0a6822080c6edf49c469af8b9": { + "balance": "1910000000000000000000" + }, + "4103299671d46763978fa4aa19ee34b1fc952784": { + "balance": "200000000000000000000" + }, + "e321bb4a946adafdade4571fb15c0043d39ee35f": { + "balance": "1575212000000000000000" + }, + "893608751d68d046e85802926673cdf2f57f7cb8": { + "balance": "19700000000000000000" + }, + "70fee08b00c6c2c04a3c625c1ff77caf1c32df01": { + "balance": "200000000000000000000" + }, + "7b0fea1176d52159333a143c294943da36bbddb4": { + "balance": "9380000000000000000000" + }, + "d331c823825a9e5263d052d8915d4dcde07a5c37": { + "balance": "564000000000000000000" + }, + "a45432a6f2ac9d56577b938a37fabac8cc7c461c": { + "balance": "1000000000000000000000" + }, + "764fc46d428b6dbc228a0f5f55c9508c772eab9f": { + "balance": "26000000000000000000000" + }, + "1a95a8a8082e4652e4170df9271cb4bb4305f0b2": { + "balance": "50000000000000000000" + }, + "08c9f1bfb689fdf804d769f82123360215aff93b": { + "balance": "1970000000000000000000" + }, + "1572cdfab72a01ce968e78f5b5448da29853fbdd": { + "balance": "5061500000000000000000" + }, + "379c7166849bc24a02d6535e2def13daeef8aa8d": { + "balance": "100000000000000000000" + }, + "e0a254ac09b9725bebc8e460431dd0732ebcabbf": { + "balance": "6000000000000000000000" + }, + "3225c1ca5f2a9c88156bb7d9cdc44a326653c214": { + "balance": "400000000000000000000" + }, + "84686c7bad762c54b667d59f90943cd14d117a26": { + "balance": "20000000000000000000" + }, + "3d5a8b2b80be8b35d8ecf789b5ed7a0775c5076c": { + "balance": "20000000000000000000" + }, + "2ccf80e21898125eb4e807cd82e09b9d28592f6e": { + "balance": "2000000000000000000000" + }, + "dde969aef34ea87ac299b7597e292b4a0155cc8a": { + "balance": "298819000000000000000" + }, + "19e94e620050aad766b9e1bad931238312d4bf49": { + "balance": "2396000000000000000000" + }, + "959f57fded6ae37913d900b81e5f48a79322c627": { + "balance": "255599000000000000000" + }, + "b9b0a3219a3288d9b35b091b14650b8fe23dce2b": { + "balance": "14000000000000000000000" + }, + "3575c770668a9d179f1ef768c293f80166e2aa3d": { + "balance": "474000000000000000000" + }, + "58f05b262560503ca761c61890a4035f4c737280": { + "balance": "8000000000000000000000" + }, + "3286d1bc657a312c8847d93cb3cb7950f2b0c6e3": { + "balance": "20000000000000000000000" + }, + "1d9e6aaf8019a05f230e5def05af5d889bd4d0f2": { + "balance": "133700000000000000000" + }, + "a375b4bc24a24e1f797593cc302b2f331063fa5c": { + "balance": "200000000000000000000" + }, + "108ba7c2895c50e072dc6f964932d50c282d3034": { + "balance": "500000000000000000000" + }, + "b6b34a263f10c3d2eceb0acc559a7b2ab85ce565": { + "balance": "4000000000000000000000" + }, + "a4d2b429f1ad5349e31704969edc5f25ee8aca10": { + "balance": "10000000000000000000000" + }, + "674adb21df4c98c7a347ac4c3c24266757dd7039": { + "balance": "2000000000000000000000" + }, + "33565ba9da2c03e778ce12294f081dfe81064d24": { + "balance": "16000000000000000000000" + }, + "4ddda7586b2237b053a7f3289cf460dc57d37a09": { + "balance": "10000000000000000000000" + }, + "cc4faac00be6628f92ef6b8cb1b1e76aac81fa18": { + "balance": "205410000000000000000" + }, + "5f99dc8e49e61d57daef606acdd91b4d7007326a": { + "balance": "3000000000000000000000" + }, + "b8a979352759ba09e35aa5935df175bff678a108": { + "balance": "20000000000000000000" + }, + "86fff220e59305c09f483860d6f94e96fbe32f57": { + "balance": "42900000000000000000" + }, + "03e8b084537557e709eae2e1e1a5a6bce1ef8314": { + "balance": "20000000000000000000" + }, + "dda4ff7de491c687df4574dd1b17ff8f246ba3d1": { + "balance": "19600000000000000000000" + }, + "2538532936813c91e653284f017c80c3b8f8a36f": { + "balance": "2002000000000000000000" + }, + "5a82f96cd4b7e2d93d10f3185dc8f43d4b75aa69": { + "balance": "1999400000000000000000" + }, + "86740a46648e845a5d96461b18091ff57be8a16f": { + "balance": "98000000000000000000000" + }, + "7e3f63e13129a221ba1ab06326342cd98b5126ae": { + "balance": "1597960000000000000000" + }, + "1f5f3b34bd134b2781afe5a0424ac5846cdefd11": { + "balance": "99000000000000000000" + }, + "39936c2719450b9420cc2522cf91db01f227c1c1": { + "balance": "500000000000000000000" + }, + "967076a877b18ec15a415bb116f06ef32645dba3": { + "balance": "2000000000000000000000" + }, + "a42908e7fe53980a9abf4044e957a54b70e99cbe": { + "balance": "2000000000000000000000" + }, + "5eb371c407406c427b3b7de271ad3c1e04269579": { + "balance": "3000000000000000000000" + }, + "a570223ae3caa851418a9843a1ac55db4824f4fd": { + "balance": "200000000000000000000" + }, + "764692cccb33405dd0ab0c3379b49caf8e6221ba": { + "balance": "20000000000000000000" + }, + "a365918bfe3f2627b9f3a86775d8756e0fd8a94b": { + "balance": "400000000000000000000" + }, + "069ed0ab7aa77de571f16106051d92afe195f2d0": { + "balance": "200000000000000000000" + }, + "bd432a3916249b4724293af9146e49b8280a7f2a": { + "balance": "4000000000000000000000" + }, + "61c9dce8b2981cb40e98b0402bc3eb28348f03ac": { + "balance": "196910000000000000000" + }, + "8f1fcc3c51e252b693bc5b0ec3f63529fe69281e": { + "balance": "6000000000000000000000" + }, + "55fd08d18064bd202c0ec3d2cce0ce0b9d169c4d": { + "balance": "1970000000000000000000" + }, + "383a7c899ee18bc214969870bc7482f6d8f3570e": { + "balance": "10000000000000000000000" + }, + "b14cc8de33d6338236539a489020ce4655a32bc6": { + "balance": "8000000000000000000000" + }, + "448bf410ad9bbc2fecc4508d87a7fc2e4b8561ad": { + "balance": "199955000000000000000" + }, + "06f7dc8d1b9462cef6feb13368a7e3974b097f9f": { + "balance": "2000000000000000000000" + }, + "9c9f89a3910f6a2ae8a91047a17ab788bddec170": { + "balance": "10000000000000000000000" + }, + "5de598aba344378cab4431555b4f79992dc290c6": { + "balance": "1337000000000000000000" + }, + "87e6034ecf23f8b5639d5f0ea70a22538a920423": { + "balance": "328000000000000000000" + }, + "8b27392206b958cd375d7ef8af2cf8ef0598c0bc": { + "balance": "1000000000000000000000" + }, + "49136fe6e28b7453fcb16b6bbbe9aaacba8337fd": { + "balance": "2000000000000000000000" + }, + "6982fe8a867e93eb4a0bd051589399f2ec9a5292": { + "balance": "2000000000000000000000" + }, + "9fd1052a60506bd1a9ef003afd9d033c267d8e99": { + "balance": "1000000000000000000000" + }, + "d38fa2c4cc147ad06ad5a2f75579281f22a7cc1f": { + "balance": "20000000000000000000000" + }, + "6f794dbdf623daa6e0d00774ad6962737c921ea4": { + "balance": "2000000000000000000000" + }, + "e96b184e1f0f54924ac874f60bbf44707446b72b": { + "balance": "2910840000000000000000" + }, + "b5ba29917c78a1d9e5c5c713666c1e411d7f693a": { + "balance": "3100000000000000000000" + }, + "81d619ff5726f2405f12904c72eb1e24a0aaee4f": { + "balance": "20000000000000000000000" + }, + "b02fa29387ec12e37f6922ac4ce98c5b09e0b00f": { + "balance": "2000000000000000000000" + }, + "b7230d1d1ff2aca366963914a79df9f7c5ea2c98": { + "balance": "8000000000000000000000" + }, + "7b4007c45e5a573fdbb6f8bd746bf94ad04a3c26": { + "balance": "15202564000000000000000" + }, + "8d9a0c70d2262042df1017d6c303132024772712": { + "balance": "2000000000000000000000" + }, + "323aad41df4b6fc8fece8c93958aa901fa680843": { + "balance": "970000000000000000000" + }, + "db04fad9c49f9e880beb8fcf1d3a3890e4b3846f": { + "balance": "1242482000000000000000" + }, + "27824666d278d70423f03dfe1dc7a3f02f43e2b5": { + "balance": "1000070000000000000000" + }, + "e04920dc6ecc1d6ecc084f88aa0af5db97bf893a": { + "balance": "182000000000000000000" + }, + "b0c1b177a220e41f7c74d07cde8569c21c75c2f9": { + "balance": "5600000000000000000000" + }, + "7864dc999fe4f8e003c0f43decc39aae1522dc0f": { + "balance": "94400000000000000000" + }, + "c75c37ce2da06bbc40081159c6ba0f976e3993b1": { + "balance": "1078640000000000000000" + }, + "179a825e0f1f6e985309668465cffed436f6aea9": { + "balance": "20000000000000000000" + }, + "2c6b699d9ead349f067f45711a074a641db6a897": { + "balance": "20000000000000000000" + }, + "068ce8bd6e902a45cb83b51541b40f39c4469712": { + "balance": "5240000000000000000000" + }, + "767ac690791c2e23451089fe6c7083fe55deb62b": { + "balance": "820000000000000000000" + }, + "b34f04b8db65bba9c26efc4ce6efc50481f3d65d": { + "balance": "20000000000000000000000" + }, + "29aef48de8c9fbad4b9e4ca970797a5533eb722d": { + "balance": "10000000000000000000000" + }, + "0a0ecda6636f7716ef1973614687fd89a820a706": { + "balance": "394000000000000000000" + }, + "b32825d5f3db249ef4e85cc4f33153958976e8bc": { + "balance": "501375000000000000000" + }, + "7ef16fd8d15b378a0fba306b8d03dd98fc92619f": { + "balance": "700000000000000000000" + }, + "b58b52865ea55d8036f2fab26098b352ca837e18": { + "balance": "18200000000000000000" + }, + "9b658fb361e046d4fcaa8aef6d02a99111223625": { + "balance": "2000000000000000000000" + }, + "b2a498f03bd7178bd8a789a00f5237af79a3e3f8": { + "balance": "19400000000000000000000" + }, + "cb48fe8265d9af55eb7006bc335645b0a3a183be": { + "balance": "3000000000000000000000" + }, + "3cf9a1d465e78b7039e3694478e2627b36fcd141": { + "balance": "1372000000000000000000" + }, + "5db84400570069a9573cab04b4e6b69535e202b8": { + "balance": "9700000000000000000000" + }, + "214c89c5bd8e7d22bc574bb35e48950211c6f776": { + "balance": "18903000000000000000" + }, + "53396f4a26c2b4604496306c5442e7fcba272e36": { + "balance": "20055000000000000000000" + }, + "720994dbe56a3a95929774e20e1fe525cf3704e4": { + "balance": "8000000000000000000000" + }, + "3571cf7ad304ecaee595792f4bbfa484418549d6": { + "balance": "5825500000000000000000" + }, + "6042c644bae2b96f25f94d31f678c90dc96690db": { + "balance": "2000000000000000000000" + }, + "2e24b597873bb141bdb237ea8a5ab747799af02d": { + "balance": "20000000000000000000000" + }, + "08c802f87758349fa03e6bc2e2fd0791197eea9a": { + "balance": "2000000000000000000000" + }, + "297a88921b5fca10e5bb9ded60025437ae221694": { + "balance": "200000000000000000000" + }, + "aee49d68adedb081fd43705a5f78c778fb90de48": { + "balance": "20000000000000000000" + }, + "4cee901b4ac8b156c5e2f8a6f1bef572a7dceb7e": { + "balance": "1000000000000000000000" + }, + "dfaf31e622c03d9e18a0ddb8be60fbe3e661be0a": { + "balance": "9999800000000000000000" + }, + "00aa5381b2138ebeffc191d5d8c391753b7098d2": { + "balance": "990049000000000000000" + }, + "5b4c0c60f10ed2894bdb42d9dd1d210587810a0d": { + "balance": "500000000000000000000" + }, + "c44f4ab5bc60397c737eb0683391b633f83c48fa": { + "balance": "1000000000000000000000" + }, + "50bef2756248f9a7a380f91b051ba3be28a649ed": { + "balance": "1999884000000000000000" + }, + "1bd909ac0d4a1102ec98dcf2cca96a0adcd7a951": { + "balance": "20055000000000000000" + }, + "9ec03e02e587b7769def538413e97f7e55be71d8": { + "balance": "19700000000000000000000" + }, + "9874803fe1f3a0365e7922b14270eaeb032cc1b5": { + "balance": "1124500000000000000000" + }, + "4e2310191ead8d3bc6489873a5f0c2ec6b87e1be": { + "balance": "1000000000000000000000" + }, + "93678a3c57151aeb68efdc43ef4d36cb59a009f3": { + "balance": "30060000000000000000" + }, + "f483f607a21fcc28100a018c568ffbe140380410": { + "balance": "1000000000000000000000" + }, + "2a91a9fed41b7d0e5cd2d83158d3e8a41a9a2d71": { + "balance": "1940000000000000000000" + }, + "240e559e274aaef0c258998c979f671d1173b88b": { + "balance": "4000000000000000000000" + }, + "108a2b7c336f784779d8b54d02a8d31d9a139c0a": { + "balance": "10000000000000000000000" + }, + "9c98fdf1fdcd8ba8f4c5b04c3ae8587efdf0f6e6": { + "balance": "6000000000000000000000" + }, + "194ff44aefc17bd20efd7a204c47d1620c86db5d": { + "balance": "2999400000000000000000" + }, + "1f8116bd0af5570eaf0c56c49c7ab5e37a580458": { + "balance": "2000000000000000000000" + }, + "d79835e404fb86bf845fba090d6ba25e0c8866a6": { + "balance": "2400000000000000000000" + }, + "a8e7201ff619faffc332e6ad37ed41e301bf014a": { + "balance": "600000000000000000000" + }, + "286906b6bd4972e3c71655e04baf36260c7cb153": { + "balance": "340000000000000000000" + }, + "db4bc83b0e6baadb1156c5cf06e0f721808c52c7": { + "balance": "880000000000000000000" + }, + "a158148a2e0f3e92dc2ce38febc20107e3253c96": { + "balance": "2000000000000000000000" + }, + "9f6a322a6d469981426ae844865d7ee0bb15c7b3": { + "balance": "50003000000000000000" + }, + "32f29e8727a74c6b4301e3ffff0687c1b870dae9": { + "balance": "1000000000000000000000" + }, + "19918aa09e7d494e98ffa5db50350892f7156ac6": { + "balance": "10000000000000000000000" + }, + "5a5f8508da0ebebb90be9033bd4d9e274105ae00": { + "balance": "6685000000000000000000" + }, + "6fc25e7e00ca4f60a9fe6f28d1fde3542e2d1079": { + "balance": "792000000000000000000" + }, + "72094f3951ffc9771dced23ada080bcaf9c7cca7": { + "balance": "6000000000000000000000" + }, + "43f7e86e381ec51ec4906d1476cba97a3db584e4": { + "balance": "1000000000000000000000" + }, + "05696b73916bd3033e05521e3211dfec026e98e4": { + "balance": "2000000000000000000000" + }, + "5e7f70378775589fc66a81d3f653e954f55560eb": { + "balance": "2434000000000000000000" + }, + "895613236f3584216ad75c5d3e07e3fa6863a778": { + "balance": "2000000000000000000000" + }, + "4eb1454b573805c8aca37edec7149a41f61202f4": { + "balance": "300000000000000000000" + }, + "d99999a2490d9494a530cae4daf38554f4dd633e": { + "balance": "120000000000000000000" + }, + "1704cefcfb1331ec7a78388b29393e85c1af7916": { + "balance": "400000000000000000000" + }, + "ac4acfc36ed6094a27e118ecc911cd473e8fb91f": { + "balance": "1799800000000000000000" + }, + "a975b077fcb4cc8efcbf838459b6fa243a4159d6": { + "balance": "40000000000000000000" + }, + "9c405cf697956138065e11c5f7559e67245bd1a5": { + "balance": "200000000000000000000" + }, + "cafde855864c2598da3cafc05ad98df2898e8048": { + "balance": "14179272000000000000000" + }, + "8ef711e43a13918f1303e81d0ea78c9eefd67eb2": { + "balance": "4000000000000000000000" + }, + "0b14891999a65c9ef73308efe3100ca1b20e8192": { + "balance": "800000000000000000000" + }, + "47cf9cdaf92fc999cc5efbb7203c61e4f1cdd4c3": { + "balance": "131400000000000000000" + }, + "04ba8a3f03f08b895095994dda619edaacee3e7a": { + "balance": "2000000000000000000000" + }, + "02b6d65cb00b7b36e1fb5ed3632c4cb20a894130": { + "balance": "20000000000000000000000" + }, + "f99aee444b5783c093cfffd1c4632cf93c6f050c": { + "balance": "400000000000000000000" + }, + "2541314a0b408e95a694444977712a50713591ab": { + "balance": "1634706000000000000000" + }, + "3096dca34108085bcf04ae72b94574a13e1a3e1d": { + "balance": "200000000000000000000" + }, + "56df05bad46c3f00ae476ecf017bb8c877383ff1": { + "balance": "197248000000000000000" + }, + "6d59b21cd0e2748804d9abe064eac2bef0c95f27": { + "balance": "2000000000000000000000" + }, + "b29f5b7c1930d9f97a115e067066f0b54db44b3b": { + "balance": "1000000000000000000000" + }, + "888c16144933197cac26504dd76e06fd6600c789": { + "balance": "100000000000000000000" + }, + "dfe3c52a92c30396a4e33a50170dc900fcf8c9cf": { + "balance": "50000000000000000000" + }, + "f76f69cee4faa0a63b30ae1e7881f4f715657010": { + "balance": "200000000000000000000" + }, + "ee0007b0960d00908a94432a737557876aac7c31": { + "balance": "53053000000000000000" + }, + "effc15e487b1beda0a8d1325bdb4172240dc540a": { + "balance": "64940000000000000000" + }, + "40ab0a3e83d0c8ac9366910520eab1772bac3b1a": { + "balance": "976600000000000000000" + }, + "1895a0eb4a4372722fcbc5afe6936f289c88a419": { + "balance": "910000000000000000000" + }, + "81efe296ae76c860d1c5fbd33d47e8ce9996d157": { + "balance": "1000000000000000000000" + }, + "9ddd355e634ee9927e4b7f6c97e7bf3a2f1e687a": { + "balance": "50000000000000000000" + }, + "f2b4ab2c9427a9015ef6eefff5edb60139b719d1": { + "balance": "716800000000000000000" + }, + "765be2e12f629e6349b97d21b62a17b7c830edab": { + "balance": "6000000000000000000000" + }, + "ff61c9c1b7a3d8b53bba20b34466544b7b216644": { + "balance": "2000000000000000000000" + }, + "36a08fd6fd1ac17ce15ed57eefb12a2be28188bf": { + "balance": "1337000000000000000000" + }, + "17049311101d817efb1d65910f663662a699c98c": { + "balance": "1999800000000000000000" + }, + "30511832918d8034a7bee72ef2bfee440ecbbcf6": { + "balance": "16100000000000000000000" + }, + "d27c234ff7accace3d996708f8f9b04970f97d36": { + "balance": "1337000000000000000000" + }, + "a961171f5342b173dd70e7bfe5b5ca238b13bcdd": { + "balance": "3397053000000000000000" + }, + "30bf61b2d877fe10635126326fa189e4b0b1c3b0": { + "balance": "1027580000000000000000" + }, + "4bb6d86b8314c22d8d37ea516d0019f156aae12d": { + "balance": "1000000000000000000000" + }, + "5f363e0ab747e02d1b3b66abb69ea53c7baf523a": { + "balance": "11640000000000000000000" + }, + "283e11203749b1fa4f32febb71e49d135919382a": { + "balance": "1000000000000000000000" + }, + "ac5999a89d2dd286d5a80c6dee7e86aad40f9e12": { + "balance": "3880000000000000000000" + }, + "3f6dd3650ee428dcb7759553b017a96a94286ac9": { + "balance": "1337000000000000000000" + }, + "b3fc1d6881abfcb8becc0bb021b8b73b7233dd91": { + "balance": "50000000000000000000" + }, + "f0832a6bb25503eeca435be31b0bf905ca1fcf57": { + "balance": "6685000000000000000000" + }, + "9d7fda7070bf3ee9bbd9a41f55cad4854ae6c22c": { + "balance": "11027380000000000000000" + }, + "4b0bd8acfcbc53a6010b40d4d08ddd2d9d69622d": { + "balance": "668500000000000000000" + }, + "f3b668b3f14d920ebc379092db98031b67b219b3": { + "balance": "199955000000000000000" + }, + "d91d889164479ce436ece51763e22cda19b22d6b": { + "balance": "3365200000000000000000" + }, + "ffe28db53c9044b4ecd4053fd1b4b10d7056c688": { + "balance": "100000000000000000000" + }, + "c77b01a6e911fa988d01a3ab33646beef9c138f3": { + "balance": "721400000000000000000" + }, + "c0064f1d9474ab915d56906c9fb320a2c7098c9b": { + "balance": "358000000000000000000" + }, + "4e3edad4864dab64cae4c5417a76774053dc6432": { + "balance": "590943000000000000000" + }, + "71d2cc6d02578c65f73c575e76ce8fbcfadcf356": { + "balance": "72400000000000000000" + }, + "9971df60f0ae66dce9e8c84e17149f09f9c52f64": { + "balance": "200000000000000000000" + }, + "58e661d0ba73d6cf24099a5562b808f7b3673b68": { + "balance": "2000000000000000000000" + }, + "84b0ee6bb837d3a4c4c5011c3a228c0edab4634a": { + "balance": "20000000000000000000" + }, + "84375afbf59b3a1d61a1be32d075e0e15a4fbca5": { + "balance": "200000000000000000000" + }, + "9ae9476bfecd3591964dd325cf8c2a24faed82c1": { + "balance": "4000000000000000000000" + }, + "6a4c8907b600248057b1e46354b19bdc859c991a": { + "balance": "20000000000000000000" + }, + "1c045649cd53dc23541f8ed4d341812808d5dd9c": { + "balance": "7000000000000000000000" + }, + "c5e488cf2b5677933971f64cb8202dd05752a2c0": { + "balance": "1000000000000000000000" + }, + "eb25481fcd9c221f1ac7e5fd1ecd9307a16215b8": { + "balance": "197000000000000000000" + }, + "a61887818f914a20e31077290b83715a6b2d6ef9": { + "balance": "1880000000000000000000" + }, + "679437eacf437878dc293d48a39c87b7421a216c": { + "balance": "64528000000000000000" + }, + "331a1c26cc6994cdd3c14bece276ffff4b9df77c": { + "balance": "18049000000000000000" + }, + "75b95696e8ec4510d56868a7c1a735c68b244890": { + "balance": "6400000000000000000000" + }, + "a77f3ee19e9388bbbb2215c62397b96560132360": { + "balance": "200000000000000000000" + }, + "bc7afc8477412274fc265df13c054473427d43c6": { + "balance": "130034000000000000000" + }, + "91050a5cffadedb4bb6eaafbc9e5013428e96c80": { + "balance": "1700000000000000000000" + }, + "24586ec5451735eeaaeb470dc8736aae752f82e5": { + "balance": "17600000000000000000" + }, + "51039377eed0c573f986c5e8a95fb99a59e9330f": { + "balance": "1970000000000000000000" + }, + "fbb161fe875f09290a4b262bc60110848f0d2226": { + "balance": "2000000000000000000000" + }, + "ed52a2cc0869dc9e9f842bd0957c47a8e9b0c9ff": { + "balance": "9550000000000000000000" + }, + "bad235d5085dc7b068a67c412677b03e1836884c": { + "balance": "2000000000000000000000" + }, + "055eac4f1ad3f58f0bd024d68ea60dbe01c6afb3": { + "balance": "100000000000000000000" + }, + "4058808816fdaa3a5fc98ed47cfae6c18315422e": { + "balance": "199800000000000000000" + }, + "3540c7bd7a8442d5bee21a2180a1c4edff1649e0": { + "balance": "1239295000000000000000" + }, + "c5edbbd2ca0357654ad0ea4793f8c5cecd30e254": { + "balance": "6000000000000000000000" + }, + "b5906b0ae9a28158e8ac550e39da086ee3157623": { + "balance": "200000000000000000000" + }, + "4d801093c19ca9b8f342e33cc9c77bbd4c8312cf": { + "balance": "345005000000000000000" + }, + "206482ee6f138a778fe1ad62b180ce856fbb23e6": { + "balance": "2000000000000000000000" + }, + "c0ed0d4ad10de03435b153a0fc25de3b93f45204": { + "balance": "3160000000000000000000" + }, + "29e67990e1b6d52e1055ffe049c53195a81542cf": { + "balance": "20000000000000000000000" + }, + "e6d22209ffd0b87509ade3a8e2ef429879cb89b5": { + "balance": "17260000000000000000000" + }, + "d6644d40e90bc97fe7dfe7cabd3269fd579ba4b3": { + "balance": "159000000000000000000" + }, + "ece1290877b583e361a2d41b009346e6274e2538": { + "balance": "300000000000000000000" + }, + "ab3861226ffec1289187fb84a08ec3ed043264e8": { + "balance": "1000000000000000000000" + }, + "60e0bdd0a259bb9cb09d3f37e5cd8b9daceabf8a": { + "balance": "1370000000000000000000" + }, + "28b77585cb3d55a199ab291d3a18c68fe89a848a": { + "balance": "1960000000000000000000" + }, + "73128173489528012e76b41a5e28c68ba4e3a9d4": { + "balance": "1000000000000000000000" + }, + "018492488ba1a292342247b31855a55905fef269": { + "balance": "140000000000000000000" + }, + "0bb54c72fd6610bfa4363397e020384b022b0c49": { + "balance": "1337000000000000000000" + }, + "520f66a0e2657ff0ac4195f2f064cf2fa4b24250": { + "balance": "40000000000000000000" + }, + "a1432ed2c6b7777a88e8d46d388e70477f208ca5": { + "balance": "7999538000000000000000" + }, + "149ba10f0da2725dc704733e87f5a524ca88515e": { + "balance": "7880000000000000000000" + }, + "b287f7f8d8c3872c1b586bcd7d0aedbf7e732732": { + "balance": "20000000000000000000" + }, + "c46bbdef76d4ca60d316c07f5d1a780e3b165f7e": { + "balance": "2000000000000000000000" + }, + "b5a589dd9f4071dbb6fba89b3f5d5dae7d96c163": { + "balance": "2000000000000000000000" + }, + "d218efb4db981cdd6a797f4bd48c7c26293ceb40": { + "balance": "2975000000000000000000" + }, + "af87d2371ef378957fbd05ba2f1d66931b01e2b8": { + "balance": "700000000000000000000" + }, + "86ef6426211949cc37f4c75e7850369d0cf5f479": { + "balance": "13399196000000000000000" + }, + "fb3a0b0d6b6a718f6fc0292a825dc9247a90a5d0": { + "balance": "199950000000000000000" + }, + "da16dd5c3d1a2714358fe3752cae53dbab2be98c": { + "balance": "19400000000000000000000" + }, + "9eb7834e171d41e069a77947fca87622f0ba4e48": { + "balance": "100000000000000000000" + }, + "e1d91b0954cede221d6f24c7985fc59965fb98b8": { + "balance": "2000000000000000000000" + }, + "85d0d88754ac84b8b21ba93dd2bfec72626faba8": { + "balance": "1000000000000000000000" + }, + "695b4cce085856d9e1f9ff3e79942023359e5fbc": { + "balance": "5000000000000000000000" + }, + "9156d18029350e470408f15f1aa3be9f040a67c6": { + "balance": "1000000000000000000000" + }, + "a9d64b4f3bb7850722b58b478ba691375e224e42": { + "balance": "6000000000000000000000" + }, + "17e4a0e52bac3ee44efe0954e753d4b85d644e05": { + "balance": "2000000000000000000000" + }, + "b8a79c84945e47a9c3438683d6b5842cff7684b1": { + "balance": "2000000000000000000000" + }, + "cfac2e1bf33205b05533691a02267ee19cd81836": { + "balance": "1000000000000000000000" + }, + "6b992521ec852370848ad697cc2df64e63cc06ff": { + "balance": "1000000000000000000000" + }, + "60af0ee118443c9b37d2fead77f5e521debe1573": { + "balance": "1910000000000000000000" + }, + "c6dbdb9efd5ec1b3786e0671eb2279b253f215ed": { + "balance": "1000000000000000000000" + }, + "659c0a72c767a3a65ced0e1ca885a4c51fd9b779": { + "balance": "2000000000000000000000" + }, + "ed1276513b6fc68628a74185c2e20cbbca7817bf": { + "balance": "191000000000000000000" + }, + "5ad12c5ed4fa827e2150cfa0d68c0aa37b1769b8": { + "balance": "800000000000000000000" + }, + "17c0fef6986cfb2e4041f9979d9940b69dff3de2": { + "balance": "4000000000000000000000" + }, + "ca98c7988efa08e925ef9c9945520326e9f43b99": { + "balance": "4000000000000000000000" + }, + "fe8f1fdcab7fbec9a6a3fcc507619600505c36a3": { + "balance": "19700000000000000000" + }, + "4420aa35465be617ad2498f370de0a3cc4d230af": { + "balance": "2000000000000000000000" + }, + "8232d1f9742edf8dd927da353b2ae7b4cbce7592": { + "balance": "668500000000000000000" + }, + "eca5f58792b8c62d2af556717ee3ee3028be4dce": { + "balance": "2000000000000000000000" + }, + "6bf86f1e2f2b8032a95c4d7738a109d3d0ed8104": { + "balance": "1820000000000000000000" + }, + "3ac2f0ff1612e4a1c346d53382abf6d8a25baa53": { + "balance": "2000000000000000000000" + }, + "daa1bd7a9148fb865cd612dd35f162861d0f3bdc": { + "balance": "3066243000000000000000" + }, + "5169c60aee4ceed1849ab36d664cff97061e8ea8": { + "balance": "3000000000000000000000" + }, + "2a5e3a40d2cd0325766de73a3d671896b362c73b": { + "balance": "100000000000000000000000" + }, + "a83382b6e15267974a8550b98f7176c1a353f9be": { + "balance": "3541608000000000000000" + }, + "b50c149a1906fad2786ffb135aab501737e9e56f": { + "balance": "388000000000000000000" + }, + "d9775965b716476675a8d513eb14bbf7b07cd14a": { + "balance": "5076200000000000000000" + }, + "66662006015c1f8e3ccfcaebc8ee6807ee196303": { + "balance": "500024000000000000000" + }, + "78746a958dced4c764f876508c414a68342cecb9": { + "balance": "50600000000000000000" + }, + "e982e6f28c548f5f96f45e63f7ab708724f53fa1": { + "balance": "396238000000000000000" + }, + "740bfd52e01667a3419b029a1b8e45576a86a2db": { + "balance": "16800000000000000000000" + }, + "2bd252e0d732ff1d7c78f0a02e6cb25423cf1b1a": { + "balance": "2674000000000000000000" + }, + "2e2d7ea66b9f47d8cc52c01c52b6e191bc7d4786": { + "balance": "3999800000000000000000" + }, + "3e3161f1ea2fbf126e79da1801da9512b37988c9": { + "balance": "49250000000000000000000" + }, + "7e2ba86da52e785d8625334f3397ba1c4bf2e8d1": { + "balance": "197000000000000000000" + }, + "7608f437b31f18bc0b64d381ae86fd978ed7b31f": { + "balance": "50000000000000000000" + }, + "25a5a44d38a2f44c6a9db9cdbc6b1e2e97abb509": { + "balance": "17000000000000000000000" + }, + "745ad3abc6eeeb2471689b539e789ce2b8268306": { + "balance": "1129977000000000000000" + }, + "09e437d448861228a232b62ee8d37965a904ed9c": { + "balance": "21708305000000000000000" + }, + "be53322f43fbb58494d7cce19dda272b2450e827": { + "balance": "200018000000000000000" + }, + "4166fc08ca85f766fde831460e9dc93c0e21aa6c": { + "balance": "1000000000000000000000" + }, + "99c0174cf84e0783c220b4eb6ae18fe703854ad3": { + "balance": "2074800000000000000000" + }, + "3cf484524fbdfadae26dc185e32b2b630fd2e726": { + "balance": "448798000000000000000" + }, + "fdcd5d80b105897a57abc47865768b2900524295": { + "balance": "6400000000000000000000" + }, + "f22f4078febbbaa8b0e78e642c8a42f35d433905": { + "balance": "1999944000000000000000" + }, + "eac768bf14b8f9432e69eaa82a99fbeb94cd0c9c": { + "balance": "98500000000000000000000" + }, + "2639eee9873ceec26fcc9454b548b9e7c54aa65c": { + "balance": "1000000000000000000000" + }, + "c3c3c2510d678020485a63735d1307ec4ca6302b": { + "balance": "1000000000000000000000" + }, + "b73d6a77559c86cf6574242903394bacf96e3570": { + "balance": "91200000000000000000" + }, + "5ce2e7ceaaa18af0f8aafa7fbad74cc89e3cd436": { + "balance": "20000000000000000000000" + }, + "03377c0e556b640103289a6189e1aeae63493467": { + "balance": "20000000000000000000000" + }, + "6eb0a5a9ae96d22cf01d8fd6483b9f38f08c2c8b": { + "balance": "4000000000000000000000" + }, + "fc8215a0a69913f62a43bf1c8590b9ddcd0d8ddb": { + "balance": "2000000000000000000000" + }, + "4a835c25824c47ecbfc79439bf3f5c3481aa75cd": { + "balance": "1400000000000000000000" + }, + "b5493ef173724445cf345c035d279ba759f28d51": { + "balance": "20000000000000000000" + }, + "b9e90c1192b3d5d3e3ab0700f1bf655f5dd4347a": { + "balance": "499928000000000000000" + }, + "419bde7316cc1ed295c885ace342c79bf7ee33ea": { + "balance": "6000000000000000000000" + }, + "e4625501f52b7af52b19ed612e9d54fdd006b492": { + "balance": "209440000000000000000" + }, + "e9d599456b2543e6db80ea9b210e908026e2146e": { + "balance": "200000000000000000000" + }, + "2c06dd922b61514aafedd84488c0c28e6dcf0e99": { + "balance": "100000000000000000000000" + }, + "06b5ede6fdf1d6e9a34721379aeaa17c713dd82a": { + "balance": "2000000000000000000000" + }, + "d8930a39c77357c30ad3a060f00b06046331fd62": { + "balance": "820000000000000000000" + }, + "b2a2c2111612fb8bbb8e7dd9378d67f1a384f050": { + "balance": "20000000000000000000" + }, + "1f174f40a0447234e66653914d75bc003e5690dc": { + "balance": "160000000000000000000" + }, + "e06cb6294704eea7437c2fc3d30773b7bf38889a": { + "balance": "20094000000000000000" + }, + "cd06f8c1b5cdbd28e2d96b6346c3e85a0483ba24": { + "balance": "1000000000000000000000" + }, + "f316ef1df2ff4d6c1808dba663ec8093697968e0": { + "balance": "1794400000000000000000" + }, + "1e6915ebd9a19c81b692ad99b1218a592c1ac7b1": { + "balance": "4000000000000000000000" + }, + "885493bda36a0432976546c1ddce71c3f4570021": { + "balance": "216700000000000000000" + }, + "18b0407cdad4ce52600623bd5e1f6a81ab61f026": { + "balance": "319489000000000000000" + }, + "187d9f0c07f8eb74faaad15ebc7b80447417f782": { + "balance": "20000000000000000000" + }, + "5d6ccf806738091042ad97a6e095fe8c36aa79c5": { + "balance": "188000000000000000000" + }, + "53437fecf34ab9d435f4deb8ca181519e2592035": { + "balance": "188000000000000000000" + }, + "fd1faa347b0fcc804c2da86c36d5f1d18b7087bb": { + "balance": "52380000000000000000" + }, + "650cf67db060cce17568d5f2a423687c49647609": { + "balance": "100000000000000000000" + }, + "bcd95ef962462b6edfa10fda87d72242fe3edb5c": { + "balance": "334133000000000000000" + }, + "3b5e8b3c77f792decb7a8985df916efb490aac23": { + "balance": "2000000000000000000000" + }, + "f13b083093ba564e2dc631568cf7540d9a0ec719": { + "balance": "1999944000000000000000" + }, + "373c547e0cb5ce632e1c5ad66155720c01c40995": { + "balance": "4691588000000000000000" + }, + "7313461208455455465445a459b06c3773b0eb30": { + "balance": "2000000000000000000000" + }, + "441f37e8a029fd02482f289c49b5d06d00e408a4": { + "balance": "333333000000000000000" + }, + "d30d4c43adcf55b2cb53d68323264134498d89ce": { + "balance": "1000000000000000000000" + }, + "f648ea89c27525710172944e79edff847803b775": { + "balance": "100000000000000000000000" + }, + "0c7f869f8e90d53fdc03e8b2819b016b9d18eb26": { + "balance": "20000000000000000000000" + }, + "c71f92a3a54a7b8c2f5ea44305fccb84eee23148": { + "balance": "49980000000000000000" + }, + "7988901331e387f713faceb9005cb9b65136eb14": { + "balance": "1970000000000000000000" + }, + "e9a39a8bac0f01c349c64cedb69897f633234ed2": { + "balance": "3980000000000000000000" + }, + "ad2a5c00f923aaf21ab9f3fb066efa0a03de2fb2": { + "balance": "999996000000000000000" + }, + "f25259a5c939cd25966c9b6303d3731c53ddbc4c": { + "balance": "200000000000000000000" + }, + "d1682c2159018dc3d07f08240a8c606daf65f8e1": { + "balance": "200000000000000000000000" + }, + "a99991cebd98d9c838c25f7a7416d9e244ca250d": { + "balance": "1000000000000000000000" + }, + "5a285755391e914e58025faa48cc685f4fd4f5b8": { + "balance": "26000000000000000000000" + }, + "4d24b7ac47d2f27de90974ba3de5ead203544bcd": { + "balance": "100000000000000000000" + }, + "21b182f2da2b384493cf5f35f83d9d1ee14f2a21": { + "balance": "2000000000000000000000" + }, + "31ab088966ecc7229258f6098fce68cf39b38485": { + "balance": "1000000000000000000000" + }, + "4977a7939d0939689455ce2639d0ee5a4cd910ed": { + "balance": "1820000000000000000000" + }, + "07af938c1237a27c9030094dcf240750246e3d2c": { + "balance": "500000000000000000000" + }, + "4e2bfa4a466f82671b800eee426ad00c071ba170": { + "balance": "4000000000000000000000" + }, + "107379d4c467464f235bc18e55938aad3e688ad7": { + "balance": "50000000000000000000" + }, + "f7b29b82195c882dab7897c2ae95e77710f57875": { + "balance": "2199000000000000000000" + }, + "56586391040c57eec6f5affd8cd4abde10b50acc": { + "balance": "4000000000000000000000" + }, + "ac608e2bac9dd20728d2947effbbbf900a9ce94b": { + "balance": "6000600000000000000000" + }, + "48548b4ba62bcb2f0d34a88dc69a680e539cf046": { + "balance": "100084000000000000000" + }, + "1665ab1739d71119ee6132abbd926a279fe67948": { + "balance": "100000000000000000000" + }, + "af4493e8521ca89d95f5267c1ab63f9f45411e1b": { + "balance": "200000000000000000000" + }, + "bf6925c00751008440a6739a02bf2b6cdaab5e3a": { + "balance": "1000000000000000000000" + }, + "3fe40fbd919aad2818df01ee4df46c46842ac539": { + "balance": "6000000000000000000000" + }, + "455b9296921a74d1fc41617f43b8303e6f3ed76c": { + "balance": "4200000000000000000000" + }, + "7086b4bde3e35d4aeb24b825f1a215f99d85f745": { + "balance": "1999800000000000000000" + }, + "d4ee4919fb37f2bb970c3fff54aaf1f3dda6c03f": { + "balance": "40000000000000000000000" + }, + "a4489a50ead5d5445a7bee4d2d5536c2a76c41f8": { + "balance": "200000000000000000000" + }, + "505e4f7c275588c533a20ebd2ac13b409bbdea3c": { + "balance": "17600000000000000000" + }, + "3bb53598cc20e2055dc553b049404ac9b7dd1e83": { + "balance": "615020000000000000000" + }, + "52cd20403ba7eda6bc307a3d63b5911b817c1263": { + "balance": "20000000000000000000" + }, + "a211da03cc0e31ecce5309998718515528a090df": { + "balance": "200000000000000000000" + }, + "bcb422dc4dd2aae94abae95ea45dd1731bb6b0ba": { + "balance": "447500000000000000000" + }, + "cbde9734b8e6aa538c291d6d7facedb0f338f857": { + "balance": "2000000000000000000000" + }, + "171ca02a8b6d62bf4ca47e906914079861972cb2": { + "balance": "200000000000000000000" + }, + "d40d0055fd9a38488aff923fd03d35ec46d711b3": { + "balance": "4999711000000000000000" + }, + "3887192c7f705006b630091276b39ac680448d6b": { + "balance": "60000000000000000000" + }, + "3f3c8e61e5604cef0605d436dd22accd862217fc": { + "balance": "1337000000000000000000" + }, + "4258fd662fc4ce3295f0d4ed8f7bb1449600a0a9": { + "balance": "6719600000000000000000" + }, + "4571de672b9904bad8743692c21c4fdcea4c2e01": { + "balance": "4000000000000000000000" + }, + "5be045512a026e3f1cebfd5a7ec0cfc36f2dc16b": { + "balance": "120000000000000000000" + }, + "d6300b3215b11de762ecde4b70b7927d01291582": { + "balance": "2000000000000000000000" + }, + "f9e37447406c412197b2e2aebc001d6e30c98c60": { + "balance": "8346700000000000000000" + }, + "bd047ff1e69cc6b29ad26497a9a6f27a903fc4dd": { + "balance": "865000000000000000000" + }, + "23fa7eb51a48229598f97e762be0869652dffc66": { + "balance": "1000000000000000000000" + }, + "6679aeecd87a57a73f3356811d2cf49d0c4d96dc": { + "balance": "600000000000000000000" + }, + "23c55aeb5739876f0ac8d7ebea13be729685f000": { + "balance": "1337000000000000000000" + }, + "757b65876dbf29bf911d4f0692a2c9beb1139808": { + "balance": "4124263000000000000000" + }, + "e8fc36b0131ec120ac9e85afc10ce70b56d8b6ba": { + "balance": "200000000000000000000" + }, + "1a89899cbebdbb64bb26a195a63c08491fcd9eee": { + "balance": "2000000000000000000000" + }, + "6edf7f5283725c953ee64317f66188af1184b033": { + "balance": "8050000000000000000000" + }, + "297385e88634465685c231a314a0d5dcd146af01": { + "balance": "1550000000000000000000" + }, + "018f20a27b27ec441af723fd9099f2cbb79d6263": { + "balance": "2167000000000000000000" + }, + "a5a4227f6cf98825c0d5baff5315752ccc1a1391": { + "balance": "10000000000000000000000" + }, + "69517083e303d4fbb6c2114514215d69bc46a299": { + "balance": "100000000000000000000" + }, + "1dab172effa6fbee534c94b17e794edac54f55f8": { + "balance": "1970000000000000000000" + }, + "c6ee35934229693529dc41d9bb71a2496658b88e": { + "balance": "19700000000000000000000" + }, + "a8ee1df5d44b128469e913569ef6ac81eeda4fc8": { + "balance": "500000000000000000000" + }, + "35bd246865fab490ac087ac1f1d4f2c10d0cda03": { + "balance": "400000000000000000000" + }, + "4bf8bf1d35a231315764fc8001809a949294fc49": { + "balance": "66850000000000000000" + }, + "c70fa45576bf9c865f983893002c414926f61029": { + "balance": "400400000000000000000" + }, + "fdeaac2acf1d138e19f2fc3f9fb74592e3ed818a": { + "balance": "668500000000000000000" + }, + "bfbfbcb656c2992be8fcde8219fbc54aadd59f29": { + "balance": "9999924000000000000000" + }, + "1722c4cbe70a94b6559d425084caeed4d6e66e21": { + "balance": "4000000000000000000000" + }, + "00e681bc2d10db62de85848324492250348e90bf": { + "balance": "20000000000000000000000" + }, + "5c308bac4857d33baea074f3956d3621d9fa28e1": { + "balance": "4999711000000000000000" + }, + "68c08490c89bf0d6b6f320b1aca95c8312c00608": { + "balance": "4000000000000000000000" + }, + "ce1884ddbbb8e10e4dba6e44feeec2a7e5f92f05": { + "balance": "4000000000000000000000" + }, + "427417bd16b1b3d22dbb902d8f9657016f24a61c": { + "balance": "2000000000000000000000" + }, + "5ff93de6ee054cad459b2d5eb0f6870389dfcb74": { + "balance": "220000000000000000000" + }, + "71946b7117fc915ed107385f42d99ddac63249c2": { + "balance": "2000000000000000000000" + }, + "11ec00f849b6319cf51aa8dd8f66b35529c0be77": { + "balance": "2000000000000000000000" + }, + "610fd6ee4eebab10a8c55d0b4bd2e7d6ef817156": { + "balance": "20002000000000000000" + }, + "a422e4bf0bf74147cc895bed8f16d3cef3426154": { + "balance": "349281000000000000000" + }, + "745aecbaf9bb39b74a67ea1ce623de368481baa6": { + "balance": "10000000000000000000000" + }, + "9f496cb2069563144d0811677ba0e4713a0a4143": { + "balance": "1122000000000000000000" + }, + "c500b720734ed22938d78c5e48b2ba9367a575ba": { + "balance": "33400000000000000000000" + }, + "cd072e6e1833137995196d7bb1725fef8761f655": { + "balance": "6000000000000000000000" + }, + "94644ad116a41ce2ca7fbec609bdef738a2ac7c7": { + "balance": "5000000000000000000000" + }, + "e8d942d82f175ecb1c16a405b10143b3f46b963a": { + "balance": "568600000000000000000" + }, + "f73dd9c142b71bce11d06e30e7e7d032f2ec9c9e": { + "balance": "1970000000000000000000" + }, + "1327d759d56e0ab87af37ecf63fe01f310be100a": { + "balance": "659200000000000000000" + }, + "28fa2580f9ebe420f3e5eefdd371638e3b7af499": { + "balance": "6000000000000000000000" + }, + "024bdd2c7bfd500ee7404f7fb3e9fb31dd20fbd1": { + "balance": "180000000000000000000" + }, + "b4b14bf45455d0ab0803358b7524a72be1a2045b": { + "balance": "500000000000000000000" + }, + "b1e2dd95e39ae9775c55aeb13f12c2fa233053ba": { + "balance": "2000000000000000000000" + }, + "35b03ea4245736f57b85d2eb79628f036ddcd705": { + "balance": "4000000000000000000000" + }, + "eb2ef3d38fe652403cd4c9d85ed7f0682cd7c2de": { + "balance": "42784000000000000000000" + }, + "690594d306613cd3e2fd24bca9994ad98a3d73f8": { + "balance": "2000000000000000000000" + }, + "8397a1bc47acd647418159b99cea57e1e6532d6e": { + "balance": "9169160000000000000000" + }, + "b44815a0f28e569d0e921a4ade8fb2642526497a": { + "balance": "55500000000000000000" + }, + "e24109be2f513d87498e926a286499754f9ed49e": { + "balance": "886500000000000000000" + }, + "37ac29bda93f497bc4aeaab935452c431510341e": { + "balance": "985000000000000000000" + }, + "4a81abe4984c7c6bef63d69820e55743c61f201c": { + "balance": "16011846000000000000000" + }, + "66dcc5fb4ee7fee046e141819aa968799d644491": { + "balance": "1337000000000000000000" + }, + "43ff38743ed0cd43308c066509cc8e7e72c862aa": { + "balance": "1940000000000000000000" + }, + "b8f20005b61352ffa7699a1b52f01f5ab39167f1": { + "balance": "10000000000000000000000" + }, + "1cda411bd5163baeca1e558563601ce720e24ee1": { + "balance": "18200000000000000000" + }, + "86245f596691093ece3f3d3ca2263eace81941d9": { + "balance": "188000000000000000000" + }, + "f52a5882e8927d944b359b26366ba2b9cacfbae8": { + "balance": "25000080000000000000000" + }, + "118c18b2dce170e8f445753ba5d7513cb7636d2d": { + "balance": "8800000000000000000000" + }, + "7168b3bb8c167321d9bdb023a6e9fd11afc9afd9": { + "balance": "1790000000000000000000" + }, + "d9103bb6b67a55a7fece2d1af62d457c2178946d": { + "balance": "1000000000000000000000" + }, + "8b9fda7d981fe9d64287f85c94d83f9074849fcc": { + "balance": "14000000000000000000000" + }, + "91211712719f2b084d3b3875a85069f466363141": { + "balance": "1000000000000000000000" + }, + "4863849739265a63b0a2bf236a5913e6f959ce15": { + "balance": "1520000000000000000000" + }, + "c2d1778ef6ee5fe488c145f3586b6ebbe3fbb445": { + "balance": "1146000000000000000000" + }, + "2b77a4d88c0d56a3dbe3bae04a05f4fcd1b757e1": { + "balance": "300000000000000000000" + }, + "fe9c0fffefb803081256c0cf4d6659e6d33eb4fb": { + "balance": "1528000000000000000000" + }, + "893017ff1adad499aa065401b4236ce6e92b625a": { + "balance": "1999944000000000000000" + }, + "073c67e09b5c713c5221c8a0c7f3f74466c347b0": { + "balance": "19400000000000000000000" + }, + "93e303411afaf6c107a44101c9ac5b36e9d6538b": { + "balance": "66000000000000000000000" + }, + "0ec50aa823f465b9464b0bc0c4a57724a555f5d6": { + "balance": "59100000000000000000000" + }, + "a3e3a6ea509573e21bd0239ece0523a7b7d89b2f": { + "balance": "1970000000000000000000" + }, + "c069ef0eb34299abd2e32dabc47944b272334824": { + "balance": "120000000000000000000" + }, + "28a3da09a8194819ae199f2e6d9d1304817e28a5": { + "balance": "2000000000000000000000" + }, + "e9495ba5842728c0ed97be37d0e422b98d69202c": { + "balance": "2000000000000000000000" + }, + "bba976f1a1215f7512871892d45f7048acd356c8": { + "balance": "2000000000000000000000" + }, + "887cac41cd706f3345f2d34ac34e01752a6e5909": { + "balance": "595366000000000000000" + }, + "e0e0b2e29dde73af75987ee4446c829a189c95bc": { + "balance": "149000000000000000000" + }, + "4a5fae3b0372c230c125d6d470140337ab915656": { + "balance": "1600000000000000000000" + }, + "425177eb74ad0a9d9a5752228147ee6d6356a6e6": { + "balance": "13370000000000000000" + }, + "5db7bba1f9573f24115d8c8c62e9ce8895068e9f": { + "balance": "49984000000000000000" + }, + "fa6a37f018e97967937fc5e8617ba1d786dd5f77": { + "balance": "19999800000000000000000" + }, + "45e3a93e72144ada860cbc56ff85145ada38c6da": { + "balance": "1610000000000000000000" + }, + "67da922effa472a6b124e84ea8f86b24e0f515aa": { + "balance": "20000000000000000000" + }, + "aa9bd4589535db27fa2bc903ca17d679dd654806": { + "balance": "2000000000000000000000" + }, + "16a9e9b73ae98b864d1728798b8766dbc6ea8d12": { + "balance": "957480000000000000000" + }, + "d6580ab5ed4c7dfa506fa6fe64ad5ce129707732": { + "balance": "4000000000000000000000" + }, + "984a7985e3cc7eb5c93691f6f8cc7b8f245d01b2": { + "balance": "6000000000000000000000" + }, + "7746b6c6699c8f34ca2768a820f1ffa4c207fe05": { + "balance": "4000086000000000000000" + }, + "2fa491fb5920a6574ebd289f39c1b2430d2d9a6a": { + "balance": "2000000000000000000000" + }, + "fae76719d97eac41870428e940279d97dd57b2f6": { + "balance": "98500000000000000000000" + }, + "41b2dbd79dda9b864f6a7030275419c39d3efd3b": { + "balance": "3200000000000000000000" + }, + "dd8254121a6e942fc90828f2431f511dad7f32e6": { + "balance": "3018000000000000000000" + }, + "37fac1e6bc122e936dfb84de0c4bef6e0d60c2d7": { + "balance": "2000000000000000000000" + }, + "3a10888b7e149cae272c01302c327d0af01a0b24": { + "balance": "17000000000000000000" + }, + "401354a297952fa972ad383ca07a0a2811d74a71": { + "balance": "14000000000000000000" + }, + "51865db148881951f51251710e82b9be0d7eadb2": { + "balance": "2000000000000000000000" + }, + "bbbd6ecbb5752891b4ceb3cce73a8f477059376f": { + "balance": "36000000000000000000" + }, + "3f236108eec72289bac3a65cd283f95e041d144c": { + "balance": "999925000000000000000" + }, + "dc83b6fd0d512131204707eaf72ea0c8c9bef976": { + "balance": "2000000000000000000000" + }, + "036eeff5ba90a6879a14dff4c5043b18ca0460c9": { + "balance": "100000000000000000000" + }, + "fac5ca94758078fbfccd19db3558da7ee8a0a768": { + "balance": "1017500000000000000000" + }, + "d0d62c47ea60fb90a3639209bbfdd4d933991cc6": { + "balance": "194000000000000000000" + }, + "891cb8238c88e93a1bcf61db49bd82b47a7f4f84": { + "balance": "2680000000000000000000" + }, + "df53003346d65c5e7a646bc034f2b7d32fcbe56a": { + "balance": "2000000000000000000000" + }, + "6e89c51ea6de13e06cdc748b67c4410fe9bcab03": { + "balance": "4000000000000000000000" + }, + "a61cdbadf04b1e54c883de6005fcdf16beb8eb2f": { + "balance": "2000000000000000000000" + }, + "e3951de5aefaf0458768d774c254f7157735e505": { + "balance": "1600930000000000000000" + }, + "f2732cf2c13b8bb8e7492a988f5f89e38273ddc8": { + "balance": "600000000000000000000" + }, + "4752218e54de423f86c0501933917aea08c8fed5": { + "balance": "20000000000000000000000" + }, + "152f4e860ef3ee806a502777a1b8dbc91a907668": { + "balance": "600000000000000000000" + }, + "15b96f30c23b8664e7490651066b00c4391fbf84": { + "balance": "410650000000000000000" + }, + "8693e9b8be94425eef7969bc69f9d42f7cad671e": { + "balance": "1000090000000000000000" + }, + "f41557dfdfb1a1bdcefefe2eba1e21fe0a4a9942": { + "balance": "1970000000000000000000" + }, + "38458e0685573cb4d28f53098829904570179266": { + "balance": "40000000000000000000" + }, + "53e4d9696dcb3f4d7b3f70dcaa4eecb71782ff5c": { + "balance": "200000000000000000000" + }, + "2dca0e449ab646dbdfd393a96662960bcab5ae1e": { + "balance": "40000000000000000000000" + }, + "87d7ac0653ccc67aa9c3469eef4352193f7dbb86": { + "balance": "200000000000000000000000" + }, + "ae9f5c3fbbe0c9bcbf1af8ff74ea280b3a5d8b08": { + "balance": "1730000000000000000000" + }, + "7751f363a0a7fd0533190809ddaf9340d8d11291": { + "balance": "20000000000000000000" + }, + "708a2af425ceb01e87ffc1be54c0f532b20eacd6": { + "balance": "134159000000000000000" + }, + "ac122a03cd058c122e5fe17b872f4877f9df9572": { + "balance": "1969606000000000000000" + }, + "5da4ca88935c27f55c311048840e589e04a8a049": { + "balance": "80000000000000000000" + }, + "e67c2c1665c88338688187629f49e99b60b2d3ba": { + "balance": "200000000000000000000" + }, + "dec82373ade8ebcf2acb6f8bc2414dd7abb70d77": { + "balance": "200000000000000000000" + }, + "47c247f53b9fbeb17bba0703a00c009fdb0f6eae": { + "balance": "20000000000000000000000" + }, + "9a522e52c195bfb7cf5ffaaedb91a3ba7468161d": { + "balance": "1000000000000000000000" + }, + "3159e90c48a915904adfe292b22fa5fd5e72796b": { + "balance": "1008800000000000000000" + }, + "defddfd59b8d2c154eecf5c7c167bf0ba2905d3e": { + "balance": "93588000000000000000" + }, + "ad1d68a038fd2586067ef6d135d9628e79c2c924": { + "balance": "4686168000000000000000" + }, + "038e45eadd3d88b87fe4dab066680522f0dfc8f9": { + "balance": "10000000000000000000000" + }, + "2561ec0f379218fe5ed4e028a3f744aa41754c72": { + "balance": "13370000000000000000" + }, + "b95396daaa490df2569324fcc6623be052f132ca": { + "balance": "2000000000000000000000" + }, + "2376ada90333b1d181084c97e645e810aa5b76f1": { + "balance": "750000000000000000000" + }, + "07800d2f8068e448c79a4f69b1f15ef682aae5f6": { + "balance": "19400000000000000000000" + }, + "adeb204aa0c38e179e81a94ed8b3e7d53047c26b": { + "balance": "608000000000000000000" + }, + "0dc100b107011c7fc0a1339612a16ccec3285208": { + "balance": "2000000000000000000000" + }, + "f0b1340b996f6f0bf0d9561c849caf7f4430befa": { + "balance": "100000000000000000000" + }, + "e1443dbd95cc41237f613a48456988a04f683282": { + "balance": "4000086000000000000000" + }, + "d3c6f1e0f50ec3d2a67e6bcd193ec7ae38f1657f": { + "balance": "6618150000000000000000" + }, + "b68899e7610d4c93a23535bcc448945ba1666f1c": { + "balance": "200000000000000000000" + }, + "a7253763cf4a75df92ca1e766dc4ee8a2745147b": { + "balance": "10740000000000000000000" + }, + "75d67ce14e8d29e8c2ffe381917b930b1aff1a87": { + "balance": "3000000000000000000000" + }, + "493d48bda015a9bfcf1603936eab68024ce551e0": { + "balance": "22528000000000000000" + }, + "7ddd57165c87a2707f025dcfc2508c09834759bc": { + "balance": "1400000000000000000000" + }, + "cff7f89a4d4219a38295251331568210ffc1c134": { + "balance": "1760000000000000000000" + }, + "168d30e53fa681092b52e9bae15a0dcb41a8c9bb": { + "balance": "100000000000000000000" + }, + "99b743d1d9eff90d9a1934b4db21d519d89b4a38": { + "balance": "100000000000000000000" + }, + "a3d0b03cffbb269f796ac29d80bfb07dc7c6ad06": { + "balance": "2000000000000000000000" + }, + "816d9772cf11399116cc1e72c26c6774c9edd739": { + "balance": "200000000000000000000" + }, + "a880e2a8bf88a1a82648b4013c49c4594c433cc8": { + "balance": "4728000000000000000000" + }, + "2a44a7218fe44d65a1b4b7a7d9b1c2c52c8c3e34": { + "balance": "62221355000000000000000" + }, + "cb86edbc8bbb1f9131022be649565ebdb09e32a1": { + "balance": "2000000000000000000000" + }, + "3915eab5ab2e5977d075dec47d96b68b4b5cf515": { + "balance": "61520000000000000000000" + }, + "8165cab0eafb5a328fc41ac64dae715b2eef2c65": { + "balance": "1000000000000000000000" + }, + "416c86b72083d1f8907d84efd2d2d783dffa3efb": { + "balance": "1999944000000000000000" + }, + "c524086d46c8112b128b2faf6f7c7d8160a8386c": { + "balance": "400000000000000000000" + }, + "902d74a157f7d2b9a3378b1f56703730e03a1719": { + "balance": "4000000000000000000000" + }, + "74ef2869cbe608856045d8c2041118579f2236ea": { + "balance": "59724000000000000000" + }, + "af992dd669c0883e5515d3f3112a13f617a4c367": { + "balance": "2000000000000000000000" + }, + "4c6a248fc97d705def495ca20759169ef0d36471": { + "balance": "760000000000000000000" + }, + "974d2f17895f2902049deaaecf09c3046507402d": { + "balance": "14707000000000000000" + }, + "0239b4f21f8e05cd01512b2be7a0e18a6d974607": { + "balance": "1000000000000000000000" + }, + "b97a6733cd5fe99864b3b33460d1672434d5cafd": { + "balance": "1999579000000000000000" + }, + "f558a2b2dd26dd9593aae04531fd3c3cc3854b67": { + "balance": "198000000000000000000" + }, + "b577b6befa054e9c040461855094b002d7f57bd7": { + "balance": "114000000000000000000000" + }, + "73bfe7710f31cab949b7a2604fbf5239cee79015": { + "balance": "2000000000000000000000" + }, + "5717f2d8f18ffcc0e5fe247d3a4219037c3a649c": { + "balance": "3998000000000000000000" + }, + "20707e425d2a11d2c89f391b2b809f556c592421": { + "balance": "2000000000000000000000" + }, + "9a6708ddb8903c289f83fe889c1edcd61f854423": { + "balance": "1000000000000000000000" + }, + "fa27cc49d00b6c987336a875ae39da58fb041b2e": { + "balance": "10000000000000000000000" + }, + "d688e785c98f00f84b3aa1533355c7a258e87948": { + "balance": "500000000000000000000" + }, + "927cb7dc187036b5427bc7e200c5ec450c1d27d4": { + "balance": "216000000000000000000" + }, + "b2bfaa58b5196c5cb7f89de15f479d1838de713d": { + "balance": "21000000000000000000" + }, + "e180de9e86f57bafacd7904f9826b6b4b26337a3": { + "balance": "830400000000000000000" + }, + "a1204dad5f560728a35c0d8fc79481057bf77386": { + "balance": "1000000000000000000000" + }, + "6b0da25af267d7836c226bcae8d872d2ce52c941": { + "balance": "6000000000000000000000" + }, + "0517448dada761cc5ba4033ee881c83037036400": { + "balance": "1998000000000000000000" + }, + "7ed0a5a847bef9a9da7cba1d6411f5c316312619": { + "balance": "39842000000000000000" + }, + "5b5d517029321562111b43086d0b043591109a70": { + "balance": "2600000000000000000000" + }, + "56fc1a7bad4047237ce116146296238e078f93ad": { + "balance": "178000000000000000000" + }, + "6c5422fb4b14e6d98b6091fdec71f1f08640419d": { + "balance": "400000000000000000000" + }, + "108fe8ee2a13da487b22c6ab6d582ea71064d98c": { + "balance": "399800000000000000000" + }, + "0ad3e44d3c001fa290b393617030544108ac6eb9": { + "balance": "1969019000000000000000" + }, + "25aee68d09afb71d8817f3f184ec562f7897b734": { + "balance": "2000000000000000000000" + }, + "c2340a4ca94c9678b7494c3c852528ede5ee529f": { + "balance": "48669000000000000000" + }, + "44901e0d0e08ac3d5e95b8ec9d5e0ff5f12e0393": { + "balance": "417500000000000000000" + }, + "8775a610c502b9f1e6ad4cdadb8ce29bff75f6e4": { + "balance": "600000000000000000000" + }, + "682897bc4f8e89029120fcffb787c01a93e64184": { + "balance": "10000000000000000000000" + }, + "f7acff934b84da0969dc37a8fcf643b7d7fbed41": { + "balance": "1999944000000000000000" + }, + "f05fcd4c0d73aa167e5553c8c0d6d4f2faa39757": { + "balance": "13334000000000000000000" + }, + "c981d312d287d558871edd973abb76b979e5c35e": { + "balance": "1970000000000000000000" + }, + "9da61ccd62bf860656e0325d7157e2f160d93bb5": { + "balance": "4999980000000000000000" + }, + "d284a50382f83a616d39b8a9c0f396e0ebbfa95d": { + "balance": "1000070000000000000000" + }, + "d6cf5c1bcf9da662bcea2255905099f9d6e84dcc": { + "balance": "8349332000000000000000" + }, + "c71b2a3d7135d2a85fb5a571dcbe695e13fc43cd": { + "balance": "1000000000000000000000" + }, + "b22dadd7e1e05232a93237baed98e0df92b1869e": { + "balance": "2000000000000000000000" + }, + "b09fe6d4349b99bc37938054022d54fca366f7af": { + "balance": "200000000000000000000000" + }, + "427e4751c3babe78cff8830886febc10f9908d74": { + "balance": "1970000000000000000000" + }, + "60b358cb3dbefa37f47df2d7365840da8e3bc98c": { + "balance": "20000000000000000000" + }, + "dcd5bca2005395b675fde5035659b26bfefc49ee": { + "balance": "197000000000000000000" + }, + "81186931184137d1192ac88cd3e1e5d0fdb86a74": { + "balance": "2900000000000000000000" + }, + "de212293f8f1d231fa10e609470d512cb8ffc512": { + "balance": "2000000000000000000000" + }, + "1937c5c515057553ccbd46d5866455ce66290284": { + "balance": "1000000000000000000000000" + }, + "592777261e3bd852c48eca95b3a44c5b7f2d422c": { + "balance": "20000000000000000000000" + }, + "bbf84292d954acd9e4072fb860b1504106e077ae": { + "balance": "1500000000000000000000" + }, + "3b4100e30a73b0c734b18ffa8426d19b19312f1a": { + "balance": "55300000000000000000000" + }, + "a03a3dc7c533d1744295be955d61af3f52b51af5": { + "balance": "40000000000000000000" + }, + "4aa148c2c33401e66a2b586e6577c4b292d3f240": { + "balance": "216200000000000000000" + }, + "ff850e3be1eb6a4d726c08fa73aad358f39706da": { + "balance": "1940000000000000000000" + }, + "743651b55ef8429df50cf81938c2508de5c8870f": { + "balance": "2000000000000000000000" + }, + "3700e3027424d939dbde5d42fb78f6c4dbec1a8f": { + "balance": "40000000000000000000" + }, + "c1cbd2e2332a524cf219b10d871ccc20af1fb0fa": { + "balance": "1000000000000000000000" + }, + "e25b9f76b8ad023f057eb11ad94257a0862e4e8c": { + "balance": "2000000000000000000000" + }, + "719e891fbcc0a33e19c12dc0f02039ca05b801df": { + "balance": "6185800000000000000000" + }, + "39636b25811b176abfcfeeca64bc87452f1fdff4": { + "balance": "400000000000000000000" + }, + "631030a5b27b07288a45696f189e1114f12a81c0": { + "balance": "499970000000000000000" + }, + "bcc84597b91e73d5c5b4d69c80ecf146860f779a": { + "balance": "4380000000000000000000" + }, + "095e0174829f34c3781be1a5e38d1541ea439b7f": { + "balance": "6000000000000000000000" + }, + "2e7e05e29edda7e4ae25c5173543efd71f6d3d80": { + "balance": "6000000000000000000000" + }, + "dbb6ac484027041642bbfd8d80f9d0c1cf33c1eb": { + "balance": "2000000000000000000000" + }, + "153c08aa8b96a611ef63c0253e2a4334829e579d": { + "balance": "394000000000000000000" + }, + "10f4bff0caa5027c0a6a2dcfc952824de2940909": { + "balance": "2000000000000000000000" + }, + "2ef869f0350b57d53478d701e3fee529bc911c75": { + "balance": "50000000000000000000" + }, + "70ab34bc17b66f9c3b63f151274f2a727c539263": { + "balance": "2000000000000000000000" + }, + "3201259caf734ad7581c561051ba0bca7fd6946b": { + "balance": "180000000000000000000000" + }, + "84e9cf8166c36abfa49053b7a1ad4036202681ef": { + "balance": "2000000000000000000000" + }, + "4ebc5629f9a6a66b2cf3363ac4895c0348e8bf87": { + "balance": "1000090000000000000000" + }, + "e50b464ac9de35a5618b7cbf254674182b81b97e": { + "balance": "4100000000000000000000" + }, + "2abdf1a637ef6c42a7e2fe217773d677e804ebdd": { + "balance": "5000000000000000000000" + }, + "7a0a78a9cc393f91c3d9e39a6b8c069f075e6bf5": { + "balance": "1337000000000000000000" + }, + "2d9c5fecd2b44fbb6a1ec732ea059f4f1f9d2b5c": { + "balance": "1010694000000000000000" + }, + "7b712c7af11676006a66d2fc5c1ab4c479ce6037": { + "balance": "8000000000000000000000" + }, + "3466f67e39636c01f43b3a21a0e8529325c08624": { + "balance": "842864000000000000000" + }, + "fdd502a74e813bcfa355ceda3c176f6a6871af7f": { + "balance": "400000000000000000000" + }, + "26475419c06d5f147aa597248eb46cf7befa64a5": { + "balance": "1640000000000000000000" + }, + "9243d7762d77287b12638688b9854e88a769b271": { + "balance": "1000000000000000000000" + }, + "723d8baa2551d2addc43c21b45e8af4ca2bfb2c2": { + "balance": "1760000000000000000000" + }, + "f2fbb6d887f8b8cc3a869aba847f3d1f643c53d6": { + "balance": "3999000000000000000000" + }, + "2cdb3944650616e47cb182e060322fa1487978ce": { + "balance": "1820000000000000000000" + }, + "f0d21663d8b0176e05fde1b90ef31f8530fda95f": { + "balance": "1999944000000000000000" + }, + "77cc02f623a9cf98530997ea67d95c3b491859ae": { + "balance": "1354900000000000000000" + }, + "d1b5a454ac3405bb4179208c6c84de006bcb9be9": { + "balance": "500000000000000000000" + }, + "b9920fd0e2c735c256463caa240fb7ac86a93dfa": { + "balance": "1760000000000000000000" + }, + "ed1f1e115a0d60ce02fb25df014d289e3a0cbe7d": { + "balance": "500000000000000000000" + }, + "23e2c6a8be8e0acfa5c4df5e36058bb7cbac5a81": { + "balance": "2000000000000000000000" + }, + "f0be0faf4d7923fc444622d1980cf2d990aab307": { + "balance": "2000000000000000000000" + }, + "0829d0f7bb7c446cfbb0deadb2394d9db7249a87": { + "balance": "40110000000000000000" + }, + "2ecac504b233866eb5a4a99e7bd2901359e43b3d": { + "balance": "20000000000000000000000" + }, + "06d6cb308481c336a6e1a225a912f6e6355940a1": { + "balance": "1760000000000000000000" + }, + "d4879fd12b1f3a27f7e109761b23ca343c48e3d8": { + "balance": "666000000000000000000" + }, + "857f100b1a5930225efc7e9020d78327b41c02cb": { + "balance": "2000000000000000000000" + }, + "3aa42c21b9b31c3e27ccd17e099af679cdf56907": { + "balance": "8000000000000000000000" + }, + "764d5212263aff4a2a14f031f04ec749dc883e45": { + "balance": "1850000000000000000000" + }, + "d03a2da41e868ed3fef5745b96f5eca462ff6fda": { + "balance": "3000000000000000000000" + }, + "4f26690c992b7a312ab12e1385d94acd58288e7b": { + "balance": "14000000000000000000000" + }, + "7b122162c913e7146cad0b7ed37affc92a0bf27f": { + "balance": "1506799000000000000000" + }, + "c87352dba582ee2066b9c002a962e003134f78b1": { + "balance": "500000000000000000000" + }, + "9f4ac9c9e7e24cb2444a0454fa5b9ad9d92d3853": { + "balance": "835000000000000000000" + }, + "ccf62a663f1353ba2ef8e6521dc1ecb673ec8ef7": { + "balance": "152000000000000000000" + }, + "557f5e65e0da33998219ad4e99570545b2a9d511": { + "balance": "11024000000000000000000" + }, + "a5f0077b351f6c505cd515dfa6d2fa7f5c4cd287": { + "balance": "40000000000000000000000" + }, + "79c6002f8452ca157f1317e80a2faf24475559b7": { + "balance": "20000000000000000000" + }, + "3aa07a34a1afc8967d3d1383b96b62cf96d5fa90": { + "balance": "20000000000000000000000" + }, + "7f389c12f3c6164f6446566c77669503c2792527": { + "balance": "98500000000000000000" + }, + "ac4cc256ae74d624ace80db078b2207f57198f6b": { + "balance": "2001000000000000000000" + }, + "823ba7647238d113bce9964a43d0a098118bfe4d": { + "balance": "200000000000000000000" + }, + "f5a7676ad148ae9c1ef8b6f5e5a0c2c473be850b": { + "balance": "200000000000000000000" + }, + "7d34803569e00bd6b59fff081dfa5c0ab4197a62": { + "balance": "1712700000000000000000" + }, + "061ea4877cd08944eb64c2966e9db8dedcfec06b": { + "balance": "1000000000000000000000" + }, + "df37c22e603aedb60a627253c47d8ba866f6d972": { + "balance": "24000000000000000000000" + }, + "529aa002c6962a3a8545027fd8b05f22b5bf9564": { + "balance": "1670000000000000000000" + }, + "eb89a882670909cf377e9e78286ee97ba78d46c2": { + "balance": "802200000000000000000" + }, + "9ac85397792a69d78f286b86432a07aeceb60e64": { + "balance": "14300000000000000000" + }, + "9610592202c282ab9bd8a884518b3e0bd4758137": { + "balance": "268000000000000000000" + }, + "73932709a97f02c98e51b091312865122385ae8e": { + "balance": "1430000000000000000000" + }, + "5ef8c96186b37984cbfe04c598406e3b0ac3171f": { + "balance": "9400000000000000000000" + }, + "b6f78da4f4d041b3bc14bc5ba519a5ba0c32f128": { + "balance": "172326253000000000000000" + }, + "6f0edd23bcd85f6015f9289c28841fe04c83efeb": { + "balance": "19100000000000000000" + }, + "a8a43c009100616cb4ae4e033f1fc5d7e0b6f152": { + "balance": "3939015000000000000000" + }, + "7081fa6baad6cfb7f51b2cca16fb8970991a64ba": { + "balance": "233953000000000000000" + }, + "9de7386dde401ce4c67b71b6553f8aa34ea5a17d": { + "balance": "60000000000000000000" + }, + "54ec7300b81ac84333ed1b033cd5d7a33972e234": { + "balance": "200000000000000000000" + }, + "67a80e0190721f94390d6802729dd12c31a895ad": { + "balance": "1999964000000000000000" + }, + "3a4297da3c555e46c073669d0478fce75f2f790e": { + "balance": "1969606000000000000000" + }, + "c2e0584a71348cc314b73b2029b6230b92dbb116": { + "balance": "2000000000000000000000" + }, + "0a2ade95b2e8c66d8ae6f0ba64ca57d783be6d44": { + "balance": "4000000000000000000000" + }, + "544b5b351d1bc82e9297439948cf4861dac9ae11": { + "balance": "22000000000000000000000" + }, + "3ae62bd271a760637fad79c31c94ff62b4cd12f7": { + "balance": "2000000000000000000000" + }, + "0d8023929d917234ae40512b1aabb5e8a4512771": { + "balance": "148000000000000000000" + }, + "2858acacaf21ea81cab7598fdbd86b452e9e8e15": { + "balance": "666000000000000000000" + }, + "c033b1325a0af45472c25527853b1f1c21fa35de": { + "balance": "2000000000000000000000" + }, + "bbf85aaaa683738f073baef44ac9dc34c4c779ea": { + "balance": "2000000000000000000000" + }, + "6ae57f27917c562a132a4d1bf7ec0ac785832926": { + "balance": "6000000000000000000000" + }, + "88e6f9b247f988f6c0fc14c56f1de53ec69d43cc": { + "balance": "100000000000000000000" + }, + "b72c2a011c0df50fbb6e28b20ae1aad217886790": { + "balance": "4000000000000000000000" + }, + "161caf5a972ace8379a6d0a04ae6e163fe21df2b": { + "balance": "100000000000000000000000" + }, + "2a63590efe9986c3fee09b0a0a338b15bed91f21": { + "balance": "6458400000000000000000" + }, + "50e1c8ec98415bef442618708799437b86e6c205": { + "balance": "6000000000000000000000" + }, + "33f4a6471eb1bca6a9f85b3b4872e10755c82be1": { + "balance": "2000000000000000000000" + }, + "9c49deff47085fc09704caa2dca8c287a9a137da": { + "balance": "8000000000000000000000" + }, + "e1173a247d29d8238df0922f4df25a05f2af77c3": { + "balance": "40007051000000000000000" + }, + "51891b2ccdd2f5a44b2a8bc49a5d9bca6477251c": { + "balance": "310000000000000000000" + }, + "ecaf3350b7ce144d068b186010852c84dd0ce0f0": { + "balance": "2000000000000000000000" + }, + "72393d37b451effb9e1ff3b8552712e2a970d8c2": { + "balance": "985000000000000000000" + }, + "1bbc60bcc80e5cdc35c5416a1f0a40a83dae867b": { + "balance": "2000000000000000000000" + }, + "b8ab39805bd821184f6cbd3d2473347b12bf175c": { + "balance": "118200000000000000000" + }, + "c55a6b4761fd11e8c85f15174d74767cd8bd9a68": { + "balance": "133700000000000000000" + }, + "99d1b585965f406a42a49a1ca70f769e765a3f98": { + "balance": "16700000000000000000000" + }, + "9ab988b505cfee1dbe9cd18e9b5473b9a2d4f536": { + "balance": "320000000000000000000" + }, + "7fef8c38779fb307ec6f044bebe47f3cfae796f1": { + "balance": "168561000000000000000" + }, + "322d6f9a140d213f4c80cd051afe25c620bf4c7d": { + "balance": "20000000000000000000" + }, + "3bd9a06d1bd36c4edd27fc0d1f5b088ddae3c72a": { + "balance": "499970000000000000000" + }, + "5dcdb6b87a503c6d8a3c65c2cf9a9aa883479a1e": { + "balance": "9200000000000000000000" + }, + "6e84c2fd18d8095714a96817189ca21cca62bab1": { + "balance": "340935000000000000000" + }, + "a5bad86509fbe0e0e3c0e93f6d381f1af6e9d481": { + "balance": "6000000000000000000000" + }, + "3954bdfe0bf587c695a305d9244c3d5bdddac9bb": { + "balance": "19187461000000000000000" + }, + "63f0e5a752f79f67124eed633ad3fd2705a397d4": { + "balance": "3940000000000000000000" + }, + "33fd718f0b91b5cec88a5dc15eecf0ecefa4ef3d": { + "balance": "432500000000000000000" + }, + "68027d19558ed7339a08aee8de3559be063ec2ea": { + "balance": "2000000000000000000000" + }, + "96f0462ae6f8b96088f7e9c68c74b9d8ad34b347": { + "balance": "1790000000000000000000" + }, + "f1f391ca92808817b755a8b8f4e2ca08d1fd1108": { + "balance": "6000000000000000000000" + }, + "7fcf5ba6666f966c5448c17bf1cb0bbcd8019b06": { + "balance": "99999000000000000000" + }, + "e9b9a2747510e310241d2ece98f56b3301d757e0": { + "balance": "2000000000000000000000" + }, + "2100381d60a5b54adc09d19683a8f6d5bb4bfbcb": { + "balance": "10000000000000000000000" + }, + "7495ae78c0d90261e2140ef2063104731a60d1ed": { + "balance": "34250000000000000000" + }, + "dc911cf7dc5dd0813656670528e9338e67034786": { + "balance": "2000000000000000000000" + }, + "262aed4bc0f4a4b2c6fb35793e835a49189cdfec": { + "balance": "10000000000000000000000" + }, + "9ee93f339e6726ec65eea44f8a4bfe10da3d3282": { + "balance": "2000000000000000000000" + }, + "a3a57b0716132804d60aac281197ff2b3d237b01": { + "balance": "1400000000000000000000" + }, + "c799e34e88ff88be7de28e15e4f2a63d0b33c4cb": { + "balance": "200000000000000000000" + }, + "c7506c1019121ff08a2c8c1591a65eb4bdfb4a3f": { + "balance": "600000000000000000000" + }, + "795ebc2626fc39b0c86294e0e837dcf523553090": { + "balance": "1000000000000000000000" + }, + "441aca82631324acbfa2468bda325bbd78477bbf": { + "balance": "6000000000000000000000" + }, + "9f271d285500d73846b18f733e25dd8b4f5d4a8b": { + "balance": "722000000000000000000" + }, + "d77892e2273b235d7689e430e7aeed9cbce8a1f3": { + "balance": "2000000000000000000000" + }, + "4f8972838f70c903c9b6c6c46162e99d6216d451": { + "balance": "4610000000000000000000" + }, + "4c85ed362f24f6b9f04cdfccd022ae535147cbb9": { + "balance": "1500000000000000000000" + }, + "3807eff43aa97c76910a19752dd715ee0182d94e": { + "balance": "250190000000000000000" + }, + "3a9e5441d44b243be55b75027a1ceb9eacf50df2": { + "balance": "1000000000000000000000" + }, + "3deae43327913f62808faa1b6276a2bd6368ead9": { + "balance": "2000000000000000000000" + }, + "c270456885342b640b4cfc1b520e1a544ee0d571": { + "balance": "1820000000000000000000" + }, + "77798f201257b9c35204957057b54674aefa51df": { + "balance": "149000000000000000000" + }, + "225f9eb3fb6ff3e9e3c8447e14a66e8d4f3779f6": { + "balance": "2000000000000000000000" + }, + "78df2681d6d602e22142d54116dea15d454957aa": { + "balance": "298000000000000000000" + }, + "283396ce3cac398bcbe7227f323e78ff96d08767": { + "balance": "400000000000000000000" + }, + "747ff7943b71dc4dcdb1668078f83dd7cc4520c2": { + "balance": "60000000000000000000" + }, + "a4ed11b072d89fb136759fc69b428c48aa5d4ced": { + "balance": "262800000000000000000" + }, + "cc043c4388d345f884c6855e71142a9f41fd6935": { + "balance": "20000000000000000000" + }, + "ab14d221e33d544629198cd096ed63dfa28d9f47": { + "balance": "6000000000000000000000" + }, + "251e6838f7cec5b383c1d90146341274daf8e502": { + "balance": "147510000000000000000" + }, + "36a0e61e1be47fa87e30d32888ee0330901ca991": { + "balance": "20000000000000000000" + }, + "bcfc98e5c82b6adb180a3fcb120b9a7690c86a3f": { + "balance": "1970000000000000000000" + }, + "18a6d2fc52be73084023c91802f05bc24a4be09f": { + "balance": "2000000000000000000000" + }, + "80591a42179f34e64d9df75dcd463b28686f5574": { + "balance": "20000000000000000000000" + }, + "881230047c211d2d5b00d8de4c5139de5e3227c7": { + "balance": "10000000000000000000000" + }, + "9eb1ff71798f28d6e989fa1ea0588e27ba86cb7d": { + "balance": "140800000000000000000" + }, + "a01fd1906a908506dedae1e208128872b56ee792": { + "balance": "3000000000000000000000" + }, + "1b05ea6a6ac8af7cb6a8b911a8cce8fe1a2acfc8": { + "balance": "2000000000000000000000" + }, + "6add932193cd38494aa3f03aeccc4b7ab7fabca2": { + "balance": "89600000000000000000" + }, + "2aaa35274d742546670b7426264521032af4f4c3": { + "balance": "10000000000000000000000" + }, + "67b8a6e90fdf0a1cac441793301e8750a9fa7957": { + "balance": "895000000000000000000" + }, + "5b5be0d8c67276baabd8edb30d48ea75640b8b29": { + "balance": "824480000000000000000" + }, + "28d7e5866f1d85fd1ceb32bfbe1dfc36db434566": { + "balance": "7199000000000000000000" + }, + "98e3e90b28fccaee828779b8d40a5568c4116e21": { + "balance": "40000000000000000000" + }, + "2dd578f7407dfbd548d05e95ccc39c485429626a": { + "balance": "4200000000000000000000" + }, + "8ca6989746b06e32e2487461b1ce996a273acfd7": { + "balance": "20000000000000000000" + }, + "a6f93307f8bce03195fece872043e8a03f7bd11a": { + "balance": "2886000000000000000000" + }, + "efbd52f97da5fd3a673a46cbf330447b7e8aad5c": { + "balance": "100033000000000000000" + }, + "52bdd9af5978850bc24110718b3723759b437e59": { + "balance": "1730000000000000000000" + }, + "6e073b66d1b8c66744d88096a8dd99ec7e0228da": { + "balance": "4000000000000000000000" + }, + "a29d661a6376f66d0b74e2fe9d8f26c0247ec84c": { + "balance": "4117300000000000000000" + }, + "7d34ff59ae840a7413c6ba4c5bb2ba2c75eab018": { + "balance": "3000000000000000000000" + }, + "2eca6a3c5d9f449d0956bd43fa7b4d7be8435958": { + "balance": "2000020000000000000000" + }, + "f59f9f02bbc98efe097eabb78210979021898bfd": { + "balance": "9999800000000000000000" + }, + "90e300ac71451e401f887f6e7728851647a80e07": { + "balance": "400000000000000000000" + }, + "05ae7fd4bbcc80ca11a90a1ec7a301f7cccc83db": { + "balance": "910000000000000000000" + }, + "e54102534de8f23effb093b31242ad3b233facfd": { + "balance": "4000000000000000000000" + }, + "c127aab59065a28644a56ba3f15e2eac13da2995": { + "balance": "600000000000000000000" + }, + "ed60c4ab6e540206317e35947a63a9ca6b03e2cb": { + "balance": "57275000000000000000" + }, + "d855b03ccb029a7747b1f07303e0a664793539c8": { + "balance": "2000000000000000000000" + }, + "1178501ff94add1c5881fe886136f6dfdbe61a94": { + "balance": "158000000000000000000" + }, + "f447108b98df64b57e871033885c1ad71db1a3f9": { + "balance": "6916709000000000000000" + }, + "deee2689fa9006b59cf285237de53b3a7fd01438": { + "balance": "450034000000000000000" + }, + "7f01dc7c3747ca608f983dfc8c9b39e755a3b914": { + "balance": "206980000000000000000" + }, + "9edeac4c026b93054dc5b1d6610c6f3960f2ad73": { + "balance": "1200000000000000000000" + }, + "e3cffe239c64e7e20388e622117391301b298696": { + "balance": "500000000000000000000" + }, + "ebbb4f2c3da8be3eb62d1ffb1f950261cf98ecda": { + "balance": "2000000000000000000000" + }, + "38c10b90c859cbb7815692f99dae520ab5febf5e": { + "balance": "13169000000000000000000" + }, + "23f9ecf3e5dddca38815d3e59ed34b5b90b4a353": { + "balance": "204608000000000000000" + }, + "d7fa5ffb6048f96fb1aba09ef87b1c11dd7005e4": { + "balance": "1000000000000000000000" + }, + "9ca42ee7a0b898f6a5cc60b5a5d7b1bfa3c33231": { + "balance": "2000000000000000000000" + }, + "8b9577920053b1a00189304d888010d9ef2cb4bf": { + "balance": "500000000000000000000" + }, + "fcd0b4827cd208ffbf5e759dba8c3cc61d8c2c3c": { + "balance": "8000000000000000000000" + }, + "01ff1eb1dead50a7f2f9638fdee6eccf3a7b2ac8": { + "balance": "600000000000000000000" + }, + "abde147b2af789eaa586547e66c4fa2664d328a4": { + "balance": "247545000000000000000" + }, + "64042ba68b12d4c151651ca2813b7352bd56f08e": { + "balance": "600000000000000000000" + }, + "dccca42045ec3e16508b603fd936e7fd7de5f36a": { + "balance": "19700000000000000000" + }, + "e77a89bd45dc04eeb4e41d7b596b707e6e51e74c": { + "balance": "12000000000000000000000" + }, + "f77c7b845149efba19e261bc7c75157908afa990": { + "balance": "2000000000000000000000" + }, + "fa5201fe1342af11307b9142a041243ca92e2f09": { + "balance": "152150000000000000000000" + }, + "40df495ecf3f8b4cef2a6c189957248fe884bc2b": { + "balance": "12000000000000000000000" + }, + "3d79a853d71be0621b44e29759656ca075fdf409": { + "balance": "2000000000000000000000" + }, + "6de02f2dd67efdb7393402fa9eaacbcf589d2e56": { + "balance": "1182000000000000000000" + }, + "729aad4627744e53f5d66309aa74448b3acdf46f": { + "balance": "2000000000000000000000" + }, + "4e4318f5e13e824a54edfe30a7ed4f26cd3da504": { + "balance": "2000000000000000000000" + }, + "c6a286e065c85f3af74812ed8bd3a8ce5d25e21d": { + "balance": "18200000000000000000" + }, + "fd686de53fa97f99639e2568549720bc588c9efc": { + "balance": "1969606000000000000000" + }, + "06b0ff834073cce1cbc9ea557ea87b605963e8b4": { + "balance": "300000000000000000000" + }, + "72b5633fe477fe542e742facfd690c137854f216": { + "balance": "1670000000000000000000" + }, + "8bf373d076814cbc57e1c6d16a82c5be13c73d37": { + "balance": "200000000000000000000" + }, + "cf264e6925130906c4d7c18591aa41b2a67f6f58": { + "balance": "2000000000000000000000" + }, + "0ea2a210312b3e867ee0d1cc682ce1d666f18ed5": { + "balance": "10000000000000000000000" + }, + "d02afecf8e2ec2b62ac8ad204161fd1fae771d0e": { + "balance": "2000000000000000000000" + }, + "e6b20f980ad853ad04cbfc887ce6601c6be0b24c": { + "balance": "4000000000000000000000" + }, + "4280a58f8bb10b9440de94f42b4f592120820191": { + "balance": "2000000000000000000000" + }, + "a914cdb571bfd93d64da66a4e108ea134e50d000": { + "balance": "1430143000000000000000" + }, + "60864236930d04d8402b5dcbeb807f3caf611ea2": { + "balance": "4000000000000000000000" + }, + "f9dd239008182fb519fb30eedd2093fed1639be8": { + "balance": "500000000000000000000" + }, + "18e53243981aabc8767da10c73449f1391560eaa": { + "balance": "6000000000000000000000" + }, + "c3a9226ae275df2cab312b911040634a9c9c9ef6": { + "balance": "4000000000000000000000" + }, + "4fcc19ea9f4c57dcbce893193cfb166aa914edc5": { + "balance": "7001380000000000000000" + }, + "c1e1409ca52c25435134d006c2a6a8542dfb7273": { + "balance": "34380000000000000000" + }, + "981ddf0404e4d22dda556a0726f00b2d98ab9569": { + "balance": "999972000000000000000" + }, + "e5bcc88c3b256f6ed5fe550e4a18198b943356ad": { + "balance": "2000000000000000000000" + }, + "74a17f064b344e84db6365da9591ff1628257643": { + "balance": "20000000000000000000" + }, + "2720f9ca426ef2f2cbd2fecd39920c4f1a89e16d": { + "balance": "2000000000000000000000" + }, + "8d04a5ebfb5db409db0617c9fa5631c192861f4a": { + "balance": "970000000000000000000" + }, + "f18b14cbf6694336d0fe12ac1f25df2da0c05dbb": { + "balance": "3999800000000000000000" + }, + "56ac20d63bd803595cec036da7ed1dc66e0a9e07": { + "balance": "63927000000000000000" + }, + "92c94c2820dfcf7156e6f13088ece7958b3676fd": { + "balance": "95500000000000000000" + }, + "968dea60df3e09ae3c8d3505e9c080454be0e819": { + "balance": "6000000000000000000000" + }, + "9268d62646563611dc3b832a30aa2394c64613e3": { + "balance": "2000000000000000000000" + }, + "5a192b964afd80773e5f5eda6a56f14e25e0c6f3": { + "balance": "500000000000000000000" + }, + "df8d48b1eb07b3c217790e6c2df04dc319e7e848": { + "balance": "500000000000000000000" + }, + "7f61fa6cf5f898b440dac5abd8600d6d691fdef9": { + "balance": "280000000000000000000" + }, + "929d368eb46a2d1fbdc8ffa0607ede4ba88f59ad": { + "balance": "2000000000000000000000" + }, + "9982a5890ffb5406d3aca8d2bfc1dd70aaa80ae0": { + "balance": "2000000000000000000000" + }, + "bf2aea5a1dcf6ed3b5e8323944e983fedfd1acfb": { + "balance": "1580000000000000000000" + }, + "46aa501870677e7f0a504876b4e8801a0ad01c46": { + "balance": "800000000000000000000" + }, + "8f473d0ab876ddaa15608621d7013e6ff714b675": { + "balance": "470400000000000000000" + }, + "02290fb5f9a517f82845acdeca0fc846039be233": { + "balance": "2000000000000000000000" + }, + "8a5831282ce14a657a730dc18826f7f9b99db968": { + "balance": "4330268000000000000000" + }, + "0328510c09dbcd85194a98d67c33ac49f2f94d60": { + "balance": "11000000000000000000000" + }, + "cf883a20329667ea226a1e3c765dbb6bab32219f": { + "balance": "3038972000000000000000" + }, + "2615100ea7e25bba9bca746058afbbb4ffbe4244": { + "balance": "500000000000000000000" + }, + "b115ee3ab7641e1aa6d000e41bfc1ec7210c2f32": { + "balance": "13000000000000000000000" + }, + "5cfa8d568575658ca4c1a593ac4c5d0e44c60745": { + "balance": "291000000000000000000" + }, + "d3c24d4b3a5e0ff8a4622d518edd73f16ab28610": { + "balance": "20000000000000000000" + }, + "a639acd96b31ba53b0d08763229e1f06fd105e9d": { + "balance": "8000000000000000000000" + }, + "ffa4aff1a37f984b0a67272149273ae9bd41e3bc": { + "balance": "10000000000000000000000" + }, + "cf684dfb8304729355b58315e8019b1aa2ad1bac": { + "balance": "432500000000000000000" + }, + "5797b60fd2894ab3c2f4aede86daf2e788d745ad": { + "balance": "6000000000000000000000" + }, + "a6a0de421ae54f6d17281308f5646d2f39f7775d": { + "balance": "2000000000000000000000" + }, + "08504f05643fab5919f5eea55925d7a3ed7d807a": { + "balance": "20000000000000000000" + }, + "7a7068e1c3375c0e599db1fbe6b2ea23b8f407d2": { + "balance": "2000000000000000000000" + }, + "1078d7f61b0e56c74ee6635b2e1819ef1e3d8785": { + "balance": "1000000000000000000000" + }, + "6e12b51e225b4a4372e59ad7a2a1a13ea3d3a137": { + "balance": "14172200000000000000000" + }, + "6a2e86469a5bf37cee82e88b4c3863895d28fcaf": { + "balance": "519000000000000000000" + }, + "197672fd39d6f246ce66a790d13aa922d70ea109": { + "balance": "1000000000000000000000" + }, + "8009a7cbd192b3aed4adb983d5284552c16c7451": { + "balance": "4000000000000000000000" + }, + "f6c3c48a1ac0a34799f04db86ec7a975fe7768f3": { + "balance": "1970000000000000000000" + }, + "16be75e98a995a395222d00bd79ff4b6e638e191": { + "balance": "36000000000000000000000" + }, + "6c05e34e5ef2f42ed09deff1026cd66bcb6960bb": { + "balance": "2000000000000000000000" + }, + "5d6ae8cbd6b3393c22d16254100d0238e808147c": { + "balance": "719992000000000000000" + }, + "1a376e1b2d2f590769bb858d4575320d4e149970": { + "balance": "4841200000000000000000" + }, + "f6ead67dbf5b7eb13358e10f36189d53e643cfcf": { + "balance": "40000000000000000000000" + }, + "467d5988249a68614716659840ed0ae6f6f457bc": { + "balance": "387500000000000000000" + }, + "aa960e10c52391c54e15387cc67af827b5316dcc": { + "balance": "2000000000000000000000" + }, + "483ba99034e900e3aedf61499d3b2bce39beb7aa": { + "balance": "985000000000000000000" + }, + "86f23e9c0aafc78b9c404dcd60339a925bffa266": { + "balance": "400000000000000000000" + }, + "d05a447c911dbb275bfb2e5a37e5a703a56f9997": { + "balance": "200000000000000000000" + }, + "edb71ec41bda7dce86e766e6e8c3e9907723a69b": { + "balance": "20000000000000000000" + }, + "f86a3ea8071f7095c7db8a05ae507a8929dbb876": { + "balance": "336000000000000000000" + }, + "323b3cfe3ee62bbde2a261e53cb3ecc05810f2c6": { + "balance": "13790000000000000000000" + }, + "936f3813f5f6a13b8e4ffec83fe7f826186a71cd": { + "balance": "520000000000000000000" + }, + "6db72bfd43fef465ca5632b45aab7261404e13bf": { + "balance": "2000000000000000000000" + }, + "9bb76204186af2f63be79168601687fc9bad661f": { + "balance": "300000000000000000000" + }, + "28ab165ffb69eda0c549ae38e9826f5f7f92f853": { + "balance": "1296890000000000000000" + }, + "c73e2112282215dc0762f32b7e807dcd1a7aae3e": { + "balance": "6900000000000000000000" + }, + "f8086e42661ea929d2dda1ab6c748ce3055d111e": { + "balance": "1000000000000000000000" + }, + "4db21284bcd4f787a7556500d6d7d8f36623cf35": { + "balance": "1939806000000000000000" + }, + "c48651c1d9c16bff4c9554886c3f3f26431f6f68": { + "balance": "658000000000000000000" + }, + "9bdbdc9b973431d13c89a3f9757e9b3b6275bfc7": { + "balance": "499971000000000000000" + }, + "560da37e956d862f81a75fd580a7135c1b246352": { + "balance": "10000000000000000000000" + }, + "4b60a3e253bf38c8d5662010bb93a473c965c3e5": { + "balance": "1490000000000000000000" + }, + "64e02abb016cc23a2934f6bcddb681905021d563": { + "balance": "1000000000000000000000" + }, + "ac2c8e09d06493a63858437bd20be01962450365": { + "balance": "1910000000000000000000" + }, + "9bf9b3b2f23cf461eb591f28340bc719931c8364": { + "balance": "1000000000000000000000" + }, + "9b5c39f7e0ac168c8ed0ed340477117d1b682ee9": { + "balance": "98000000000000000000" + }, + "f75bb39c799779ebc04a336d260da63146ed98d0": { + "balance": "25000000000000000000" + }, + "a7966c489f4c748a7ae980aa27a574251767caf9": { + "balance": "3000000000000000000000" + }, + "ea53c954f4ed97fd4810111bdab69ef981ef25b9": { + "balance": "17300000000000000000000" + }, + "03a26cfc4c18316f70d59e9e1a79ee3e8b962f4c": { + "balance": "2000000000000000000000" + }, + "3e63ce3b24ca2865b4c5a687b7aea3597ef6e548": { + "balance": "2000000000000000000000" + }, + "500c902958f6421594d1b6ded712490d52ed6c44": { + "balance": "1970000000000000000000" + }, + "6f44ca09f0c6a8294cbd519cdc594ad42c67579f": { + "balance": "50000000000000000000" + }, + "3616fb46c81578c9c8eb4d3bf880451a88379d7d": { + "balance": "200000000000000000000" + }, + "57bc20e2d62b3d19663cdb4c309d5b4f2fc2db8f": { + "balance": "100000000000000000000" + }, + "1cebf0985d7f680aaa915c44cc62edb49eab269e": { + "balance": "1000000000000000000000" + }, + "c0cbf6032fa39e7c46ff778a94f7d445fe22cf30": { + "balance": "310000000000000000000" + }, + "c58b9cc61dedbb98c33f224d271f0e228b583433": { + "balance": "3880000000000000000000" + }, + "e9c6dfae97f7099fc5f4e94b784db802923a1419": { + "balance": "48800000000000000000" + }, + "9bacd3d40f3b82ac91a264d9d88d908eac8664b9": { + "balance": "20000000000000000000000" + }, + "63d80048877596e0c28489e650cd4ac180096a49": { + "balance": "280000000000000000000" + }, + "e6a6f6dd6f70a456f4ec15ef7ad5e5dbb68bd7dc": { + "balance": "200000000000000000000" + }, + "d418870bc2e4fa7b8a6121ae0872d55247b62501": { + "balance": "1580000000000000000000" + }, + "e2f9383d5810ea7b43182b8704b62b27f5925d39": { + "balance": "400000000000000000000" + }, + "bd5e473abce8f97a6932f77c2facaf9cc0a00514": { + "balance": "1117350000000000000000" + }, + "2ff1ca55fd9cec1b1fe9f0a9abb74c513c1e2aaa": { + "balance": "3000000000000000000000" + }, + "9d99b189bbd9a48fc2e16e8fcda33bb99a317bbb": { + "balance": "1126900000000000000000" + }, + "6e96faeda3054302c45f58f161324c99a3eebb62": { + "balance": "20000000000000000000" + }, + "ef93818f684db0c3675ec81332b3183ecc28a495": { + "balance": "1550000000000000000000" + }, + "2659facb1e83436553b5b42989adb8075f9953ed": { + "balance": "29356000000000000000" + }, + "c4ffadaaf2823fbea7bff702021bffc4853eb5c9": { + "balance": "42233000000000000000" + }, + "e9864c1afc8eaad37f3ba56fcb7477cc622009b7": { + "balance": "79000000000000000000" + }, + "87ef6d8b6a7cbf9b5c8c97f67ee2adc2a73b3f77": { + "balance": "200400000000000000000" + }, + "c043f2452dcb9602ef62bd360e033dd23971fe84": { + "balance": "2000000000000000000000" + }, + "0fdd65402395df9bd19fee4507ef5345f745104c": { + "balance": "5000000000000000000000" + }, + "939c4313d2280edf5e071bced846063f0a975d54": { + "balance": "120000000000000000000000" + }, + "b28245037cb192f75785cb86cbfe7c930da258b0": { + "balance": "16000000000000000000000" + }, + "a80cb1738bac08d4f9c08b4deff515545fa8584f": { + "balance": "500000000000000000000" + }, + "62971bf2634cee0be3c9890f51a56099dbb9519b": { + "balance": "656000000000000000000" + }, + "f2efe96560c9d97b72bd36447843885c1d90c231": { + "balance": "2000000000000000000000" + }, + "0e390f44053ddfcef0d608b35e4d9c2cbe9871bb": { + "balance": "1970000000000000000000" + }, + "61d101a033ee0e2ebb3100ede766df1ad0244954": { + "balance": "500000000000000000000" + }, + "6785513cf732e47e87670770b5419be10cd1fc74": { + "balance": "2000000000000000000000" + }, + "167699f48a78c615512515739958993312574f07": { + "balance": "39000000000000000000" + }, + "68ec79d5be7155716c40941c79d78d17de9ef803": { + "balance": "500600000000000000000" + }, + "a0e8ba661b48154cf843d4c2a5c0f792d528ee29": { + "balance": "400000000000000000000" + }, + "1a201b4327cea7f399046246a3c87e6e03a3cda8": { + "balance": "1000000000000000000000" + }, + "f60f62d73937953fef35169e11d872d2ea317eec": { + "balance": "5348000000000000000000" + }, + "c0c04d0106810e3ec0e54a19f2ab8597e69a573d": { + "balance": "50000000000000000000" + }, + "ef47cf073e36f271d522d7fa4e7120ad5007a0bc": { + "balance": "2500000000000000000000" + }, + "a44fe800d96fcad73b7170d0f610cb8c0682d6ce": { + "balance": "4000000000000000000000" + }, + "010f4a98dfa1d9799bf5c796fb550efbe7ecd877": { + "balance": "8023366000000000000000" + }, + "708fa11fe33d85ad1befcbae3818acb71f6a7d7e": { + "balance": "18200000000000000000" + }, + "b38c4e537b5df930d65a74d043831d6b485bbde4": { + "balance": "400000000000000000000" + }, + "250a69430776f6347703f9529783955a6197b682": { + "balance": "1940000000000000000000" + }, + "2d35a9df62757f7ffad1049afb06ca4afc464c51": { + "balance": "20000000000000000000" + }, + "6aff1466c2623675e3cb0e75e423d37a25e442eb": { + "balance": "1730000000000000000000" + }, + "fc15cb99a8d1030b12770add033a79ee0d0c908c": { + "balance": "350056000000000000000" + }, + "e784dcc873aa8c1513ec26ff36bc92eac6d4c968": { + "balance": "200000000000000000000" + }, + "b1c328fb98f2f19ab6646f0a7c8c566fda5a8540": { + "balance": "2500000000000000000000" + }, + "247a0a11c57f0383b949de540b66dee68604b0a1": { + "balance": "1069600000000000000000" + }, + "1af60343360e0b2d75255210375720df21db5c7d": { + "balance": "1000000000000000000000" + }, + "8794bf47d54540ece5c72237a1ffb511ddb74762": { + "balance": "2000000000000000000000" + }, + "e76d945aa89df1e457aa342b31028a5e9130b2ce": { + "balance": "1015200000000000000000" + }, + "a30e0acb534c9b3084e8501da090b4eb16a2c0cd": { + "balance": "2000000000000000000000" + }, + "7099d12f6ec656899b049a7657065d62996892c8": { + "balance": "400000000000000000000" + }, + "7be7f2456971883b9a8dbe4c91dec08ac34e8862": { + "balance": "3000000000000000000000" + }, + "42746aeea14f27beff0c0da64253f1e7971890a0": { + "balance": "1550000000000000000000" + }, + "736b44503dd2f6dd5469ff4c5b2db8ea4fec65d0": { + "balance": "313950000000000000000" + }, + "822edff636563a6106e52e9a2598f7e6d0ef2782": { + "balance": "36099000000000000000" + }, + "03c647a9f929b0781fe9ae01caa3e183e876777e": { + "balance": "445800000000000000000" + }, + "63612e7862c27b587cfb6daf9912cb051f030a9f": { + "balance": "43458000000000000000" + }, + "d46bae61b027e5bb422e83a3f9c93f3c8fc77d27": { + "balance": "2000000000000000000000" + }, + "5f23ba1f37a96c45bc490259538a54c28ba3b0d5": { + "balance": "1200000000000000000000" + }, + "d41d7fb49fe701baac257170426cc9b38ca3a9b2": { + "balance": "176000000000000000000" + }, + "1ebacb7844fdc322f805904fbf1962802db1537c": { + "balance": "10000000000000000000000" + }, + "9c80bc18e9f8d4968b185da8c79fa6e11ffc3e23": { + "balance": "240000000000000000000" + }, + "e4ca0a5238564dfc91e8bf22bade2901619a1cd4": { + "balance": "1000000000000000000000" + }, + "1ad72d20a76e7fcc6b764058f48d417d496fa6cd": { + "balance": "2000000000000000000000" + }, + "d3bc730937fa75d8452616ad1ef1fe7fffe0d0e7": { + "balance": "83363000000000000000" + }, + "eac1482826acb6111e19d340a45fb851576bed60": { + "balance": "32177000000000000000" + }, + "01e40521122530d9ac91113c06a0190b6d63850b": { + "balance": "1337000000000000000000" + }, + "9e20e5fd361eabcf63891f5b87b09268b8eb3793": { + "balance": "100000000000000000000" + }, + "69ff429074cb9b6c63bc914284bce5f0c8fbf7d0": { + "balance": "500000000000000000000" + }, + "0d3265d3e7bdb93d5e8e8b1ca47f210a793ecc8e": { + "balance": "200000000000000000000" + }, + "5b4ea16db6809b0352d4b6e81c3913f76a51bb32": { + "balance": "400000000000000000000" + }, + "d8fe088fffce948f5137ee23b01d959e84ac4223": { + "balance": "227942000000000000000" + }, + "7e4e9409704121d1d77997026ff06ea9b19a8b90": { + "balance": "2602600000000000000000" + }, + "96b434fe0657e42acc8212b6865139dede15979c": { + "balance": "4000000000000000000000" + }, + "22f004df8de9e6ebf523ccace457accb26f97281": { + "balance": "10000000000000000000000" + }, + "d8f9240c55cff035523c6d5bd300d370dc8f0c95": { + "balance": "285000000000000000000" + }, + "9d9e57fde30e5068c03e49848edce343b7028358": { + "balance": "1730000000000000000000" + }, + "317cf4a23cb191cdc56312c29d15e210b3b9b784": { + "balance": "144000000000000000000" + }, + "79f08e01ce0988e63c7f8f2908fade43c7f9f5c9": { + "balance": "18200000000000000000" + }, + "04e5f5bc7c923fd1e31735e72ef968fd67110c6e": { + "balance": "1611000000000000000000" + }, + "1ec4ec4b77bf19d091a868e6f49154180541f90e": { + "balance": "2000000000000000000000" + }, + "8737dae671823a8d5917e0157ace9c43468d946b": { + "balance": "1999944000000000000000" + }, + "f998ca3411730a6cd10e7455b0410fb0f6d3ff80": { + "balance": "2000000000000000000000" + }, + "6e2eab85dc89fe29dc0aa1853247dab43a523d56": { + "balance": "80000000000000000000" + }, + "72c083beadbdc227c5fb43881597e32e83c26056": { + "balance": "20000000000000000000000" + }, + "5902e44af769a87246a21e079c08bf36b06efeb3": { + "balance": "1000000000000000000000" + }, + "cc2d04f0a4017189b340ca77198641dcf6456b91": { + "balance": "3940000000000000000000" + }, + "bde4c73f969b89e9ceae66a2b51844480e038e9a": { + "balance": "1000000000000000000000" + }, + "adff0d1d0b97471e76d789d2e49c8a74f9bd54ff": { + "balance": "1880000000000000000000" + }, + "397cdb8c80c67950b18d654229610e93bfa6ee1a": { + "balance": "1172938000000000000000" + }, + "a3e051fb744aa3410c3b88f899f5d57f168df12d": { + "balance": "2955000000000000000000" + }, + "810db25675f45ea4c7f3177f37ce29e22d67999c": { + "balance": "200000000000000000000" + }, + "1e13ec51142cebb7a26083412c3ce35144ba56a1": { + "balance": "5000000000000000000000" + }, + "25bdfa3ee26f3849617b230062588a97e3cae701": { + "balance": "1000008000000000000000" + }, + "ae538c73c5b38d8d584d7ebdadefb15cabe48357": { + "balance": "999000000000000000000" + }, + "a2ecce2c49f72a0995a0bda57aacf1e9f001e22a": { + "balance": "4000000000000000000000" + }, + "7e24fbdad290175eb2df6d180a19b9a9f41370be": { + "balance": "1000000000000000000000" + }, + "e8cc43bc4f8acf39bff04ebfbf42aac06a328470": { + "balance": "400000000000000000000" + }, + "c2779771f0536d79a8708f6931abc44b3035e999": { + "balance": "20002000000000000000000" + }, + "ab27ba78c8e5e3daef31ad05aef0ff0325721e08": { + "balance": "468000000000000000000" + }, + "563cb8803c1d32a25b27b64114852bd04d9c20cd": { + "balance": "204400000000000000000" + }, + "08d4267feb15da9700f7ccc3c84a8918bf17cfde": { + "balance": "1790000000000000000000" + }, + "d1778c13fbd968bc083cb7d1024ffe1f49d02caa": { + "balance": "4020000000000000000000" + }, + "1796bcc97b8abc717f4b4a7c6b1036ea2182639f": { + "balance": "355242000000000000000" + }, + "beecd6af900c8b064afcc6073f2d85d59af11956": { + "balance": "2000000000000000000000" + }, + "045ed7f6d9ee9f252e073268db022c6326adfc5b": { + "balance": "100000000000000000000" + }, + "b88a37c27f78a617d5c091b7d5b73a3761e65f2a": { + "balance": "2000000000000000000000" + }, + "72fb49c29d23a18950c4b2dc0ddf410f532d6f53": { + "balance": "2000000000000000000000" + }, + "6ecaefa6fc3ee534626db02c6f85a0c395571e77": { + "balance": "600000000000000000000" + }, + "d1811c55976980f083901d8a0db269222dfb5cfe": { + "balance": "1550000000000000000000" + }, + "98855c7dfbee335344904a12c40c731795b13a54": { + "balance": "1069600000000000000000" + }, + "92a898d46f19719c38126a8a3c27867ae2cee596": { + "balance": "2000000000000000000000" + }, + "ca428863a5ca30369892d612183ef9fb1a04bcea": { + "balance": "1520000000000000000000" + }, + "797427e3dbf0feae7a2506f12df1dc40326e8505": { + "balance": "1000000000000000000000" + }, + "3d574fcf00fae1d98cc8bf9ddfa1b3953b9741bc": { + "balance": "1970000000000000000000" + }, + "28818e18b610001321b31df6fe7d2815cdadc9f5": { + "balance": "1000000000000000000000" + }, + "5f3e1e6739b0c62200e00a003691d9efb238d89f": { + "balance": "3000000000000000000000" + }, + "d9d370fec63576ab15b318bf9e58364dc2a3552a": { + "balance": "100000000000000000000" + }, + "b223bf1fbf80485ca2b5567d98db7bc3534dd669": { + "balance": "4000000000000000000000" + }, + "7b27d0d1f3dd3c140294d0488b783ebf4015277d": { + "balance": "400000000000000000000" + }, + "7930c2d9cbfa87f510f8f98777ff8a8448ca5629": { + "balance": "199955000000000000000" + }, + "820c19291196505b65059d9914b7090be1db87de": { + "balance": "140000000000000000000" + }, + "e545ee84ea48e564161e9482d59bcf406a602ca2": { + "balance": "1850000000000000000000" + }, + "af4cf41785161f571d0ca69c94f8021f41294eca": { + "balance": "9850000000000000000000" + }, + "7a4f9b850690c7c94600dbee0ca4b0a411e9c221": { + "balance": "1910000000000000000000" + }, + "ddab6b51a9030b40fb95cf0b748a059c2417bec7": { + "balance": "2000000000000000000000" + }, + "315ef2da620fd330d12ee55de5f329a696e0a968": { + "balance": "150000000000000000000" + }, + "4db1c43a0f834d7d0478b8960767ec1ac44c9aeb": { + "balance": "872870000000000000000" + }, + "2fef81478a4b2e8098db5ff387ba2153f4e22b79": { + "balance": "999000000000000000000" + }, + "6c6aa0d30b64721990b9504a863fa0bfb5e57da7": { + "balance": "2700000000000000000000" + }, + "33380c6fff5acd2651309629db9a71bf3f20c5ba": { + "balance": "16100000000000000000000" + }, + "4eebf1205d0cc20cee6c7f8ff3115f56d48fba26": { + "balance": "19400000000000000000" + }, + "03cc9d2d21f86b84ac8ceaf971dba78a90e62570": { + "balance": "1610000000000000000000" + }, + "728f9ab080157db3073156dbca1a169ef3179407": { + "balance": "500000000000000000000" + }, + "30ed11b77bc17e5e6694c8bc5b6e4798f68d9ca7": { + "balance": "143731500000000000000000" + }, + "f617b967b9bd485f7695d2ef51fb7792d898f500": { + "balance": "500000000000000000000" + }, + "c0cbad3ccdf654da22cbcf5c786597ca1955c115": { + "balance": "2000000000000000000000" + }, + "80522ddf944ec52e27d724ed4c93e1f7be6083d6": { + "balance": "200000000000000000000" + }, + "4e90ccb13258acaa9f4febc0a34292f95991e230": { + "balance": "15800000000000000000" + }, + "ff207308ced238a6c01ad0213ca9eb4465d42590": { + "balance": "1999944000000000000000" + }, + "35f2949cf78bc219bb4f01907cf3b4b3d3865482": { + "balance": "289800000000000000000" + }, + "68f525921dc11c329b754fbf3e529fc723c834cd": { + "balance": "1610000000000000000000" + }, + "81139bfdcca656c430203f72958c543b6580d40c": { + "balance": "2000000000000000000000" + }, + "9d511543b3d9dc60d47f09d49d01b6c498d82078": { + "balance": "11245000000000000000000" + }, + "084d103254759b343cb2b9c2d8ff9e1ac5f14596": { + "balance": "7600000000000000000000" + }, + "b323dcbf2eddc5382ee4bbbb201ca3931be8b438": { + "balance": "2000000000000000000000" + }, + "349d2c918fd09e2807318e66ce432909176bd50b": { + "balance": "1120000000000000000000" + }, + "b535f8db879fc67fec58824a5cbe6e5498aba692": { + "balance": "1910000000000000000000" + }, + "824074312806da4748434266ee002140e3819ac2": { + "balance": "1507000000000000000000" + }, + "e8ef100d7ce0895832f2678df72d4acf8c28b8e3": { + "balance": "500038000000000000000" + }, + "84af1b157342d54368260d17876230a534b54b0e": { + "balance": "985000000000000000000" + }, + "419a71a36c11d105e0f2aef5a3e598078e85c80b": { + "balance": "5000000000000000000000" + }, + "55af092f94ba6a79918b0cf939eab3f01b3f51c7": { + "balance": "149940000000000000000" + }, + "35a549e8fd6c368d6dcca6d2e7d18e4db95f5284": { + "balance": "499938000000000000000" + }, + "f0e2649c7e6a3f2c5dfe33bbfbd927ca3c350a58": { + "balance": "2000000000000000000000" + }, + "f4b759cc8a1c75f80849ebbcda878dc8f0d66de4": { + "balance": "400000000000000000000" + }, + "21846f2fdf5a41ed8df36e5ed8544df75988ece3": { + "balance": "1999944000000000000000" + }, + "229ff80bf5708009a9f739e0f8b560914016d5a6": { + "balance": "333333000000000000000" + }, + "da505537537ffb33c415fec64e69bae090c5f60f": { + "balance": "160000000000000000000" + }, + "b91d9e916cd40d193db60e79202778a0087716fc": { + "balance": "404800000000000000000" + }, + "bb6823a1bd819f13515538264a2de052b4442208": { + "balance": "25610000000000000000" + }, + "459393d63a063ef3721e16bd9fde45ee9dbd77fb": { + "balance": "1968818000000000000000" + }, + "95f62d0243ede61dad9a3165f53905270d54e242": { + "balance": "1610000000000000000000" + }, + "b0bb29a861ea1d424d45acd4bfc492fb8ed809b7": { + "balance": "80000000000000000000" + }, + "5e74ed80e9655788e1bb269752319667fe754e5a": { + "balance": "56000000000000000000" + }, + "a276b058cb98d88beedb67e543506c9a0d9470d8": { + "balance": "2668652000000000000000" + }, + "8ae9ef8c8a8adfa6ab798ab2cdc405082a1bbb70": { + "balance": "2000000000000000000000" + }, + "e5102c3b711b810344197419b1cd8a7059f13e32": { + "balance": "299999000000000000000" + }, + "c32038ca52aee19745be5c31fcdc54148bb2c4d0": { + "balance": "49984000000000000000" + }, + "13e321728c9c57628058e93fc866a032dd0bda90": { + "balance": "714580000000000000000" + }, + "c2bae4a233c2d85724f0dabebda0249d833e37d3": { + "balance": "5000000000000000000000" + }, + "10d32416722ca4e648630548ead91edd79c06aff": { + "balance": "100000000000000000000" + }, + "d5f07552b5c693c20067b378b809cee853b8f136": { + "balance": "505540000000000000000" + }, + "8668af868a1e98885f937f2615ded6751804eb2d": { + "balance": "20000000000000000000" + }, + "139d3531c9922ad56269f6309aa789fb2485f98c": { + "balance": "4000000000000000000000" + }, + "1d29c7aab42b2048d2b25225d498dba67a03fbb2": { + "balance": "200000000000000000000" + }, + "d35075ca61fe59d123969c36a82d1ab2d918aa38": { + "balance": "2674000000000000000000" + }, + "d6fc0446c6a8d40ae3551db7e701d1fa876e4a49": { + "balance": "2000000000000000000000" + }, + "fccd0d1ecee27addea95f6857aeec8c7a04b28ee": { + "balance": "10000000000000000000000" + }, + "c12cfb7b3df70fceca0ede263500e27873f8ed16": { + "balance": "1000000000000000000000" + }, + "d0db456178206f5c4430fe005063903c3d7a49a7": { + "balance": "706245000000000000000" + }, + "73cf80ae9688e1580e68e782cd0811f7aa494d2c": { + "balance": "7760000000000000000000" + }, + "d60651e393783423e5cc1bc5f889e44ef7ea243e": { + "balance": "398800000000000000000" + }, + "048a8970ea4145c64d5517b8de5b46d0595aad06": { + "balance": "20000000000000000000000" + }, + "dd9b485a3b1cd33a6a9c62f1e5bee92701856d25": { + "balance": "225073000000000000000" + }, + "5b287c7e734299e727626f93fb1187a60d5057fe": { + "balance": "101230000000000000000" + }, + "635c00fdf035bca15fa3610df3384e0fb79068b1": { + "balance": "9000000000000000000000" + }, + "630a913a9031c9492abd4c41dbb15054cfec4416": { + "balance": "5688000000000000000000" + }, + "af3614dcb68a36e45a4e911e62796247222d595b": { + "balance": "2259800000000000000000" + }, + "335e22025b7a77c3a074c78b8e3dfe071341946e": { + "balance": "10178744000000000000000" + }, + "f0e1dfa42adeac2f17f6fdf584c94862fd563393": { + "balance": "500000000000000000000" + }, + "1a9e702f385dcd105e8b9fa428eea21c57ff528a": { + "balance": "1400000000000000000000" + }, + "8ce4949d8a16542d423c17984e6739fa72ceb177": { + "balance": "24999975000000000000000" + }, + "5f29c9de765dde25852af07d33f2ce468fd20982": { + "balance": "2000000000000000000000" + }, + "dbf5f061a0f48e5e69618739a77d2ec19768d201": { + "balance": "152000000000000000000" + }, + "b247cf9c72ec482af3eaa759658f793d670a570c": { + "balance": "912000000000000000000" + }, + "99f4147ccc6bcb80cc842e69f6d00e30fa4133d9": { + "balance": "400000000000000000000" + }, + "ba6d31b9a261d640b5dea51ef2162c3109f1eba8": { + "balance": "5000000000000000000000" + }, + "f05ba8d7b68539d933300bc9289c3d9474d0419e": { + "balance": "126400000000000000000" + }, + "682e96276f518d31d7e56e30dfb009c1218201bd": { + "balance": "20000000000000000000" + }, + "0927220492194b2eda9fc4bbe38f25d681dfd36c": { + "balance": "6000000000000000000000" + }, + "a3c33afc8cb4704e23153de2049d35ae71332472": { + "balance": "799600000000000000000" + }, + "05c736d365aa37b5c0be9c12c8ad5cd903c32cf9": { + "balance": "6002000000000000000000" + }, + "d8eef4cf4beb01ee20d111748b61cb4d3f641a01": { + "balance": "2740000000000000000000" + }, + "16c1bf5b7dc9c83c179efacbcf2eb174e3561cb3": { + "balance": "1000000000000000000000" + }, + "d79db5ab43621a7a3da795e58929f3dd25af67d9": { + "balance": "1999944000000000000000" + }, + "28efae6356509edface89fc61a7fdcdb39eea8e5": { + "balance": "5348000000000000000000" + }, + "c55005a6c37e8ca7e543ce259973a3cace961a4a": { + "balance": "2000000000000000000000" + }, + "ab3d86bc82927e0cd421d146e07f919327cdf6f9": { + "balance": "1910000000000000000000" + }, + "b74ed2666001c16333cf7af59e4a3d4860363b9c": { + "balance": "193600000000000000000" + }, + "1899f69f653b05a5a6e81f480711d09bbf97588c": { + "balance": "1955000000000000000000" + }, + "27fc85a49cff90dbcfdadc9ddd40d6b9a2210a6c": { + "balance": "100000000000000000000" + }, + "cd1ed263fbf6f6f7b48aef8f733d329d4382c7c7": { + "balance": "18500000000000000000" + }, + "d97fe6f53f2a58f6d76d752adf74a8a2c18e9074": { + "balance": "309990000000000000000" + }, + "80da2fdda29a9e27f9e115975e69ae9cfbf3f27e": { + "balance": "200000000000000000000" + }, + "09146ea3885176f07782e1fe30dce3ce24c49e1f": { + "balance": "20000000000000000000" + }, + "393ff4255e5c658f2e7f10ecbd292572671bc2d2": { + "balance": "2000000000000000000000" + }, + "a390ca122b8501ee3e5e07a8ca4b419f7e4dae15": { + "balance": "100000000000000000000" + }, + "6d9193996b194617211106d1635eb26cc4b66c6c": { + "balance": "399640000000000000000" + }, + "999c49c174ca13bc836c1e0a92bff48b271543ca": { + "balance": "3280000000000000000000" + }, + "7421ce5be381738ddc83f02621974ff0686c79b8": { + "balance": "1632000000000000000000" + }, + "6be9030ee6e2fbc491aca3de4022d301772b7b7d": { + "balance": "26740000000000000000" + }, + "81bd75abd865e0c3f04a0b4fdbcb74d34082fbb7": { + "balance": "4000000000000000000000" + }, + "8bc1ff8714828bf286ff7e8a7709106548ed1b18": { + "balance": "10000000000000000000000" + }, + "a0aadbd9509722705f6d2358a5c79f37970f00f6": { + "balance": "200000000000000000000" + }, + "3d881433f04a7d0d27f84944e08a512da3555287": { + "balance": "1200000000000000000000" + }, + "cc1d6ead01aada3e8dc7b95dca25df26eefa639d": { + "balance": "2000000000000000000000" + }, + "35106ba94e8563d4b3cb3c5c692c10e604b7ced8": { + "balance": "2000000000000000000000" + }, + "4d8697af0fbf2ca36e8768f4af22133570685a60": { + "balance": "20000000000000000000" + }, + "1afcc585896cd0ede129ee2de5c19ea811540b64": { + "balance": "3231259000000000000000" + }, + "e5215631b14248d45a255296bed1fbfa0330ff35": { + "balance": "1310000000000000000000" + }, + "e3878f91ca86053fced5444686a330e09cc388fb": { + "balance": "194000000000000000000" + }, + "555df19390c16d01298772bae8bc3a1152199cbd": { + "balance": "200000000000000000000" + }, + "dc3dae59ed0fe18b58511e6fe2fb69b219689423": { + "balance": "100000000000000000000" + }, + "74648caac748dd135cd91ea14c28e1bd4d7ff6ae": { + "balance": "3100000000000000000000" + }, + "cf2e2ad635e9861ae95cb9bafcca036b5281f5ce": { + "balance": "35200000000000000000000" + }, + "14eec09bf03e352bd6ff1b1e876be664ceffd0cf": { + "balance": "20094000000000000000" + }, + "856e5ab3f64c9ab56b009393b01664fc0324050e": { + "balance": "1790000000000000000000" + }, + "632b9149d70178a7333634275e82d5953f27967b": { + "balance": "700000000000000000000" + }, + "2a39190a4fde83dfb3ddcb4c5fbb83ac6c49755c": { + "balance": "1000000000000000000000" + }, + "369ef761195f3a373e24ece6cd22520fe0b9e86e": { + "balance": "534933000000000000000" + }, + "16afa787fc9f94bdff6976b1a42f430a8bf6fb0f": { + "balance": "2000000000000000000000" + }, + "1b0b31afff4b6df3653a94d7c87978ae35f34aae": { + "balance": "354600000000000000000" + }, + "b4d82f2e69943f7de0f5f7743879406fac2e9cec": { + "balance": "40000000000000000000" + }, + "09d6cefd75b0c4b3f8f1d687a522c96123f1f539": { + "balance": "6000000000000000000000" + }, + "01577afd4e50890247c9b10d44af73229aec884f": { + "balance": "680000000000000000000" + }, + "a35606d51220ee7f2146d411582ee4ee4a45596e": { + "balance": "3996800000000000000000" + }, + "352e77c861696ef96ad54934f894aa8ea35151dd": { + "balance": "1000000000000000000000" + }, + "b87f5376c2de0b6cc3c179c06087aa473d6b4674": { + "balance": "1337000000000000000000" + }, + "5b49afcd75447838f6e7ceda8d21777d4fc1c3c0": { + "balance": "4000000000000000000000" + }, + "b884add88d83dc564ab8e0e02cbdb63919aea844": { + "balance": "2000000000000000000000" + }, + "5c312a56c784b122099b764d059c21ece95e84ca": { + "balance": "95000000000000000000" + }, + "4697baaf9ccb603fd30430689d435445e9c98bf5": { + "balance": "199600000000000000000" + }, + "c625f8c98d27a09a1bcabd5128b1c2a94856af30": { + "balance": "200000000000000000000" + }, + "19f5caf4c40e6908813c0745b0aea9586d9dd931": { + "balance": "664000000000000000000" + }, + "1e596a81b357c6f24970cc313df6dbdaabd0d09e": { + "balance": "2000000000000000000000" + }, + "c1631228efbf2a2e3a4092ee8900c639ed34fbc8": { + "balance": "955000000000000000000" + }, + "6f6cf20649a9e973177ac67dbadee4ebe5c7bdda": { + "balance": "5080000000000000000000" + }, + "5fa7bfe043886127d4011d8356a47e947963aca8": { + "balance": "1820000000000000000000" + }, + "6af8e55969682c715f48ad4fc0fbb67eb59795a3": { + "balance": "2000000000000000000000" + }, + "122f56122549d168a5c5e267f52662e5c5cce5c8": { + "balance": "185000000000000000000" + }, + "7713ab8037411c09ba687f6f9364f0d3239fac28": { + "balance": "10000000000000000000000" + }, + "31ccc616b3118268e75d9ab8996c8858ebd7f3c3": { + "balance": "399924000000000000000" + }, + "09c88f917e4d6ad473fa12e98ea3c4472a5ed6da": { + "balance": "10000000000000000000000" + }, + "e796fd4e839b4c95d7510fb7c5c72b83c6c3e3c7": { + "balance": "512200000000000000000" + }, + "a8285539869d88f8a961533755717d7eb65576ae": { + "balance": "200000000000000000000" + }, + "d929c65d69d5bbaea59762662ef418bc21ad924a": { + "balance": "1000000000000000000000" + }, + "f7418aa0e713d248228776b2e7434222ae75e3a5": { + "balance": "2000000000000000000000" + }, + "7f0b90a1fdd48f27b268feb38382e55ddb50ef0f": { + "balance": "940000000000000000000" + }, + "34a0431fff5ead927f3c69649616dc6e97945f6f": { + "balance": "400000000000000000000" + }, + "1b3cb81e51011b549d78bf720b0d924ac763a7c2": { + "balance": "560000000000000000000000" + }, + "155b3779bb6d56342e2fda817b5b2d81c7f41327": { + "balance": "50200000000000000000" + }, + "ecd486fc196791b92cf612d348614f9156488b7e": { + "balance": "12000000000000000000000" + }, + "82a8cbbfdff02b2e38ae4bbfca15f1f0e83b1aea": { + "balance": "84999000000000000000" + }, + "06b0c1e37f5a5ec4bbf50840548f9d3ac0288897": { + "balance": "4000098000000000000000" + }, + "e6d49f86c228f47367a35e886caacb271e539429": { + "balance": "412656000000000000000" + }, + "704a6eb41ba34f13addde7d2db7df04915c7a221": { + "balance": "1820000000000000000000" + }, + "745ccf2d819edbbddea8117b5c49ed3c2a066e93": { + "balance": "4000000000000000000000" + }, + "6d3b7836a2b9d899721a4d237b522385dce8dfcd": { + "balance": "1000070000000000000000" + }, + "856aa23c82d7215bec8d57f60ad75ef14fa35f44": { + "balance": "20000000000000000000000" + }, + "ea79057dabef5e64e7b44f7f18648e7e533718d2": { + "balance": "200000000000000000000" + }, + "9df057cd03a4e27e8e032f857985fd7f01adc8d7": { + "balance": "2000000000000000000000" + }, + "5f2f07d2d697e8c567fcfdfe020f49f360be2139": { + "balance": "2000000000000000000000" + }, + "5efbdfe5389999633c26605a5bfc2c1bb5959393": { + "balance": "69200000000000000000" + }, + "047e87c8f7d1fce3b01353a85862a948ac049f3e": { + "balance": "1490000000000000000000" + }, + "265383d68b52d034161bfab01ae1b047942fbc32": { + "balance": "21000600000000000000000" + }, + "760ff3354e0fde938d0fb5b82cef5ba15c3d2916": { + "balance": "10000000000000000000000" + }, + "bc46d537cf2edd403565bde733b2e34b215001bd": { + "balance": "20000000000000000000000" + }, + "ee58fb3db29070d0130188ce472be0a172b89055": { + "balance": "10021400000000000000000" + }, + "75abe5270f3a78ce007cf37f8fbc045d489b7bb1": { + "balance": "1999944000000000000000" + }, + "5fc6c11426b4a1eae7e51dd512ad1090c6f1a85b": { + "balance": "2730000000000000000000" + }, + "26cfffd052152bb3f957b478d5f98b233a7c2b92": { + "balance": "4000000000000000000000" + }, + "0a4a011995c681bc999fdd79754e9a324ae3b379": { + "balance": "41350300000000000000000" + }, + "6fa60df818a5446418b1bbd62826e0b9825e1318": { + "balance": "13200000000000000000000" + }, + "63d55ad99b9137fd1b20cc2b4f03d42cbaddf334": { + "balance": "400000000000000000000" + }, + "679b9a109930517e8999099ccf2a914c4c8dd934": { + "balance": "60000000000000000000" + }, + "3e83544f0082552572c782bee5d218f1ef064a9d": { + "balance": "100076000000000000000" + }, + "968b14648f018333687cd213fa640aec04ce6323": { + "balance": "1000000000000000000000" + }, + "427b462ab84e5091f48a46eb0cdc92ddcb26e078": { + "balance": "2000000000000000000000" + }, + "df8510793eee811c2dab1c93c6f4473f30fbef5b": { + "balance": "1000000000000000000000" + }, + "362fbcb10662370a068fc2652602a2577937cce6": { + "balance": "200000000000000000000" + }, + "5d83b21bd2712360436b67a597ee3378db3e7ae4": { + "balance": "2000000000000000000000" + }, + "5777441c83e03f0be8dd340bde636850847c620b": { + "balance": "10000000000000000000000" + }, + "c94a585203da7bbafd93e15884e660d4b1ead854": { + "balance": "7000000000000000000000" + }, + "35a08081799173e001cc5bd46a02406dc95d1787": { + "balance": "10000000000000000000000" + }, + "21d13f0c4024e967d9470791b50f22de3afecf1b": { + "balance": "4452210000000000000000" + }, + "fdfd6134c04a8ab7eb16f00643f8fed7daaaecb2": { + "balance": "400000000000000000000" + }, + "fd812bc69fb170ef57e2327e80affd14f8e4b6d2": { + "balance": "2000000000000000000000" + }, + "7148aef33261d8031fac3f7182ff35928daf54d9": { + "balance": "4100000000000000000000" + }, + "0b06390f2437b20ec4a3d3431b3279c6583e5ed7": { + "balance": "194000000000000000000" + }, + "4909b31998ead414b8fb0e846bd5cbde393935be": { + "balance": "4000000000000000000000" + }, + "b70dba9391682b4a364e77fe99256301a6c0bf1f": { + "balance": "200000000000000000000" + }, + "6b83bae7b565244558555bcf4ba8da2011891c17": { + "balance": "2000000000000000000000" + }, + "70a03549aa6168e97e88a508330a5a0bea74711a": { + "balance": "1337000000000000000000" + }, + "0fc9a0e34145fbfdd2c9d2a499b617d7a02969b9": { + "balance": "180000000000000000000" + }, + "2ddf40905769bcc426cb2c2938ffe077e1e89d98": { + "balance": "3000000000000000000000" + }, + "794b51c39e53d9e762b0613b829a44b472f4fff3": { + "balance": "667965000000000000000" + }, + "d062588171cf99bbeb58f126b870f9a3728d61ec": { + "balance": "4500000000000000000000" + }, + "8db185fe1b70a94a6a080e7e23a8bedc4acbf34b": { + "balance": "1400000000000000000000" + }, + "e73bfeada6f0fd016fbc843ebcf6e370a65be70c": { + "balance": "1970000000000000000000" + }, + "79ed10cf1f6db48206b50919b9b697081fbdaaf3": { + "balance": "2000000000000000000000" + }, + "276b0521b0e68b277df0bb32f3fd48326350bfb2": { + "balance": "50000000000000000000" + }, + "2e439348df8a4277b22a768457d1158e97c40904": { + "balance": "776970000000000000000" + }, + "6c25327f8dcbb2f45e561e86e35d8850e53ab059": { + "balance": "1103200000000000000000" + }, + "04d73896cf6593a691972a13a6e4871ff2c42b13": { + "balance": "2000000000000000000000" + }, + "b10fd2a647102f881f74c9fbc37da632949f2375": { + "balance": "40000000000000000000" + }, + "615f82365c5101f071e7d2cb6af14f7aad2c16c6": { + "balance": "20000000000000000000" + }, + "93aa8f92ebfff991fc055e906e651ac768d32bc8": { + "balance": "940000000000000000000" + }, + "0cbf8770f0d1082e5c20c5aead34e5fca9ae7ae2": { + "balance": "1000000000000000000000" + }, + "ffc9cc3094b041ad0e076f968a0de3b167255866": { + "balance": "432400000000000000000" + }, + "46531e8b1bde097fdf849d6d119885608a008df7": { + "balance": "200000000000000000000" + }, + "23cd2598a20e149ead2ad69379576ecedb60e38e": { + "balance": "2000000000000000000000" + }, + "85ca8bc6da2803d0725f5e1a456c89f9bc774e2f": { + "balance": "600000000000000000000" + }, + "c0725ec2bdc33a1d826071dea29d62d4385a8c25": { + "balance": "40740000000000000000000" + }, + "0e4765790352656bc656682c24fc5ef3e76a23c7": { + "balance": "46610000000000000000" + }, + "2ef9e465716acacfb8c8252fa8e7bc7969ebf6e4": { + "balance": "2760000000000000000000" + }, + "0ec5308b31282e218fc9e759d4fec5db3708cec4": { + "balance": "1001000000000000000000" + }, + "bf7701fc6225d5a17815438a8941d21ebc5d059d": { + "balance": "1880000000000000000000" + }, + "c489c83ffbb0252ac0dbe3521217630e0f491f14": { + "balance": "4000000000000000000000" + }, + "8eb51774af206b966b8909c45aa6722748802c0c": { + "balance": "500000000000000000000" + }, + "7b9226d46fe751940bc416a798b69ccf0dfab667": { + "balance": "4200000000000000000000" + }, + "8f660f8b2e4c7cc2b4ac9c47ed28508d5f8f8650": { + "balance": "20000000000000000000000" + }, + "9f19fac8a32437d80ac6837a0bb7841729f4972e": { + "balance": "650100000000000000000" + }, + "201864a8f784c2277b0b7c9ee734f7b377eab648": { + "balance": "4467000000000000000000" + }, + "a6101c961e8e1c15798ffcd0e3201d7786ec373a": { + "balance": "6000000000000000000000" + }, + "d4ff46203efa23064b1caf00516e28704a82a4f8": { + "balance": "1337000000000000000000" + }, + "aa136b47962bb8b4fb540db4ccf5fdd042ffb8cf": { + "balance": "500038000000000000000" + }, + "704ae21d762d6e1dde28c235d13104597236db1a": { + "balance": "2000000000000000000000" + }, + "f17a92e0361dbacecdc5de0d1894955af6a9b606": { + "balance": "2000000000000000000000" + }, + "8b48e19d39dd35b66e6e1bb6b9c657cb2cf59d04": { + "balance": "17844175000000000000000" + }, + "9ad47fdcf9cd942d28effd5b84115b31a658a13e": { + "balance": "3290000000000000000000" + }, + "df0d08617bd252a911df8bd41a39b83ddf809673": { + "balance": "10000000000000000000000" + }, + "4c666b86f1c5ee8ca41285f5bde4f79052081406": { + "balance": "500000000000000000000" + }, + "88dec5bd3f4eba2d18b8aacefa7b721548c319ba": { + "balance": "1370000000000000000000" + }, + "9f9fe0c95f10fee87af1af207236c8f3614ef02f": { + "balance": "6000000000000000000000" + }, + "f7d0d310acea18406138baaabbfe0571e80de85f": { + "balance": "1337000000000000000000" + }, + "9569c63a9284a805626db3a32e9d236393476151": { + "balance": "1970000000000000000000" + }, + "5d5c2c1099bbeefb267e74b58880b444d94449e0": { + "balance": "253574000000000000000" + }, + "8c6ae7a05a1de57582ae2768204276c0ff47ed03": { + "balance": "208000000000000000000000" + }, + "432d884bd69db1acc0d89c64ade4cb4fc3a88b7a": { + "balance": "2483000000000000000000" + }, + "672cbca8440a8577097b19aff593a2ad9d28a756": { + "balance": "80000000000000000000" + }, + "19df9445a81c1b3d804aeaeb6f6e204e4236663f": { + "balance": "37387000000000000000" + }, + "1cb5f33b4d488936d13e3161da33a1da7df70d1b": { + "balance": "200000000000000000000" + }, + "df60f18c812a11ed4e2776e7a80ecf5e5305b3d6": { + "balance": "900000000000000000000" + }, + "c99a9cd6c9c1be3534eecd92ecc22f5c38e9515b": { + "balance": "4821030000000000000000" + }, + "00c40fe2095423509b9fd9b754323158af2310f3": { + "balance": "0" + }, + "da4a5f557f3bab390a92f49b9b900af30c46ae80": { + "balance": "10000000000000000000000" + }, + "f36df02fbd89607347afce2969b9c4236a58a506": { + "balance": "2000000000000000000000" + }, + "c549df83c6f65eec0f1dc9a0934a5c5f3a50fd88": { + "balance": "2910000000000000000000" + }, + "9f662e95274121f177566e636d23964cf1fd686f": { + "balance": "2000000000000000000000" + }, + "5a267331facb262daaecd9dd63a9700c5f5259df": { + "balance": "100000000000000000000" + }, + "117d9aa3c4d13bee12c7500f09f5dd1c66c46504": { + "balance": "206000000000000000000" + }, + "1b4d07acd38183a61bb2783d2b7b178dd502ac8d": { + "balance": "200000000000000000000" + }, + "3c0c3defac9cea7acc319a96c30b8e1fedab4574": { + "balance": "1940000000000000000000" + }, + "e4dc22ed595bf0a337c01e03cc6be744255fc9e8": { + "balance": "191000000000000000000" + }, + "8f067c7c1bbd57780b7b9eeb9ec0032f90d0dcf9": { + "balance": "20000000000000000000000" + }, + "40e2440ae142c880366a12c6d4102f4b8434b62a": { + "balance": "1000000000000000000000" + }, + "f9ece022bccd2c92346911e79dd50303c01e0188": { + "balance": "1000000000000000000000" + }, + "f70328ef97625fe745faa49ee0f9d4aa3b0dfb69": { + "balance": "1000000000000000000000" + }, + "b6aacb8cb30bab2ae4a2424626e6e12b02d04605": { + "balance": "8000000000000000000000" + }, + "154459fa2f21318e3434449789d826cdc1570ce5": { + "balance": "2000000000000000000000" + }, + "684a44c069339d08e19a75668bdba303be855332": { + "balance": "70000000000000000000000" + }, + "9fe501aa57ead79278937cd6308c5cfa7a5629fe": { + "balance": "50003000000000000000" + }, + "3e45bd55db9060eced923bb9cb733cb3573fb531": { + "balance": "1640000000000000000000" + }, + "9c9f3b8a811b21f3ff3fe20fe970051ce66a824f": { + "balance": "1157740000000000000000" + }, + "e99aece90541cae224b87da673965e0aeb296afd": { + "balance": "920000000000000000000" + }, + "2f6dce1330c59ef921602154572d4d4bacbd048a": { + "balance": "1000000000000000000000" + }, + "6a6353b971589f18f2955cba28abe8acce6a5761": { + "balance": "3000000000000000000000" + }, + "98c10ebf2c4f97cba5a1ab3f2aafe1cac423f8cb": { + "balance": "300000000000000000000" + }, + "8077c3e4c445586e094ce102937fa05b737b568c": { + "balance": "100000000000000000000" + }, + "13371f92a56ea8381e43059a95128bdc4d43c5a6": { + "balance": "1000000000000000000000" + }, + "35a6885083c899dabbf530ed6c12f4dd3a204cf5": { + "balance": "200000000000000000000" + }, + "36b2c85e3aeeebb70d63c4a4730ce2e8e88a3624": { + "balance": "10000000000000000000000" + }, + "5ce44068b8f4a3fe799e6a8311dbfdeda29dee0e": { + "balance": "2000000000000000000000" + }, + "6fa6388d402b30afe59934c3b9e13d1186476018": { + "balance": "670000000000000000000" + }, + "8251358ca4e060ddb559ca58bc0bddbeb4070203": { + "balance": "2000000000000000000000" + }, + "17e86f3b5b30c0ba59f2b2e858425ba89f0a10b0": { + "balance": "2000000000000000000000" + }, + "298ec76b440d8807b3f78b5f90979bee42ed43db": { + "balance": "30000000000000000000000" + }, + "ce4b065dbcb23047203262fb48c1188364977470": { + "balance": "500000000000000000000" + }, + "c8e2adeb545e499d982c0c117363ceb489c5b11f": { + "balance": "985000000000000000000" + }, + "9928ff715afc3a2b60f8eb4cc4ba4ee8dab6e59d": { + "balance": "440000000000000000000" + }, + "c76130c73cb9210238025c9df95d0be54ac67fbe": { + "balance": "1500000000000000000000" + }, + "72d03d4dfab3500cf89b86866f15d4528e14a195": { + "balance": "4488000000000000000000" + }, + "d193e583d6070563e7b862b9614a47e99489f3e5": { + "balance": "999972000000000000000" + }, + "4df140ba796585dd5489315bca4bba680adbb818": { + "balance": "2674000000000000000000" + }, + "009eef0a0886056e3f69211853b9b7457f3782e4": { + "balance": "3000512000000000000000" + }, + "6e255b700ae7138a4bacf22888a9e2c00a285eec": { + "balance": "4000000000000000000000" + }, + "aa47a4ffc979363232c99b99fada0f2734b0aeee": { + "balance": "8121800000000000000000" + }, + "9d069197d1de50045a186f5ec744ac40e8af91c6": { + "balance": "2000000000000000000000" + }, + "b514882c979bb642a80dd38754d5b8c8296d9a07": { + "balance": "955000000000000000000" + }, + "17c0478657e1d3d17aaa331dd429cecf91f8ae5d": { + "balance": "999942000000000000000" + }, + "5f9616c47b4a67f406b95a14fe6fc268396f1721": { + "balance": "200000000000000000000" + }, + "f70a998a717b338d1dd99854409b1a338deea4b0": { + "balance": "2000000000000000000000" + }, + "d1ee905957fe7cc70ec8f2868b43fe47b13febff": { + "balance": "44000000000000000000" + }, + "fc018a690ad6746dbe3acf9712ddca52b6250039": { + "balance": "10000000000000000000000" + }, + "5118557d600d05c2fcbf3806ffbd93d02025d730": { + "balance": "11360000000000000000000" + }, + "1ef5c9c73650cfbbde5c885531d427c7c3fe5544": { + "balance": "6000000000000000000000" + }, + "d1a396dcdab2c7494130b3fd307820340dfd8c1f": { + "balance": "17952000000000000000" + }, + "2d8e061892a5dcce21966ae1bb0788fd3e8ba059": { + "balance": "250066000000000000000" + }, + "8834b2453471f324fb26be5b25166b5b5726025d": { + "balance": "573000000000000000000" + }, + "14f221159518783bc4a706676fc4f3c5ee405829": { + "balance": "200000000000000000000" + }, + "c056d4bd6bf3cbacac65f8f5a0e3980b852740ae": { + "balance": "100000000000000000000" + }, + "560536794a9e2b0049d10233c41adc5f418a264a": { + "balance": "1000000000000000000000" + }, + "bc9e0ec6788f7df4c7fc210aacd220c27e45c910": { + "balance": "500000000000000000000" + }, + "54bcb8e7f73cda3d73f4d38b2d0847e600ba0df8": { + "balance": "1078000000000000000000" + }, + "4361d4846fafb377b6c0ee49a596a78ddf3516a3": { + "balance": "3580000000000000000000" + }, + "41c3c2367534d13ba2b33f185cdbe6ac43c2fa31": { + "balance": "4000000000000000000000" + }, + "5dc6f45fef26b06e3302313f884daf48e2746fb9": { + "balance": "500000000000000000000" + }, + "ad414d29cb7ee973fec54e22a388491786cf5402": { + "balance": "14000000000000000000000" + }, + "802dc3c4ff2d7d925ee2859f4a06d7ba60f1308c": { + "balance": "98040000000000000000" + }, + "2aed2ce531c056b0097efc3c6de10c4762004ed9": { + "balance": "10430000000000000000000" + }, + "39782ffe06ac78822a3c3a8afe305e50a56188ce": { + "balance": "10000000000000000000000" + }, + "ec73833de4b810bb027810fc8f69f544e83c12d1": { + "balance": "1000000000000000000000" + }, + "8d51a4cc62011322c696fd725b9fb8f53feaaa07": { + "balance": "1000000000000000000000" + }, + "29298ccbdff689f87fe41aa6e98fdfb53deaf37a": { + "balance": "19800000000000000000000" + }, + "827531a6c5817ae35f82b00b9754fcf74c55e232": { + "balance": "3600000000000000000000" + }, + "9c581a60b61028d934167929b22d70b313c34fd0": { + "balance": "50000000000000000000000" + }, + "0a077db13ffeb09484c217709d5886b8bf9c5a8b": { + "balance": "4000000000000000000000" + }, + "07b7a57033f8f11330e4665e185d234e83ec140b": { + "balance": "4325683000000000000000" + }, + "17f523f117bc9fe978aa481eb4f5561711371bc8": { + "balance": "1999884000000000000000" + }, + "de42fcd24ce4239383304367595f068f0c610740": { + "balance": "45120000000000000000" + }, + "2a46d353777176ff8e83ffa8001f4f70f9733aa5": { + "balance": "106000000000000000000" + }, + "92e4392816e5f2ef5fb65837cec2c2325cc64922": { + "balance": "10000000000000000000000" + }, + "9a3da65023a13020d22145cfc18bab10bd19ce4e": { + "balance": "456516000000000000000" + }, + "1a085d43ec92414ea27b914fe767b6d46b1eef44": { + "balance": "29550000000000000000000" + }, + "3b2367f8494b5fe18d683c055d89999c9f3d1b34": { + "balance": "10000000000000000000000" + }, + "84244fc95a6957ed7c1504e49f30b8c35eca4b79": { + "balance": "2000000000000000000000" + }, + "5e031b0a724471d476f3bcd2eb078338bf67fbef": { + "balance": "18200000000000000000" + }, + "97e5cc6127c4f885be02f44b42d1c8b0ac91e493": { + "balance": "200000000000000000000" + }, + "eb1cea7b45d1bd4d0e2a007bd3bfb354759e2c16": { + "balance": "198000000000000000000" + }, + "72feaf124579523954645b7fafff0378d1c8242e": { + "balance": "1000000000000000000000" + }, + "8d07d42d831c2d7c838aa1872b3ad5d277176823": { + "balance": "349200000000000000000" + }, + "9637dc12723d9c78588542eab082664f3f038d9d": { + "balance": "1000000000000000000000" + }, + "e84b55b525f1039e744b918cb3332492e45eca7a": { + "balance": "200000000000000000000" + }, + "b1d6b01b94d854fe8b374aa65e895cf22aa2560e": { + "balance": "940000000000000000000" + }, + "8161d940c3760100b9080529f8a60325030f6edc": { + "balance": "300000000000000000000" + }, + "d30ee9a12b4d68abace6baca9ad7bf5cd1faf91c": { + "balance": "1499936000000000000000" + }, + "057949e1ca0570469e4ce3c690ae613a6b01c559": { + "balance": "200000000000000000000" + }, + "4bf8e26f4c2790da6533a2ac9abac3c69a199433": { + "balance": "200000000000000000000" + }, + "36fec62c2c425e219b18448ad757009d8c54026f": { + "balance": "400000000000000000000" + }, + "77bfe93ccda750847e41a1affee6b2da96e7214e": { + "balance": "300000000000000000000" + }, + "cc48414d2ac4d42a5962f29eee4497092f431352": { + "balance": "161000000000000000000" + }, + "ddbddd1bbd38ffade0305d30f02028d92e9f3aa8": { + "balance": "2000000000000000000000" + }, + "30c01142907acb1565f70438b9980ae731818738": { + "balance": "2000000000000000000000" + }, + "cffc49c1787eebb2b56cabe92404b636147d4558": { + "balance": "5679305000000000000000" + }, + "f99eeece39fa7ef5076d855061384009792cf2e0": { + "balance": "500000000000000000000" + }, + "e9b6a790009bc16642c8d820b7cde0e9fd16d8f5": { + "balance": "3640000000000000000000" + }, + "03b41b51f41df20dd279bae18c12775f77ad771c": { + "balance": "1000000000000000000000" + }, + "787d313fd36b053eeeaedbce74b9fb0678333289": { + "balance": "27160000000000000000000" + }, + "35d2970f49dcc81ea9ee707e9c8a0ab2a8bb7463": { + "balance": "1440000000000000000000" + }, + "4c0aca508b3caf5ee028bc707dd1e800b838f453": { + "balance": "18200000000000000000" + }, + "514632efbd642c04de6ca342315d40dd90a2dba6": { + "balance": "2674000000000000000000" + }, + "36810ff9d213a271eda2b8aa798be654fa4bbe06": { + "balance": "2000000000000000000000" + }, + "0c088006c64b30c4ddafbc36cb5f05469eb62834": { + "balance": "2000000000000000000000" + }, + "568df31856699bb5acfc1fe1d680df9960ca4359": { + "balance": "1379999000000000000000" + }, + "d48e3f9357e303513841b3f84bda83fc89727587": { + "balance": "1000000000000000000000" + }, + "953ef652e7b769f53d6e786a58952fa93ee6abe7": { + "balance": "2860000000000000000000" + }, + "7c60a05f7a4a5f8cf2784391362e755a8341ef59": { + "balance": "1892300000000000000000" + }, + "7a6b26f438d9a352449155b8876cbd17c9d99b64": { + "balance": "6000000000000000000000" + }, + "68f719ae342bd7fef18a05cbb02f705ad38ed5b2": { + "balance": "1050000000000000000000" + }, + "45ca8d956608f9e00a2f9974028640888465668f": { + "balance": "2000000000000000000000" + }, + "3eaf316b87615d88f7adc77c58e712ed4d77966b": { + "balance": "100141000000000000000" + }, + "1f0412bfedcd964e837d092c71a5fcbaf30126e2": { + "balance": "20000000000000000000" + }, + "7471f72eeb300624eb282eab4d03723c649b1b58": { + "balance": "8000000000000000000000" + }, + "9bf71f7fb537ac54f4e514947fa7ff6728f16d2f": { + "balance": "33400000000000000000" + }, + "1098c774c20ca1daac5ddb620365316d353f109c": { + "balance": "100000000000000000000" + }, + "7dd8d7a1a34fa1f8e73ccb005fc2a03a15b8229c": { + "balance": "200000000000000000000" + }, + "0151fa5d17a2dce2d7f1eb39ef7fe2ad213d5d89": { + "balance": "4000000000000000000000" + }, + "ad6628352ed3390bafa86d923e56014cfcb360f4": { + "balance": "2000000000000000000000" + }, + "02af2459a93d0b3f4d062636236cd4b29e3bcecf": { + "balance": "1910000000000000000000" + }, + "ace2abb63b0604409fbde3e716d2876d44e8e5dd": { + "balance": "152000000000000000000" + }, + "e710dcd09b8101f9437bd97db90a73ef993d0bf4": { + "balance": "386100000000000000000" + }, + "d43ee438d83de9a37562bb4e286cb1bd19f4964d": { + "balance": "1000000000000000000000" + }, + "ea3779d14a13f6c78566bcde403591413a6239db": { + "balance": "197000000000000000000000" + }, + "6704f169e0d0b36b57bbc39f3c45437b5ee3d28d": { + "balance": "394000000000000000000" + }, + "5584423050e3c2051f0bbd8f44bd6dbc27ecb62c": { + "balance": "3000000000000000000000" + }, + "2f315d9016e8ee5f536681202f9084b032544d4d": { + "balance": "1037400000000000000000" + }, + "e1b63201fae1f129f95c7a116bd9dde5159c6cda": { + "balance": "22837462000000000000000" + }, + "2bbe62eac80ca7f4d6fdee7e7d8e28b63acf770e": { + "balance": "2396000000000000000000" + }, + "38da1ba2de9e2c954b092dd9d81204fd016ba016": { + "balance": "10156000000000000000000" + }, + "8a86e4a51c013b1fb4c76bcf30667c78d52eedef": { + "balance": "2000000000000000000000" + }, + "8f717ec1552f4c440084fba1154a81dc003ebdc0": { + "balance": "10000000000000000000000" + }, + "c760971bbc181c6a7cf77441f24247d19ce9b4cf": { + "balance": "2000000000000000000000" + }, + "7f150afb1a77c2b45928c268c1e9bdb4641d47d8": { + "balance": "2000000000000000000000" + }, + "1ea334b5750807ea74aac5ab8694ec5f28aa77cf": { + "balance": "492500000000000000000" + }, + "2afb058c3d31032b353bf24f09ae20d54de57dbe": { + "balance": "1100000000000000000000" + }, + "caef027b1ab504c73f41f2a10979b474f97e309f": { + "balance": "200000000000000000000" + }, + "5dd112f368c0e6ceff77a9df02a5481651a02fb7": { + "balance": "169800000000000000000" + }, + "bd93e550403e2a06113ed4c3fba1a8913b19407e": { + "balance": "2000000000000000000000" + }, + "500c16352e901d48ba8d04e2c767121772790b02": { + "balance": "30239000000000000000" + }, + "d2a80327cbe55c4c7bd51ff9dde4ca648f9eb3f8": { + "balance": "50000000000000000000" + }, + "355ccfe0e77d557b971be1a558bc02df9eee0594": { + "balance": "1759120000000000000000" + }, + "5aed0e6cfe95f9d680c76472a81a2b680a7f93e2": { + "balance": "197000000000000000000" + }, + "f56442f60e21691395d0bffaa9194dcaff12e2b7": { + "balance": "260000000000000000000" + }, + "7db9eacc52e429dc83b461c5f4d86010e5383a28": { + "balance": "1000000000000000000000" + }, + "4b984ef26c576e815a2eaed2f5177f07dbb1c476": { + "balance": "1560000000000000000000" + }, + "9846648836a307a057184fd51f628a5f8c12427c": { + "balance": "19100000000000000000000" + }, + "4af0db077bb9ba5e443e21e148e59f379105c592": { + "balance": "600000000000000000000" + }, + "e96e2d3813efd1165f12f602f97f4a62909d3c66": { + "balance": "2300000000000000000000" + }, + "30e789b3d2465e946e6210fa5b35de4e8c93085f": { + "balance": "2000000000000000000000" + }, + "97f99b6ba31346cd98a9fe4c308f87c5a58c5151": { + "balance": "6000000000000000000000" + }, + "595e23d788a2d4bb85a15df7136d264a635511b3": { + "balance": "3940000000000000000000" + }, + "2f61efa5819d705f2b1e4ee754aeb8a819506a75": { + "balance": "1460000000000000000000" + }, + "3554947b7b947b0040da52ca180925c6d3b88ffe": { + "balance": "66850000000000000000" + }, + "8feffadb387a1547fb284da9b8147f3e7c6dc6da": { + "balance": "837200000000000000000" + }, + "258939bbf00c9de9af5338f5d714abf6d0c1c671": { + "balance": "1550000000000000000000" + }, + "5b333696e04cca1692e71986579c920d6b2916f9": { + "balance": "500000000000000000000" + }, + "5381448503c0c702542b1de7cc5fb5f6ab1cf6a5": { + "balance": "8000000000000000000000" + }, + "7e81f6449a03374191f3b7cb05d938b72e090dff": { + "balance": "100000000000000000000" + }, + "4ef1c214633ad9c0703b4e2374a2e33e3e429291": { + "balance": "1337000000000000000000" + }, + "fed8476d10d584b38bfa6737600ef19d35c41ed8": { + "balance": "1820000000000000000000" + }, + "1a95c9b7546b5d1786c3858fb1236446bc0ca4ce": { + "balance": "1970000000000000000000" + }, + "3b07db5a357f5af2484cbc9d77d73b1fd0519fc7": { + "balance": "500000000000000000000" + }, + "5f68a24c7eb4117667737b33393fb3c2148a53b6": { + "balance": "51800000000000000000" + }, + "d8f665fd8cd5c2bcc6ddc0a8ae521e4dc6aa6060": { + "balance": "1700000000000000000000" + }, + "d66acc0d11b689cea6d9ea5ff4014c224a5dc7c4": { + "balance": "18200000000000000000" + }, + "6e72b2a1186a8e2916543b1cb36a68870ea5d197": { + "balance": "186000000000000000000" + }, + "5102a4a42077e11c58df4773e3ac944623a66d9f": { + "balance": "2000325000000000000000" + }, + "72480bede81ad96423f2228b5c61be44fb523100": { + "balance": "6400000000000000000000" + }, + "e076db30ab486f79194ebbc45d8fab9a9242f654": { + "balance": "4840000000000000000000" + }, + "8ceea15eec3bdad8023f98ecf25b2b8fef27db29": { + "balance": "2000000000000000000000" + }, + "40652360d6716dc55cf9aab21f3482f816cc2cbd": { + "balance": "10000000000000000000000" + }, + "13e02fb448d6c84ae17db310ad286d056160da95": { + "balance": "2000000000000000000000" + }, + "d6598b1386e93c5ccb9602ff4bbbecdbd3701dc4": { + "balance": "224096000000000000000" + }, + "d5ea472cb9466018110af00c37495b5c2c713112": { + "balance": "4997800000000000000000" + }, + "bb75cb5051a0b0944b4673ca752a97037f7c8c15": { + "balance": "200000000000000000000" + }, + "8af626a5f327d7506589eeb7010ff9c9446020d2": { + "balance": "1400000000000000000000" + }, + "318c76ecfd8af68d70555352e1f601e35988042d": { + "balance": "501600000000000000000" + }, + "5c3d19441d196cb443662020fcad7fbb79b29e78": { + "balance": "14300000000000000000" + }, + "27101a0f56d39a88c5a84f9b324cdde33e5cb68c": { + "balance": "2000000000000000000000" + }, + "e229e746a83f2ce253b0b03eb1472411b57e5700": { + "balance": "5730000000000000000000" + }, + "604cdf18628dbfa8329194d478dd5201eecc4be7": { + "balance": "23000000000000000000" + }, + "657473774f63ac3d6279fd0743d5790c4f161503": { + "balance": "200000000000000000000" + }, + "1ddefefd35ab8f658b2471e54790bc17af98dea4": { + "balance": "1000000000000000000000" + }, + "ac3900298dd14d7cc96d4abb428da1bae213ffed": { + "balance": "24730250000000000000000" + }, + "944f07b96f90c5f0d7c0c580533149f3f585a078": { + "balance": "74000000000000000000" + }, + "232c6d03b5b6e6711efff190e49c28eef36c82b0": { + "balance": "1337000000000000000000" + }, + "c87c77e3c24adecdcd1038a38b56e18dead3b702": { + "balance": "8800000000000000000000" + }, + "c4b6e5f09cc1b90df07803ce3d4d13766a9c46f4": { + "balance": "6000000000000000000000" + }, + "d44334b4e23a169a0c16bd21e866bba52d970587": { + "balance": "2600000000000000000000" + }, + "7757a4b9cc3d0247ccaaeb9909a0e56e1dd6dcc2": { + "balance": "20000000000000000000" + }, + "cf694081c76d18c64ca71382be5cd63b3cb476f8": { + "balance": "1000000000000000000000" + }, + "133e4f15e1e39c53435930aaedf3e0fe56fde843": { + "balance": "20000000000000000000" + }, + "f067fb10dfb293e998abe564c055e3348f9fbf1e": { + "balance": "2000000000000000000000" + }, + "94449c01b32a7fa55af8104f42cdd844aa8cbc40": { + "balance": "16548000000000000000000" + }, + "0e2094ac1654a46ba1c4d3a40bb8c17da7f39688": { + "balance": "358000000000000000000" + }, + "738ca94db7ce8be1c3056cd6988eb376359f3353": { + "balance": "25500000000000000000000" + }, + "0cfb172335b16c87d519cd1475530d20577f5e0e": { + "balance": "100000000000000000000000" + }, + "3cb561ce86424b359891e364ec925ffeff277df7": { + "balance": "200000000000000000000" + }, + "5f981039fcf50225e2adf762752112d1cc26b6e3": { + "balance": "499954000000000000000" + }, + "b43657a50eecbc3077e005d8f8d94f377876bad4": { + "balance": "35460000000000000000" + }, + "d07e511864b1cf9969e3560602829e32fc4e71f5": { + "balance": "50000000000000000000" + }, + "11306c7d57588637780fc9fde8e98ecb008f0164": { + "balance": "1999944000000000000000" + }, + "45ca9862003b4e40a3171fb5cafa9028cac8de19": { + "balance": "13790000000000000000000" + }, + "231d94155dbcfe2a93a319b6171f63b20bd2b6fa": { + "balance": "3819952000000000000000" + }, + "e7533e270cc61fa164ac1553455c105d04887e14": { + "balance": "121550000000000000000" + }, + "070d5d364cb7bbf822fc2ca91a35bdd441b215d5": { + "balance": "2000000000000000000000" + }, + "d475477fa56390d33017518d6711027f05f28dbf": { + "balance": "1975032000000000000000" + }, + "cea34a4dd93dd9aefd399002a97d997a1b4b89cd": { + "balance": "1500000000000000000000" + }, + "560becdf52b71f3d8827d927610f1a980f33716f": { + "balance": "429413000000000000000" + }, + "f632adff490da4b72d1236d04b510f74d2faa3cd": { + "balance": "1400000000000000000000" + }, + "2fdd9b79df8df530ad63c20e62af431ae99216b8": { + "balance": "21000000000000000000" + }, + "535201a0a1d73422801f55ded4dfaee4fbaa6e3b": { + "balance": "39641000000000000000" + }, + "409d5a962edeeebea178018c0f38b9cdb213f289": { + "balance": "20000000000000000000" + }, + "9d911f3682f32fe0792e9fb6ff3cfc47f589fca5": { + "balance": "4000000000000000000000" + }, + "9f7a0392f857732e3004a375e6b1068d49d83031": { + "balance": "2000000000000000000000" + }, + "6a04f5d53fc0f515be942b8f12a9cb7ab0f39778": { + "balance": "3129800000000000000000" + }, + "be478e8e3dde6bd403bb2d1c657c4310ee192723": { + "balance": "492500000000000000000" + }, + "007622d84a234bb8b078230fcf84b67ae9a8acae": { + "balance": "698800000000000000000" + }, + "9475c510ec9a26979247744c3d8c3b0e0b5f44d3": { + "balance": "10000000000000000000000" + }, + "df47a8ef95f2f49f8e6f58184154145d11f72797": { + "balance": "1910000000000000000000" + }, + "13ce332dff65a6ab933897588aa23e000980fa82": { + "balance": "258400000000000000000" + }, + "9c4bbcd5f1644a6f075824ddfe85c571d6abf69c": { + "balance": "1800000000000000000000" + }, + "d42b20bd0311608b66f8a6d15b2a95e6de27c5bf": { + "balance": "2000000000000000000000" + }, + "a4dd59ab5e517d398e49fa537f899fed4c15e95d": { + "balance": "20000000000000000000000" + }, + "1a8a5ce414de9cd172937e37f2d59cff71ce57a0": { + "balance": "10000000000000000000000" + }, + "55c564664166a1edf3913e0169f1cd451fdb5d0c": { + "balance": "2399800000000000000000" + }, + "58ae2ddc5f4c8ada97e06c0086171767c423f5d7": { + "balance": "1610000000000000000000" + }, + "fb79abdb925c55b9f98efeef64cfc9eb61f51bb1": { + "balance": "1794000000000000000000" + }, + "e7a42f59fee074e4fb13ea9e57ecf1cc48282249": { + "balance": "20000000000000000000000" + }, + "07e2b4cdeed9d087b12e556d9e770c13c099615f": { + "balance": "668500000000000000000" + }, + "68473b7a7d965904bedba556dfbc17136cd5d434": { + "balance": "100000000000000000000" + }, + "6c5c3a54cda7c2f118edba434ed81e6ebb11dd7a": { + "balance": "200000000000000000000" + }, + "24c117d1d2b3a97ab11a4679c99a774a9eade8d1": { + "balance": "1000000000000000000000" + }, + "f68c5e33fa97139df5b2e63886ce34ebf3e4979c": { + "balance": "3320000000000000000000" + }, + "bd7419dc2a090a46e2873d7de6eaaad59e19c479": { + "balance": "6802000000000000000000" + }, + "1a0a1ddfb031e5c8cc1d46cf05842d50fddc7130": { + "balance": "1000000000000000000000" + }, + "2b3a68db6b0cae8a7c7a476bdfcfbd6205e10687": { + "balance": "2400000000000000000000" + }, + "426d15f407a01135b13a6b72f8f2520b3531e302": { + "balance": "20000000000000000000" + }, + "0394b90fadb8604f86f43fc1e35d3124b32a5989": { + "balance": "764000000000000000000" + }, + "7412c9bc30b4df439f023100e63924066afd53af": { + "balance": "500000000000000000000" + }, + "80e7b3205230a566a1f061d922819bb4d4d2a0e1": { + "balance": "14000000000000000000000" + }, + "ff4fc66069046c525658c337a917f2d4b832b409": { + "balance": "2000000000000000000000" + }, + "f5061ee2e5ee26b815503677130e1de07a52db07": { + "balance": "100000000000000000000" + }, + "49793463e1681083d6abd6e725d5bba745dccde8": { + "balance": "545974000000000000000" + }, + "23551f56975fe92b31fa469c49ea66ee6662f41e": { + "balance": "1910000000000000000000" + }, + "fad96ab6ac768ad5099452ac4777bd1a47edc48f": { + "balance": "100000000000000000000" + }, + "2a746cd44027af3ebd37c378c85ef7f754ab5f28": { + "balance": "394000000000000000000" + }, + "b8d389e624a3a7aebce4d3e5dbdf6cdc29932aed": { + "balance": "200000000000000000000" + }, + "7b761feb7fcfa7ded1f0eb058f4a600bf3a708cb": { + "balance": "4600000000000000000000" + }, + "5435c6c1793317d32ce13bba4c4ffeb973b78adc": { + "balance": "250070000000000000000" + }, + "dd04eee74e0bf30c3f8d6c2c7f52e0519210df93": { + "balance": "80000000000000000000" + }, + "4331ab3747d35720a9d8ca25165cd285acd4bda8": { + "balance": "2000000000000000000000" + }, + "b84c8b9fd33ece00af9199f3cf5fe0cce28cd14a": { + "balance": "3820000000000000000000" + }, + "393f783b5cdb86221bf0294fb714959c7b45899c": { + "balance": "5910000000000000000000" + }, + "259ec4d265f3ab536b7c70fa97aca142692c13fc": { + "balance": "20400000000000000000" + }, + "5d2f7f0b04ba4be161e19cb6f112ce7a5e7d7fe4": { + "balance": "35200000000000000000" + }, + "d54ba2d85681dc130e5b9b02c4e8c851391fd9b9": { + "balance": "3940000000000000000000" + }, + "5cd8af60de65f24dc3ce5730ba92653022dc5963": { + "balance": "1790000000000000000000" + }, + "3b42a66d979f582834747a8b60428e9b4eeccd23": { + "balance": "620400000000000000000" + }, + "4b19eb0c354bc1393960eb06063b83926f0d67b2": { + "balance": "29000000000000000000" + }, + "8cf3546fd1cda33d58845fc8fcfecabca7c5642a": { + "balance": "574027000000000000000" + }, + "113612bc3ba0ee4898b49dd20233905f2f458f62": { + "balance": "14000000000000000000000" + }, + "1f2afc0aed11bfc71e77a907657b36ea76e3fb99": { + "balance": "4000000000000000000000" + }, + "03714b41d2a6f751008ef8dd4d2b29aecab8f36e": { + "balance": "6000000000000000000000" + }, + "25721c87b0dc21377c7200e524b14a22f0af69fb": { + "balance": "4000000000000000000000" + }, + "335858f749f169cabcfe52b796e3c11ec47ea3c2": { + "balance": "200000000000000000000" + }, + "52fb46ac5d00c3518b2c3a1c177d442f8165555f": { + "balance": "1500000000000000000000" + }, + "7a8c89c014509d56d7b68130668ff6a3ecec7370": { + "balance": "300000000000000000000" + }, + "7d5d2f73949dadda0856b206989df0078d51a1e5": { + "balance": "10560000000000000000000" + }, + "be538246dd4e6f0c20bf5ad1373c3b463a131e86": { + "balance": "200000000000000000000" + }, + "62680a15f8ccb8bdc02f7360c25ad8cfb57b8ccd": { + "balance": "1000000000000000000000" + }, + "aa0ca3737337178a0caac3099c584b056c56301c": { + "balance": "880000000000000000000" + }, + "1d341fa5a3a1bd051f7db807b6db2fc7ba4f9b45": { + "balance": "18200000000000000000" + }, + "6463f715d594a1a4ace4bb9c3b288a74decf294d": { + "balance": "1970000000000000000000" + }, + "e00d153b10369143f97f54b8d4ca229eb3e8f324": { + "balance": "152000000000000000000" + }, + "8d0b9ea53fd263415eac11391f7ce9123c447062": { + "balance": "2000000000000000000000" + }, + "cacb675e0996235404efafbb2ecb8152271b55e0": { + "balance": "700000000000000000000" + }, + "b615e940143eb57f875893bc98a61b3d618c1e8c": { + "balance": "20000000000000000000" + }, + "606f177121f7855c21a5062330c8762264a97b31": { + "balance": "4000000000000000000000" + }, + "e3925509c8d0b2a6738c5f6a72f35314491248ce": { + "balance": "1012961000000000000000" + }, + "3f08d9ad894f813e8e2148c160d24b353a8e74b0": { + "balance": "60000000000000000000000" + }, + "40f4f4c06c732cd35b119b893b127e7d9d0771e4": { + "balance": "10000000000000000000000" + }, + "1406854d149e081ac09cb4ca560da463f3123059": { + "balance": "1337000000000000000000" + }, + "ecf05d07ea026e7ebf4941002335baf2fed0f002": { + "balance": "200000000000000000000" + }, + "9a990b8aeb588d7ee7ec2ed8c2e64f7382a9fee2": { + "balance": "33518000000000000000" + }, + "a2e0683a805de6a05edb2ffbb5e96f0570b637c3": { + "balance": "20000000000000000000" + }, + "fba5486d53c6e240494241abf87e43c7600d413a": { + "balance": "1987592000000000000000" + }, + "d81bd54ba2c44a6f6beb1561d68b80b5444e6dc6": { + "balance": "1163806000000000000000" + }, + "5298ab182a19359ffcecafd7d1b5fa212dede6dd": { + "balance": "20000000000000000000" + }, + "d1acb5adc1183973258d6b8524ffa28ffeb23de3": { + "balance": "4000000000000000000000" + }, + "4e7aa67e12183ef9d7468ea28ad239c2eef71b76": { + "balance": "4925000000000000000000" + }, + "509a20bc48e72be1cdaf9569c711e8648d957334": { + "balance": "2000000000000000000000" + }, + "949f84f0b1d7c4a7cf49ee7f8b2c4a134de32878": { + "balance": "685000000000000000000" + }, + "edbac9527b54d6df7ae2e000cca3613ba015cae3": { + "balance": "1970000000000000000000" + }, + "c697b70477cab42e2b8b266681f4ae7375bb2541": { + "balance": "5577200000000000000000" + }, + "86c934e38e53be3b33f274d0539cfca159a4d0d1": { + "balance": "970000000000000000000" + }, + "0877eeaeab78d5c00e83c32b2d98fa79ad51482f": { + "balance": "439420000000000000000" + }, + "5e11ecf69d551d7f4f84df128046b3a13240a328": { + "balance": "20000000000000000000" + }, + "43ff8853e98ed8406b95000ada848362d6a0392a": { + "balance": "22100000000000000000000" + }, + "f11cf5d363746fee6864d3ca336dd80679bb87ae": { + "balance": "40000000000000000000000" + }, + "fb223c1e22eac1269b32ee156a5385922ed36fb8": { + "balance": "2000000000000000000000" + }, + "4e6600806289454acda330a2a3556010dfacade6": { + "balance": "6000000000000000000000" + }, + "cfe2caaf3cec97061d0939748739bffe684ae91f": { + "balance": "10000000000000000000000" + }, + "adeb52b604e5f77faaac88275b8d6b49e9f9f97f": { + "balance": "2089268000000000000000" + }, + "d53c567f0c3ff2e08b7d59e2b5c73485437fc58d": { + "balance": "600000000000000000000" + }, + "fbf75933e01b75b154ef0669076be87f62dffae1": { + "balance": "78000000000000000000000" + }, + "7dfd2962b575bcbeee97f49142d63c30ab009f66": { + "balance": "4000000000000000000000" + }, + "df6485c4297ac152b289b19dde32c77ec417f47d": { + "balance": "1000000000000000000000" + }, + "ffb974673367f5c07be5fd270dc4b7138b074d57": { + "balance": "2470407000000000000000" + }, + "f7d7af204c56f31fd94398e40df1964bd8bf123c": { + "balance": "150011000000000000000" + }, + "4506fe19fa4b006baa3984529d8516db2b2b50ab": { + "balance": "2000000000000000000000" + }, + "f4dc7ba85480bbb3f535c09568aaa3af6f3721c6": { + "balance": "7214962000000000000000" + }, + "d171c3f2258aef35e599c7da1aa07300234da9a6": { + "balance": "2000000000000000000000" + }, + "33581cee233088c0860d944e0cf1ceabb8261c2e": { + "balance": "13370000000000000000" + }, + "1c2e3607e127caca0fbd5c5948adad7dd830b285": { + "balance": "19700000000000000000000" + }, + "fd7ede8f5240a06541eb699d782c2f9afb2170f6": { + "balance": "1337000000000000000000" + }, + "368c5414b56b8455171fbf076220c1cba4b5ca31": { + "balance": "557940000000000000000" + }, + "3e8745ba322f5fd6cb50124ec46688c7a69a7fae": { + "balance": "4925000000000000000000" + }, + "76506eb4a780c951c74a06b03d3b8362f0999d71": { + "balance": "500000000000000000000" + }, + "96d62dfd46087f62409d93dd606188e70e381257": { + "balance": "2000000000000000000000" + }, + "37eada93c475ded2f7e15e7787d400470fa52062": { + "balance": "200000000000000000000" + }, + "26babf42b267fdcf3861fdd4236a5e474848b358": { + "balance": "1000000000000000000000" + }, + "3526eece1a6bdc3ee7b400fe935b48463f31bed7": { + "balance": "82400000000000000000" + }, + "27b62816e1e3b8d19b79d1513d5dfa855b0c3a2a": { + "balance": "99941000000000000000" + }, + "b3e3c439069880156600c2892e448d4136c92d9b": { + "balance": "850000000000000000000" + }, + "574ad9355390e4889ef42acd138b2a27e78c00ae": { + "balance": "1557000000000000000000" + }, + "f0b9d683cea12ba600baace219b0b3c97e8c00e4": { + "balance": "100000000000000000000" + }, + "a437fe6ec103ca8d158f63b334224eccac5b3ea3": { + "balance": "8000000000000000000000" + }, + "7a48d877b63a8f8f9383e9d01e53e80c528e955f": { + "balance": "8000000000000000000000" + }, + "e965daa34039f7f0df62375a37e5ab8a72b301e7": { + "balance": "4796000000000000000000" + }, + "72cd048a110574482983492dfb1bd27942a696ba": { + "balance": "2000000000000000000000" + }, + "6611ce59a98b072ae959dc49ad511daaaaa19d6b": { + "balance": "200000000000000000000" + }, + "0d92582fdba05eabc3e51538c56db8813785b328": { + "balance": "191000000000000000000" + }, + "e87e9bbfbbb71c1a740c74c723426df55d063dd9": { + "balance": "7998000000000000000000" + }, + "9c99a1da91d5920bc14e0cb914fdf62b94cb8358": { + "balance": "20000000000000000000000" + }, + "fe8e6e3665570dff7a1bda697aa589c0b4e9024a": { + "balance": "2000000000000000000000" + }, + "811461a2b0ca90badac06a9ea16e787b33b196cc": { + "balance": "164000000000000000000" + }, + "d211b21f1b12b5096181590de07ef81a89537ead": { + "balance": "2000000000000000000000" + }, + "01155057002f6b0d18acb9388d3bc8129f8f7a20": { + "balance": "1340000000000000000000" + }, + "8ce22f9fa372449a420610b47ae0c8d565481232": { + "balance": "2000000000000000000000" + }, + "e02b74a47628be315b1f76b315054ad44ae9716f": { + "balance": "4000000000000000000000" + }, + "92a7c5a64362e9f842a23deca21035857f889800": { + "balance": "1999944000000000000000" + }, + "5213f459e078ad3ab95a0920239fcf1633dc04ca": { + "balance": "2599989000000000000000" + }, + "c9957ba94c1b29e5277ec36622704904c63dc023": { + "balance": "1923000000000000000000" + }, + "6ac40f532dfee5118117d2ad352da77d4f6da2c8": { + "balance": "400000000000000000000" + }, + "ea1efb3ce789bedec3d67c3e1b3bc0e9aa227f90": { + "balance": "734000000000000000000" + }, + "b01e389b28a31d8e4995bdd7d7c81beeab1e4119": { + "balance": "1000000000000000000000" + }, + "ee97aa8ac69edf7a987d6d70979f8ec1fbca7a94": { + "balance": "376000000000000000000" + }, + "0fad05507cdc8f24b2be4cb7fa5d927ddb911b88": { + "balance": "3004447000000000000000" + }, + "b6e8afd93dfa9af27f39b4df06076710bee3dfab": { + "balance": "25000000000000000000" + }, + "7d0b255efb57e10f7008aa22d40e9752dfcf0378": { + "balance": "29944000000000000000" + }, + "aef5b12258a18dec07d5ec2e316574919d79d6d6": { + "balance": "2000000000000000000000" + }, + "63666755bd41b5986997783c13043008242b3cb5": { + "balance": "500000000000000000000" + }, + "921f5261f4f612760706892625c75e7bce96b708": { + "balance": "2000000000000000000000" + }, + "10e1e3377885c42d7df218522ee7766887c05e6a": { + "balance": "300031000000000000000" + }, + "134163be9fbbe1c5696ee255e90b13254395c318": { + "balance": "200000000000000000000" + }, + "870f15e5df8b0eabd02569537a8ef93b56785c42": { + "balance": "388000000000000000000" + }, + "68eec1e288ac31b6eaba7e1fbd4f04ad579a6b5d": { + "balance": "2000000000000000000000" + }, + "1a2694ec07cf5e4d68ba40f3e7a14c53f3038c6e": { + "balance": "1000073000000000000000" + }, + "cd9b4cef73390c83a8fd71d7b540a7f9cf8b8c92": { + "balance": "90000000000000000000" + }, + "c8de7a564c7f4012a6f6d10fd08f47890fbf07d4": { + "balance": "300000000000000000000" + }, + "c0345b33f49ce27fe82cf7c84d141c68f590ce76": { + "balance": "1000000000000000000000" + }, + "fe53b94989d89964da2061539526bbe979dd2ea9": { + "balance": "1930600000000000000000" + }, + "14410fb310711be074a80883c635d0ef6afb2539": { + "balance": "2000000000000000000000" + }, + "1d344e962567cb27e44db9f2fac7b68df1c1e6f7": { + "balance": "1940000000000000000000" + }, + "fe016ec17ec5f10e3bb98ff4a1eda045157682ab": { + "balance": "375804000000000000000" + }, + "e89da96e06beaf6bd880b378f0680c43fd2e9d30": { + "balance": "601400000000000000000" + }, + "0fee81ac331efd8f81161c57382bb4507bb9ebec": { + "balance": "400030000000000000000" + }, + "40cf90ef5b768c5da585002ccbe6617650d8e837": { + "balance": "999800000000000000000" + }, + "256fa150cc87b5056a07d004efc84524739e62b5": { + "balance": "200000000000000000000" + }, + "1b9b2dc2960e4cb9408f7405827c9b59071612fd": { + "balance": "1000000000000000000000" + }, + "0efd1789eb1244a3dede0f5de582d8963cb1f39f": { + "balance": "1500000000000000000000" + }, + "049c5d4bc6f25d4e456c697b52a07811ccd19fb1": { + "balance": "300048000000000000000" + }, + "02b7b1d6b34ce053a40eb65cd4a4f7dddd0e9f30": { + "balance": "685000000000000000000" + }, + "c1827686c0169485ec15b3a7c8c01517a2874de1": { + "balance": "40000000000000000000" + }, + "d8e5c9675ef4deed266b86956fc4590ea7d4a27d": { + "balance": "1000000000000000000000" + }, + "48f883e567b436a27bb5a3124dbc84dec775a800": { + "balance": "771840000000000000000" + }, + "a34076f84bd917f20f8342c98ba79e6fb08ecd31": { + "balance": "4200000000000000000000" + }, + "21ce6d5b9018cec04ad6967944bea39e8030b6b8": { + "balance": "20000000000000000000" + }, + "0596a27dc3ee115fce2f94b481bc207a9e261525": { + "balance": "1000000000000000000000" + }, + "717cf9beab3638308ded7e195e0c86132d163fed": { + "balance": "15097428000000000000000" + }, + "d5ce55d1b62f59433c2126bcec09bafc9dfaa514": { + "balance": "197000000000000000000" + }, + "7dd46da677e161825e12e80dc446f58276e1127c": { + "balance": "820000000000000000000" + }, + "98c5494a03ac91a768dffc0ea1dde0acbf889019": { + "balance": "200000000000000000000000" + }, + "617ff2cc803e31c9082233b825d025be3f7b1056": { + "balance": "1970000000000000000000" + }, + "1091176be19b9964a8f72e0ece6bf8e3cfad6e9c": { + "balance": "10020000000000000000000" + }, + "4ea56e1112641c038d0565a9c296c463afefc17e": { + "balance": "182000000000000000000" + }, + "e303167f3d4960fe881b32800a2b4aeff1b088d4": { + "balance": "2000000000000000000000" + }, + "773141127d8cf318aebf88365add3d5527d85b6a": { + "balance": "1000076000000000000000" + }, + "b916b1a01cdc4e56e7657715ea37e2a0f087d106": { + "balance": "2406017000000000000000" + }, + "46a430a2d4a894a0d8aa3feac615361415c3f81f": { + "balance": "2000000000000000000000" + }, + "e6a3010f0201bc94ff67a2f699dfc206f9e76742": { + "balance": "879088000000000000000" + }, + "d7ad09c6d32657685355b5c6ec8e9f57b4ebb982": { + "balance": "1970000000000000000000" + }, + "95e80a82c20cbe3d2060242cb92d735810d034a2": { + "balance": "32511000000000000000" + }, + "9a390162535e398877e416787d6239e0754e937c": { + "balance": "1000000000000000000000" + }, + "d85fdeaf2a61f95db902f9b5a53c9b8f9266c3ac": { + "balance": "2010000000000000000000" + }, + "c3e20c96df8d4e38f50b265a98a906d61bc51a71": { + "balance": "2000000000000000000000" + }, + "2949fd1def5c76a286b3872424809a07db3966f3": { + "balance": "5236067000000000000000" + }, + "86cdb7e51ac44772be3690f61d0e59766e8bfc18": { + "balance": "4000000000000000000000" + }, + "749a4a768b5f237248938a12c623847bd4e688dc": { + "balance": "72000000000000000000" + }, + "3524a000234ebaaf0789a134a2a417383ce5282a": { + "balance": "5635000000000000000000" + }, + "7b43c7eea8d62355b0a8a81da081c6446b33e9e0": { + "balance": "4000000000000000000000" + }, + "0eb189ef2c2d5762a963d6b7bdf9698ea8e7b48a": { + "balance": "1337000000000000000000" + }, + "767fd7797d5169a05f7364321c19843a8c348e1e": { + "balance": "18800000000000000000" + }, + "1b2639588b55c344b023e8de5fd4087b1f040361": { + "balance": "1500000000000000000000" + }, + "1e33d1c2fb5e084f2f1d54bc5267727fec3f985d": { + "balance": "500000000000000000000" + }, + "06b106649aa8c421ddcd1b8c32cd0418cf30da1f": { + "balance": "40000000000000000000000" + }, + "3c5a241459c6abbf630239c98a30d20b8b3ac561": { + "balance": "157600000000000000000" + }, + "0f4f94b9191bb7bb556aaad7c74ddb288417a50b": { + "balance": "1400000000000000000000" + }, + "d6f4a7d04e8faf20e8c6eb859cf7f78dd23d7a15": { + "balance": "131784000000000000000" + }, + "61adf5929a5e2981684ea243baa01f7d1f5e148a": { + "balance": "110302000000000000000" + }, + "8f58d8348fc1dc4e0dd8343b6543c857045ee940": { + "balance": "13632400000000000000000" + }, + "a6e3baa38e104a1e27a4d82869afb1c0ae6eff8d": { + "balance": "19690000000000000000" + }, + "67350b5331926f5e28f3c1e986f96443809c8b8c": { + "balance": "352000000000000000000" + }, + "0b5d66b13c87b392e94d91d5f76c0d450a552843": { + "balance": "2000000000000000000000" + }, + "562a8dcbbeeef7b360685d27303bd69e094accf6": { + "balance": "10000000000000000000000" + }, + "b5d9934d7b292bcf603b2880741eb760288383a0": { + "balance": "16700000000000000000" + }, + "6fc53662371dca587b59850de78606e2359df383": { + "balance": "180000000000000000000" + }, + "e069c0173352b10bf6834719db5bed01adf97bbc": { + "balance": "18894000000000000000" + }, + "10a93457496f1108cd98e140a1ecdbae5e6de171": { + "balance": "399600000000000000000" + }, + "69ff8901b541763f817c5f2998f02dcfc1df2997": { + "balance": "40000000000000000000" + }, + "00c27d63fde24b92ee8a1e7ed5d26d8dc5c83b03": { + "balance": "2000000000000000000000" + }, + "77f81b1b26fc84d6de97ef8b9fbd72a33130cc4a": { + "balance": "1000000000000000000000" + }, + "6d20ef9704670a500bb269b5832e859802049f01": { + "balance": "130000000000000000000" + }, + "186afdc085f2a3dce4615edffbadf71a11780f50": { + "balance": "200000000000000000000" + }, + "7ff0c63f70241bece19b737e5341b12b109031d8": { + "balance": "346000000000000000000" + }, + "9d4174aa6af28476e229dadb46180808c67505c1": { + "balance": "1219430000000000000000" + }, + "5fec49c665e64ee89dd441ee74056e1f01e92870": { + "balance": "6320000000000000000000" + }, + "6cd228dc712169307fe27ceb7477b48cfc8272e5": { + "balance": "77600000000000000000" + }, + "fd918536a8efa6f6cefe1fa1153995fef5e33d3b": { + "balance": "500000000000000000000" + }, + "2fbb504a5dc527d3e3eb0085e2fc3c7dd538cb7a": { + "balance": "1249961000000000000000" + }, + "6ab323ae5056ed0a453072c5abe2e42fcf5d7139": { + "balance": "880000000000000000000" + }, + "67d682a282ef73fb8d6e9071e2614f47ab1d0f5e": { + "balance": "1000000000000000000000" + }, + "1858cf11aea79f5398ad2bb22267b5a3c952ea74": { + "balance": "9850000000000000000000" + }, + "39d6caca22bccd6a72f87ee7d6b59e0bde21d719": { + "balance": "2002000000000000000000" + }, + "daa63cbda45dd487a3f1cd4a746a01bb5e060b90": { + "balance": "4797800000000000000000" + }, + "a90476e2efdfee4f387b0f32a50678b0efb573b5": { + "balance": "10000000000000000000000" + }, + "ae5aa1e6c2b60f6fd3efe721bb4a719cbe3d6f5d": { + "balance": "795860000000000000000" + }, + "ac2e766dac3f648f637ac6713fddb068e4a4f04d": { + "balance": "197000000000000000000" + }, + "6191ddc9b64a8e0890b4323709d7a07c48b92a64": { + "balance": "775000000000000000000" + }, + "cc4f0ff2aeb67d54ce3bc8c6510b9ae83e9d328b": { + "balance": "400000000000000000000" + }, + "ca23f62dff0d6460036c62e840aec5577e0befd2": { + "balance": "140800000000000000000" + }, + "97dc26ec670a31e0221d2a75bc5dc9f90c1f6fd4": { + "balance": "50000000000000000000" + }, + "848c994a79003fe7b7c26cc63212e1fc2f9c19eb": { + "balance": "2000000000000000000000" + }, + "20c284ba10a20830fc3d699ec97d2dfa27e1b95e": { + "balance": "2000000000000000000000" + }, + "4fa3f32ef4086448b344d5f0a9890d1ce4d617c3": { + "balance": "1500000000000000000000" + }, + "255abc8d08a096a88f3d6ab55fbc7352bddcb9ce": { + "balance": "82161000000000000000" + }, + "7c60e51f0be228e4d56fdd2992c814da7740c6bc": { + "balance": "200000000000000000000" + }, + "1c356cfdb95febb714633b28d5c132dd84a9b436": { + "balance": "25000000000000000000" + }, + "5062e5134c612f12694dbd0e131d4ce197d1b6a4": { + "balance": "1000000000000000000000" + }, + "ed862616fcbfb3becb7406f73c5cbff00c940755": { + "balance": "1700000000000000000000" + }, + "62c9b271ffd5b770a5eee4edc9787b5cdc709714": { + "balance": "2000000000000000000000" + }, + "3c925619c9b33144463f0537d896358706c520b0": { + "balance": "2000000000000000000000" + }, + "ffe2e28c3fb74749d7e780dc8a5d422538e6e451": { + "balance": "253319000000000000000" + }, + "37195a635dcc62f56a718049d47e8f9f96832891": { + "balance": "1970000000000000000000" + }, + "90e9a9a82edaa814c284d232b6e9ba90701d4952": { + "balance": "100007000000000000000" + }, + "e0c4ab9072b4e6e3654a49f8a8db026a4b3386a9": { + "balance": "2000000000000000000000" + }, + "439dee3f7679ff1030733f9340c096686b49390b": { + "balance": "2000000000000000000000" + }, + "548558d08cfcb101181dac1eb6094b4e1a896fa6": { + "balance": "1999944000000000000000" + }, + "3090f8130ec44466afadb36ed3c926133963677b": { + "balance": "4000000000000000000000" + }, + "d1648503b1ccc5b8be03fa1ec4f3ee267e6adf7b": { + "balance": "5828000000000000000000" + }, + "65b42faecc1edfb14283ca979af545f63b30e60c": { + "balance": "18200000000000000000" + }, + "6420f8bcc8164a6152a99d6b99693005ccf7e053": { + "balance": "999972000000000000000" + }, + "84b4b74e6623ba9d1583e0cfbe49643f16384149": { + "balance": "20000000000000000000" + }, + "b8310a16cc6abc465007694b930f978ece1930bd": { + "balance": "740000000000000000000" + }, + "16019a4dafab43f4d9bf4163fae0847d848afca2": { + "balance": "25060000000000000000" + }, + "479298a9de147e63a1c7d6d2fce089c7e64083bd": { + "balance": "9999999000000000000000" + }, + "030973807b2f426914ad00181270acd27b8ff61f": { + "balance": "5348000000000000000000" + }, + "b07bcf1cc5d4462e5124c965ecf0d70dc27aca75": { + "balance": "1600000000000000000000" + }, + "a2f798e077b07d86124e1407df32890dbb4b6379": { + "balance": "200000000000000000000" + }, + "0cbd921dbe121563b98a6871fecb14f1cc7e88d7": { + "balance": "200000000000000000000" + }, + "6042276df2983fe2bc4759dc1943e18fdbc34f77": { + "balance": "1970000000000000000000" + }, + "be2b2280523768ea8ac35cd9e888d60a719300d4": { + "balance": "2000000000000000000000" + }, + "2f4da753430fc09e73acbccdcde9da647f2b5d37": { + "balance": "200000000000000000000" + }, + "734223d27ff23e5906caed22595701bb34830ca1": { + "balance": "2000000000000000000000" + }, + "5b430d779696a3653fc60e74fbcbacf6b9c2baf1": { + "balance": "14000000000000000000000" + }, + "84232107932b12e03186583525ce023a703ef8d9": { + "balance": "2000000000000000000000" + }, + "4ed14d81b60b23fb25054d8925dfa573dcae6168": { + "balance": "340000000000000000000" + }, + "8b338411f26ccf37658cc75521d77629099e467d": { + "balance": "2000000000000000000000" + }, + "a37622ac9bbdc4d82b75015d745b9f8de65a28ec": { + "balance": "2910000000000000000000" + }, + "1dd77441844afe9cc18f15d8c77bccfb655ee034": { + "balance": "4850000000000000000000" + }, + "65849be1af20100eb8a3ba5a5be4d3ae8db5a70e": { + "balance": "400000000000000000000" + }, + "d5586da4e59583c8d86cccf71a86197f17996749": { + "balance": "2000000000000000000000" + }, + "4b53ae59c784b6b5c43616b9a0809558e684e10c": { + "balance": "1200000000000000000000" + }, + "55d42eb495bf46a634997b5f2ea362814918e2b0": { + "balance": "106128000000000000000" + }, + "959ff17f1d51b473b44010052755a7fa8c75bd54": { + "balance": "1970000000000000000000" + }, + "5a2daab25c31a61a92a4c82c9925a1d2ef58585e": { + "balance": "225400000000000000000" + }, + "24c0c88b54a3544709828ab4ab06840559f6c5e2": { + "balance": "2674000000000000000000" + }, + "7e8649e690fc8c1bfda1b5e186581f649b50fe33": { + "balance": "98500000000000000000" + }, + "4acfa9d94eda6625c9dfa5f9f4f5d107c4031fdf": { + "balance": "39400000000000000000" + }, + "5778ffdc9b94c5a59e224eb965b6de90f222d170": { + "balance": "335320000000000000000" + }, + "825a7f4e10949cb6f8964268f1fa5f57e712b4c4": { + "balance": "20000000000000000000" + }, + "6f39cc37caaa2ddc9b610f6131e0619fae772a3c": { + "balance": "500000000000000000000" + }, + "5b437365ae3a9a2ff97c68e6f90a7620188c7d19": { + "balance": "2002000000000000000000" + }, + "6710c2c03c65992b2e774be52d3ab4a6ba217ef7": { + "balance": "11600000000000000000000" + }, + "896e335ca47af57962fa0f4dbf3e45e688cba584": { + "balance": "1368500000000000000000" + }, + "b57549bfbc9bdd18f736b22650e48a73601fa65c": { + "balance": "446000000000000000000" + }, + "85ca1e727e9d1a87991cc2c41840ebb9edf21d1b": { + "balance": "13370000000000000000" + }, + "cf4166746e1d3bc1f8d0714b01f17e8a62df1464": { + "balance": "1004700000000000000000" + }, + "4a75c3d4fa6fccbd5dd5a703c15379a1e783e9b7": { + "balance": "1820000000000000000000" + }, + "9e5811b40be1e2a1e1d28c3b0774acde0a09603d": { + "balance": "3000000000000000000000" + }, + "763886e333c56feff85be3951ab0b889ce262e95": { + "balance": "2000000000000000000000" + }, + "2b101e822cd962962a06800a2c08d3b15d82b735": { + "balance": "152000000000000000000" + }, + "a01e9476df84431825c836e8803a97e22fa5a0cd": { + "balance": "6000000000000000000000" + }, + "be4e7d983f2e2a636b1102ec7039efebc842e98d": { + "balance": "66000000000000000000" + }, + "9e427272516b3e67d4fcbf82f59390d04c8e28e5": { + "balance": "4000000000000000000000" + }, + "e0d231e144ec9107386c7c9b02f1702ceaa4f700": { + "balance": "5000057000000000000000" + }, + "6a0f056066c2d56628850273d7ecb7f8e6e9129e": { + "balance": "5000016000000000000000" + }, + "d1538e9a87e59ca9ec8e5826a5b793f99f96c4c3": { + "balance": "1000000000000000000000" + }, + "f85bab1cb3710fc05fa19ffac22e67521a0ba21d": { + "balance": "2003000000000000000000" + }, + "f7cbdba6be6cfe68dbc23c2b0ff530ee05226f84": { + "balance": "20000000000000000000" + }, + "4eb87ba8788eba0df87e5b9bd50a8e45368091c1": { + "balance": "20000000000000000000" + }, + "1479a9ec7480b74b5db8fc499be352da7f84ee9c": { + "balance": "1000000000000000000000" + }, + "d311bcd7aa4e9b4f383ff3d0d6b6e07e21e3705d": { + "balance": "200000000000000000000" + }, + "425c1816868f7777cc2ba6c6d28c9e1e796c52b3": { + "balance": "10000000000000000000000" + }, + "8510ee934f0cbc900e1007eb38a21e2a5101b8b2": { + "balance": "106000000000000000000" + }, + "01e864d354741b423e6f42851724468c74f5aa9c": { + "balance": "20000000000000000000000" + }, + "a543a066fb32a8668aa0736a0c9cd40d78098727": { + "balance": "1000000000000000000000" + }, + "f3eb1948b951e22df1617829bf3b8d8680ec6b68": { + "balance": "4000000000000000000000" + }, + "f6b782f4dcd745a6c0e2e030600e04a24b25e542": { + "balance": "400000000000000000000" + }, + "229f4f1a2a4f540774505b4707a81de44410255b": { + "balance": "2000000000000000000000" + }, + "cff8d06b00e3f50c191099ad56ba6ae26571cd88": { + "balance": "1000000000000000000000" + }, + "910b7d577a7e39aa23acf62ad7f1ef342934b968": { + "balance": "10000000000000000000000" + }, + "392433d2ce83d3fb4a7602cca3faca4ec140a4b0": { + "balance": "51000000000000000000" + }, + "8ff46045687723dc33e4d099a06904f1ebb584dc": { + "balance": "2000000000000000000000" + }, + "9ca0429f874f8dcee2e9c062a9020a842a587ab9": { + "balance": "2000000000000000000000" + }, + "160ceb6f980e04315f53c4fc988b2bf69e284d7d": { + "balance": "19100000000000000000" + }, + "c340f9b91c26728c31d121d5d6fc3bb56d3d8624": { + "balance": "2000000000000000000000" + }, + "afa1d5ad38fed44759c05b8993c1aa0dace19f40": { + "balance": "80000000000000000000" + }, + "3969b4f71bb8751ede43c016363a7a614f76118e": { + "balance": "2000000000000000000000" + }, + "2bb6f578adfbe7b2a116b3554facf9969813c319": { + "balance": "7400000000000000000000" + }, + "8334764b7b397a4e578f50364d60ce44899bff94": { + "balance": "92500000000000000000" + }, + "9dd2196624a1ddf14a9d375e5f07152baf22afa2": { + "balance": "1211747000000000000000" + }, + "f242da845d42d4bf779a00f295b40750fe49ea13": { + "balance": "1000000000000000000000" + }, + "c6234657a807384126f8968ca1708bb07baa493c": { + "balance": "20000000000000000000" + }, + "94c055e858357aaa30cf2041fa9059ce164a1f91": { + "balance": "19999000000000000000000" + }, + "74c73c90528a157336f1e7ea20620ae53fd24728": { + "balance": "8969310000000000000000" + }, + "19e7f3eb7bf67f3599209ebe08b62ad3327f8cde": { + "balance": "2000000000000000000000" + }, + "b2b516fdd19e7f3864b6d2cf1b252a4156f1b03b": { + "balance": "53720000000000000000" + }, + "8164e78314ae16b28926cc553d2ccb16f356270d": { + "balance": "8450000000000000000000" + }, + "4d828894752f6f25175daf2177094487954b6f9f": { + "balance": "1459683000000000000000" + }, + "ab84a0f147ad265400002b85029a41fc9ce57f85": { + "balance": "1000000000000000000000" + }, + "f3fe51fde34413c73318b9c85437fe7e820f561a": { + "balance": "1003200000000000000000" + }, + "16c7b31e8c376282ac2271728c31c95e35d952c3": { + "balance": "2000000000000000000000" + }, + "80d5c40c59c7f54ea3a55fcfd175471ea35099b3": { + "balance": "1000000000000000000000" + }, + "7abb10f5bd9bc33b8ec1a82d64b55b6b18777541": { + "balance": "20000000000000000000000" + }, + "095b0ea2b218d82e0aea7c2889238a39c9bf9077": { + "balance": "20000000000000000000000" + }, + "5d5cdbe25b2a044b7b9be383bcaa5807b06d3c6b": { + "balance": "2000000000000000000000" + }, + "323749a3b971959e46c8b4822dcafaf7aaf9bd6e": { + "balance": "20064000000000000000" + }, + "e0272213e8d2fd3e96bd6217b24b4ba01b617079": { + "balance": "20000000000000000000" + }, + "00acbfb2f25a5485c739ef70a44eeeeb7c65a66f": { + "balance": "100000000000000000000" + }, + "52f15423323c24f19ae2ab673717229d3f747d9b": { + "balance": "1026115000000000000000" + }, + "cb4abfc282aed76e5d57affda542c1f382fcacf4": { + "balance": "8136100000000000000000" + }, + "f71b4534f286e43093b1e15efea749e7597b8b57": { + "balance": "104410000000000000000000" + }, + "44cd77535a893fa7c4d5eb3a240e79d099a72d2d": { + "balance": "820000000000000000000" + }, + "eb3ce7fc381c51db7d5fbd692f8f9e058a4c703d": { + "balance": "200000000000000000000" + }, + "f1c8c4a941b4628c0d6c30fda56452d99c7e1b64": { + "balance": "1449000000000000000000" + }, + "277677aba1e52c3b53bfa2071d4e859a0af7e8e1": { + "balance": "1000000000000000000000" + }, + "a5f075fd401335577b6683c281e6d101432dc6e0": { + "balance": "2680000000000000000000" + }, + "e28dbc8efd5e416a762ec0e018864bb9aa83287b": { + "balance": "24533161000000000000000" + }, + "2b717cd432a323a4659039848d3b87de26fc9546": { + "balance": "500000000000000000000000" + }, + "b358e97c70b605b1d7d729dfb640b43c5eafd1e7": { + "balance": "20000000000000000000000" + }, + "293c2306df3604ae4fda0d207aba736f67de0792": { + "balance": "200000000000000000000" + }, + "74d366b07b2f56477d7c7077ac6fe497e0eb6559": { + "balance": "5000000000000000000000" + }, + "490145afa8b54522bb21f352f06da5a788fa8f1d": { + "balance": "9231182000000000000000" + }, + "862569211e8c6327b5415e3a67e5738b15baaf6e": { + "balance": "140000000000000000000" + }, + "5a74ba62e7c81a3474e27d894fed33dd24ad95fe": { + "balance": "18200000000000000000" + }, + "536e4d8029b73f5579dca33e70b24eba89e11d7e": { + "balance": "1970000000000000000000" + }, + "25c6e74ff1d928df98137af4df8430df24f07cd7": { + "balance": "390000000000000000000" + }, + "19b36b0c87ea664ed80318dc77b688dde87d95a5": { + "balance": "1948386000000000000000" + }, + "abc4caeb474d4627cb6eb456ecba0ecd08ed8ae1": { + "balance": "3940000000000000000000" + }, + "8ea656e71ec651bfa17c5a5759d86031cc359977": { + "balance": "100000000000000000000" + }, + "8d620bde17228f6cbba74df6be87264d985cc179": { + "balance": "100000000000000000000" + }, + "b2aa2f1f8e93e79713d92cea9ffce9a40af9c82d": { + "balance": "2000000000000000000000" + }, + "198ef1ec325a96cc354c7266a038be8b5c558f67": { + "balance": "608334724000000000000000" + }, + "6a13d5e32c1fd26d7e91ff6e053160a89b2c8aad": { + "balance": "53480000000000000000" + }, + "e056bf3ff41c26256fef51716612b9d39ade999c": { + "balance": "100009000000000000000" + }, + "2c128c95d957215101f043dd8fc582456d41016d": { + "balance": "835000000000000000000" + }, + "2560b09b89a4ae6849ed5a3c9958426631714466": { + "balance": "1700000000000000000000" + }, + "d3d6e9fb82542fd29ed9ea3609891e151396b6f7": { + "balance": "54000000000000000000000" + }, + "a7607b42573bb6f6b4d4f23c7e2a26b3a0f6b6f0": { + "balance": "1610000000000000000000" + }, + "020362c3ade878ca90d6b2d889a4cc5510eed5f3": { + "balance": "1042883000000000000000" + }, + "14830704e99aaad5c55e1f502b27b22c12c91933": { + "balance": "620000000000000000000" + }, + "8030b111c6983f0485ddaca76224c6180634789f": { + "balance": "80000000000000000000" + }, + "2c5b7d7b195a371bf9abddb42fe04f2f1d9a9910": { + "balance": "200000000000000000000" + }, + "77d43fa7b481dbf3db530cfbf5fdced0e6571831": { + "balance": "2000000000000000000000" + }, + "2d90b415a38e2e19cdd02ff3ad81a97af7cbf672": { + "balance": "109800000000000000000" + }, + "2fc82ef076932341264f617a0c80dd571e6ae939": { + "balance": "7160000000000000000000" + }, + "dfe549fe8430e552c6d07cc3b92ccd43b12fb50f": { + "balance": "83620000000000000000" + }, + "1e8e689b02917cdc29245d0c9c68b094b41a9ed6": { + "balance": "2000000000000000000000" + }, + "21c3a8bba267c8cca27b1a9afabad86f607af708": { + "balance": "8940000000000000000000" + }, + "143c639752caeecf6a997d39709fc8f19878c7e8": { + "balance": "1970000000000000000000" + }, + "02603d7a3bb297c67c877e5d34fbd5b913d4c63a": { + "balance": "20000000000000000000" + }, + "a166f911c644ac3213d29e0e1ae010f794d5ad26": { + "balance": "2000000000000000000000" + }, + "6eb3819617404058268f0c3cff3596bfe9148c1c": { + "balance": "1670000000000000000000" + }, + "7a67dd043a504fc2f2fc7194e9becf484cecb1fb": { + "balance": "250000000000000000000" + }, + "f824ee331e4ac3cc587693395b57ecf625a6c0c2": { + "balance": "1600930000000000000000" + }, + "1179c60dbd068b150b074da4be23033b20c68558": { + "balance": "680000000000000000000" + }, + "d2a479404347c5543aab292ae1bb4a6f158357fa": { + "balance": "4000000000000000000000" + }, + "b0d32bd7e4e695b7b01aa3d0416f80557dba9903": { + "balance": "16300000000000000000000" + }, + "f734ec03724ddee5bb5279aa1afcf61b0cb448a1": { + "balance": "4238080000000000000000" + }, + "c04069dfb18b096c7867f8bee77a6dc7477ad062": { + "balance": "2674000000000000000000" + }, + "80c53ee7e3357f94ce0d7868009c208b4a130125": { + "balance": "2000000000000000000000" + }, + "0f32d9cb4d0fdaa0150656bb608dcc43ed7d9301": { + "balance": "753978000000000000000" + }, + "6ddb6092779d5842ead378e21e8120fd4c6bc132": { + "balance": "2000000000000000000000" + }, + "82ea01e3bf2e83836e71704e22a2719377efd9c3": { + "balance": "3040000000000000000000" + }, + "44c1110b18870ec81178d93d215838c551d48e64": { + "balance": "199958000000000000000" + }, + "7727af101f0aaba4d23a1cafe17c6eb5dab1c6dc": { + "balance": "2000000000000000000000" + }, + "a11a03c4bb26d21eff677d5d555c80b25453ee7a": { + "balance": "69979000000000000000" + }, + "19e5dea3370a2c746aae34a37c531f41da264e83": { + "balance": "200000000000000000000" + }, + "c325c352801ba883b3226c5feb0df9eae2d6e653": { + "balance": "3940000000000000000000" + }, + "ae5055814cb8be0c117bb8b1c8d2b63b4698b728": { + "balance": "32035000000000000000" + }, + "deb1bc34d86d4a4dde2580d8beaf074eb0e1a244": { + "balance": "1580000000000000000000" + }, + "558360206883dd1b6d4a59639e5629d0f0c675d0": { + "balance": "2000000000000000000000" + }, + "a9d6f871ca781a759a20ac3adb972cf12829a208": { + "balance": "925000000000000000000" + }, + "b0ac4eff6680ee14169cdadbffdb30804f6d25f5": { + "balance": "2000000000000000000000" + }, + "f1b58faffa8794f50af8e88309c7a6265455d51a": { + "balance": "999800000000000000000" + }, + "a61a54df784a44d71b771b87317509211381f200": { + "balance": "1000000000000000000000" + }, + "baa4b64c2b15b79f5f204246fd70bcbd86e4a92a": { + "balance": "500000000000000000000" + }, + "a20d8ff60caae31d02e0b665fa435d76f77c9442": { + "balance": "489600000000000000000" + }, + "f3e74f470c7d3a3f0033780f76a89f3ef691e6cb": { + "balance": "3021800000000000000000" + }, + "d330728131fe8e3a15487a34573c93457e2afe95": { + "balance": "4000000000000000000000" + }, + "9af9dbe47422d177f945bdead7e6d82930356230": { + "balance": "3940000000000000000000" + }, + "0eb5b662a1c718608fd52f0c25f9378830178519": { + "balance": "6091400000000000000000" + }, + "fda6810ea5ac985d6ffbf1c511f1c142edcfddf7": { + "balance": "4000000000000000000000" + }, + "832c54176bdf43d2c9bcd7b808b89556b89cbf31": { + "balance": "200000000000000000000" + }, + "704d5de4846d39b53cd21d1c49f096db5c19ba29": { + "balance": "152000000000000000000" + }, + "344a8db086faed4efc37131b3a22b0782dad7095": { + "balance": "500000000000000000000" + }, + "8c7fa5cae82fedb69ab189d3ff27ae209293fb93": { + "balance": "400030000000000000000" + }, + "ad660dec825522a9f62fcec3c5b731980dc286ea": { + "balance": "3000000000000000000000" + }, + "13b9b10715714c09cfd610cf9c9846051cb1d513": { + "balance": "1970000000000000000000" + }, + "40467d80e74c35407b7db51789234615fea66818": { + "balance": "388000000000000000000" + }, + "30e9d5a0088f1ddb2fd380e2a049192266c51cbf": { + "balance": "196910000000000000000" + }, + "b2d1e99af91231858e7065dd1918330dc4c747d5": { + "balance": "16700000000000000000000" + }, + "9f21302ca5096bea7402b91b0fd506254f999a3d": { + "balance": "1246832000000000000000" + }, + "d24b6644f439c8051dfc64d381b8c86c75c17538": { + "balance": "2000000000000000000000" + }, + "8228ebc087480fd64547ca281f5eace3041453b9": { + "balance": "1970000000000000000000" + }, + "29da3e35b23bb1f72f8e2258cf7f553359d24bac": { + "balance": "20000000000000000000000" + }, + "c8e558a3c5697e6fb23a2594c880b7a1b68f9860": { + "balance": "10000000000000000000000" + }, + "6b951a43274eeafc8a0903b0af2ec92bf1efc839": { + "balance": "100000000000000000000" + }, + "d015f6fcb84df7bb410e8c8f04894a881dcac237": { + "balance": "1038000000000000000000" + }, + "6ccb03acf7f53ce87aadcc21a9932de915f89804": { + "balance": "8000000000000000000000" + }, + "388c85a9b9207d8146033fe38143f6d34b595c47": { + "balance": "200000000000000000000" + }, + "429c06b487e8546abdfc958a25a3f0fba53f6f00": { + "balance": "13503000000000000000" + }, + "771507aeee6a255dc2cd9df55154062d0897b297": { + "balance": "334250000000000000000" + }, + "5a2b1c853aeb28c45539af76a00ac2d8a8242896": { + "balance": "25000000000000000000" + }, + "f4d67a9044b435b66e8977ff39a28dc4bd53729a": { + "balance": "200000000000000000000" + }, + "063759dd1c4e362eb19398951ff9f8fad1d31068": { + "balance": "10000000000000000000000" + }, + "cb58990bcd90cfbf6d8f0986f6fa600276b94e2d": { + "balance": "999925000000000000000" + }, + "6df5c84f7b909aab3e61fe0ecb1b3bf260222ad2": { + "balance": "4000000000000000000000" + }, + "deb2495d6aca7b2a6a2d138b6e1a42e2dc311fdd": { + "balance": "2000000000000000000000" + }, + "59203cc37599b648312a7cc9e06dacb589a9ae6a": { + "balance": "148689000000000000000" + }, + "fc9b347464b2f9929d807e039dae48d3d98de379": { + "balance": "14000000000000000000000" + }, + "48d2434b7a7dbbff08223b6387b05da2e5093126": { + "balance": "18000000000000000000000" + }, + "c9d76446d5aadff80b68b91b08cd9bc8f5551ac1": { + "balance": "714000000000000000000" + }, + "3d31587b5fd5869845788725a663290a49d3678c": { + "balance": "500000000000000000000" + }, + "d8715ef9176f850b2e30eb8e382707f777a6fbe9": { + "balance": "2000000000000000000000" + }, + "2c2147947ae33fb098b489a5c16bfff9abcd4e2a": { + "balance": "200000000000000000000" + }, + "d6c0d0bc93a62e257174700e10f024c8b23f1f87": { + "balance": "2000000000000000000000" + }, + "d1978f2e34407fab1dc2183d95cfda6260b35982": { + "balance": "788000000000000000000" + }, + "1bf974d9904f45ce81a845e11ef4cbcf27af719e": { + "balance": "100000000000000000000" + }, + "6e761eaa0f345f777b5441b73a0fa5b56b85f22d": { + "balance": "2000000000000000000000" + }, + "ea60436912de6bf187d3a472ff8f5333a0f7ed06": { + "balance": "19700000000000000000" + }, + "94f8f057db7e60e675ad940f155885d1a477348e": { + "balance": "401100000000000000000" + }, + "8933491760c8f0b4df8caac78ed835caee21046d": { + "balance": "20000000000000000000000" + }, + "a7775e4af6a23afa201fb78b915e51a515b7a728": { + "balance": "120000000000000000000" + }, + "d8d64384249b776794063b569878d5e3b530a4b2": { + "balance": "177569000000000000000" + }, + "be633a3737f68439bac7c90a52142058ee8e8a6f": { + "balance": "960000000000000000000" + }, + "90bd62a050845261fa4a9f7cf241ea630b05efb8": { + "balance": "500000000000000000000" + }, + "552987f0651b915b2e1e5328c121960d4bdd6af4": { + "balance": "1790000000000000000000" + }, + "0baf6ecdb91acb3606a8357c0bc4f45cfd2d7e6f": { + "balance": "1000000000000000000000" + }, + "9e5a311d9f69898a7c6a9d6360680438e67a7b2f": { + "balance": "1490000000000000000000" + }, + "78859c5b548b700d9284cee4b6633c2f52e529c2": { + "balance": "2955000000000000000000" + }, + "d572309169b1402ec8131a17a6aac3222f89e6eb": { + "balance": "13800000000000000000000" + }, + "8e6d7485cbe990acc1ad0ee9e8ccf39c0c93440e": { + "balance": "955000000000000000000" + }, + "75c11d024d12ae486c1095b7a7b9c4af3e8edeb9": { + "balance": "20000000000000000000" + }, + "903413878aea3bc1086309a3fe768b65559e8cab": { + "balance": "8000000000000000000000" + }, + "6d0569e5558fc7df2766f2ba15dc8aeffc5beb75": { + "balance": "4001070000000000000000" + }, + "3815b0743f94fc8cc8654fd9d597ed7d8b77c57e": { + "balance": "738578000000000000000" + }, + "0f26480a150961b8e30750713a94ee6f2e47fc00": { + "balance": "1000000000000000000000" + }, + "ede5de7c7fb7eee0f36e64530a41440edfbefacf": { + "balance": "617200000000000000000" + }, + "763a7cbab70d7a64d0a7e52980f681472593490c": { + "balance": "600000000000000000000" + }, + "6e270ad529f1f0b8d9cb6d2427ec1b7e2dc64a74": { + "balance": "200000000000000000000" + }, + "eb3bdd59dcdda5a9bb2ac1641fd02180f5f36560": { + "balance": "6600000000000000000000" + }, + "f4ebf50bc7e54f82e9b9bd24baef29438e259ce6": { + "balance": "10000000000000000000000" + }, + "882c8f81872c79fed521cb5f950d8b032322ea69": { + "balance": "40000000000000000000000" + }, + "394132600f4155e07f4d45bc3eb8d9fb72dcd784": { + "balance": "2941000000000000000000" + }, + "0be2b94ad950a2a62640c35bfccd6c67dae450f6": { + "balance": "1940000000000000000000" + }, + "d4c6ac742e7c857d4a05a04c33d4d05c1467571d": { + "balance": "200000000000000000000" + }, + "1fddd85fc98be9c4045961f40f93805ecc4549e5": { + "balance": "164000000000000000000" + }, + "534065361cb854fac42bfb5c9fcde0604ac919da": { + "balance": "2000000000000000000000" + }, + "9a6ff5f6a7af7b7ae0ed9c20ecec5023d281b786": { + "balance": "2547000000000000000000" + }, + "4f3a4854911145ea01c644044bdb2e5a960a982f": { + "balance": "4000000000000000000000" + }, + "00497e92cdc0e0b963d752b2296acb87da828b24": { + "balance": "194800000000000000000" + }, + "4ff67fb87f6efba9279930cfbd1b7a343c79fade": { + "balance": "400000000000000000000" + }, + "62f2e5ccecd52cc4b95e0597df27cc079715608c": { + "balance": "143000000000000000000" + }, + "1eda084e796500ba14c5121c0d90846f66e4be62": { + "balance": "534800000000000000000" + }, + "9836b4d30473641ab56aeee19242761d72725178": { + "balance": "2000000000000000000000" + }, + "de55de0458f850b37e4d78a641dd2eb2dd8f38ce": { + "balance": "4000000000000000000000" + }, + "140ca28ff33b9f66d7f1fc0078f8c1eef69a1bc0": { + "balance": "1600000000000000000000" + }, + "2014261f01089f53795630ba9dd24f9a34c2d942": { + "balance": "1337000000000000000000" + }, + "11415fab61e0dfd4b90676141a557a869ba0bde9": { + "balance": "2048000000000000000000" + }, + "88344909644c7ad4930fd873ca1c0da2d434c07f": { + "balance": "131970000000000000000" + }, + "88b217ccb786a254cf4dc57f5d9ac3c455a30483": { + "balance": "925000000000000000000" + }, + "dfdbcec1014b96da2158ca513e9c8d3b9af1c3d0": { + "balance": "2000000000000000000000" + }, + "1ba9f7997e5387b6b2aa0135ac2452fe36b4c20d": { + "balance": "850000000000000000000" + }, + "d70ad2c4e9eebfa637ef56bd486ad2a1e5bce093": { + "balance": "200000000000000000000" + }, + "9ce27f245e02d1c312c1d500788c9def7690453b": { + "balance": "200000000000000000000" + }, + "8234f463d18485501f8f85ace4972c9b632dbccc": { + "balance": "2000000000000000000000" + }, + "994152fc95d5c1ca8b88113abbad4d710e40def6": { + "balance": "500000000000000000000" + }, + "e5b980d28eece2c06fca6c9473068b37d4a6d6e9": { + "balance": "695200000000000000000" + }, + "2d426912d059fad9740b2e390a2eeac0546ff01b": { + "balance": "1400000000000000000000" + }, + "6d9997509882027ea947231424bedede2965d0ba": { + "balance": "2001600000000000000000" + }, + "167ce7de65e84708595a525497a3eb5e5a665073": { + "balance": "575400000000000000000" + }, + "e430c0024fdbf73a82e21fccf8cbd09138421c21": { + "balance": "4000000000000000000000" + }, + "2e52912bc10ea39d54e293f7aed6b99a0f4c73be": { + "balance": "400000000000000000000" + }, + "12cf8b0e465213211a5b53dfb0dd271a282c12c9": { + "balance": "15200000000000000000" + }, + "06964e2d17e9189f88a8203936b40ac96e533c06": { + "balance": "18200000000000000000" + }, + "66b1a63da4dcd9f81fe54f5e3fcb4055ef7ec54f": { + "balance": "201412000000000000000" + }, + "0a77e7f72b437b574f00128b21f2ac265133528c": { + "balance": "2000000000000000000000" + }, + "78f5c74785c5668a838072048bf8b453594ddaab": { + "balance": "400000000000000000000" + }, + "58e554af3d87629620da61d538c7f5b4b54c4afe": { + "balance": "1297081000000000000000" + }, + "37a10451f36166cf643dd2de6c1cbba8a011cfa3": { + "balance": "380000000000000000000" + }, + "fe9ad12ef05d6d90261f96c8340a0381974df477": { + "balance": "2000000000000000000000" + }, + "057f7f81cd7a406fc45994408b5049912c566463": { + "balance": "1700000000000000000000" + }, + "55a3df57b7aaec16a162fd5316f35bec082821cf": { + "balance": "1970000000000000000000" + }, + "c0e0b903088e0c63f53dd069575452aff52410c3": { + "balance": "3000000000000000000000" + }, + "63e88e2e539ffb450386b4e46789b223f5476c45": { + "balance": "6292000000000000000000" + }, + "3727341f26c12001e378405ee38b2d8464ec7140": { + "balance": "2000000000000000000000" + }, + "c96751656c0a8ef4357b7344322134b983504aca": { + "balance": "2000000000000000000000" + }, + "1e060dc6c5f1cb8cc7e1452e02ee167508b56542": { + "balance": "12715500000000000000000" + }, + "18136c9df167aa17b6f18e22a702c88f4bc28245": { + "balance": "4000000000000000000000" + }, + "116108c12084612eeda7a93ddcf8d2602e279e5c": { + "balance": "2000000000000000000000" + }, + "bbb643d2187b364afc10a6fd368d7d55f50d1a3c": { + "balance": "1000000000000000000000" + }, + "ec83e798c396b7a55e2a2224abcd834b27ea459c": { + "balance": "12000000000000000000000" + }, + "973f4e361fe5decd989d4c8f7d7cc97990385daf": { + "balance": "388500000000000000000" + }, + "c0f29ed0076611b5e55e130547e68a48e26df5e4": { + "balance": "3000000000000000000000" + }, + "fd4b551f6fdbcda6c511b5bb372250a6b783e534": { + "balance": "20600000000000000000" + }, + "144b19f1f66cbe318347e48d84b14039466c5909": { + "balance": "2000000000000000000000" + }, + "bf183641edb886ce60b8190261e14f42d93cce01": { + "balance": "25019000000000000000" + }, + "94db807873860aac3d5aea1e885e52bff2869954": { + "balance": "3220000000000000000000" + }, + "7a74cee4fa0f6370a7894f116cd00c1147b83e59": { + "balance": "800000000000000000000" + }, + "cd32a4a8a27f1cc63954aa634f7857057334c7a3": { + "balance": "1085000000000000000000" + }, + "7cbeb99932e97e6e02058cfc62d0b26bc7cca52b": { + "balance": "2000000000000000000000" + }, + "8cde8b732e6023878eb23ed16229124b5f7afbec": { + "balance": "133700000000000000000" + }, + "45c4ecb4ee891ea984a7c5cefd8dfb00310b2850": { + "balance": "1980000000000000000000" + }, + "8b393fb0813ee101db1e14ecc7d322c72b8c0473": { + "balance": "455578000000000000000" + }, + "7b66126879844dfa34fe65c9f288117fefb449ad": { + "balance": "6000000000000000000000" + }, + "162ba503276214b509f97586bd842110d103d517": { + "balance": "9002000000000000000000" + }, + "7dece6998ae1900dd3770cf4b93812bad84f0322": { + "balance": "100000000000000000000" + }, + "ec0927bac7dc36669c28354ab1be83d7eec30934": { + "balance": "2000000000000000000000" + }, + "8d7f3e61299c2db9b9c0487cf627519ed00a9123": { + "balance": "1742400000000000000000" + }, + "4fc46c396e674869ad9481638f0013630c87caac": { + "balance": "1000000000000000000000" + }, + "bf68d28aaf1eeefef646b65e8cc8d190f6c6da9c": { + "balance": "2000000000000000000000" + }, + "00969747f7a5b30645fe00e44901435ace24cc37": { + "balance": "1700000000000000000000" + }, + "494dec4d5ee88a2771a815f1ee7264942fb58b28": { + "balance": "2000000000000000000000" + }, + "ffeac0305ede3a915295ec8e61c7f881006f4474": { + "balance": "98500000000000000000" + }, + "b39139576194a0866195151f33f2140ad1cc86cf": { + "balance": "100000000000000000000000" + }, + "fead1803e5e737a68e18472d9ac715f0994cc2be": { + "balance": "500000000000000000000" + }, + "698ab9a2f33381e07c0c47433d0d21d6f336b127": { + "balance": "20000000000000000000" + }, + "e5edc73e626f5d3441a45539b5f7a398c593edf6": { + "balance": "865000000000000000000" + }, + "dd4f5fa2111db68f6bde3589b63029395b69a92d": { + "balance": "158400000000000000000" + }, + "8c93c3c6db9d37717de165c3a1b4fe51952c08de": { + "balance": "400000000000000000000" + }, + "f87bb07b289df7301e54c0efda6a2cf291e89200": { + "balance": "1400000000000000000000" + }, + "e7a4560c84b20e0fb54c49670c2903b0a96c42a4": { + "balance": "598000000000000000000" + }, + "00a5797f52c9d58f189f36b1d45d1bf6041f2f6b": { + "balance": "5456900000000000000000" + }, + "9da3302240af0511c6fd1857e6ddb7394f77ab6b": { + "balance": "3100000000000000000000" + }, + "2c2d15ff39561c1b72eda1cc027ffef23743a144": { + "balance": "3920000000000000000000" + }, + "9b4c2715780ca4e99e60ebf219f1590c8cad500a": { + "balance": "1600000000000000000000" + }, + "ff5e7ee7d5114821e159dca5e81f18f1bfffbff9": { + "balance": "2000000000000000000000" + }, + "0169c1c210eae845e56840412e1f65993ea90fb4": { + "balance": "2000000000000000000000" + }, + "abc45f84db7382dde54c5f7d8938c42f4f3a3bc4": { + "balance": "200000000000000000000" + }, + "d9383d4b6d17b3f9cd426e10fb944015c0d44bfb": { + "balance": "800000000000000000000" + }, + "c090fe23dcd86b358c32e48d2af91024259f6566": { + "balance": "200000000000000000000" + }, + "9ffedcc36b7cc312ad2a9ede431a514fccb49ba3": { + "balance": "669800000000000000000" + }, + "2ffe93ec1a5636e9ee34af70dff52682e6ff7079": { + "balance": "2000000000000000000000" + }, + "6e01e4ad569c95d007ada30d5e2db12888492294": { + "balance": "4000000000000000000000" + }, + "d4d92c62b280e00f626d8657f1b86166cb1f740f": { + "balance": "200028000000000000000" + }, + "1d36683063b7e9eb99462dabd569bddce71686f2": { + "balance": "1000000000000000000000" + }, + "3a48e0a7098b06a905802b87545731118e89f439": { + "balance": "2000000000000000000000" + }, + "bd9e56e902f4be1fc8768d8038bac63e2acbbf8e": { + "balance": "999972000000000000000" + }, + "4d67f2ab8599fef5fc413999aa01fd7fce70b43d": { + "balance": "10000000000000000000000" + }, + "8e74e0d1b77ebc823aca03f119854cb12027f6d7": { + "balance": "107200000000000000000000" + }, + "7e5b19ae1be94ff4dee635492a1b012d14db0213": { + "balance": "100000000000000000000" + }, + "5de9e7d5d1b667d095dd34099c85b0421a0bc681": { + "balance": "20000000000000000000" + }, + "316eb4e47df71b42e16d6fe46825b7327baf3124": { + "balance": "4000000000000000000000" + }, + "772c297f0ad194482ee8c3f036bdeb01c201d5cc": { + "balance": "200000000000000000000" + }, + "d7052519756af42590f15391b723a03fa564a951": { + "balance": "4615591000000000000000" + }, + "2c6846a1aa999a2246a287056000ba4dcba8e63d": { + "balance": "10020000000000000000000" + }, + "de5b005fe8daae8d1f05de3eda042066c6c4691c": { + "balance": "1100000000000000000000" + }, + "254c1ecc630c2877de8095f0a8dba1e8bf1f550c": { + "balance": "1700000000000000000000" + }, + "f8f226142a428434ab17a1864a2597f64aab2f06": { + "balance": "172473000000000000000" + }, + "a6c910ce4d494a919ccdaaa1fc3b82aa74ba06cf": { + "balance": "8000000000000000000000" + }, + "e587b16abc8a74081e3613e14342c03375bf0847": { + "balance": "2000000000000000000000" + }, + "6f176065e88e3c6fe626267d18a088aaa4db80bc": { + "balance": "3520000000000000000000" + }, + "50dcbc27bcad984093a212a9b4178eabe9017561": { + "balance": "145512000000000000000" + }, + "e1953c6e975814c571311c34c0f6a99cdf48ab82": { + "balance": "50000000000000000000" + }, + "be0a2f385f09dbfce96732e12bb40ac349871ba8": { + "balance": "1610348000000000000000" + }, + "4712540265cbeec3847022c59f1b318d43400a9e": { + "balance": "3500000000000000000000" + }, + "29bdc4f28de0180f433c2694eb74f5504ce94337": { + "balance": "2000000000000000000000" + }, + "2f66bfbf2262efcc8d2bd0444fc5b0696298ff1e": { + "balance": "9940000000000000000000" + }, + "506411fd79003480f6f2b6aac26b7ba792f094b2": { + "balance": "500000000000000000000" + }, + "23ea669e3564819a83b0c26c00a16d9e826f6c46": { + "balance": "1430590000000000000000" + }, + "e3ffb02cb7d9ea5243701689afd5d417d7ed2ece": { + "balance": "78000000000000000000" + }, + "38e7dba8fd4f1f850dbc2649d8e84f0952e3eb3c": { + "balance": "50000000000000000000" + }, + "8644cc281be332ccced36da483fb2a0746d9ba2e": { + "balance": "400000000000000000000" + }, + "e8a91da6cf1b9d65c74a02ec1f96eecb6dd241f3": { + "balance": "1940000000000000000000" + }, + "0631dc40d74e5095e3729eddf49544ecd4396f67": { + "balance": "160000000000000000000" + }, + "83c897a84b695eebe46679f7da19d776621c2694": { + "balance": "500000000000000000000" + }, + "db73460b59d8e85045d5e752e62559875e42502e": { + "balance": "999800000000000000000" + }, + "0dd4e674bbadb1b0dc824498713dce3b5156da29": { + "balance": "170000000000000000000" + }, + "e3933d61b77dcdc716407f8250bc91e4ffaeb09d": { + "balance": "86600000000000000000000" + }, + "58c90754d2f20a1cb1dd330625e04b45fa619d5c": { + "balance": "2000000000000000000000" + }, + "895ec5545644e0b78330fffab8ddeac9e833156c": { + "balance": "600000000000000000000" + }, + "7e1e29721d6cb91057f6c4042d8a0bbc644afe73": { + "balance": "159800000000000000000" + }, + "72b90a4dc097239492c5b9777dcd1e52ba2be2c2": { + "balance": "6000000000000000000000" + }, + "64241a7844290e0ab855f1d4aa75b55345032224": { + "balance": "1600000000000000000000" + }, + "6fd4e0f3f32bee6d3767fdbc9d353a6d3aab7899": { + "balance": "695240000000000000000" + }, + "3a035594c747476d42d1ee966c36224cdd224993": { + "balance": "355890000000000000000" + }, + "de97f4330700b48c496d437c91ca1de9c4b01ba4": { + "balance": "2910840000000000000000" + }, + "716ad3c33a9b9a0a18967357969b94ee7d2abc10": { + "balance": "482000000000000000000" + }, + "bfbe05e88c9cbbcc0e92a405fac1d85de248ee24": { + "balance": "100000000000000000000" + }, + "cfc4e6f7f8b011414bfba42f23adfaa78d4ecc5e": { + "balance": "1850000000000000000000" + }, + "d931ac2668ba6a84481ab139735aec14b7bfbabf": { + "balance": "2000000000000000000000" + }, + "e3263ce8af6db3e467584502ed7109125eae22a5": { + "balance": "2000000000000000000000" + }, + "f78258c12481bcdddbb72a8ca0c043097261c6c5": { + "balance": "20000000000000000000" + }, + "4493123c021ece3b33b1a452c9268de14007f9d3": { + "balance": "6685000000000000000000" + }, + "431f2c19e316b044a4b3e61a0c6ff8c104a1a12f": { + "balance": "1000000000000000000000" + }, + "e63e787414b9048478a50733359ecdd7e3647aa6": { + "balance": "1580000000000000000000" + }, + "e4715956f52f15306ee9506bf82bccc406b3895e": { + "balance": "274944000000000000000" + }, + "f7f91e7acb5b8129a306877ce3168e6f438b66a1": { + "balance": "176000000000000000000" + }, + "dcdbbd4e2604e40e1710cc6730289dccfad3892d": { + "balance": "4600000000000000000000" + }, + "2b5f4b3f1e11707a227aa5e69fa49dded33fb321": { + "balance": "6000000000000000000000" + }, + "01488ad3da603c4cdd6cb0b7a1e30d2a30c8fc38": { + "balance": "200000000000000000000" + }, + "841145b44840c946e21dbc190264b8e0d5029369": { + "balance": "300000000000000000000000" + }, + "bf05070c2c34219311c4548b2614a438810ded6d": { + "balance": "2000000000000000000000" + }, + "38f387e1a4ed4a73106ef2b462e474e2e3143ad0": { + "balance": "6000000000000000000000" + }, + "f116b0b4680f53ab72c968ba802e10aa1be11dc8": { + "balance": "20000000000000000000" + }, + "bea0afc93aae2108a3fac059623bf86fa582a75e": { + "balance": "1700000000000000000000" + }, + "4c997992036c5b433ac33d25a8ea1dc3d4e4e6d8": { + "balance": "29200000000000000000" + }, + "ab7e0b83ed9a424c6d1e6a6f87a4dbf06409c7d6": { + "balance": "2400000000000000000000" + }, + "d71fb130f0150c565269e00efb43902b52a455a6": { + "balance": "200000000000000000000" + }, + "99b018932bcad355b6792b255db6702dec8ce5dd": { + "balance": "4000086000000000000000" + }, + "4b904e934bd0cc8b20705f879e905b93ea0ccc30": { + "balance": "2000000000000000000000" + }, + "672ec42faa8cd69aaa71b32cc7b404881d52ff91": { + "balance": "10000000000000000000000" + }, + "acbc2d19e06c3babbb5b6f052b6bf7fc37e07229": { + "balance": "200000000000000000000" + }, + "cea8743341533cb2f0b9c6efb8fda80d77162825": { + "balance": "100000000000000000000" + }, + "9568b7de755628af359a84543de23504e15e41e6": { + "balance": "40000000000000000000000" + }, + "6ec96d13bdb24dc7a557293f029e02dd74b97a55": { + "balance": "4000000000000000000000" + }, + "d95c90ffbe5484864780b867494a83c89256d6e4": { + "balance": "1640000000000000000000" + }, + "ade6f8163bf7c7bb4abe8e9893bd0cc112fe8872": { + "balance": "327600000000000000000" + }, + "250eb7c66f869ddf49da85f3393e980c029aa434": { + "balance": "4000000000000000000000" + }, + "a35c19132cac1935576abfed6c0495fb07881ba0": { + "balance": "2000000000000000000000" + }, + "d5550caaf743b037c56fd2558a1c8ed235130750": { + "balance": "5347598000000000000000" + }, + "03097923ba155e16d82f3ad3f6b815540884b92c": { + "balance": "1820000000000000000000" + }, + "d6d9e30f0842012a7176a917d9d2048ca0738759": { + "balance": "4000000000000000000000" + }, + "ab9ad36e5c74ce2e96399f57839431d0e79f96ab": { + "balance": "164000000000000000000" + }, + "75be8ff65e5788aec6b2a52d5fa7b1e7a03ba675": { + "balance": "67720000000000000000" + }, + "4f6d4737d7a940382487264886697cf7637f8015": { + "balance": "1670000000000000000000" + }, + "5f7b3bbac16dab831a4a0fc53b0c549dc36c31ca": { + "balance": "1940000000000000000000" + }, + "d843ee0863ce933e22f89c802d31287b9671e81c": { + "balance": "13370000000000000000" + }, + "361f3ba9ed956b770f257d3672fe1ff9f7b0240c": { + "balance": "600000000000000000000" + }, + "6c0ae9f043c834d44271f13406593dfe094f389f": { + "balance": "1517545000000000000000" + }, + "db34745ede8576b499db01beb7c1ecda85cf4abe": { + "balance": "80000000000000000000" + }, + "7be8ccb4f11b66ca6e1d57c0b5396221a31ba53a": { + "balance": "20000000000000000000" + }, + "128b908fe743a434203de294c441c7e20a86ea67": { + "balance": "713304000000000000000" + }, + "df236bf6abf4f3293795bf0c28718f93e3b1b36b": { + "balance": "1337000000000000000000" + }, + "14254ea126b52d0142da0a7e188ce255d8c47178": { + "balance": "775000000000000000000" + }, + "ceed47ca5b899fd1623f21e9bd4db65a10e5b09d": { + "balance": "133196000000000000000" + }, + "30acd858875fa24eef0d572fc7d62aad0ebddc35": { + "balance": "400000000000000000000" + }, + "47a281dff64167197855bf6e705eb9f2cef632ea": { + "balance": "1000072000000000000000" + }, + "297d5dbe222f2fb52531acbd0b013dc446ac7368": { + "balance": "20000000000000000000000" + }, + "adf85203c8376a5fde9815384a350c3879c4cb93": { + "balance": "1147300000000000000000" + }, + "c3e0471c64ff35fa5232cc3121d1d38d1a0fb7de": { + "balance": "2000000000000000000000" + }, + "fdecc82ddfc56192e26f563c3d68cb544a96bfed": { + "balance": "440000000000000000000" + }, + "2614f42d5da844377578e6b448dc24305bef2b03": { + "balance": "2000000000000000000000" + }, + "1d96bcd58457bbf1d3c2a46ffaf16dbf7d836859": { + "balance": "171313000000000000000" + }, + "bd66ffedb530ea0b2e856dd12ac2296c31fe29e0": { + "balance": "200000000000000000000" + }, + "6e84876dbb95c40b6656e42ba9aea08a993b54dc": { + "balance": "1101932000000000000000" + }, + "a1c4f45a82e1c478d845082eb18875c4ea6539ab": { + "balance": "200000000000000000000000" + }, + "2c964849b1f69cc7cea4442538ed87fdf16cfc8f": { + "balance": "2000000000000000000000" + }, + "45b47105fe42c4712dce6e2a21c05bffd5ea47a9": { + "balance": "2000000000000000000000" + }, + "31e9c00f0c206a4e4e7e0522170dc81e88f3eb70": { + "balance": "2685000000000000000000" + }, + "5fe77703808f823e6c399352108bdb2c527cb87c": { + "balance": "1960000000000000000000" + }, + "2272186ef27dcbe2f5fc373050fdae7f2ace2316": { + "balance": "16100000000000000000000" + }, + "b7576e9d314df41ec5506494293afb1bd5d3f65d": { + "balance": "20000000000000000000" + }, + "ac9fff68c61b011efbecf038ed72db97bb9e7281": { + "balance": "9550000000000000000000" + }, + "cd9529492b5c29e475acb941402b3d3ba50686b0": { + "balance": "1970000000000000000000" + }, + "f19b39389d47b11b8a2c3f1da9124decffbefaf7": { + "balance": "2000000000000000000000" + }, + "9e951f6dc5e352afb8d04299d2478a451259bf56": { + "balance": "72004000000000000000" + }, + "8eb1fbe4e5d3019cd7d30dae9c0d5b4c76fb6331": { + "balance": "2000000000000000000000" + }, + "29cc804d922be91f5909f348b0aaa5d21b607830": { + "balance": "4000000000000000000000" + }, + "5c7b9ec7a2438d1e3c7698b545b9c3fd77b7cd55": { + "balance": "1000000000000000000000" + }, + "a16160851d2b9c349b92e46f829abfb210943595": { + "balance": "1790000000000000000000" + }, + "eac6b98842542ea10bb74f26d7c7488f698b6452": { + "balance": "20000000000000000000000" + }, + "57825aeb09076caa477887fbc9ae37e8b27cc962": { + "balance": "100000000000000000000" + }, + "b35e8a1c0dac7e0e66dbac736a592abd44012561": { + "balance": "14974000000000000000" + }, + "756b84eb85fcc1f4fcdcc2b08db6a86e135fbc25": { + "balance": "3220000000000000000000" + }, + "e13b3d2bbfdcbc8772a23315724c1425167c5688": { + "balance": "1032115000000000000000" + }, + "0a2dcb7a671701dbb8f495728088265873356c8e": { + "balance": "152120000000000000000" + }, + "03cb4c4f4516c4ff79a1b6244fbf572e1c7fea79": { + "balance": "2740000000000000000000" + }, + "98ba4e9ca72fddc20c69b4396f76f8183f7a2a4e": { + "balance": "12800000000000000000000" + }, + "f8087786b42da04ed6d1e0fe26f6c0eefe1e9f5a": { + "balance": "10000000000000000000000" + }, + "02f7f67209b16a17550c694c72583819c80b54ad": { + "balance": "98400000000000000000" + }, + "32bb2e9693e4e085344d2f0dbd46a283e3a087fd": { + "balance": "400000000000000000000" + }, + "9c78963fbc263c09bd72e4f8def74a9475f7055c": { + "balance": "13790000000000000000000" + }, + "27144ca9a7771a836ad50f803f64d869b2ae2b20": { + "balance": "4000000000000000000000" + }, + "cc758d071d25a6320af68c5dc9c4f6955ba94520": { + "balance": "6000000000000000000000" + }, + "cb42b44eb5fd60b5837e4f9eb47267523d1a229c": { + "balance": "865000000000000000000" + }, + "aaf5b207b88b0de4ac40d747cee06e172df6e745": { + "balance": "31428000000000000000000" + }, + "52d380511df19d5ec2807bbcb676581b67fd37a3": { + "balance": "13400000000000000000" + }, + "aa1b3768c16d821f580e76c8e4c8e86d7dc78853": { + "balance": "400000000000000000000" + }, + "41098a81452317c19e3eef0bd123bbe178e9e9ca": { + "balance": "2800000000000000000000" + }, + "267148fd72c54f620a592fb92799319cc4532b5c": { + "balance": "410000000000000000000" + }, + "d7cdbd41fff20df727c70b6255c1ba7606055468": { + "balance": "200000000000000000000" + }, + "0e33fcbbc003510be35785b52a9c5d216bc005f4": { + "balance": "1880000000000000000000" + }, + "6727daf5b9d68efcab489fedec96d7f7325dd423": { + "balance": "2000000000000000000000" + }, + "cd0a161bc367ae0927a92aac9cf6e5086714efca": { + "balance": "2000000000000000000000" + }, + "612667f172135b950b2cd1de10afdece6857b873": { + "balance": "1000000000000000000000" + }, + "900194c4b1074305d19de405b0ac78280ecaf967": { + "balance": "1000000000000000000000" + }, + "51f55ef47e6456a418ab32b9221ed27dba6608ee": { + "balance": "4200000000000000000000" + }, + "0da532c910e3ac0dfb14db61cd739a93353fd05f": { + "balance": "1336866000000000000000" + }, + "21df2dcdaf74b2bf803404dd4de6a35eabec1bbd": { + "balance": "6920000000000000000000" + }, + "f0e7fb9e420a5340d536f40408344feaefc06aef": { + "balance": "1000000000000000000000" + }, + "6742a2cfce8d79a2c4a51b77747498912245cd6a": { + "balance": "258064000000000000000" + }, + "8663a241a0a89e70e182c845e2105c8ad7264bcf": { + "balance": "14825507000000000000000" + }, + "18e113d8177c691a61be785852fa5bb47aeebdaf": { + "balance": "1337000000000000000000" + }, + "1bec4d02ce85fc48feb62489841d85b170586a9b": { + "balance": "2400000000000000000000" + }, + "287cf9d0902ef819a7a5f149445bf1775ee8c47c": { + "balance": "16000000000000000000000" + }, + "28967280214e218a120c5dda37041b111ea36d74": { + "balance": "200000000000000000000" + }, + "a0b771951ce1deee363ae2b771b73e07c4b5e800": { + "balance": "1400000000000000000000" + }, + "29f8fba4c30772b057edbbe62ae7420c390572e1": { + "balance": "1000000000000000000000" + }, + "ee34c7e7995db9f187cff156918cfb6f13f6e003": { + "balance": "1960000000000000000000" + }, + "916bf7e3c545921d3206d900c24f14127cbd5e70": { + "balance": "18020000000000000000000" + }, + "93235f340d2863e18d2f4c52996516138d220267": { + "balance": "73800000000000000000" + }, + "7efec0c6253caf397f71287c1c07f6c9582b5b86": { + "balance": "482839000000000000000" + }, + "8d2e31b08803b2c5f13d398ecad88528209f6057": { + "balance": "9993000000000000000000" + }, + "964eab4b276b4cd8983e15ca72b106900fe41fce": { + "balance": "500000000000000000000" + }, + "eea1e97988de75d821cd28ad6822b22cce988b31": { + "balance": "520000000000000000000" + }, + "278c0bde630ec393b1e7267fc9d7d97019e4145b": { + "balance": "2000000000000000000000" + }, + "82e4461eb9d849f0041c1404219e4272c4900ab4": { + "balance": "2000000000000000000000" + }, + "4a73389298031b8816cca946421c199e18b343d6": { + "balance": "631254000000000000000" + }, + "9a5af31c7e06339ac8b4628d7c4db0ce0f45c8a4": { + "balance": "500000000000000000000" + }, + "cb9b5103e4ce89af4f64916150bff9eecb9faa5c": { + "balance": "500000000000000000000" + }, + "740f641614779dcfa88ed1d425d60db42a060ca6": { + "balance": "998630000000000000000" + }, + "a4e623451e7e94e7e89ba5ed95c8a83a62ffc4ea": { + "balance": "20000000000000000000" + }, + "25a500eeec7a662a841552b5168b707b0de21e9e": { + "balance": "10020000000000000000000" + }, + "185a7fc4ace368d233e620b2a45935661292bdf2": { + "balance": "20000000000000000000000" + }, + "9b68f67416a63bf4451a31164c92f672a68759e9": { + "balance": "60000000000000000000000" + }, + "a38b5bd81a9db9d2b21d5ec7c60552cd02ed561b": { + "balance": "6000000000000000000000" + }, + "61c830f1654718f075ccaba316faacb85b7d120b": { + "balance": "400000000000000000000" + }, + "8392e53776713578015bff4940cf43849d7dcba1": { + "balance": "153190000000000000000" + }, + "dc57477dafa42f705c7fe40eae9c81756e0225f1": { + "balance": "500044000000000000000" + }, + "febc3173bc9072136354002b7b4fb3bfc53f22f1": { + "balance": "370000000000000000000" + }, + "d78f84e38944a0e0255faece48ba4950d4bd39d2": { + "balance": "5000000000000000000000" + }, + "a7a3bb6139b0ada00c1f7f1f9f56d994ba4d1fa8": { + "balance": "2000000000000000000000" + }, + "aa3f29601a1331745e05c42830a15e71938a6237": { + "balance": "1700000000000000000000" + }, + "bec6640f4909b58cbf1e806342961d607595096c": { + "balance": "1999944000000000000000" + }, + "9be3c329b62a28b8b0886cbd8b99f8bc930ce3e6": { + "balance": "74500000000000000000" + }, + "e3eb2c0a132a524f72ccc0d60fee8b41685d39e2": { + "balance": "1970000000000000000000" + }, + "90b1f370f9c1eb0be0fb8e2b8ad96a416371dd8a": { + "balance": "900000000000000000000" + }, + "f2742e6859c569d5f2108351e0bf4dca352a48a8": { + "balance": "10000000000000000000000" + }, + "b134c004391ab4992878337a51ec242f42285742": { + "balance": "2000000000000000000000" + }, + "ab7416ff32254951cbbc624ec7fb45fc7ecaa872": { + "balance": "340000000000000000000" + }, + "9795f64319fc17dd0f8261f9d206fb66b64cd0c9": { + "balance": "200000000000000000000" + }, + "64e03ef070a54703b7184e48276c5c0077ef4b34": { + "balance": "320000000000000000000" + }, + "3430a16381f869f6ea5423915855e800883525a9": { + "balance": "17900000000000000000000" + }, + "f4a367b166d2991a2bfda9f56463a09f252c1b1d": { + "balance": "1970000000000000000000" + }, + "77c4a697e603d42b12056cbba761e7f51d0443f5": { + "balance": "680000000000000000000" + }, + "153ef58a1e2e7a3eb6b459a80ab2a547c94182a2": { + "balance": "96000000000000000000000" + }, + "6dbe8abfa1742806263981371bf3d35590806b6e": { + "balance": "20000000000000000000000" + }, + "4c99dae96481e807c1f99f8b7fbde29b7547c5bf": { + "balance": "150000000000000000000" + }, + "d5b9d277d8aad20697a51f76e20978996bffe055": { + "balance": "143250000000000000000" + }, + "0f24105abbdaa03fa6309ef6c188e51f714a6e59": { + "balance": "200000000000000000000" + }, + "1cb6b2d7cfc559b7f41e6f56ab95c7c958cd0e4c": { + "balance": "1337000000000000000000" + }, + "f37b426547a1642d8033324814f0ede3114fc212": { + "balance": "401100000000000000000" + }, + "318f1f8bd220b0558b95fb33100ffdbb640d7ca6": { + "balance": "4000000000000000000000" + }, + "206d55d5792a514ec108e090599f2a065e501185": { + "balance": "200550000000000000000" + }, + "11d2247a221e70c2d66d17ee138d38c55ffb8640": { + "balance": "10000000000000000000000" + }, + "e8de725eca5def805ff7941d31ac1c2e342dfe95": { + "balance": "2462500000000000000000" + }, + "d561cbbc05515de73ab8cf9eae1357341e7dfdf4": { + "balance": "6000000000000000000000" + }, + "0455dcec8a7fc4461bfd7f37456fce3f4c3caac7": { + "balance": "400000000000000000000" + }, + "5161fd49e847f67455f1c8bb7abb36e985260d03": { + "balance": "1200000000000000000000" + }, + "8e073bad25e42218615f4a0e6b2ea8f8de2230c0": { + "balance": "2402500000000000000000" + }, + "6c08a6dc0173c7342955d1d3f2c065d62f83aec7": { + "balance": "20000000000000000000" + }, + "95cb6d8a6379f94aba8b885669562c4d448e56a7": { + "balance": "2000000000000000000000" + }, + "2805415e1d7fdec6dedfb89e521d10592d743c10": { + "balance": "100000000000000000000" + }, + "daacdaf42226d15cb1cf98fa15048c7f4ceefe69": { + "balance": "300000000000000000000" + }, + "e33df4ce80ccb62a76b12bcdfcecc46289973aa9": { + "balance": "6000000000000000000000" + }, + "8f8cd26e82e7c6defd02dfad07979021cbf7150c": { + "balance": "3000000000000000000000" + }, + "77a17122fa31b98f1711d32a99f03ec326f33d08": { + "balance": "1700000000000000000000" + }, + "6f791d359bc3536a315d6382b88311af8ed6da47": { + "balance": "92000000000000000000" + }, + "de30e49e5ab313214d2f01dcabce8940b81b1c76": { + "balance": "197000000000000000000" + }, + "cf9be9b9ab86c66b59968e67b8d4dcff46b1814a": { + "balance": "660000000000000000000" + }, + "7fdfc88d78bf1b285ac64f1adb35dc11fcb03951": { + "balance": "2287900000000000000000" + }, + "c5134cfbb1df7a20b0ed7057622eeed280947dad": { + "balance": "3800000000000000000000" + }, + "fa9ec8efe08686fa58c181335872ba698560ecab": { + "balance": "1999944000000000000000" + }, + "f6a8635757c5e8c134d20d028cf778cf8609e46a": { + "balance": "1459416000000000000000" + }, + "6265b2e7730f36b776b52d0c9d02ada55d8e3cb6": { + "balance": "1000000000000000000000" + }, + "6a8cea2de84a8df997fd3f84e3083d93de57cda9": { + "balance": "100007000000000000000" + }, + "1b7ed974b6e234ce81247498429a5bd4a0a2d139": { + "balance": "2000000000000000000000" + }, + "9ba53dc8c95e9a472feba2c4e32c1dc4dd7bab46": { + "balance": "1337000000000000000000" + }, + "d7b740dff8c457668fdf74f6a266bfc1dcb723f9": { + "balance": "20000000000000000000" + }, + "07bc2cc8eedc01970700efc9c4fb36735e98cd71": { + "balance": "4000000000000000000000" + }, + "3e1c962063e0d5295941f210dca3ab531eec8809": { + "balance": "3000000000000000000000" + }, + "b447571dacbb3ecbb6d1cf0b0c8f3838e52324e2": { + "balance": "30199000000000000000" + }, + "87764e3677eef604cbc59aed24abdc566b09fc25": { + "balance": "3000000000000000000000" + }, + "03aa622881236dd0f4940c24c324ff8b7b7e2186": { + "balance": "3200000000000000000000" + }, + "a4a7d306f510cd58359428c0d2f7c3609d5674d7": { + "balance": "3349000000000000000000" + }, + "3c83c1701db0388b68210d00f5717cd9bd322c6a": { + "balance": "30000000000000000000000" + }, + "047d5a26d7ad8f8e70600f70a398ddaa1c2db26f": { + "balance": "6000000000000000000000" + }, + "43767bf7fd2af95b72e9312da9443cb1688e4343": { + "balance": "300000000000000000000" + }, + "34a85d6d243fb1dfb7d1d2d44f536e947a4cee9e": { + "balance": "20000000000000000000000" + }, + "65a9dad42e1632ba3e4e49623fab62a17e4d3611": { + "balance": "93120000000000000000" + }, + "48e0cbd67f18acdb7a6291e1254db32e0972737f": { + "balance": "100007000000000000000" + }, + "a5de5e434fdcdd688f1c31b6fb512cb196724701": { + "balance": "800000000000000000000" + }, + "6d63d38ee8b90e0e6ed8f192eda051b2d6a58bfd": { + "balance": "30000000000000000000" + }, + "b079bb4d9866143a6da72ae7ac0022062981315c": { + "balance": "760000000000000000000" + }, + "c0413f5a7c2d9a4b8108289ef6ecd271781524f4": { + "balance": "50000000000000000000000" + }, + "a91a5a7b341f99c535144e20be9c6b3bb4c28e4d": { + "balance": "5431790000000000000000" + }, + "993f146178605e66d517be782ef0b3c61a4e1925": { + "balance": "7011998000000000000000" + }, + "966c04781cb5e67dde3235d7f8620e1ab663a9a5": { + "balance": "75800000000000000000000" + }, + "b3f82a87e59a39d0d2808f0751eb72c2329cdcc5": { + "balance": "5000000000000000000000" + }, + "9b77ebced7e215f0920e8c2b870024f6ecb2ff31": { + "balance": "1000000000000000000000" + }, + "fe697ff22ca547bfc95e33d960da605c6763f35b": { + "balance": "1325000000000000000000" + }, + "480af52076009ca73781b70e43b95916a62203ab": { + "balance": "924171000000000000000" + }, + "a9dc0424c6969d798358b393b1933a1f51bee00a": { + "balance": "20000000000000000000000" + }, + "7aba56f63a48bc0817d6b97039039a7ad62fae2e": { + "balance": "600000000000000000000" + }, + "59d139e2e40c7b97239d23dfaca33858f602d22b": { + "balance": "2000000000000000000000" + }, + "8d6170ff66978e773bb621bf72b1ba7be3a7f87e": { + "balance": "200000000000000000000" + }, + "d668523a90f0293d65c538d2dd6c57673710196e": { + "balance": "39500000000000000000" + }, + "bbb5a0f4802c8648009e8a6998af352cde87544f": { + "balance": "95500000000000000000" + }, + "fc43829ac787ff88aaf183ba352aadbf5a15b193": { + "balance": "3960000000000000000000" + }, + "fe22a0b388668d1ae2643e771dacf38a434223cc": { + "balance": "4000304000000000000000" + }, + "092acb624b08c05510189bbbe21e6524d644ccad": { + "balance": "18200000000000000000" + }, + "8f0538ed71da1155e0f3bde5667ceb84318a1a87": { + "balance": "1940000000000000000000" + }, + "06994cd83aa2640a97b2600b41339d1e0d3ede6c": { + "balance": "250000000000000000000" + }, + "9d460c1b379ddb19a8c85b4c6747050ddf17a875": { + "balance": "3340000000000000000000" + }, + "77a769fafdecf4a638762d5ba3969df63120a41d": { + "balance": "2000000000000000000000" + }, + "5f375b86600c40cca8b2676b7a1a1d1644c5f52c": { + "balance": "78838000000000000000" + }, + "15ee0fc63ebf1b1fc49d7bb38f8863823a2e17d2": { + "balance": "1910000000000000000000" + }, + "6651736fb59b91fee9c93aa0bd6ea2f7b2506180": { + "balance": "500000000000000000000" + }, + "361d9ed80b5bd27cf9f1226f26753258ee5f9b3f": { + "balance": "3530900000000000000000" + }, + "c9b6b686111691ee6aa197c7231a88dc60bd295d": { + "balance": "500000000000000000000" + }, + "e9b4a4853577a9dbcc2e795be0310d1bed28641a": { + "balance": "1000000000000000000000" + }, + "36758e049cd98bcea12277a676f9297362890023": { + "balance": "4000000000000000000000" + }, + "6bb50813146a9add42ee22038c9f1f7469d47f47": { + "balance": "200200000000000000000" + }, + "6de4b581385cf7fc9fe8c77d131fe2ee7724c76a": { + "balance": "2308840000000000000000" + }, + "d2a5a024230a57ccc666760b89b0e26cafd189c7": { + "balance": "49997115000000000000000" + }, + "65af9087e05167715497c9a5a749189489004def": { + "balance": "835000000000000000000" + }, + "ead21c1deccfbf1c5cd96688a2476b69ba07ce4a": { + "balance": "72800000000000000000" + }, + "e308435204793764f5fcbe65eb510f5a744a655a": { + "balance": "200000000000000000000" + }, + "9376dce2af2ec8dcda741b7e7345664681d93668": { + "balance": "1000000000000000000000" + }, + "a1b47c4d0ed6018842e6cfc8630ac3a3142e5e6b": { + "balance": "20000000000000000000" + }, + "e2198c8ca1b399f7521561fd5384a7132fba486b": { + "balance": "1015200000000000000000" + }, + "92c13fe0d6ce87fd50e03def9fa6400509bd7073": { + "balance": "40000000000000000000" + }, + "7517f16c28d132bb40e3ba36c6aef131c462da17": { + "balance": "18200000000000000000" + }, + "6a023af57d584d845e698736f130db9db40dfa9a": { + "balance": "98800000000000000000" + }, + "1518627b88351fede796d3f3083364fbd4887b0c": { + "balance": "16000000000000000000000" + }, + "f5b6e9061a4eb096160777e26762cf48bdd8b55d": { + "balance": "254030000000000000000" + }, + "28073efc17d05cab3195c2db332b61984777a612": { + "balance": "1000000000000000000000" + }, + "f06a854a3c5dc36d1c49f4c87d6db333b57e4add": { + "balance": "10000000000000000000000" + }, + "9225983860a1cb4623c72480ac16272b0c95e5f5": { + "balance": "2000000000000000000000" + }, + "5260dc51ee07bddaababb9ee744b393c7f4793a6": { + "balance": "34040000000000000000" + }, + "0f127bbf8e311caea2ba502a33feced3f730ba42": { + "balance": "188000000000000000000" + }, + "17d521a8d9779023f7164d233c3b6420ffd223ed": { + "balance": "20000000000000000000" + }, + "8c2b7d8b608d28b77f5caa9cd645242a823e4cd9": { + "balance": "1820000000000000000000" + }, + "6e866d032d405abdd65cf651411d803796c22311": { + "balance": "2000000000000000000000" + }, + "dc51b2dc9d247a1d0e5bc36ca3156f7af21ff9f6": { + "balance": "1000000000000000000000" + }, + "c84d9bea0a7b9f140220fd8b9097cfbfd5edf564": { + "balance": "123047000000000000000" + }, + "ff86e5e8e15b53909600e41308dab75f0e24e46b": { + "balance": "902400000000000000000" + }, + "d7164aa261c09ad9b2b5068d453ed8eb6aa13083": { + "balance": "3000000000000000000000" + }, + "76aaf8c1ac012f8752d4c09bb46607b6651d5ca8": { + "balance": "20000000000000000000" + }, + "41786a10d447f484d33244ccb7facd8b427b5b8c": { + "balance": "1000000000000000000000" + }, + "2e0c57b47150f95aa6a7e16ab9b1cbf54328979a": { + "balance": "100000000000000000000" + }, + "3f747237806fed3f828a6852eb0867f79027af89": { + "balance": "1500000000000000000000" + }, + "a568db4d57e4d67462d733c69a9e0fe26e218327": { + "balance": "1096140000000000000000" + }, + "1f88f8a1338fc7c10976abcd3fb8d38554b5ec9c": { + "balance": "13400000000000000000" + }, + "d1ea4d72a67b5b3e0f315559f52bd0614d713069": { + "balance": "2000000000000000000000" + }, + "bfaeb91067617dcf8b44172b02af615674835dba": { + "balance": "160661000000000000000" + }, + "b71a13ba8e95167b80331b52d69e37054fe7a826": { + "balance": "200000000000000000000" + }, + "b67a80f170197d96cdcc4ab6cba627b4afa6e12c": { + "balance": "2400000000000000000000" + }, + "35af040a0cc2337a76af288154c7561e1a233349": { + "balance": "1000000000000000000000" + }, + "c86190904b8d079ec010e462cbffc90834ffaa5c": { + "balance": "10100000000000000000000" + }, + "383304dd7a5720b29c1a10f60342219f48032f80": { + "balance": "5600000000000000000000" + }, + "191313525238a21c767457a91374f02200c55448": { + "balance": "116400000000000000000" + }, + "cc4a2f2cf86cf3e43375f360a4734691195f1490": { + "balance": "1348127000000000000000" + }, + "4e020779b5ddd3df228a00cb48c2fc979da6ae38": { + "balance": "2000000000000000000000" + }, + "e206fb7324e9deb79e19903496d6961b9be56603": { + "balance": "100000000000000000000" + }, + "3ae160e3cd60ae31b9d6742d68e14e76bd96c517": { + "balance": "30000000000000000000" + }, + "1f7d8e86d6eeb02545aad90e91327bd369d7d2f3": { + "balance": "20000000000000000000" + }, + "68c7d1711b011a33f16f1f55b5c902cce970bdd7": { + "balance": "152000000000000000000" + }, + "637be71b3aa815ff453d5642f73074450b64c82a": { + "balance": "2000000000000000000000" + }, + "1584a2c066b7a455dbd6ae2807a7334e83c35fa5": { + "balance": "130000000000000000000" + }, + "9c05e9d0f0758e795303717e31da213ca157e686": { + "balance": "1000000000000000000000" + }, + "4f1a2da54a4c6da19d142412e56e815741db2325": { + "balance": "100000000000000000000" + }, + "9a4ca8b82117894e43db72b9fa78f0b9b93ace09": { + "balance": "50000000000000000000" + }, + "26c99f8849c9802b83c861217fd07a9e84cdb79d": { + "balance": "300000000000000000000" + }, + "45c0d19f0b8e054f9e893836d5ecae7901af2812": { + "balance": "5000000000000000000000" + }, + "00dc01cbf44978a42e8de8e436edf94205cfb6ec": { + "balance": "1458440000000000000000" + }, + "de7dee220f0457a7187d56c1c41f2eb00ac56021": { + "balance": "629924000000000000000" + }, + "1c128bd6cda5fca27575e4b43b3253c8c4172afe": { + "balance": "2000000000000000000000" + }, + "666746fb93d1935c5a3c684e725010c4fad0b1d8": { + "balance": "20000000000000000000" + }, + "51d78b178d707e396e8710965c4f41b1a1d9179d": { + "balance": "110600000000000000000" + }, + "68f7573cd457e14c03fea43e302d30347c10705c": { + "balance": "5000000000000000000000" + }, + "9d30cb237bc096f17036fc80dd21ca68992ca2d9": { + "balance": "30380000000000000000000" + }, + "fbcfcc4a7b0f26cf26e9f3332132e2fc6a230766": { + "balance": "8000000000000000000000" + }, + "b166e37d2e501ae73c84142b5ffb5aa655dd5a99": { + "balance": "1999000000000000000000" + }, + "6df24f6685a62f791ba337bf3ff67e91f3d4bc3a": { + "balance": "2166000000000000000000" + }, + "92e435340e9d253c00256389f52b067d55974e76": { + "balance": "268000000000000000000" + }, + "ea53d26564859d9e90bb0e53b7abf560e0162c38": { + "balance": "400000000000000000000" + }, + "e26657f0ed201ea2392c9222b80a7003608ddf30": { + "balance": "40000000000000000000" + }, + "f4177a0d85d48b0e264211ce2aa2efd3f1b47f08": { + "balance": "3593425000000000000000" + }, + "9d47ba5b4c8505ad8da42934280b61a0e1e8b971": { + "balance": "100000000000000000000" + }, + "63c2a3d235e5eeabd0d4a6afdb89d94627396495": { + "balance": "1241620000000000000000" + }, + "446a8039cecf9dce4879cbcaf3493bf545a88610": { + "balance": "7000000000000000000000" + }, + "7fa37ed67887751a471f0eb306be44e0dbcd6089": { + "balance": "1060000000000000000000" + }, + "26d4a16891f52922789217fcd886f7fce296d400": { + "balance": "2000000000000000000000" + }, + "487e108502b0b189ef9c8c6da4d0db6261eec6c0": { + "balance": "1910000000000000000000" + }, + "7484d26becc1eea8c6315ec3ee0a450117dc86a0": { + "balance": "12000000000000000000000" + }, + "ad9e97a0482f353a05c0f792b977b6c7e811fa5f": { + "balance": "200000000000000000000" + }, + "2273bad7bc4e487622d175ef7a66988b6a93c4ee": { + "balance": "20000000000000000000" + }, + "3b93b16136f11eaf10996c95990d3b2739ccea5f": { + "balance": "10000000000000000000000" + }, + "f3f1fa3918ca34e2cf7e84670b1f4d8eca160db3": { + "balance": "680000000000000000000" + }, + "88a2154430c0e41147d3c1fee3b3b006f851edbd": { + "balance": "999972000000000000000" + }, + "25185f325acf2d64500698f65c769ddf68301602": { + "balance": "5000000000000000000000" + }, + "e9cafe41a5e8bbd90ba02d9e06585b4eb546c57f": { + "balance": "2000000000000000000000" + }, + "95681cdae69b2049ce101e325c759892cac3f811": { + "balance": "2857600000000000000000" + }, + "475066f9ad26655196d5535327bbeb9b7929cb04": { + "balance": "3040000000000000000000" + }, + "6685fd2e2544702c360b8bb9ee78f130dad16da5": { + "balance": "2000000000000000000000" + }, + "45e68db94c7d0ab7ac41857a71d67147870f4e71": { + "balance": "400000000000000000000000" + }, + "4ad95d188d6464709add2555fb4d97fe1ebf311f": { + "balance": "346000000000000000000" + }, + "73bedd6fda7ba3272185087b6351fc133d484e37": { + "balance": "5057200000000000000000" + }, + "1ea4715504c6af107b0194f4f7b1cb6fcccd6f4b": { + "balance": "590598000000000000000" + }, + "77306ffe2e4a8f3ca826c1a249f7212da43aeffd": { + "balance": "20000000000000000000000" + }, + "eb453f5a3adddd8ab56750fadb0fe7f94d9c89e7": { + "balance": "20000000000000000000" + }, + "7201d1c06920cd397ae8ad869bcda6e47ffb1b5a": { + "balance": "20000000000000000000" + }, + "821cb5cd05c7ef909fe1be60733d8963d760dc41": { + "balance": "4000000000000000000000" + }, + "496e319592b341eaccd778dda7c8196d54cac775": { + "balance": "9250000000000000000000" + }, + "88609e0a465b6e99fce907166d57e9da0814f5c8": { + "balance": "20000000000000000000000" + }, + "c7ec62b804b1f69b1e3070b5d362c62fb309b070": { + "balance": "13068074000000000000000" + }, + "3eb9ef06d0c259040319947e8c7a6812aa0253d8": { + "balance": "167000000000000000000" + }, + "cbf37ff854a2f1ce53934494777892d3ec655782": { + "balance": "10000000000000000000000" + }, + "02b1af72339b2a2256389fd64607de24f0de600a": { + "balance": "2000000000000000000000" + }, + "a8beb91c2b99c8964aa95b6b4a184b1269fc3483": { + "balance": "400000000000000000000" + }, + "922a20c79a1d3a26dd3829677bf1d45c8f672bb6": { + "balance": "4000000000000000000000" + }, + "c5843399d150066bf7979c34ba294620368ad7c0": { + "balance": "200000000000000000000" + }, + "8cd0cd22e620eda79c0461e896c93c44837e2968": { + "balance": "2000000000000000000000" + }, + "6170dd0687bd55ca88b87adef51cfdc55c4dd458": { + "balance": "2005160000000000000000" + }, + "eed384ef2d41d9d203974e57c12328ea760e08ea": { + "balance": "1000000000000000000000" + }, + "b129a5cb7105fe810bd895dc7206a991a4545488": { + "balance": "30000000000000000000" + }, + "3872f48dc5e3f817bc6b2ad2d030fc5e0471193d": { + "balance": "4000000000000000000000" + }, + "514b7512c9ae5ea63cbf11715b63f21e18d296c1": { + "balance": "1999944000000000000000" + }, + "7ab256b204800af20137fabcc916a23258752501": { + "balance": "20000000000000000000000" + }, + "fc66faba277f4b5de64ad45eb19c31e00ced3ed5": { + "balance": "5640000000000000000000" + }, + "39824f8bced176fd3ea22ec6a493d0ccc33fc147": { + "balance": "4000000000000000000000" + }, + "e338e859fe2e8c15554848b75caecda877a0e832": { + "balance": "1801800000000000000000" + }, + "e53c68796212033e4e6f9cff56e19c461eb454f9": { + "balance": "1000000000000000000000" + }, + "8461ecc4a6a45eb1a5b947fb86b88069b91fcd6f": { + "balance": "2000000000000000000000" + }, + "6b4b99cb3fa9f7b74ce3a48317b1cd13090a1a7a": { + "balance": "57300000000000000000" + }, + "97de21e421c37fe4b8025f9a51b7b390b5df7804": { + "balance": "80000000000000000000000" + }, + "d25aecd7eb8bd6345b063b5dbd271c77d3514494": { + "balance": "1820000000000000000000" + }, + "57b23d6a1adc06c652a779c6a7fb6b95b9fead66": { + "balance": "200000000000000000000" + }, + "0d658014a199061cf6b39433140303c20ffd4e5a": { + "balance": "8200000000000000000000" + }, + "30eac740e4f02cb56eef0526e5d300322600d03e": { + "balance": "1970000000000000000000" + }, + "4eead40aad8c73ef08fc84bc0a92c9092f6a36bf": { + "balance": "26740000000000000000" + }, + "30f7d025d16f7bee105580486f9f561c7bae3fef": { + "balance": "500000000000000000000" + }, + "0977bfba038a44fb49b03970d8d8cf2cb61f8b25": { + "balance": "420000000000000000000" + }, + "b14bbeff70720975dc6191b2a44ff49f2672873c": { + "balance": "143000000000000000000" + }, + "d588c3a5df228185d98ee7e60748255cdea68b01": { + "balance": "4000000000000000000000" + }, + "225d35faedb391c7bc2db7fa9071160405996d00": { + "balance": "167774000000000000000" + }, + "c0e457bd56ec36a1246bfa3230fff38e5926ef22": { + "balance": "1940000000000000000000" + }, + "2a9c57fe7b6b138a920d676f3c76b6c2a0eef699": { + "balance": "9400000000000000000000" + }, + "36df8f883c1273ec8a171f7a33cfd649b1fe6075": { + "balance": "227290000000000000000" + }, + "234f46bab73fe45d31bf87f0a1e0466199f2ebac": { + "balance": "485000000000000000000" + }, + "a2e1b8aa900e9c139b3fa122354f6156d92a18b1": { + "balance": "500000000000000000000" + }, + "517cd7608e5d0d83a26b717f3603dac2277dc3a4": { + "balance": "2000000000000000000000" + }, + "75f7539d309e9039989efe2e8b2dbd865a0df088": { + "balance": "2460000000000000000000" + }, + "4b792e29683eb586e394bb33526c6001b397999e": { + "balance": "600000000000000000000" + }, + "a34f9d568bf7afd94c2a5b8a5ff55c66c4087999": { + "balance": "2444000000000000000000" + }, + "4b31bf41abc75c9ae2cd8f7f35163b6e2b745054": { + "balance": "382000000000000000000" + }, + "e35453eef2cc3c7a044d0ac134ba615908fa82ee": { + "balance": "147510000000000000000" + }, + "7aa79ac04316cc8d08f20065baa6d4142897d54e": { + "balance": "1400000000000000000000" + }, + "f1dc8ac81042c67a9c3c6792b230c46ac016ca10": { + "balance": "200000000000000000000" + }, + "2bb366b9edcb0da680f0e10b3b6e28748190d6c3": { + "balance": "5799400000000000000000" + }, + "a567770b6ae320bdde50f904d663e746a61dace6": { + "balance": "2000000000000000000000" + }, + "d9d42fd13ebd4bf69cac5e9c7e82483ab46dd7e9": { + "balance": "5348000000000000000000" + }, + "27830c5f6023afaaf79745676c204a0faccda0ba": { + "balance": "240000000000000000000" + }, + "3cb179cb4801a99b95c3b0c324a2bdc101a65360": { + "balance": "26000000000000000000" + }, + "976e3ceaf3f1af51f8c29aff5d7fa21f0386d8ee": { + "balance": "240000000000000000000" + }, + "752a5ee232612cd3005fb26e5b597de19f776be6": { + "balance": "5460000000000000000000" + }, + "7d5aa33fc14b51841a06906edb2bb49c2a117269": { + "balance": "300048000000000000000" + }, + "55ca6abe79ea2497f46fdbb830346010fe469cbe": { + "balance": "5730000000000000000000" + }, + "6bec311ad05008b4af353c958c40bd06739a3ff3": { + "balance": "16380000000000000000000" + }, + "30e9698cf1e08a9d048bd8d8048f28be7ed9409f": { + "balance": "6685000000000000000000" + }, + "9afa536b4c66bc38d875c4b30099d9261fdb38eb": { + "balance": "205981000000000000000" + }, + "6b63a2dfb2bcd0caec0022b88be30c1451ea56aa": { + "balance": "809021000000000000000" + }, + "d07be0f90997caf903c8ac1d53cde904fb190741": { + "balance": "1000200000000000000000" + }, + "893cdddf5377f3c751bf2e541120045a47cba101": { + "balance": "100000000000000000000" + }, + "c1cdc601f89c0428b31302d187e0dc08ad7d1c57": { + "balance": "6000000000000000000000" + }, + "8f8acb107607388479f64baaabea8ff007ada97d": { + "balance": "27281800000000000000000" + }, + "88bc43012edb0ea9f062ac437843250a39b78fbb": { + "balance": "20000000000000000000000" + }, + "fcfc3a5004d678613f0b36a642269a7f371c3f6a": { + "balance": "1000000000000000000000" + }, + "f509557e90183fbf0f0651a786487bcc428ba175": { + "balance": "194000000000000000000" + }, + "e3d915eda3b825d6ee4af9328d32ac18ada35497": { + "balance": "500000000000000000000" + }, + "f237ef05261c34d79cc22b860de0f17f793c3860": { + "balance": "200000000000000000000" + }, + "a3a2e319e7d3a1448b5aa2468953160c2dbcba71": { + "balance": "2000000000000000000000" + }, + "3a368efe4ad786e26395ec9fc6ad698cae29fe01": { + "balance": "632200000000000000000" + }, + "8e3240b0810e1cf407a500804740cf8d616432a4": { + "balance": "40309000000000000000" + }, + "5691dd2f6745f20e22d2e1d1b955aa2903d65656": { + "balance": "1969606000000000000000" + }, + "5f93ff832774db5114c55bb4bf44ccf3b58f903f": { + "balance": "192026650000000000000000" + }, + "2c1cc6e18c152488ba11c2cc1bcefa2df306abd1": { + "balance": "1670000000000000000000" + }, + "bde9786a84e75b48f18e726dd78d70e4af3ed802": { + "balance": "5730000000000000000000" + }, + "79551cede376f747e3716c8d79400d766d2e0195": { + "balance": "46250000000000000000000" + }, + "49f028395b5a86c9e07f7778630e4c2e3d373a77": { + "balance": "122735000000000000000" + }, + "6a3694424c7cc6b8bcd9bccaba540cc1f5df18d7": { + "balance": "2000000000000000000000" + }, + "068e29b3f191c812a6393918f71ab933ae6847f2": { + "balance": "1999944000000000000000" + }, + "6e64e6129f224e378c0e6e736a7e7a06c211e9ec": { + "balance": "1000000000000000000000" + }, + "c4c15318d370c73318cc18bdd466dbaa4c6603bf": { + "balance": "19700000000000000000" + }, + "8035bcffaefdeeea35830c497d14289d362023de": { + "balance": "300000000000000000000" + }, + "a997dfc7986a27050848fa1c64d7a7d6e07acca2": { + "balance": "143000000000000000000" + }, + "2fe13a8d0785de8758a5e41876c36e916cf75074": { + "balance": "4000000000000000000000" + }, + "6f24c9af2b763480515d1b0951bb77a540f1e3f9": { + "balance": "1970000000000000000000" + }, + "4c23b370fc992bb67cec06e26715b62f0b3a4ac3": { + "balance": "10000000000000000000000" + }, + "4ac07673e42f64c1a25ec2fa2d86e5aa2b34e039": { + "balance": "2000000000000000000000" + }, + "117db836377fe15455e02c2ebda40b1ceb551b19": { + "balance": "6000000000000000000000" + }, + "ef1c0477f1184d60accab374d374557a0a3e10f3": { + "balance": "152000000000000000000" + }, + "99fe0d201228a753145655d428eb9fd94985d36d": { + "balance": "1939268000000000000000" + }, + "b3731b046c8ac695a127fd79d0a5d5fa6ae6d12e": { + "balance": "1998000000000000000000" + }, + "dce30c31f3ca66721ecb213c809aab561d9b52e4": { + "balance": "2000000000000000000000" + }, + "ddd69c5b9bf5eb5a39cee7c3341a120d973fdb34": { + "balance": "1987730000000000000000" + }, + "216e41864ef98f060da08ecae19ad1166a17d036": { + "balance": "5730000000000000000000" + }, + "6a53d41ae4a752b21abed5374649953a513de5e5": { + "balance": "2000000000000000000000" + }, + "20dd8fcbb46ea46fe381a68b8ca0ea5be21fe9a5": { + "balance": "2000000000000000000000" + }, + "19732bf973055dbd91a4533adaa2149a91d38380": { + "balance": "2000000000000000000000" + }, + "51ea1c0934e3d04022ed9c95a087a150ef705e81": { + "balance": "6280000000000000000000" + }, + "a0de5c601e696635c698b7ae9ca4539fc7b941ec": { + "balance": "346150000000000000000" + }, + "94e1f5cb9b8abace03a1a6428256553b690c2355": { + "balance": "20000000000000000000" + }, + "a539b4a401b584dfe0f344b1b422c65543167e2e": { + "balance": "200000000000000000000" + }, + "50584d9206a46ce15c301117ee28f15c30e60e75": { + "balance": "13400000000000000000" + }, + "856eb204241a87830fb229031343dc30854f581a": { + "balance": "1000000000000000000000" + }, + "9dd46b1c6d3f05e29e9c6f037eed9a595af4a9aa": { + "balance": "500000000000000000000" + }, + "8925da4549e15155e57a628522cea9dddf627d81": { + "balance": "1000070000000000000000" + }, + "a89df34859edd7c820db887740d8ff9e15157c7b": { + "balance": "2000000000000000000000" + }, + "ad9f4c890a3b511cee51dfe6cfd7f1093b76412c": { + "balance": "506600000000000000000" + }, + "f8c7f34a38b31801da43063477b12b27d0f203ff": { + "balance": "494800000000000000000" + }, + "a642501004c90ea9c9ed1998ba140a4cd62c6f5f": { + "balance": "250543000000000000000" + }, + "508cf19119db70aa86454253da764a2cb1b2be1a": { + "balance": "1000000000000000000000" + }, + "2979741174a8c1ea0b7f9edf658177859417f512": { + "balance": "461283000000000000000" + }, + "654f524847b3a6acc0d3d5f1f362b603edf65f96": { + "balance": "8000000000000000000000" + }, + "5cf18fa7c8a7c0a2b3d5efd1990f64ddc569242c": { + "balance": "1000000000000000000000" + }, + "17e82e7078dc4fd9e879fb8a50667f53a5c54591": { + "balance": "200000000000000000000" + }, + "8b07d050754dc9ba230db01c310afdb5395aa1b3": { + "balance": "118080000000000000000" + }, + "5f77a107ab1226b3f95f10ee83aefc6c5dff3edc": { + "balance": "500000000000000000000" + }, + "475a6193572d4a4e59d7be09cb960ddd8c530e2f": { + "balance": "667323000000000000000" + }, + "6470a4f92ec6b0fccd01234fa59023e9ff1f3aac": { + "balance": "3000000000000000000000" + }, + "2fbcef3384d420e4bf61a0669990bc7054f1a5af": { + "balance": "2000000000000000000000" + }, + "bbabf6643beb4bd01c120bd0598a0987d82967d1": { + "balance": "3342500000000000000000" + }, + "41a2f2e6ecb86394ec0e338c0fc97e9c5583ded2": { + "balance": "2009400000000000000000" + }, + "fb9473cf7712350a1fa0395273fc80560752e4fb": { + "balance": "123300000000000000000" + }, + "38b2197106123387a0d4de368431a8bacdda30e2": { + "balance": "20000000000000000000" + }, + "5ed56115bd6505a88273df5c56839470d24a2db7": { + "balance": "65601000000000000000" + }, + "523f6d64690fdacd942853591bb0ff20d3656d95": { + "balance": "1820000000000000000000" + }, + "55caff4bba04d220c9a5d2018672ec85e31ef83e": { + "balance": "2000000000000000000000" + }, + "65af8d8b5b1d1eedfa77bcbc96c1b133f83306df": { + "balance": "98000000000000000000" + }, + "7456c5b2c5436e3e571008933f1805ccfe34e9ec": { + "balance": "1000000000000000000000" + }, + "a6eebbe464d39187bf80ca9c13d72027ec5ba8be": { + "balance": "3000000000000000000000" + }, + "dd35cfdbcb993395537aecc9f59085a8d5ddb6f5": { + "balance": "1000000000000000000000" + }, + "98e2b6d606fd2d6991c9d6d4077fdf3fdd4585da": { + "balance": "901520000000000000000" + }, + "860f5ffc10de767ded807f71e861d647dfd219b1": { + "balance": "10000000000000000000000" + }, + "1a644a50cbc2aee823bd2bf243e825be4d47df02": { + "balance": "100007000000000000000" + }, + "a8455b411765d6901e311e726403091e42c56683": { + "balance": "3380000000000000000000" + }, + "3a86ee94862b743dd34f410969d94e2c5652d4ad": { + "balance": "201610000000000000000" + }, + "a57360f002e0d64d2d74457d8ca4857ee00bcddf": { + "balance": "335780000000000000000" + }, + "e59b3bd300893f97233ef947c46f7217e392f7e9": { + "balance": "1000000000000000000000" + }, + "9f3a74fd5e7edcc1162993171381cbb632b7cff0": { + "balance": "10000000000000000000000" + }, + "675d5caa609bf70a18aca580465d8fb7310d1bbb": { + "balance": "20000000000000000000000" + }, + "77f609ca8720a023262c55c46f2d26fb3930ac69": { + "balance": "17300000000000000000" + }, + "f8ac4a39b53c11307820973b441365cffe596f66": { + "balance": "2000000000000000000000" + }, + "112634b4ec30ff786e024159f796a57939ea144e": { + "balance": "1999944000000000000000" + }, + "49d2c28ee9bc545eaaf7fd14c27c4073b4bb5f1a": { + "balance": "1474134000000000000000" + }, + "91cc46aa379f856a6640dccd5a648a7902f849d9": { + "balance": "200000000000000000000" + }, + "b46440c797a556e04c7d9104660491f96bb076bf": { + "balance": "14900000000000000000" + }, + "e5968797468ef767101b761d431fce14abffdbb4": { + "balance": "8040000000000000000000" + }, + "c0895efd056d9a3a81c3da578ada311bfb9356cf": { + "balance": "200000000000000000000" + }, + "76846f0de03b5a76971ead298cdd08843a4bc6c6": { + "balance": "15500000000000000000" + }, + "5f708eaf39d823946c51b3a3e9b7b3c003e26341": { + "balance": "1820000000000000000000" + }, + "24f7450ddbf18b020feb1a2032d9d54b633edf37": { + "balance": "50000000000000000000" + }, + "cae3a253bcb2cf4e13ba80c298ab0402da7c2aa0": { + "balance": "5400000000000000000000" + }, + "91e8810652e8e6161525d63bb7751dc20f676076": { + "balance": "725000000000000000000" + }, + "543629c95cdef428ad37d453ca9538a9f90900ac": { + "balance": "43250000000000000000000" + }, + "6e79edd4845b076e4cd88d188b6e432dd93f35aa": { + "balance": "955000000000000000000" + }, + "bd325d4029e0d8729f6d399c478224ae9e7ae41e": { + "balance": "3880000000000000000000" + }, + "42cecfd2921079c2d7df3f08b07aa3beee5e219a": { + "balance": "1000000000000000000000" + }, + "3690246ba3c80679e22eac4412a1aefce6d7cd82": { + "balance": "20000000000000000000000" + }, + "577aeee8d4bc08fc97ab156ed57fb970925366be": { + "balance": "333046000000000000000" + }, + "fe00bf439911a553982db638039245bcf032dbdc": { + "balance": "394000000000000000000" + }, + "91f624b24a1fa5a056fe571229e7379db14b9a1e": { + "balance": "11999974000000000000000" + }, + "f206d328e471d0117b246d2a4619827709e96df3": { + "balance": "3001000000000000000000" + }, + "073f1ed1c9c3e9c52a9b0249a5c1caa0571fdf05": { + "balance": "70400000000000000000" + }, + "f56048dd2181d4a36f64fcecc6215481e42abc15": { + "balance": "200000000000000000000" + }, + "ef76a4cd8febcbc9b818f17828f8d93473f3f3cb": { + "balance": "4000000000000000000000" + }, + "1031e0ecb54985ae21af1793950dc811888fde7c": { + "balance": "20000000000000000000" + }, + "8e0fee38685a94aabcd7ce857b6b1409824f75b8": { + "balance": "500000000000000000000" + }, + "f0cbef84e169630098d4e301b20208ef05846ac9": { + "balance": "259084000000000000000" + }, + "bbca65b3266ea2fb73a03f921635f912c7bede00": { + "balance": "1970000000000000000000" + }, + "0aec2e426ed6cc0cf3c249c1897eac47a7faa9bd": { + "balance": "200000000000000000000" + }, + "b8f30758faa808dbc919aa7b425ec922b93b8129": { + "balance": "1000076000000000000000" + }, + "936dcf000194e3bff50ac5b4243a3ba014d661d8": { + "balance": "10000000000000000000000" + }, + "b14ddb0386fb606398b8cc47565afae00ff1d66a": { + "balance": "2973024000000000000000" + }, + "2ec95822eb887bc113b4712a4dfd7f13b097b5e7": { + "balance": "1000000000000000000000" + }, + "0136a5af6c3299c6b5f005fdaddb148c070b299b": { + "balance": "20368000000000000000" + }, + "37cb868d2c3f95b257611eb34a4188d58b749802": { + "balance": "2000000000000000000000" + }, + "cd7f09d7ed66d0c38bc5ad4e32b7f2b08dc1b30d": { + "balance": "1148000000000000000000" + }, + "b5fa8184e43ed3e0b8ab91216461b3528d84fd09": { + "balance": "2680000000000000000000" + }, + "3dbf0dbfd77890800533f09dea8301b9f025d2a6": { + "balance": "1000000000000000000000" + }, + "b553d25d6b5421e81c2ad05e0b8ba751f8f010e3": { + "balance": "2000000000000000000000" + }, + "dbf8b13967f55125272de0562536c450ba5655a0": { + "balance": "2046830000000000000000" + }, + "0f6e840a3f2a24647d8e43e09d45c7c335df4248": { + "balance": "2500000000000000000000" + }, + "fa2fd29d03fee9a07893df3a269f56b72f2e1e64": { + "balance": "10000000000000000000000" + }, + "8b57b2bc83cc8d4de331204e893f2f3b1db1079a": { + "balance": "40000000000000000000" + }, + "7f541491d2ac00d2612f94aa7f0bcb014651fbd4": { + "balance": "376000000000000000000" + }, + "4f4a9be10cd5d3fb5de48c17be296f895690645b": { + "balance": "40000000000000000000000" + }, + "45d1c9eedf7cab41a779057b79395f5428d80528": { + "balance": "2000000000000000000000" + }, + "662334814724935b7931ddca6100e00d467727cd": { + "balance": "637000000000000000000" + }, + "2c52c984102ee0cd3e31821b84d408930efa1ac7": { + "balance": "2000000000000000000000" + }, + "000d836201318ec6899a67540690382780743280": { + "balance": "200000000000000000000" + }, + "81498ca07b0f2f17e8bbc7e61a7f4ae7be66b78b": { + "balance": "101600000000000000000" + }, + "7860a3de38df382ae4a4dce18c0c07b98bce3dfa": { + "balance": "1000000000000000000000" + }, + "5e8e4df18cf0af770978a8df8dac90931510a679": { + "balance": "2000000000000000000000" + }, + "05d68dad61d3bbdfb3f779265c49474aff3fcd30": { + "balance": "39399000000000000000" + }, + "96eafbf2fb6f4db9a436a74c45b5654452e23819": { + "balance": "20000000000000000000" + }, + "d7d7f2caa462a41b3b30a34aeb3ba61010e2626f": { + "balance": "2000000000000000000000" + }, + "0b71f554122469ef978e2f1fefd7cbb410982772": { + "balance": "3880000000000000000000" + }, + "504666ce8931175e11a5ed11c1dcaa06e57f4e66": { + "balance": "11792000000000000000000" + }, + "d00f067286c0fbd082f9f4a61083ec76deb3cee6": { + "balance": "1000000000000000000000" + }, + "02e4cb22be46258a40e16d4338d802fffd00c151": { + "balance": "379786000000000000000" + }, + "1c13d38637b9a47ce79d37a86f50fb409c060728": { + "balance": "1337000000000000000000" + }, + "e30212b2011bb56bdbf1bc35690f3a4e0fd905ea": { + "balance": "8022000000000000000000" + }, + "1df6911672679bb0ef3509038c0c27e394fdfe30": { + "balance": "540000000000000000000" + }, + "2b8fe4166e23d11963c0932b8ade8e0145ea0770": { + "balance": "43250000000000000000000" + }, + "6509eeb1347e842ffb413e37155e2cbc738273fd": { + "balance": "2000000000000000000000" + }, + "8b7e9f6f05f7e36476a16e3e7100c9031cf404af": { + "balance": "1000000000000000000000" + }, + "bec8caf7ee49468fee552eff3ac5234eb9b17d42": { + "balance": "2000000000000000000000" + }, + "38898bbb4553e00bbfd0cf268b2fc464d154add5": { + "balance": "320000000000000000000" + }, + "cbb3189e4bd7f45f178b1c30c76e26314d4a4b0a": { + "balance": "295007000000000000000" + }, + "be1cd7f4c472070968f3bde268366b21eeea8321": { + "balance": "4300000000000000000000" + }, + "976a18536af41874426308871bcd1512a775c9f8": { + "balance": "10000000000000000000000" + }, + "e9c758f8da41e3346e4350e5ac3976345c6c1082": { + "balance": "1930050000000000000000" + }, + "64ec8a5b743f3479e707dae9ee20ddaa4f40f1d9": { + "balance": "200000000000000000000" + }, + "9e01765aff08bc220550aca5ea2e1ce8e5b09923": { + "balance": "1000000000000000000000" + }, + "ba0f39023bdb29eb1862a9f9059cab5d306e662f": { + "balance": "2000000000000000000000" + }, + "2baf8d6e221174124820ee492b9459ec4fadafbb": { + "balance": "2000000000000000000000" + }, + "655d5cd7489629e2413c2105b5a172d933c27af8": { + "balance": "4040060000000000000000" + }, + "badc2aef9f5951a8d78a6b35c3d0b3a4e6e2e739": { + "balance": "6000000000000000000000" + }, + "e64f6e1d6401b56c076b64a1b0867d0b2f310d4e": { + "balance": "51570000000000000000" + }, + "7a8563867901206f3f2bf0fa3e1c8109cabccd85": { + "balance": "137000000000000000000" + }, + "d17fbe22d90462ed37280670a2ea0b3086a0d6d6": { + "balance": "199955000000000000000" + }, + "e96d7d4cdd15553a4e4d316d6d6480ca3cea1e38": { + "balance": "12200000000000000000000" + }, + "f04d2c91efb6e9c45ffbe74b434c8c5f2b028f1f": { + "balance": "1000000000000000000000" + }, + "81164deb10814ae08391f32c08667b6248c27d7a": { + "balance": "394000000000000000000" + }, + "7f5ae05ae0f8cbe5dfe721f044d7a7bef4c27997": { + "balance": "60000000000000000000" + }, + "c982586d63b0d74c201b1af8418372e30c7616be": { + "balance": "100000000000000000000" + }, + "64cf0935bf19d2cebbecd8780d27d2e2b2c34166": { + "balance": "1970000000000000000000" + }, + "cd566ad7b883f01fd3998a9a58a9dee4724ddca5": { + "balance": "58848000000000000000" + }, + "9da609fa3a7e6cf2cc0e70cdabe78dc4e382e11e": { + "balance": "1200000000000000000000" + }, + "0d69100c395ce6c5eaadf95d05d872837ededd21": { + "balance": "400000000000000000000" + }, + "fe91eccf2bd566afa11696c5049fa84c69630a52": { + "balance": "1940000000000000000000" + }, + "005d0ee8155ec0a6ff6808552ca5f16bb5be323a": { + "balance": "197000000000000000000" + }, + "3e5cb8928c417825c03a3bfcc52183e5c91e42d7": { + "balance": "4264790000000000000000" + }, + "9c1b771f09af882af0643083de2aa79dc097c40e": { + "balance": "2480000000000000000000" + }, + "eba388b0da27c87b1cc0eac6c57b2c5a0b459c1a": { + "balance": "6800000000000000000000" + }, + "7529f3797bb6a20f7ea6492419c84c867641d81c": { + "balance": "2000000000000000000000" + }, + "532a7da0a5ad7407468d3be8e07e69c7dd64e861": { + "balance": "500000000000000000000" + }, + "de82cc8d4a1bb1d9434392965b3e80bad3c03d4f": { + "balance": "1477500000000000000000" + }, + "4a82694fa29d9e213202a1a209285df6e745c209": { + "balance": "4000000000000000000000" + }, + "3e53ff2107a8debe3328493a92a586a7e1f49758": { + "balance": "23143470000000000000000" + }, + "b2ddb786d3794e270187d0451ad6c8b79e0e8745": { + "balance": "400000000000000000000" + }, + "6ebcf9957f5fc5e985add475223b04b8c14a7aed": { + "balance": "1730000000000000000000" + }, + "c5c7590b5621ecf8358588de9b6890f2626143f1": { + "balance": "3000000000000000000000" + }, + "ae4f122e35c0b1d1e4069291457c83c07f965fa3": { + "balance": "1000000000000000000000" + }, + "47885ababedf4d928e1c3c71d7ca40d563ed595f": { + "balance": "1820000000000000000000" + }, + "78ce3e3d474a8a047b92c41542242d0a08c70f99": { + "balance": "10000000000000000000000" + }, + "6134d942f037f2cc3d424a230c603d67abd3edf7": { + "balance": "2000000000000000000000" + }, + "1360e87df24c69ee6d51c76e73767ffe19a2131c": { + "balance": "92000000000000000000" + }, + "5fd1c3e31778276cb42ea740f5eae9c641dbc701": { + "balance": "194000000000000000000" + }, + "98397342ec5f3d4cb877e54ef5d6f1d366731bd4": { + "balance": "5910000000000000000000" + }, + "6d4b5c05d06a20957e1748ab6df206f343f92f01": { + "balance": "10020475000000000000000" + }, + "e6115b13f9795f7e956502d5074567dab945ce6b": { + "balance": "100000000000000000000000" + }, + "23730c357a91026e44b1d0e2fc2a51d071d8d77b": { + "balance": "4000000000000000000000" + }, + "fae881937047895a660cf229760f27e66828d643": { + "balance": "182000000000000000000" + }, + "ff3ef6ba151c21b59986ae64f6e8228bc9a2c733": { + "balance": "2000000000000000000000" + }, + "dfbd4232c17c407a980db87ffbcda03630e5c459": { + "balance": "553150000000000000000" + }, + "4429a29fee198450672c0c1d073162250bec6474": { + "balance": "999200000000000000000" + }, + "7e8f96cc29f57b0975120cb593b7dd833d606b53": { + "balance": "197000000000000000000" + }, + "5ed3f1ebe2ae6756b5d8dc19cad02c419aa5778b": { + "balance": "0" + }, + "daa776a6754469d7b9267a89b86725e740da0fa0": { + "balance": "1970000000000000000000" + }, + "139e479764b499d666208c4a8a047a97043163dd": { + "balance": "598880000000000000000" + }, + "5ad5e420755613886f35aa56ac403eebdfe4b0d0": { + "balance": "80000000000000000000000" + }, + "3fe801e61335c5140dc7eda2ef5204460a501230": { + "balance": "2000000000000000000000" + }, + "ce8a6b6d5033b1498b1ffeb41a41550405fa03a2": { + "balance": "4000000000000000000000" + }, + "26c2ffc30efdc5273e76183a16c2698d6e531286": { + "balance": "776000000000000000000" + }, + "71ec3aec3f8f9221f9149fede06903a0f9a232f2": { + "balance": "200000000000000000000" + }, + "ef35f6d4b1075e6aa139151c974b2f4658f70538": { + "balance": "1111111000000000000000" + }, + "26a68eab905a8b3dce00e317308225dab1b9f6b8": { + "balance": "1980000000000000000000" + }, + "63f5b53d79bf2e411489526530223845fac6f601": { + "balance": "30000000000000000000000" + }, + "481115296ab7db52492ff7b647d63329fb5cbc6b": { + "balance": "16100000000000000000000" + }, + "f19f193508393e4d2a127b20b2031f39c82581c6": { + "balance": "3500088000000000000000" + }, + "500e34cde5bd9e2b71bb92d7cf55eee188d5fa0c": { + "balance": "5348000000000000000000" + }, + "65ea67ad3fb56ad5fb94387dd38eb383001d7c68": { + "balance": "100000000000000000000" + }, + "7f9f9b56e4289dfb58e70fd5f12a97b56d35c6a5": { + "balance": "1970000000000000000000" + }, + "60be6f953f2a4d25b6256ffd2423ac1438252e4e": { + "balance": "150000000000000000000" + }, + "ac1dfc984b71a19929a81d81f04a7cbb14073703": { + "balance": "600000000000000000000" + }, + "a3c14ace28b192cbb062145fcbbd5869c67271f6": { + "balance": "8000000000000000000000" + }, + "2da76b7c39b420e388ba2c1020b0856b0270648a": { + "balance": "2000000000000000000000" + }, + "622be4b45495fcd93143efc412d699d6cdc23dc5": { + "balance": "17300000000000000000" + }, + "d3f873bd9956135789ab00ebc195b922e94b259d": { + "balance": "2000000000000000000000" + }, + "975f3764e97bbccf767cbd3b795ba86d8ba9840e": { + "balance": "346000000000000000000" + }, + "fc39be41094b1997d2169e8264c2c3baa6c99bc4": { + "balance": "2000000000000000000000" + }, + "12ffc1128605cb0c13709a7290506f2690977193": { + "balance": "3340000000000000000000" + }, + "9b1168de8ab64b47552f3389800a9cc08b4666cf": { + "balance": "1730000000000000000000" + }, + "9f1aa8fcfc89a1a5328cbd6344b71f278a2ca4a0": { + "balance": "500000000000000000000" + }, + "505a33a18634dd4800693c67f48a1d693d4833f8": { + "balance": "7252000000000000000000" + }, + "d08fc09a0030fd0928cd321198580182a76aae9f": { + "balance": "1000000000000000000000" + }, + "6acddca3cd2b4990e25cd65c24149d0912099e79": { + "balance": "3000037000000000000000" + }, + "397a6ef8763a18f00fac217e055c0d3094101011": { + "balance": "2000000000000000000000" + }, + "4e0bd32473c4c51bf25654def69f797c6b29a232": { + "balance": "1600930000000000000000" + }, + "28d8c35fb7eea622582135e3ad47a227c9a663bd": { + "balance": "18200000000000000000" + }, + "f96488698590dc3b2c555642b871348dfa067ad5": { + "balance": "500000000000000000000" + }, + "4eebe80cb6f3ae5904f6f4b28d907f907189fcab": { + "balance": "1999944000000000000000" + }, + "8d1abd897dacd4312e18080c88fb9647eab44052": { + "balance": "216000000000000000000" + }, + "457029c469c4548d168cec3e65872e4428d42b67": { + "balance": "2000000000000000000000" + }, + "1296acded1e063af39fe8ba0b4b63df789f70517": { + "balance": "100014000000000000000" + }, + "71762c63678c18d1c6378ce068e666381315147e": { + "balance": "2000000000000000000000" + }, + "6cc1c878fa6cde8a9a0b8311247e741e4642fe6d": { + "balance": "985000000000000000000" + }, + "8d9ed7f4553058c26f7836a3802d3064eb1b363d": { + "balance": "90000000000000000000" + }, + "5032e4bcf7932b49fdba377b6f1499636513cfc3": { + "balance": "100000000000000000000" + }, + "462b678b51b584f3ed7ada070b5cd99c0bf7b87f": { + "balance": "100000000000000000000" + }, + "c8aa49e3809f0899f28ab57e6743709d58419033": { + "balance": "880000000000000000000" + }, + "01b1cae91a3b9559afb33cdc6d689442fdbfe037": { + "balance": "200000000000000000000" + }, + "b1043004ec1941a8cf4f2b00b15700ddac6ff17e": { + "balance": "1000000000000000000000" + }, + "5ba2c6c35dfaec296826591904d544464aeabd5e": { + "balance": "20000000000000000000" + }, + "b32400fd13c5500917cb037b29fe22e7d5228f2d": { + "balance": "40000000000000000000000" + }, + "d59d92d2c8701980cc073c375d720af064743c0c": { + "balance": "19000000000000000000000" + }, + "11dd6185d9a8d73ddfdaa71e9b7774431c4dfec2": { + "balance": "1000000000000000000000" + }, + "d4cb21e590c5a0e06801366aff342c7d7db16424": { + "balance": "494000000000000000000" + }, + "5b6d55f6712967405c659129f4b1de09acf2cb7b": { + "balance": "267400000000000000000" + }, + "6179979907fe7f037e4c38029d60bcbab832b3d6": { + "balance": "1610000000000000000000" + }, + "33c407133b84b3ca4c3ded1f4658900c38101624": { + "balance": "2800000000000000000000" + }, + "cd2a36d753e9e0ed012a584d716807587b41d56a": { + "balance": "261400000000000000000" + }, + "8155fa6c51eb31d808412d748aa086105018122f": { + "balance": "1880000000000000000000" + }, + "3ecc8e1668dde995dc570fe414f44211c534a615": { + "balance": "2000000000000000000000" + }, + "d6395db5a4bb66e60f4cfbcdf0057bb4d97862e2": { + "balance": "910000000000000000000" + }, + "b6fb39786250081426a342c70d47ee521e5bc563": { + "balance": "15000000000000000000000" + }, + "510eda5601499a0d5e1a006bfffd833672f2e267": { + "balance": "2000000000000000000000" + }, + "98c19dba810ba611e68f2f83ee16f6e7744f0c1f": { + "balance": "200000000000000000000" + }, + "34ff26eb60a8d1a95a489fae136ee91d4e58084c": { + "balance": "600000000000000000000" + }, + "6ad90be252d9cd464d998125fab693060ba8e429": { + "balance": "4000000000000000000000" + }, + "038323b184cff7a82ae2e1bda7793fe4319ca0bf": { + "balance": "20000000000000000000000" + }, + "dc5305b4020a06b49d657c7ca34c35c91c5f2c56": { + "balance": "7045990000000000000000" + }, + "c9c80dc12e7bab86e949d01e4c3ed35f2b9bba5f": { + "balance": "2000000000000000000000" + }, + "7beb81fb2f5e91526b2ac9795e76c69bcff04bc0": { + "balance": "69400000000000000000000" + }, + "b8bc9bca7f71b4ed12e620438d620f53c114342f": { + "balance": "500000000000000000000" + }, + "d288e7cb7ba9f620ab0f7452e508633d1c5aa276": { + "balance": "4000000000000000000000" + }, + "a2e460a989cb15565f9ecca7d121a18e4eb405b6": { + "balance": "2000000000000000000000" + }, + "7489cc8abe75cda4ef0d01cef2605e47eda67ab1": { + "balance": "133700000000000000000" + }, + "38b403fb1fb7c14559a2d6f6564a5552bca39aff": { + "balance": "2000000000000000000000" + }, + "e55c80520a1b0f755b9a2cd3ce214f7625653e8a": { + "balance": "2000000000000000000000" + }, + "451b7070259bdba27100e36e23428a53dfe304e9": { + "balance": "13370000000000000000" + }, + "8b5c914b128bf1695c088923fa467e7911f351fa": { + "balance": "98500000000000000000" + }, + "17df49518d73b129f0da36b1c9b40cb66420fdc7": { + "balance": "10000000000000000000000" + }, + "c1950543554d8a713003f662bb612c10ad4cdf21": { + "balance": "18200000000000000000" + }, + "fa7606435b356cee257bd2fcd3d9eacb3cd1c4e1": { + "balance": "100000000000000000000" + }, + "e0bad98eee9698dbf6d76085b7923de5754e906d": { + "balance": "167000000000000000000" + }, + "ce53c8cdd74296aca987b2bc19c2b875a48749d0": { + "balance": "3000000000000000000000" + }, + "d0c55abf976fdc3db2afe9be99d499484d576c02": { + "balance": "1000000000000000000000" + }, + "238a6b7635252f5244486c0af0a73a207385e039": { + "balance": "1370000000000000000000" + }, + "ceb389381d48a8ae4ffc483ad0bb5e204cfdb1ec": { + "balance": "740745000000000000000" + }, + "3847667038f33b01c1cc795d8daf5475eff5a0d4": { + "balance": "728330000000000000000" + }, + "a08d215b5b6aac4861a281ac7e400b78fef04cbf": { + "balance": "20000000000000000000" + }, + "2d0dec51a6e87330a6a8fa2a0f65d88d4abcdf73": { + "balance": "185000000000000000000" + }, + "9e8f64ddcde9b8b451bafaa235a9bf511a25ac91": { + "balance": "2674000000000000000000" + }, + "ddac6bf4bbdd7d597d9c686d0695593bedccc7fa": { + "balance": "865000000000000000000" + }, + "22e15158b5ee3e86eb0332e3e6a9ac6cd9b55ecd": { + "balance": "160000000000000000000" + }, + "3aea4e82d2400248f99871a41ca257060d3a221b": { + "balance": "1000000000000000000000" + }, + "fb126f0ec769f49dcefca2f200286451583084b8": { + "balance": "5013750000000000000000" + }, + "1b8bd6d2eca20185a78e7d98e8e185678dac4830": { + "balance": "16700000000000000000000" + }, + "664cd67dccc9ac8228b45c55db8d76550b659cdc": { + "balance": "394000000000000000000" + }, + "553f37d92466550e9fd775ae74362df030179132": { + "balance": "2000000000000000000000" + }, + "730d8763c6a4fd824ab8b859161ef7e3a96a1200": { + "balance": "20000000000000000000000" + }, + "04c2c64bb54c3eccd05585e10ec6f99a0cdb01a3": { + "balance": "100000000000000000000" + }, + "f1624d980b65336feac5a6d54125005cfcf2aacb": { + "balance": "2000000000000000000000" + }, + "0b7fc9ddf70576f6330669eaaa71b6a831e99528": { + "balance": "140000000000000000000" + }, + "fa2bbca15d3fe39f8a328e91f90da14f7ac6253d": { + "balance": "200000000000000000000" + }, + "07feef54c136850829badc4b49c3f2a73c89fb9e": { + "balance": "118200000000000000000" + }, + "3703350c4d6fe337342cddc65bf1e2386bf3f9b2": { + "balance": "2020000000000000000000" + }, + "6d7d1c949511f88303808c60c5ea0640fcc02683": { + "balance": "10000000000000000000000" + }, + "34fa7792bad8bbd7ff64056214a33eb6600c1ea8": { + "balance": "50000000000000000000" + }, + "994cc2b5227ec3cf048512467c41b7b7b748909f": { + "balance": "2000000000000000000000" + }, + "08da3a7a0f452161cfbcec311bb68ebfdee17e88": { + "balance": "2000000000000000000000" + }, + "bbb4ee1d82f2e156442cc93338a2fc286fa28864": { + "balance": "1370000000000000000000" + }, + "7a2dfc770e24368131b7847795f203f3d50d5b56": { + "balance": "11400000000000000000000" + }, + "7cef4d43aa417f9ef8b787f8b99d53f1fea1ee88": { + "balance": "1910000000000000000000" + }, + "c6a30ef5bb3320f40dc5e981230d52ae3ac19322": { + "balance": "182000000000000000000" + }, + "6a74844d8e9cb5581c45079a2e94462a6cee8821": { + "balance": "1082970000000000000000" + }, + "c3110be01dc9734cfc6e1ce07f87d77d1345b7e1": { + "balance": "4999998000000000000000" + }, + "aeb916ebf49d0f86c13f7331cef19e129937512d": { + "balance": "599908000000000000000" + }, + "3e5abd09ce5af7ba8487c359e0f2a93a986b0b18": { + "balance": "10000000000000000000000" + }, + "cdd60d73efaad873c9bbfb178ca1b7105a81a681": { + "balance": "32000000000000000000" + }, + "31eb123c95c82bf685ace7a75a1881a289efca10": { + "balance": "920034000000000000000" + }, + "86e8670e27598ea09c3899ab7711d3b9fe901c17": { + "balance": "200000000000000000000" + }, + "a144f6b60f72d64a21e330dadb62d8990ade2b09": { + "balance": "1000000000000000000000" + }, + "68883e152e5660fee59626e7e3b4f05110e6222f": { + "balance": "54683300000000000000000" + }, + "fe4249127950e2f896ec0e7e2e3d055aab10550f": { + "balance": "668500000000000000000" + }, + "403d53cf620f0922b417848dee96c190b5bc8271": { + "balance": "9850000000000000000000" + }, + "bec2e6de39c07c2bae556acfbee2c4728b9982e3": { + "balance": "573000000000000000000" + }, + "f3c4716d1ee5279a86d0163a14618181e16136c7": { + "balance": "1000000000000000000000" + }, + "e38ef28a5ed984a7db24a1ae782dfb87f397dfc6": { + "balance": "143000000000000000000" + }, + "30fbe5885f9fcce9ea5edb82ed4a1196dd259aed": { + "balance": "5200000000000000000000" + }, + "48bf14d7b1fc84ebf3c96be12f7bce01aa69b03e": { + "balance": "120000000000000000000" + }, + "b8d5c324a8209d7c8049d0d4aede02ba80ab578b": { + "balance": "16889329000000000000000" + }, + "43d5a71ce8b8f8ae02b2eaf8eaf2ca2840b93fb6": { + "balance": "6000000000000000000000" + }, + "f9a59c3cc5ffacbcb67be0fc7256f64c9b127cb4": { + "balance": "2000000000000000000000" + }, + "0e21af1b8dbf27fcf63f37e047b87a825cbe7c27": { + "balance": "3000000000000000000000" + }, + "1c35aab688a0cd8ef82e76541ba7ac39527f743b": { + "balance": "500000000000000000000" + }, + "91ac5cfe67c54aa7ebfba448666c461a3b1fe2e1": { + "balance": "401880000000000000000" + }, + "4ba53ab549e2016dfa223c9ed5a38fad91288d07": { + "balance": "1400000000000000000000" + }, + "99a4de19ded79008cfdcd45d014d2e584b8914a8": { + "balance": "1500000000000000000000" + }, + "4adbf4aae0e3ef44f7dd4d8985cfaf096ec48e98": { + "balance": "150000000000000000000" + }, + "9a633fcd112cceeb765fe0418170732a9705e79c": { + "balance": "18200000000000000000" + }, + "292f228b0a94748c8eec612d246f989363e08f08": { + "balance": "185000000000000000000" + }, + "9f3497f5ef5fe63095836c004eb9ce02e9013b4b": { + "balance": "633424000000000000000" + }, + "0e6dfd553b2e873d2aec15bd5fbb3f8472d8d394": { + "balance": "12000000000000000000000" + }, + "74ebf4425646e6cf81b109ce7bf4a2a63d84815f": { + "balance": "40000000000000000000" + }, + "8ce5e3b5f591d5eca38abf228f2e3c35134bdac0": { + "balance": "2319920000000000000000" + }, + "90c41eba008e20cbe927f346603fc88698125969": { + "balance": "42000000000000000000" + }, + "382ba76db41b75606dd48a48f0137e9174e031b6": { + "balance": "20000000000000000000" + }, + "5d24bdbc1c47f0eb83d128cae48ac33c4817e91f": { + "balance": "1000000000000000000000" + }, + "a64e5ffb704c2c9139d77ef61d8cdfa31d7a88e9": { + "balance": "143000000000000000000" + }, + "a18360e985f2062e8f8efe02ad2cbc91ad9a5aad": { + "balance": "3000000000000000000000" + }, + "d251f903ae18727259eee841a189a1f569a5fd76": { + "balance": "10000000000000000000000" + }, + "efa6b1f0db603537826891b8b4bc163984bb40cd": { + "balance": "985000000000000000000" + }, + "47fff42c678551d141eb75a6ee398117df3e4a8d": { + "balance": "100010000000000000000" + }, + "f2294adbb6f0dcc76e632ebef48ab49f124dbba4": { + "balance": "1443690000000000000000" + }, + "53700d53254d430f22781a4a76a463933b5d6b08": { + "balance": "1970000000000000000000" + }, + "b14a7aaa8f49f2fb9a8102d6bbe4c48ae7c06fb2": { + "balance": "8000000000000000000000" + }, + "9ed4e63f526542d44fddd34d59cd25388ffd6bda": { + "balance": "3885000000000000000000" + }, + "4cac91fb83a147d2f76c3267984b910a79933348": { + "balance": "2167000000000000000000" + }, + "9b32cf4f5115f4b34a00a64c617de06387354323": { + "balance": "105501000000000000000" + }, + "b8bedd576a4b4c2027da735a5bc3f533252a1808": { + "balance": "2000000000000000000000" + }, + "c5a3b98e4593fea0b38c4f455a5065f051a2f815": { + "balance": "20309030000000000000000" + }, + "eaf52388546ec35aca6f6c6393d8d609de3a4bf3": { + "balance": "20000000000000000000" + }, + "4c423c76930d07f93c47a5cc4f615745c45a9d72": { + "balance": "100000000000000000000" + }, + "9052f2e4a3e3c12dd1c71bf78a4ec3043dc88b7e": { + "balance": "267400000000000000000" + }, + "2bade91d154517620fd4b439ac97157a4102a9f7": { + "balance": "4000000000000000000000" + }, + "da698d64c65c7f2b2c7253059cd3d181d899b6b7": { + "balance": "295500000000000000000" + }, + "c6d8954e8f3fc533d2d230ff025cb4dce14f3426": { + "balance": "400000000000000000000" + }, + "349a816b17ab3d27bbc0ae0051f6a070be1ff29d": { + "balance": "10000000000000000000000" + }, + "ff4d9c8484c43c42ff2c5ab759996498d323994d": { + "balance": "4000000000000000000000" + }, + "22944fbca9b57963084eb84df7c85fb9bcdfb856": { + "balance": "4649845000000000000000" + }, + "bfd93c90c29c07bc5fb5fc49aeea55a40e134f35": { + "balance": "28000000000000000000000" + }, + "3caedb5319fe806543c56e5021d372f71be9062e": { + "balance": "40000000000000000000000" + }, + "9a079c92a629ca15c8cafa2eb28d5bc17af82811": { + "balance": "500000000000000000000" + }, + "7d2a52a7cf0c8436a8e007976b6c26b7229d1e15": { + "balance": "438040000000000000000" + }, + "cf89f7460ba3dfe83c5a1d3a019ee1250f242f0f": { + "balance": "985177000000000000000" + }, + "577bfe64e3a1e3800e94db1c6c184d8dc8aafc66": { + "balance": "1498000000000000000000" + }, + "7ffd02ed370c7060b2ae53c078c8012190dfbb75": { + "balance": "10000000000000000000000" + }, + "90b62f131a5f29b45571513ee7a74a8f0b232202": { + "balance": "158000000000000000000" + }, + "6e8212b722afd408a7a73ed3e2395ee6454a0330": { + "balance": "159000000000000000000" + }, + "515f30bc90cdf4577ee47d65d785fbe2e837c6bc": { + "balance": "10166128000000000000000" + }, + "c27376f45d21e15ede3b26f2655fcee02ccc0f2a": { + "balance": "20000000000000000000" + }, + "3da39ce3ef4a7a3966b32ee7ea4ebc2335a8f11f": { + "balance": "2000000000000000000000" + }, + "25259d975a21d83ae30e33f800f53f37dfa01938": { + "balance": "20000000000000000000" + }, + "8ed143701f2f72280fd04a7b4164281979ea87c9": { + "balance": "14000000000000000000" + }, + "5ac99ad7816ae9020ff8adf79fa9869b7cea6601": { + "balance": "21000000000000000000000" + }, + "f51fded80acb502890e87369741f3722514cefff": { + "balance": "20000042000000000000000" + }, + "f657fcbe682eb4e8db152ecf892456000b513d15": { + "balance": "1940000000000000000000" + }, + "62c37c52b97f4b040b1aa391d6dec152893c4707": { + "balance": "1000000000000000000000" + }, + "89fc8e4d386b0d0bb4a707edf3bd560df1ad8f4e": { + "balance": "2955000000000000000000" + }, + "53c0bb7fc88ea422d2ef7e540e2d8f28b1bb8183": { + "balance": "20000000000000000000" + }, + "56f493a3d108aaa2d18d98922f8efe1662cfb73d": { + "balance": "2020000000000000000000" + }, + "e9458f68bb272cb5673a04f781b403556fd3a387": { + "balance": "61000000000000000000" + }, + "be525a33ea916177f17283fca29e8b350b7f530b": { + "balance": "2638000000000000000000" + }, + "4feb846be43041fd6b34202897943e3f21cb7f04": { + "balance": "83226000000000000000" + }, + "15aa530dc36958b4edb38eee6dd9e3c77d4c9145": { + "balance": "2000000000000000000000" + }, + "2458d6555ff98a129cce4037953d00206eff4287": { + "balance": "197000000000000000000" + }, + "8035fe4e6b6af27ae492a578515e9d39fa6fa65b": { + "balance": "4000000000000000000000" + }, + "296b71c0015819c242a7861e6ff7eded8a5f71e3": { + "balance": "1999800000000000000000" + }, + "8f1952eed1c548d9ee9b97d0169a07933be69f63": { + "balance": "1000000000000000000000" + }, + "a421dbb89b3a07419084ad10c3c15dfe9b32d0c2": { + "balance": "20000000000000000000000" + }, + "554336ee4ea155f9f24f87bca9ca72e253e12cd2": { + "balance": "100000000000000000000" + }, + "ffc5fc4b7e8a0293ff39a3a0f7d60d2646d37a74": { + "balance": "2000000000000000000000" + }, + "ea2c197d26e98b0da83e1b72c787618c979d3db0": { + "balance": "19700000000000000000" + }, + "96aa573fed2f233410dbae5180145b23c31a02f0": { + "balance": "1730000000000000000000" + }, + "c23b2f921ce4a37a259ee4ad8b2158d15d664f59": { + "balance": "25403000000000000000" + }, + "d874b9dfae456a929ba3b1a27e572c9b2cecdfb3": { + "balance": "170000000000000000000" + }, + "bf8b8005d636a49664f74275ef42438acd65ac91": { + "balance": "200000000000000000000" + }, + "441a52001661fac718b2d7b351b7c6fb521a7afd": { + "balance": "400000000000000000000" + }, + "812a55c43caedc597218379000ce510d548836fd": { + "balance": "18200000000000000000" + }, + "5e90c85877198756b0366c0e17b28e52b446505a": { + "balance": "374288000000000000000" + }, + "da3017c150dd0dce7fcf881b0a48d0d1c756c4c7": { + "balance": "100014000000000000000" + }, + "6baf7a2a02ae78801e8904ad7ac05108fc56cff6": { + "balance": "1000000000000000000000" + }, + "177dae78bc0113d8d39c4402f2a641ae2a105ab8": { + "balance": "1818320000000000000000" + }, + "01b5b5bc5a117fa08b34ed1db9440608597ac548": { + "balance": "200000000000000000000" + }, + "aae732eda65988c3a00c7f472f351c463b1c968e": { + "balance": "2000000000000000000000" + }, + "d95342953c8a21e8b635eefac7819bea30f17047": { + "balance": "94160000000000000000000" + }, + "8d616b1eee77eef6f176e0698db3c0c141b2fc8f": { + "balance": "500000000000000000000" + }, + "12d20790b7d3dbd88c81a279b812039e8a603bd0": { + "balance": "1604400000000000000000" + }, + "3734cb187491ede713ae5b3b2d12284af46b8101": { + "balance": "3000000000000000000000" + }, + "dd967c4c5f8ae47e266fb416aad1964ee3e7e8c3": { + "balance": "7750000000000000000000" + }, + "3dcef19c868b15d34eda426ec7e04b18b6017002": { + "balance": "1999800000000000000000" + }, + "ce9d21c692cd3c01f2011f505f870036fa8f6cd2": { + "balance": "400000000000000000000" + }, + "d44f6ac3923b5fd731a4c45944ec4f7ec52a6ae4": { + "balance": "10000000000000000000000" + }, + "b424d68d9d0d00cec1938c854e15ffb880ba0170": { + "balance": "200000000000000000000" + }, + "1f2186ded23e0cf9521694e4e164593e690a9685": { + "balance": "300000000000000000000" + }, + "7f4b5e278578c046cceaf65730a0e068329ed5b6": { + "balance": "1880000000000000000000" + }, + "8c50aa2a9212bcde56418ae261f0b35e7a9dbb82": { + "balance": "400000000000000000000" + }, + "1953313e2ad746239cb2270f48af34d8bb9c4465": { + "balance": "2000000000000000000000" + }, + "a15025f595acdbf3110f77c5bf24477e6548f9e8": { + "balance": "2000000000000000000000" + }, + "53af32c22fef99803f178cf90b802fb571c61cb9": { + "balance": "3880000000000000000000" + }, + "d0a8abd80a199b54b08b65f01d209c27fef0115b": { + "balance": "6525979000000000000000" + }, + "2b68306ba7f8daaf73f4c644ef7d2743c0f26856": { + "balance": "864800000000000000000" + }, + "96924191b7df655b3319dc6d6137f481a73a0ff3": { + "balance": "4020000000000000000000" + }, + "6fa72015fa78696efd9a86174f7f1f21019286b1": { + "balance": "1337000000000000000000" + }, + "0b119df99c6b8de58a1e2c3f297a6744bf552277": { + "balance": "2000000000000000000000" + }, + "61733947fab820dbd351efd67855ea0e881373a0": { + "balance": "20000000000000000000" + }, + "8ae6f80b70e1f23c91fbd5a966b0e499d95df832": { + "balance": "197000000000000000000" + }, + "01a7d9fa7d0eb1185c67e54da83c2e75db69e39f": { + "balance": "7623900000000000000000" + }, + "9932ef1c85b75a9b2a80057d508734c51085becc": { + "balance": "50170000000000000000" + }, + "aefcfe88c826ccf131d54eb4ea9eb80e61e1ee25": { + "balance": "340000000000000000000" + }, + "c21fa6643a1f14c02996ad7144b75926e87ecb4b": { + "balance": "20000000000000000000000" + }, + "97d9e46a7604d7b5a4ea4ee61a42b3d2350fc3ed": { + "balance": "2000000000000000000000" + }, + "3cafaf5e62505615068af8eb22a13ad8a9e55070": { + "balance": "1999600000000000000000" + }, + "22f2dcff5ad78c3eb6850b5cb951127b659522e6": { + "balance": "13700000000000000000" + }, + "aaad1baade5af04e2b17439e935987bf8c2bb4b9": { + "balance": "2000000000000000000000" + }, + "298887bab57c5ba4f0615229d7525fa113b7ea89": { + "balance": "40000000000000000000" + }, + "7539333046deb1ef3c4daf50619993f444e1de68": { + "balance": "1182000000000000000000" + }, + "9752d14f5e1093f071711c1adbc4e3eb1e5c57f3": { + "balance": "2000000000000000000000" + }, + "ed641e06368fb0efaa1703e01fe48f4a685309eb": { + "balance": "200000000000000000000" + }, + "d0ee4d02cf24382c3090d3e99560de3678735cdf": { + "balance": "2400000000000000000000" + }, + "47e25df8822538a8596b28c637896b4d143c351d": { + "balance": "80500000000000000000000" + }, + "559706c332d20779c45f8a6d046a699159b74921": { + "balance": "380123000000000000000" + }, + "3a4da78dce05aeb87de9aead9185726da1926798": { + "balance": "200000000000000000000" + }, + "3041445a33ba158741160d9c344eb88e5c306f94": { + "balance": "60000000000000000000" + }, + "08d4311c9c1bbaf87fabe1a1d01463828d5d98ce": { + "balance": "90000000000000000000000" + }, + "6bd3e59f239fafe4776bb9bddd6bee83ba5d9d9f": { + "balance": "1000000000000000000000" + }, + "29eaae82761762f4d2db53a9c68b0f6b0b6d4e66": { + "balance": "2000000000000000000000" + }, + "0b7d339371e5be6727e6e331b5821fa24bdb9d5a": { + "balance": "857738000000000000000" + }, + "4714cfa4f46bd6bd70737d75878197e08f88e631": { + "balance": "11792000000000000000000" + }, + "ad92ca066edb7c711dfc5b166192d1edf8e77185": { + "balance": "36000000000000000000000" + }, + "f97b56ebd5b77abc9fbacbabd494b9d2c221cd03": { + "balance": "1970000000000000000000" + }, + "591bef3171d1c5957717a4e98d17eb142c214e56": { + "balance": "20000000000000000000000" + }, + "899b3c249f0c4b81df75d212004d3d6d952fd223": { + "balance": "2000000000000000000000" + }, + "a819d2ece122e028c8e8a04a064d02b9029b08b9": { + "balance": "1000000000000000000000" + }, + "e341642d40d2afce2e9107c67079ac7a2660086c": { + "balance": "400000000000000000000" + }, + "0329188f080657ab3a2afa522467178279832085": { + "balance": "216700000000000000000" + }, + "03317826d1f70aa4bddfa09be0c4105552d2358b": { + "balance": "38800000000000000000" + }, + "3ac9dc7a436ae98fd01c7a9621aa8e9d0b8b531d": { + "balance": "1790000000000000000000" + }, + "93c88e2d88621e30f58a9586bed4098999eb67dd": { + "balance": "31200000000000000000000" + }, + "cd1e66ed539dd92fc40bbaa1fa16de8c02c14d45": { + "balance": "230000000000000000000" + }, + "e6c81ffcecb47ecdc55c0b71e4855f3e5e97fc1e": { + "balance": "334250000000000000000" + }, + "50f8fa4bb9e2677c990a4ee8ce70dd1523251e4f": { + "balance": "26030000000000000000" + }, + "4f64a85e8e9a40498c0c75fceb0337fb49083e5e": { + "balance": "1000000000000000000000" + }, + "4b29437c97b4a844be71cca3b648d4ca0fdd9ba4": { + "balance": "150200000000000000000" + }, + "1eee6cbee4fe96ad615a9cf5857a647940df8c78": { + "balance": "19400000000000000000" + }, + "29f0edc60338e7112085a1d114da8c42ce8f55d6": { + "balance": "2958000000000000000000" + }, + "23b1c4917fbd93ee3d48389306957384a5496cbf": { + "balance": "4000086000000000000000" + }, + "1767525c5f5a22ed80e9d4d7710f0362d29efa33": { + "balance": "400000000000000000000" + }, + "3064899a963c4779cbf613cd6980846af1e6ec65": { + "balance": "6999908000000000000000" + }, + "68531f4dda808f5320767a03113428ca0ce2f389": { + "balance": "19400000000000000000" + }, + "1db9ac9a9eaeec0a523757050c71f47278c72d50": { + "balance": "1337000000000000000000" + }, + "7592c69d067b51b6cc639d1164d5578c60d2d244": { + "balance": "20000000000000000000" + }, + "cf3fbfa1fd32d7a6e0e6f8ef4eab57be34025c4c": { + "balance": "1063120000000000000000" + }, + "8efec058cc546157766a632775404a334aaada87": { + "balance": "1999000000000000000000" + }, + "faf5f0b7b6d558f5090d9ea1fb2d42259c586078": { + "balance": "6401000000000000000000" + }, + "19ecf2abf40c9e857b252fe1dbfd3d4c5d8f816e": { + "balance": "2000000000000000000000" + }, + "6e8a26689f7a2fdefd009cbaaa5310253450daba": { + "balance": "2049982000000000000000" + }, + "e2f40d358f5e3fe7463ec70480bd2ed398a7063b": { + "balance": "20000000000000000000" + }, + "fa19d6f7a50f4f079893d167bf14e21d0073d196": { + "balance": "530000000000000000000" + }, + "3e2ca0d234baf607ad466a1b85f4a6488ef00ae7": { + "balance": "89505000000000000000" + }, + "f8a49ca2390c1f6d5c0e62513b079571743f7cc6": { + "balance": "3000000000000000000000" + }, + "5d3f3b1f7130b0bb21a0fd32396239179a25657f": { + "balance": "62474000000000000000000" + }, + "f332c0f3e05a27d9126fd0b641a8c2d4060608fd": { + "balance": "5001041000000000000000" + }, + "e304a32f05a83762744a9542976ff9b723fa31ea": { + "balance": "1576256000000000000000" + }, + "f768f321fd6433d96b4f354d3cc1652c1732f57f": { + "balance": "10000000000000000000000" + }, + "147af46ae9ccd18bb35ca01b353b51990e49dce1": { + "balance": "4000000000000000000000" + }, + "21eae6feffa9fbf4cd874f4739ace530ccbe5937": { + "balance": "5000000000000000000000" + }, + "6994fb3231d7e41d491a9d68d1fa4cae2cc15960": { + "balance": "4000000000000000000000" + }, + "51126446ab3d8032557e8eba65597d75fadc815c": { + "balance": "322000000000000000000" + }, + "24daaaddf7b06bbcea9b80590085a88567682b4e": { + "balance": "319008000000000000000" + }, + "cd020f8edfcf524798a9b73a640334bbf72f80a5": { + "balance": "133700000000000000000" + }, + "56febf9e1003af15b1bd4907ec089a4a1b91d268": { + "balance": "200000000000000000000" + }, + "3c79c863c3d372b3ff0c6f452734a7f97042d706": { + "balance": "176000000000000000000" + }, + "e1203eb3a723e99c2220117ca6afeb66fa424f61": { + "balance": "9461996000000000000000" + }, + "18fb09188f27f1038e654031924f628a2106703d": { + "balance": "2000000000000000000000" + }, + "2eba0c6ee5a1145c1c573984963a605d880a7a20": { + "balance": "500000000000000000000" + }, + "4cefbe2398e47d52e78db4334c8b697675f193ae": { + "balance": "4011000000000000000000" + }, + "c02471e3fc2ea0532615a7571d493289c13c36ef": { + "balance": "20000000000000000000" + }, + "ba469aa5c386b19295d4a1b5473b540353390c85": { + "balance": "2000000000000000000000" + }, + "7b11673cc019626b290cbdce26046f7e6d141e21": { + "balance": "500000000000000000000" + }, + "26784ade91c8a83a8e39658c8d8277413ccc9954": { + "balance": "6000000000000000000000" + }, + "57d3df804f2beee6ef53ab94cb3ee9cf524a18d3": { + "balance": "393606000000000000000" + }, + "ccae0d3d852a7da3860f0636154c0a6ca31628d4": { + "balance": "106560000000000000000" + }, + "bfe3a1fc6e24c8f7b3250560991f93cba2cf8047": { + "balance": "80000000000000000000000" + }, + "724ce858857ec5481c86bd906e83a04882e5821d": { + "balance": "3000000000000000000000" + }, + "fb37cf6b4f81a9e222fba22e9bd24b5098b733cf": { + "balance": "38800000000000000000" + }, + "9b22a80d5c7b3374a05b446081f97d0a34079e7f": { + "balance": "3000000000000000000000" + }, + "0a29a8a4d5fd950075ffb34d77afeb2d823bd689": { + "balance": "200000000000000000000" + }, + "d01af9134faf5257174e8b79186f42ee354e642d": { + "balance": "1000000000000000000000" + }, + "7f1619988f3715e94ff1d253262dc5581db3de1c": { + "balance": "900000000000000000000" + }, + "6f137a71a6f197df2cbbf010dcbd3c444ef5c925": { + "balance": "2000000000000000000000" + }, + "11efb8a20451161b644a8ccebbc1d343a3bbcb52": { + "balance": "3200000000000000000000" + }, + "46504e6a215ac83bccf956befc82ab5a679371c8": { + "balance": "518898000000000000000" + }, + "b523fff9749871b35388438837f7e6e0dea9cb6b": { + "balance": "2000000000000000000000" + }, + "c5c6a4998a33feb764437a8be929a73ba34a0764": { + "balance": "50000000000000000000000" + }, + "3cd7f7c7c2353780cde081eeec45822b25f2860c": { + "balance": "200000000000000000000" + }, + "b3050beff9de33c80e1fa15225e28f2c413ae313": { + "balance": "700000000000000000000" + }, + "59268171b833e0aa13c54b52ccc0422e4fa03aeb": { + "balance": "3000000000000000000000" + }, + "7169724ee72271c534cad6420fb04ee644cb86fe": { + "balance": "410164000000000000000" + }, + "6e6d5bbbb9053b89d744a27316c2a7b8c09b547d": { + "balance": "909831000000000000000" + }, + "3f3f46b75cabe37bfacc8760281f4341ca7f463d": { + "balance": "602709000000000000000" + }, + "7a33834e8583733e2d52aead589bd1affb1dd256": { + "balance": "1000000000000000000000" + }, + "e94ded99dcb572b9bb1dcba32f6dee91e057984e": { + "balance": "394000000000000000000" + }, + "19336a236ded755872411f2e0491d83e3e00159e": { + "balance": "940000000000000000000" + }, + "63ac545c991243fa18aec41d4f6f598e555015dc": { + "balance": "600000000000000000000" + }, + "cfee05c69d1f29e7714684c88de5a16098e91399": { + "balance": "1970000000000000000000" + }, + "77be6b64d7c733a436adec5e14bf9ad7402b1b46": { + "balance": "1000000000000000000000" + }, + "233bdddd5da94852f4ade8d212885682d9076bc6": { + "balance": "4000000000000000000000" + }, + "952c57d2fb195107d4cd5ca300774119dfad2f78": { + "balance": "2000000000000000000000" + }, + "e237baa4dbc9926e32a3d85d1264402d54db012f": { + "balance": "2000000000000000000000" + }, + "aa91237e740d25a92f7fa146faa18ce56dc6e1f3": { + "balance": "925000000000000000000" + }, + "2339e9492870afea2537f389ac2f838302a33c06": { + "balance": "2000000000000000000000" + }, + "1d45586eb803ca2190650bf748a2b174312bb507": { + "balance": "1400000000000000000000" + }, + "c61446b754c24e3b1642d9e51765b4d3e46b34b6": { + "balance": "2000000000000000000000" + }, + "ac28b5edea05b76f8c5f97084541277c96696a4c": { + "balance": "1000000000000000000000" + }, + "1a1c9a26e0e02418a5cf687da75a275c622c9440": { + "balance": "5000000000000000000000" + }, + "299368609042a858d1ecdf1fc0ada5eaceca29cf": { + "balance": "2000000000000000000000" + }, + "095f5a51d06f6340d80b6d29ea2e88118ad730fe": { + "balance": "2000200000000000000000" + }, + "751a2ca34e7187c163d28e3618db28b13c196d26": { + "balance": "500000000000000000000" + }, + "75b0e9c942a4f0f6f86d3f95ff998022fa67963b": { + "balance": "1490000000000000000000" + }, + "d1b37f03cb107424e9c4dd575ccd4f4cee57e6cd": { + "balance": "2000000000000000000000" + }, + "7f993ddb7e02c282b898f6155f680ef5b9aff907": { + "balance": "20000000000000000000000" + }, + "a3d583a7b65b23f60b7905f3e4aa62aac87f4227": { + "balance": "1046779000000000000000" + }, + "526bb533b76e20c8ee1ebf123f1e9ff4148e40be": { + "balance": "197000000000000000000" + }, + "2160b4c02cac0a81de9108de434590a8bfe68735": { + "balance": "1970000000000000000000" + }, + "010007394b8b7565a1658af88ce463499135d6b7": { + "balance": "100000000000000000000" + }, + "64457fa33b0832506c4f7d1180dce48f46f3e0ff": { + "balance": "2000000000000000000000" + }, + "b51e558eb5512fbcfa81f8d0bd938c79ebb5242b": { + "balance": "715000000000000000000" + }, + "94f13f9f0836a3ee2437a84922d2984dc0f7d53b": { + "balance": "2999916000000000000000" + }, + "6bd457ade051795df3f2465c3839aed3c5dee978": { + "balance": "999925000000000000000" + }, + "f3dbcf135acb9dee1a489c593c024f03c2bbaece": { + "balance": "2000000000000000000000" + }, + "61b902c5a673885826820d1fe14549e4865fbdc2": { + "balance": "334703000000000000000" + }, + "2acc9c1a32240b4d5b2f777a2ea052b42fc1271c": { + "balance": "41764000000000000000000" + }, + "6ddfef639155daab0a5cb4953aa8c5afaa880453": { + "balance": "1820000000000000000000" + }, + "96ff6f509968f36cb42cba48db32f21f5676abf8": { + "balance": "1970000000000000000000" + }, + "b4c8170f7b2ab536d1d9a25bdd203ae1288dc3d5": { + "balance": "200000000000000000000" + }, + "78d4f8c71c1e68a69a98f52fcb45da8af56ea1a0": { + "balance": "2000000000000000000000" + }, + "dec99e972fca7177508c8e1a47ac22d768acab7c": { + "balance": "2000000000000000000000" + }, + "a07aa16d74aee8a9a3288d52db1551d593883297": { + "balance": "600000000000000000000" + }, + "cf1169041c1745e45b172435a2fc99b49ace2b00": { + "balance": "31960000000000000000" + }, + "526cb09ce3ada3672eec1deb46205be89a4b563e": { + "balance": "2468000000000000000000" + }, + "ee6959de2b67967b71948c891ab00d8c8f38c7dc": { + "balance": "118200000000000000000" + }, + "ca7ba3ff536c7e5f0e153800bd383db8312998e0": { + "balance": "169600000000000000000" + }, + "1ed06ee51662a86c634588fb62dc43c8f27e7c17": { + "balance": "200000000000000000000" + }, + "730447f97ce9b25f22ba1afb36df27f9586beb9b": { + "balance": "820000000000000000000" + }, + "ae5c9bdad3c5c8a1220444aea5c229c1839f1d64": { + "balance": "477500000000000000000" + }, + "a38306cb70baa8e49186bd68aa70a83d242f2907": { + "balance": "2000000000000000000000" + }, + "71213fca313404204ecba87197741aa9dfe96338": { + "balance": "60000000000000000000" + }, + "10e390ad2ba33d82b37388d09c4544c6b0225de5": { + "balance": "200000000000000000000" + }, + "3b6e814f770748a7c3997806347605480a3fd509": { + "balance": "2000000000000000000000" + }, + "fd452c3969ece3801c542020f1cdcaa1c71ed23d": { + "balance": "100000000000000000000000" + }, + "e742b1e6069a8ffc3c4767235defb0d49cbed222": { + "balance": "800000000000000000000" + }, + "d7225738dcf3578438f8e7c8b3837e42e04a262f": { + "balance": "445860000000000000000" + }, + "cd0b0257e783a3d2c2e3ba9d6e79b75ef98024d4": { + "balance": "2945500000000000000000" + }, + "e80e7fef18a5db15b01473f3ad6b78b2a2f8acd9": { + "balance": "500000000000000000000" + }, + "261575e9cf59c8226fa7aaf91de86fb70f5ac3ae": { + "balance": "300022000000000000000" + }, + "7e71171f2949fa0c3ac254254b1f0440e5e6a038": { + "balance": "40000000000000000000" + }, + "96ea6ac89a2bac95347b51dba63d8bd5ebdedce1": { + "balance": "2000000000000000000000" + }, + "e6ec5cf0c49b9c317e1e706315ef9eb7c0bf11a7": { + "balance": "17200000000000000000000" + }, + "2b99b42e4f42619ee36baa7e4af2d65eacfcba35": { + "balance": "40000000000000000000000" + }, + "c6e4cc0c7283fc1c85bc4813effaaf72b49823c0": { + "balance": "276926000000000000000" + }, + "dbc1ce0e49b1a705d22e2037aec878ee0d75c703": { + "balance": "250000000000000000000" + }, + "806f44bdeb688037015e84ff218049e382332a33": { + "balance": "1999000000000000000000" + }, + "1a3a330e4fcb69dbef5e6901783bf50fd1c15342": { + "balance": "4200000000000000000000" + }, + "d2a84f75675c62d80c88756c428eee2bcb185421": { + "balance": "1200000000000000000000" + }, + "c593b546b7698710a205ad468b2c13152219a342": { + "balance": "1550000000000000000000" + }, + "3f627a769e6a950eb87017a7cd9ca20871136831": { + "balance": "13790000000000000000000" + }, + "f2d5763ce073127e2cedde6faba786c73ca94141": { + "balance": "7900000000000000000000" + }, + "162110f29eac5f7d02b543d8dcd5bb59a5e33b73": { + "balance": "2000000000000000000000" + }, + "59473cd300fffae240f5785626c65dfec792b9af": { + "balance": "20000000000000000000" + }, + "4dcd11815818ae29b85d01367349a8a7fb12d06b": { + "balance": "7900000000000000000000" + }, + "9329ffdc268babde8874b366406c81445b9b2d35": { + "balance": "422415000000000000000" + }, + "0ab4281ebb318590abb89a81df07fa3af904258a": { + "balance": "500000000000000000000" + }, + "875061ee12e820041a01942cb0e65bb427b00060": { + "balance": "2800000000000000000000" + }, + "c9b698e898d20d4d4f408e4e4d061922aa856307": { + "balance": "40000000000000000000" + }, + "ca49a5f58adbefae23ee59eea241cf0482622eaa": { + "balance": "1430000000000000000000" + }, + "196e85df7e732b4a8f0ed03623f4db9db0b8fa31": { + "balance": "21165000000000000000" + }, + "4c760cd9e195ee4f2d6bce2500ff96da7c43ee91": { + "balance": "60000000000000000000000" + }, + "024a098ae702bef5406c9c22b78bd4eb2cc7a293": { + "balance": "4000000000000000000000" + }, + "9d81aea69aed6ad07089d61445348c17f34bfc5b": { + "balance": "300000000000000000000" + }, + "76ab87dd5a05ad839a4e2fc8c85aa6ba05641730": { + "balance": "2000000000000000000000" + }, + "c6e2f5af979a03fd723a1b6efa728318cf9c1800": { + "balance": "668500000000000000000" + }, + "5db69fe93e6fb6fbd450966b97238b110ad8279a": { + "balance": "40000000000000000000000" + }, + "a4259f8345f7e3a8b72b0fec2cf75e321fda4dc2": { + "balance": "1910000000000000000000" + }, + "095030e4b82692dcf8b8d0912494b9b378ec9328": { + "balance": "1340000000000000000000" + }, + "4b470f7ba030bc7cfcf338d4bf0432a91e2ea5ff": { + "balance": "2000000000000000000000" + }, + "99c9f93e45fe3c1418c353e4c5ac3894eef8121e": { + "balance": "101870000000000000000" + }, + "ffac3db879a6c7158e8dec603b407463ba0d31cf": { + "balance": "1970000000000000000000" + }, + "ac8e87ddda5e78fcbcb9fa7fc3ce038f9f7d2e34": { + "balance": "2000000000000000000000" + }, + "7a0589b143a8e5e107c9ac66a9f9f8597ab3e7ab": { + "balance": "1510990000000000000000" + }, + "b7d581fe0af1ec383f3b3c416783f385146a7612": { + "balance": "20000000000000000000000" + }, + "bb3fc0a29c034d710812dcc775c8cab9d28d6975": { + "balance": "1066806000000000000000" + }, + "2c603ff0fe93616c43573ef279bfea40888d6ae7": { + "balance": "4740000000000000000000" + }, + "15f2b7b16432ee50a5f55b41232f6334ed58bdc0": { + "balance": "400000000000000000000" + }, + "7f3d7203c8a447f7bf36d88ae9b6062a5eee78ae": { + "balance": "6000000000000000000000" + }, + "f067e1f1d683556a4cc4fd0c0313239f32c4cfd8": { + "balance": "1000000000000000000000" + }, + "52738c90d860e04cb12f498d96fdb5bf36fc340e": { + "balance": "30000000000000000000" + }, + "45781bbe7714a1c8f73b1c747921df4f84278b70": { + "balance": "2000000000000000000000" + }, + "4a97e8fcf4635ea7fc5e96ee51752ec388716b60": { + "balance": "546000000000000000000" + }, + "54939ff08921b467cf2946751d856378296c63ed": { + "balance": "1000000000000000000000" + }, + "6485470e61db110aebdbafd536769e3c599cc908": { + "balance": "600000000000000000000" + }, + "e20d1bcb71286dc7128a9fc7c6ed7f733892eef5": { + "balance": "1003400000000000000000" + }, + "d6eea898d4ae2b718027a19ce9a5eb7300abe3ca": { + "balance": "27475000000000000000" + }, + "014974a1f46bf204944a853111e52f1602617def": { + "balance": "2000000000000000000000" + }, + "6aa5732f3b86fb8c81efbe6b5b47b563730b06c8": { + "balance": "1000000000000000000000" + }, + "6107d71dd6d0eefb11d4c916404cb98c753e117d": { + "balance": "2000000000000000000000" + }, + "dd7bcda65924aaa49b80984ae173750258b92847": { + "balance": "10000000000000000000000" + }, + "4e7b54474d01fefd388dfcd53b9f662624418a05": { + "balance": "8000000000000000000000" + }, + "24fc73d20793098e09ddab5798506224fa1e1850": { + "balance": "200000000000000000000" + }, + "2b8488bd2d3c197a3d26151815b5a798d27168dc": { + "balance": "6680000000000000000000" + }, + "949131f28943925cfc97d41e0cea0b262973a730": { + "balance": "2800000000000000000000" + }, + "60b8d6b73b79534fb08bb8cbcefac7f393c57bfe": { + "balance": "1760000000000000000000" + }, + "d6acc220ba2e51dfcf21d443361eea765cbd35d8": { + "balance": "20000000000000000000" + }, + "c4c6cb723dd7afa7eb535615e53f3cef14f18118": { + "balance": "1999999000000000000000" + }, + "4c9a862ad115d6c8274ed0b944bdd6a5500510a7": { + "balance": "100000000000000000000" + }, + "85732c065cbd64119941aed430ac59670b6c51c4": { + "balance": "731345000000000000000" + }, + "0126e12ebc17035f35c0e9d11dd148393c405d7a": { + "balance": "1999600000000000000000" + }, + "472048cc609aeb242165eaaa8705850cf3125de0": { + "balance": "1000000000000000000000" + }, + "d2edd1ddd6d86dc005baeb541d22b640d5c7cae5": { + "balance": "20000000000000000000" + }, + "4549b15979255f7e65e99b0d5604db98dfcac8bf": { + "balance": "4000000000000000000000" + }, + "c6c7c191379897dd9c9d9a33839c4a5f62c0890d": { + "balance": "4000085000000000000000" + }, + "d367009ab658263b62c2333a1c9e4140498e1389": { + "balance": "2000000000000000000000" + }, + "143f5f1658d9e578f4f3d95f80c0b1bd3933cbda": { + "balance": "1490000000000000000000" + }, + "1a09fdc2c7a20e23574b97c69e93deba67d37220": { + "balance": "1998000000000000000000" + }, + "ac8b509aefea1dbfaf2bb33500d6570b6fd96d51": { + "balance": "1820000000000000000000" + }, + "16ffac84032940f0121a09668b858a7e79ffa3bb": { + "balance": "3879210000000000000000" + }, + "f338459f32a159b23db30ac335769ab2351aa63c": { + "balance": "30000000000000000000000" + }, + "d82251456dc1380f8f5692f962828640ab9f2a03": { + "balance": "4879980000000000000000" + }, + "47f4696bd462b20da09fb83ed2039818d77625b3": { + "balance": "149000000000000000000" + }, + "3dde8b15b3ccbaa5780112c3d674f313bba68026": { + "balance": "1773000000000000000000" + }, + "f70d637a845c06db6cdc91e6371ce7c4388a628e": { + "balance": "20000000000000000000" + }, + "68295e8ea5afd9093fc0a465d157922b5d2ae234": { + "balance": "19982000000000000000" + }, + "614e8bef3dd2c59b59a4145674401018351884ea": { + "balance": "20000000000000000000" + }, + "4737d042dc6ae73ec73ae2517acea2fdd96487c5": { + "balance": "1000000000000000000000" + }, + "cec6fc65853f9cce5f8e844676362e1579015f02": { + "balance": "2000000000000000000000" + }, + "ae47e2609cfafe369d66d415d939de05081a9872": { + "balance": "27060000000000000000000" + }, + "09a928d528ec1b3e25ffc83e218c1e0afe8928c7": { + "balance": "18200000000000000000" + }, + "9b444fd337e5d75293adcfff70e1ea01db023222": { + "balance": "100000000000000000000" + }, + "168bdec818eafc6d2992e5ef54aa0e1601e3c561": { + "balance": "1000110000000000000000" + }, + "353dbec42f92b50f975129b93c4c997375f09073": { + "balance": "1999000000000000000000" + }, + "6fcc2c732bdd934af6ccd16846fb26ef89b2aa9b": { + "balance": "10001242000000000000000" + }, + "6f2576da4de283bbe8e3ee69ddd66e5e711db3f5": { + "balance": "1260800000000000000000" + }, + "3a3dd104cd7eb04f21932fd433ea7affd39369f5": { + "balance": "357500000000000000000" + }, + "d44f4ac5fad76bdc1537a3b3af6472319b410d9d": { + "balance": "1600000000000000000000" + }, + "3d9d6be57ff83e065985664f12564483f2e600b2": { + "balance": "2041600000000000000000" + }, + "88f1045f19f2d3191816b1df18bb6e1435ad1b38": { + "balance": "240000000000000000000" + }, + "ddab75fb2ff9fecb88f89476688e2b00e367ebf9": { + "balance": "19400000000000000000000" + }, + "092e815558402d67f90d6bfe6da0b2fffa91455a": { + "balance": "60000000000000000000" + }, + "a7024cfd742c1ec13c01fea18d3042e65f1d5dee": { + "balance": "11272229000000000000000" + }, + "7f46bb25460dd7dae4211ca7f15ad312fc7dc75c": { + "balance": "6685000000000000000000" + }, + "93f18cd2526040761488c513174d1e7963768b2c": { + "balance": "2416500000000000000000" + }, + "352f25babf4a690673e35195efa8f79d05848aad": { + "balance": "66800000000000000000000" + }, + "f7b151cc5e571c17c76539dbe9964cbb6fe5de79": { + "balance": "2148000000000000000000" + }, + "ff3eee57c34d6dae970d8b311117c53586cd3502": { + "balance": "1700000000000000000000" + }, + "ae6f0c73fdd77c489727512174d9b50296611c4c": { + "balance": "6000000000000000000000" + }, + "7819b0458e314e2b53bfe00c38495fd4b9fdf8d6": { + "balance": "20000000000000000000" + }, + "7fdba031c78f9c096d62d05a369eeab0bccc55e5": { + "balance": "2800000000000000000000" + }, + "735e328666ed5637142b3306b77ccc5460e72c3d": { + "balance": "1968682000000000000000" + }, + "0bfbb6925dc75e52cf2684224bbe0550fea685d3": { + "balance": "1970000000000000000000" + }, + "6be16313643ebc91ff9bb1a2e116b854ea933a45": { + "balance": "500000000000000000000" + }, + "d6acffd0bfd99c382e7bd56ff0e6144a9e52b08e": { + "balance": "160000000000000000000" + }, + "276a006e3028ecd44cdb62ba0a77ce94ebd9f10f": { + "balance": "1800000000000000000000" + }, + "10711c3dda32317885f0a2fd8ae92e82069b0d0b": { + "balance": "4000000000000000000000" + }, + "43cb9652818c6f4d6796b0e89409306c79db6349": { + "balance": "2000000000000000000000" + }, + "7109dd011d15f3122d9d3a27588c10d77744508b": { + "balance": "2000000000000000000000" + }, + "3497dd66fd118071a78c2cb36e40b6651cc82598": { + "balance": "109600000000000000000" + }, + "9bf672d979b36652fc5282547a6a6bc212ae4368": { + "balance": "656000000000000000000" + }, + "eaed16eaf5daab5bf0295e5e077f59fb8255900b": { + "balance": "4000000000000000000000" + }, + "7ac58f6ffc4f8107ae6e30378e4e9f99c57fbb24": { + "balance": "40000000000000000000" + }, + "45a570dcc2090c86a6b3ea29a60863dde41f13b5": { + "balance": "232500000000000000000" + }, + "433a3b68e56b0df1862b90586bbd39c840ff1936": { + "balance": "2000000000000000000000" + }, + "e8eaf12944092dc3599b3953fa7cb1c9761cc246": { + "balance": "1800000000000000000000" + }, + "ec11362cec810985d0ebbd7b73451444985b369f": { + "balance": "30000047000000000000000" + }, + "78e83f80b3678c7a0a4e3e8c84dccde064426277": { + "balance": "1790000000000000000000" + }, + "0cc67f8273e1bae0867fd42e8b8193d72679dbf8": { + "balance": "500000000000000000000" + }, + "c70d856d621ec145303c0a6400cd17bbd6f5eaf7": { + "balance": "20000000000000000000" + }, + "f468906e7edf664ab0d8be3d83eb7ab3f7ffdc78": { + "balance": "1700000000000000000000" + }, + "3c286cfb30146e5fd790c2c8541552578de334d8": { + "balance": "10203000000000000000000" + }, + "c401c427cccff10decb864202f36f5808322a0a8": { + "balance": "3329300000000000000000" + }, + "afd019ff36a09155346b69974815a1c912c90aa4": { + "balance": "2000000000000000000000" + }, + "96fe59c3dbb3aa7cc8cb62480c65e56e6204a7e2": { + "balance": "20000000000000000000000" + }, + "a47779d8bc1c7bce0f011ccb39ef68b854f8de8f": { + "balance": "2000000000000000000000" + }, + "58c650ced40bb65641b8e8a924a039def46854df": { + "balance": "18500000000000000000" + }, + "86f4f40ad984fbb80933ae626e0e42f9333fdd41": { + "balance": "1000000000000000000000" + }, + "b22d5055d9623135961e6abd273c90deea16a3e7": { + "balance": "1400000000000000000000" + }, + "ee3564f5f1ba0f94ec7bac164bddbf31c6888b55": { + "balance": "100000000000000000000" + }, + "cf26b47bd034bc508e6c4bcfd6c7d30034925761": { + "balance": "1800000000000000000000" + }, + "e87dbac636a37721df54b08a32ef4959b5e4ff82": { + "balance": "2000000000000000000000" + }, + "3bf86ed8a3153ec933786a02ac090301855e576b": { + "balance": "450000000000000000000000" + }, + "cfd2728dfb8bdbf3bf73598a6e13eaf43052ea2b": { + "balance": "170000000000000000000" + }, + "85b16f0b8b34dff3804f69e2168a4f7b24d1042b": { + "balance": "317000000000000000000" + }, + "84db1459bb00812ea67ecb3dc189b72187d9c501": { + "balance": "148851000000000000000" + }, + "8c3a9ee71f729f236cba3867b4d79d8ceee25dbc": { + "balance": "100000000000000000000" + }, + "e677c31fd9cb720075dca49f1abccd59ec33f734": { + "balance": "7800000000000000000000" + }, + "8889448316ccf14ed86df8e2f478dc63c4338340": { + "balance": "15200000000000000000" + }, + "b279c7d355c2880392aad1aa21ee867c3b3507df": { + "balance": "1261000000000000000000" + }, + "12b5e28945bb2969f9c64c63cc05b6f1f8d6f4d5": { + "balance": "7722162000000000000000" + }, + "8d2303341e1e1eb5e8189bde03f73a60a2a54861": { + "balance": "100000000000000000000" + }, + "94d81074db5ae197d2bb1373ab80a87d121c4bd3": { + "balance": "9400000000000000000000" + }, + "752c9febf42f66c4787bfa7eb17cf5333bba5070": { + "balance": "1966448000000000000000" + }, + "16816aac0ede0d2d3cd442da79e063880f0f1d67": { + "balance": "2000000000000000000000" + }, + "daac91c1e859d5e57ed3084b50200f9766e2c52b": { + "balance": "400000000000000000000" + }, + "32c2fde2b6aabb80e5aea2b949a217f3cb092283": { + "balance": "5614827000000000000000" + }, + "cdab46a5902080646fbf954204204ae88404822b": { + "balance": "544942000000000000000" + }, + "fdf42343019b0b0c6bf260b173afab7e45b9d621": { + "balance": "1999944000000000000000" + }, + "791f6040b4e3e50dcf3553f182cd97a90630b75d": { + "balance": "4000000000000000000000" + }, + "4b762166dd1118e84369f804c75f9cd657bf730c": { + "balance": "500000000000000000000" + }, + "a76d3f156251b72c0ccf4b47a3393cbd6f49a9c5": { + "balance": "1337000000000000000000" + }, + "c5eb42295e9cadeaf2af12dede8a8d53c579c469": { + "balance": "3820000000000000000000" + }, + "db9371b30c4c844e59e03e924be606a938d1d310": { + "balance": "2000000000000000000000" + }, + "2cd39334ac7eac797257abe3736195f5b4b5ce0f": { + "balance": "99964000000000000000" + }, + "ad44357e017e244f476931c7b8189efee80a5d0a": { + "balance": "300000000000000000000" + }, + "4ca7b717d9bc8793b04e051a8d23e1640f5ba5e3": { + "balance": "1248980000000000000000" + }, + "73e4a2b60cf48e8baf2b777e175a5b1e4d0c2d8f": { + "balance": "100000000000000000000" + }, + "5a1d2d2d1d520304b6208849570437eb3091bb9f": { + "balance": "1970000000000000000000" + }, + "53047dc8ac9083d90672e8b3473c100ccd278323": { + "balance": "40000000000000000000" + }, + "26fe174cbf526650e0cd009bd6126502ce8e684d": { + "balance": "11640000000000000000000" + }, + "e2df23f6ea04becf4ab701748dc0963184555cdb": { + "balance": "2000000000000000000000" + }, + "c1170dbaadb3dee6198ea544baec93251860fda5": { + "balance": "1200000000000000000000" + }, + "8bbeacfc29cfe93402db3c41d99ab759662e73ec": { + "balance": "2000000000000000000000" + }, + "165305b787322e25dc6ad0cefe6c6f334678d569": { + "balance": "2000000000000000000000" + }, + "095457f8ef8e2bdc362196b9a9125da09c67e3ab": { + "balance": "200000000000000000000" + }, + "702802f36d00250fab53adbcd696f0176f638a49": { + "balance": "2000000000000000000000" + }, + "489334c2b695c8ee0794bd864217fb9fd8f8b135": { + "balance": "18200000000000000000" + }, + "fa8cf4e627698c5d5788abb7880417e750231399": { + "balance": "4244640000000000000000" + }, + "3329eb3baf4345d600ced40e6e9975656f113742": { + "balance": "4999711000000000000000" + }, + "b4dd5499daeb2507fb2de12297731d4c72b16bb0": { + "balance": "20000000000000000000" + }, + "88c2516a7cdb09a6276d7297d30f5a4db1e84b86": { + "balance": "4000000000000000000000" + }, + "612ced8dc0dc9e899ee46f7962333315f3f55e44": { + "balance": "338830000000000000000" + }, + "d71e43a45177ad51cbe0f72184a5cb503917285a": { + "balance": "200000000000000000000" + }, + "2fb566c94bbba4e3cb67cdda7d5fad7131539102": { + "balance": "2000000000000000000000" + }, + "03be5b4629aefbbcab9de26d39576cb7f691d764": { + "balance": "200550000000000000000" + }, + "025367960304beee34591118e9ac2d1358d8021a": { + "balance": "2000000000000000000000" + }, + "a5d5b8b62d002def92413710d13b6ff8d4fc7dd3": { + "balance": "400000000000000000000" + }, + "df3b72c5bd71d4814e88a62321a93d4011e3578b": { + "balance": "4000000000000000000000" + }, + "3588895ac9fbafec012092dc05c0c302d90740fa": { + "balance": "3000000000000000000000" + }, + "6021e85a8814fce1e82a41abd1d3b2dad2faefe0": { + "balance": "2000000000000000000000" + }, + "17ee9f54d4ddc84d670eff11e54a659fd72f4455": { + "balance": "16000000000000000000000" + }, + "873c6f70efb6b1d0f2bbc57eebcd70617c6ce662": { + "balance": "1013478000000000000000" + }, + "1fcc7ce6a8485895a3199e16481f72e1f762defe": { + "balance": "1000000000000000000000" + }, + "d0a7209b80cf60db62f57d0a5d7d521a69606655": { + "balance": "160000000000000000000" + }, + "a514d00edd7108a6be839a638db2415418174196": { + "balance": "30000000000000000000000" + }, + "046377f864b0143f282174a892a73d3ec8ec6132": { + "balance": "191000000000000000000" + }, + "c126573d87b0175a5295f1dd07c575cf8cfa15f2": { + "balance": "10000000000000000000000" + }, + "0e123d7da6d1e6fac2dcadd27029240bb39052fe": { + "balance": "1000000000000000000000" + }, + "ad5a8d3c6478b69f657db3837a2575ef8e1df931": { + "balance": "36990000000000000000" + }, + "db882eacedd0eff263511b312adbbc59c6b8b25b": { + "balance": "9100000000000000000000" + }, + "0b43bd2391025581d8956ce42a072579cbbfcb14": { + "balance": "18800000000000000000" + }, + "affea0473722cb7f0e0e86b9e11883bf428d8d54": { + "balance": "1940000000000000000000" + }, + "e32b1c4725a1875449e98f970eb3e54062d15800": { + "balance": "200000000000000000000" + }, + "98f4af3af0aede5fafdc42a081ecc1f89e3ccf20": { + "balance": "9400000000000000000000" + }, + "3b4768fd71e2db2cbe7fa050483c27b4eb931df3": { + "balance": "2000000000000000000000" + }, + "d5f7c41e07729dfa6dfc64c4423160a22c609fd3": { + "balance": "1790000000000000000000" + }, + "d944c8a69ff2ca1249690c1229c7192f36251062": { + "balance": "1970000000000000000000" + }, + "5ae64e853ba0a51282cb8db52e41615e7c9f733f": { + "balance": "2000000000000000000000" + }, + "b13f93af30e8d7667381b2b95bc1a699d5e3e129": { + "balance": "420000000000000000000" + }, + "8a20e5b5cee7cd1f5515bace3bf4f77ffde5cc07": { + "balance": "80000000000000000000" + }, + "2448596f91c09baa30bc96106a2d37b5705e5d28": { + "balance": "2000000000000000000000" + }, + "ccca24d8c56d6e2c07db086ec07e585be267ac8d": { + "balance": "200000000000000000000" + }, + "f67bb8e2118bbcd59027666eedf6943ec9f880a5": { + "balance": "4000000000000000000000" + }, + "7ae659eb3bc46852fa86fac4e21c768d50388945": { + "balance": "286000000000000000000" + }, + "467e0ed54f3b76ae0636176e07420815a021736e": { + "balance": "2000000000000000000000" + }, + "a46cd237b63eea438c8e3b6585f679e4860832ac": { + "balance": "1000000000000000000000" + }, + "6b760d4877e6a627c1c967bee451a8507ddddbab": { + "balance": "910000000000000000000" + }, + "593044670faeff00a55b5ae051eb7be870b11694": { + "balance": "133700000000000000000" + }, + "533c06928f19d0a956cc28866bf6c8d8f4191a94": { + "balance": "292320000000000000000" + }, + "262dc1364ccf6df85c43268ee182554dae692e29": { + "balance": "4927600000000000000000" + }, + "e4368bc1420b35efda95fafbc73090521916aa34": { + "balance": "4000000000000000000000" + }, + "feb92d30bf01ff9a1901666c5573532bfa07eeec": { + "balance": "1000000000000000000000" + }, + "ee25b9a7032679b113588ed52c137d1a053a1e94": { + "balance": "199820000000000000000" + }, + "20134cbff88bfadc466b52eceaa79857891d831e": { + "balance": "1000000000000000000000" + }, + "07b1a306cb4312df66482c2cae72d1e061400fcd": { + "balance": "20000000000000000000000" + }, + "e791d585b89936b25d298f9d35f9f9edc25a2932": { + "balance": "2000000000000000000000" + }, + "2e6933543d4f2cc00b5350bd8068ba9243d6beb0": { + "balance": "2000000000000000000000" + }, + "dae0d33eaa341569fa9ff5982684854a4a328a6e": { + "balance": "1000000000000000000000" + }, + "125cc5e4d56b2bcc2ee1c709fb9e68fb177440bd": { + "balance": "2000000000000000000000" + }, + "ec99e95dece46ffffb175eb6400fbebb08ee9b95": { + "balance": "100000000000000000000" + }, + "c538a0ff282aaa5f4b75cfb62c70037ee67d4fb5": { + "balance": "2000000000000000000000" + }, + "60676d1fa21fca052297e24bf96389c5b12a70d7": { + "balance": "241500000000000000000" + }, + "4b3dfbdb454be5279a3b8addfd0ed1cd37a9420d": { + "balance": "2000000000000000000000" + }, + "cdb597299030183f6e2d238533f4642aa58754b6": { + "balance": "400000000000000000000" + }, + "1ef2dcbfe0a500411d956eb8c8939c3d6cfe669d": { + "balance": "776000000000000000000" + }, + "a7247c53d059eb7c9310f628d7fc6c6a0a773f08": { + "balance": "500000000000000000000" + }, + "9799ca21dbcf69bfa1b3f72bac51b9e3ca587cf9": { + "balance": "1700000000000000000000" + }, + "ddf95c1e99ce2f9f5698057c19d5c94027ee4a6e": { + "balance": "6000000000000000000000" + }, + "83563bc364ed81a0c6da3b56ff49bbf267827a9c": { + "balance": "17332000000000000000000" + }, + "a192698007cc11aa603d221d5feea076bcf7c30d": { + "balance": "2000000000000000000000" + }, + "0134ff38155fabae94fd35c4ffe1d79de7ef9c59": { + "balance": "985000000000000000000" + }, + "80977316944e5942e79b0e3abad38da746086519": { + "balance": "38800000000000000000" + }, + "193d37ed347d1c2f4e35350d9a444bc57ca4db43": { + "balance": "60000000000000000000" + }, + "009a6d7db326679b77c90391a7476d238f3ba33e": { + "balance": "200200000000000000000" + }, + "337b3bdf86d713dbd07b5dbfcc022b7a7b1946ae": { + "balance": "3980000000000000000000" + }, + "7de7fe419cc61f91f408d234cc80d5ca3d054d99": { + "balance": "20000000000000000000" + }, + "f47bb134da30a812d003af8dccb888f44bbf5724": { + "balance": "5190000000000000000000" + }, + "fd920f722682afb5af451b0544d4f41b3b9d5742": { + "balance": "2330200000000000000000" + }, + "0a917f3b5cb0b883047fd9b6593dbcd557f453b9": { + "balance": "1000000000000000000000" + }, + "ce9786d3712fa200e9f68537eeaa1a06a6f45a4b": { + "balance": "1790000000000000000000" + }, + "9ab98d6dbb1eaae16d45a04568541ad3d8fe06cc": { + "balance": "272451000000000000000" + }, + "0b7bb342f01bc9888e6a9af4a887cbf4c2dd2caf": { + "balance": "16000000000000000000000" + }, + "4c0b1515dfced7a13e13ee12c0f523ae504f032b": { + "balance": "50000000000000000000000" + }, + "ac2889b5966f0c7f9edb42895cb69d1c04f923a2": { + "balance": "5000000000000000000000" + }, + "d008513b27604a89ba1763b6f84ce688b346945b": { + "balance": "1000000000000000000000" + }, + "a4b09de6e713dc69546e76ef0acf40b94f0241e6": { + "balance": "322656000000000000000" + }, + "b153f828dd076d4a7c1c2574bb2dee1a44a318a8": { + "balance": "400000000000000000000" + }, + "02ade5db22f8b758ee1443626c64ec2f32aa0a15": { + "balance": "20000000000000000000000" + }, + "0a0650861f785ed8e4bf1005c450bbd06eb48fb6": { + "balance": "3066860000000000000000" + }, + "b75149e185f6e3927057739073a1822ae1cf0df2": { + "balance": "4000086000000000000000" + }, + "84cb7da0502df45cf561817bbd2362f451be02da": { + "balance": "1337000000000000000000" + }, + "c91bb562e42bd46130e2d3ae4652b6a4eb86bc0f": { + "balance": "540000000000000000000" + }, + "b234035f7544463ce1e22bc553064684c513cd51": { + "balance": "249750000000000000000" + }, + "e5e33800a1b2e96bde1031630a959aa007f26e51": { + "balance": "1337000000000000000000" + }, + "ae5ce3355a7ba9b332760c0950c2bc45a85fa9a0": { + "balance": "400000000000000000000" + }, + "e6f5eb649afb99599c414b27a9c9c855357fa878": { + "balance": "2674000000000000000000" + }, + "7010be2df57bd0ab9ae8196cd50ab0c521aba9f9": { + "balance": "1970000000000000000000" + }, + "ca4288014eddc5632f5facb5e38517a8f8bc5d98": { + "balance": "340000000000000000000" + }, + "2784903f1d7c1b5cd901f8875d14a79b3cbe2a56": { + "balance": "22388000000000000000000" + }, + "f8dce867f0a39c5bef9eeba609229efa02678b6c": { + "balance": "2000000000000000000000" + }, + "e020e86362b487752836a6de0bc02cd8d89a8b6a": { + "balance": "6000000000000000000000" + }, + "c4088c025f3e85013f5439fb3440a17301e544fe": { + "balance": "2325000000000000000000" + }, + "befb448c0c5f683fb67ee570baf0db5686599751": { + "balance": "1970000000000000000000" + }, + "2f187d5a704d5a338c5b2876a090dce964284e29": { + "balance": "4000000000000000000000" + }, + "ec0e18a01dc4dc5daae567c3fa4c7f8f9b590205": { + "balance": "315900000000000000000" + }, + "637f5869d6e4695f0eb9e27311c4878aff333380": { + "balance": "1969212000000000000000" + }, + "d1100dd00fe2ddf18163ad964d0b69f1f2e9658a": { + "balance": "5959598000000000000000" + }, + "17ef4acc1bf147e326749d10e677dcffd76f9e06": { + "balance": "39980000000000000000000" + }, + "200dfc0b71e359b2b465440a36a6cdc352773007": { + "balance": "1500000000000000000000" + }, + "efe0675da98a5dda70cd96196b87f4e726b43348": { + "balance": "1164000000000000000000" + }, + "d5bd5e8455c130169357c471e3e681b7996a7276": { + "balance": "841500000000000000000" + }, + "9c7b6dc5190fe2912963fcd579683ec7395116b0": { + "balance": "776000000000000000000" + }, + "b105dd3d987cffd813e9c8500a80a1ad257d56c6": { + "balance": "1999944000000000000000" + }, + "145250b06e4fa7cb2749422eb817bdda8b54de5f": { + "balance": "219000000000000000000" + }, + "d96db33b7b5a950c3efa2dc31b10ba10a532ef87": { + "balance": "2000000000000000000000" + }, + "af529bdb459cc185bee5a1c58bf7e8cce25c150d": { + "balance": "197000000000000000000" + }, + "185546e8768d506873818ac9751c1f12116a3bef": { + "balance": "200000000000000000000" + }, + "51d24bc3736f88dd63b7222026886630b6eb878d": { + "balance": "2000000000000000000000" + }, + "69af28b0746cac0da17084b9398c5e36bb3a0df2": { + "balance": "1004700000000000000000" + }, + "76f83ac3da30f7092628c7339f208bfc142cb1ee": { + "balance": "2842600000000000000000" + }, + "00f463e137dcf625fbf3bca39eca98d2b968cf7f": { + "balance": "5910000000000000000000" + }, + "2084fce505d97bebf1ad8c5ff6826fc645371fb2": { + "balance": "30000000000000000000" + }, + "53a714f99fa00fef758e23a2e746326dad247ca7": { + "balance": "1490000000000000000000" + }, + "0bf064428f83626722a7b5b26a9ab20421a7723e": { + "balance": "133700000000000000000" + }, + "ac6f68e837cf1961cb14ab47446da168a16dde89": { + "balance": "1337000000000000000000" + }, + "4b3c7388cc76da3d62d40067dabccd7ef0433d23": { + "balance": "100076000000000000000" + }, + "deb9a49a43873020f0759185e20bbb4cf381bb8f": { + "balance": "211628000000000000000" + }, + "5bf9f2226e5aeacf1d80ae0a59c6e38038bc8db5": { + "balance": "6000000000000000000000" + }, + "9d0e7d92fb305853d798263bf15e97c72bf9d7e0": { + "balance": "1000000000000000000000" + }, + "2b5c60e84535eeb4d580de127a12eb2677ccb392": { + "balance": "20000000000000000000000" + }, + "d8d65420c18c2327cc5af97425f857e4a9fd51b3": { + "balance": "1760000000000000000000" + }, + "30ec9392244a2108c987bc5cdde0ed9f837a817b": { + "balance": "1560562000000000000000" + }, + "56a1d60d40f57f308eebf087dee3b37f1e7c2cba": { + "balance": "1159600000000000000000" + }, + "a9a1cdc33bfd376f1c0d76fb6c84b6b4ac274d68": { + "balance": "5000000000000000000000" + }, + "a67f38819565423aa85f3e3ab61bc763cbab89dd": { + "balance": "2130000000000000000000" + }, + "62d5cc7117e18500ac2f9e3c26c86b0a94b0de15": { + "balance": "105000000000000000000" + }, + "4970d3acf72b5b1f32a7003cf102c64ee0547941": { + "balance": "140000000000000000000000" + }, + "76628150e2995b5b279fc83e0dd5f102a671dd1c": { + "balance": "40000000000000000000000" + }, + "3d8f39881b9edfe91227c33fa4cdd91e678544b0": { + "balance": "86111000000000000000" + }, + "ff0b7cb71da9d4c1ea6ecc28ebda504c63f82fd1": { + "balance": "1043000000000000000000" + }, + "8d795c5f4a5689ad62da961671f028065286d554": { + "balance": "2048000000000000000000" + }, + "be2346a27ff9b702044f500deff2e7ffe6824541": { + "balance": "20000000000000000000" + }, + "0dbd417c372b8b0d01bcd944706bd32e60ae28d1": { + "balance": "340000000000000000000" + }, + "467fbf41441600757fe15830c8cd5f4ffbbbd560": { + "balance": "10000000000000000000000" + }, + "090cd67b60e81d54e7b5f6078f3e021ba65b9a1e": { + "balance": "1000000000000000000000" + }, + "55a4cac0cb8b582d9fef38c5c9fff9bd53093d1f": { + "balance": "1970000000000000000000" + }, + "3b7b4f53c45655f3dc5f017edc23b16f9bc536fa": { + "balance": "100000000000000000000" + }, + "d508d39c70916f6abc4cc7f999f011f077105802": { + "balance": "100470000000000000000" + }, + "037dd056e7fdbd641db5b6bea2a8780a83fae180": { + "balance": "140000000000000000000" + }, + "660557bb43f4be3a1b8b85e7df7b3c5bcd548057": { + "balance": "6000000000000000000000" + }, + "02089361a3fe7451fb1f87f01a2d866653dc0b07": { + "balance": "39976000000000000000" + }, + "c4bec96308a20f90cab18399c493fd3d065abf45": { + "balance": "14000000000000000000000" + }, + "cca07bb794571d4acf041dad87f0d1ef3185b319": { + "balance": "2000000000000000000000" + }, + "f2d0e986d814ea13c8f466a0538c53dc922651f0": { + "balance": "1380000000000000000000" + }, + "662cfa038fab37a01745a364e1b98127c503746d": { + "balance": "3940000000000000000000" + }, + "3336c3ef6e8b50ee90e037b164b7a8ea5faac65d": { + "balance": "272712000000000000000" + }, + "30e33358fc21c85006e40f32357dc8895940aaf0": { + "balance": "1910000000000000000000" + }, + "41a9a404fc9f5bfee48ec265b12523338e29a8bf": { + "balance": "388000000000000000000" + }, + "6af235d2bbe050e6291615b71ca5829658810142": { + "balance": "3000000000000000000000" + }, + "fd5a63157f914fd398eab19c137dd9550bb7715c": { + "balance": "100000000000000000000" + }, + "8a4314fb61cd938fc33e15e816b113f2ac89a7fb": { + "balance": "432800000000000000000" + }, + "b216dc59e27c3d7279f5cd5bb2becfb2606e14d9": { + "balance": "400000000000000000000" + }, + "f5a5459fcdd5e5b273830df88eea4cb77ddadfb9": { + "balance": "74500000000000000000" + }, + "df31025f5649d2c6eea41ed3bdd3471a790f759a": { + "balance": "20000000000000000000" + }, + "721f9d17e5a0e74205947aeb9bc6a7938961038f": { + "balance": "51900000000000000000" + }, + "08d0864dc32f9acb36bf4ea447e8dd6726906a15": { + "balance": "2000200000000000000000" + }, + "54575c3114751e3c631971da6a2a02fd3ffbfcc8": { + "balance": "1940000000000000000000" + }, + "8f60895fbebbb5017fcbff3cdda397292bf25ba6": { + "balance": "429177000000000000000" + }, + "91fe8a4c6164df8fa606995d6ba7adcaf1c893ce": { + "balance": "17000000000000000000000" + }, + "889087f66ff284f8b5efbd29493b706733ab1447": { + "balance": "9850000000000000000000" + }, + "051633080d07a557adde319261b074997f14692d": { + "balance": "5800000000000000000000" + }, + "59a12df2e3ef857aceff9306b309f6a500f70134": { + "balance": "1000000000000000000000" + }, + "9f64a8e8dacf4ade30d10f4d59b0a3d5abfdbf74": { + "balance": "1000060000000000000000" + }, + "8846928d683289a2d11df8db7a9474988ef01348": { + "balance": "10000000000000000000000" + }, + "dff1b220de3d8e9ca4c1b5be34a799bcded4f61c": { + "balance": "385428000000000000000" + }, + "7e7c1e9a61a08a83984835c70ec31d34d3eaa87f": { + "balance": "191000000000000000000" + }, + "fe210b8f04dc6d4f76216acfcbd59ba83be9b630": { + "balance": "20000000000000000000" + }, + "dc8c2912f084a6d184aa73638513ccbc326e0102": { + "balance": "1295000000000000000000" + }, + "dddd7b9e6eab409b92263ac272da801b664f8a57": { + "balance": "500000000000000000000000" + }, + "86a5f8259ed5b09e188ce346ee92d34aa5dd93fa": { + "balance": "200000000000000000000" + }, + "dc1f1979615f082140b8bb78c67b27a1942713b1": { + "balance": "60000000000000000000" + }, + "ea66e7b84dcdbf36eea3e75b85382a75f1a15d96": { + "balance": "1729135000000000000000" + }, + "039e7a4ebc284e2ccd42b1bdd60bd6511c0f7706": { + "balance": "17300000000000000000" + }, + "36bfe1fa3b7b70c172eb042f6819a8972595413e": { + "balance": "1000000000000000000000" + }, + "039ef1ce52fe7963f166d5a275c4b1069fe3a832": { + "balance": "400008000000000000000" + }, + "f1df55dcc34a051012b575cb968bc9c458ea09c9": { + "balance": "4000000000000000000000" + }, + "168b5019b818691644835fe69bf229e17112d52c": { + "balance": "28000000000000000000000" + }, + "f60bd735543e6bfd2ea6f11bff627340bc035a23": { + "balance": "2000000000000000000000" + }, + "2cbb0c73df91b91740b6693b774a7d05177e8e58": { + "balance": "1850000000000000000000" + }, + "9ffcf5ef46d933a519d1d16c6ba3189b27496224": { + "balance": "1000000000000000000000" + }, + "0e11d77a8977fac30d268445e531149b31541a24": { + "balance": "2000000000000000000000" + }, + "dfb1626ef48a1d7d7552a5e0298f1fc23a3b482d": { + "balance": "1713860000000000000000" + }, + "cc943be1222cd1400a2399dd1b459445cf6d54a9": { + "balance": "12530000000000000000000" + }, + "b37c2b9f50637bece0ca959208aefee6463ba720": { + "balance": "400000000000000000000" + }, + "96b906ea729f4655afe3e57d35277c967dfa1577": { + "balance": "1000000000000000000000" + }, + "7995bd8ce2e0c67bf1c7a531d477bca1b2b97561": { + "balance": "5945100000000000000000" + }, + "96f820500b70f4a3e3239d619cff8f222075b135": { + "balance": "200000000000000000000" + }, + "ad3565d52b688added08168b2d3872d17d0a26ae": { + "balance": "100000000000000000000" + }, + "9e7c2050a227bbfd60937e268cea3e68fea8d1fe": { + "balance": "100000000000000000000" + }, + "7e59dc60be8b2fc19abd0a5782c52c28400bce97": { + "balance": "1000000000000000000000" + }, + "01ed5fba8d2eab673aec042d30e4e8a611d8c55a": { + "balance": "2000000000000000000000" + }, + "59a087b9351ca42f58f36e021927a22988284f38": { + "balance": "18500000000000000000" + }, + "2fe0023f5722650f3a8ac01009125e74e3f82e9b": { + "balance": "3000000000000000000000" + }, + "bd1803370bddb129d239fd16ea8526a6188ae58e": { + "balance": "500000000000000000000" + }, + "c70527d444c490e9fc3f5cc44e66eb4f306b380f": { + "balance": "4000000000000000000000" + }, + "0f206e1a1da7207ea518b112418baa8b06260328": { + "balance": "600000000000000000000" + }, + "6e1a046caf5b4a57f4fd4bc173622126b4e2fd86": { + "balance": "1790000000000000000000" + }, + "84008a72f8036f3feba542e35078c057f32a8825": { + "balance": "100000000000000000000" + }, + "246291165b59332df5f18ce5c98856fae95897d6": { + "balance": "1700000000000000000000" + }, + "7e99dfbe989d3ba529d19751b7f4317f8953a3e2": { + "balance": "400000000000000000000" + }, + "748c285ef1233fe4d31c8fb1378333721c12e27a": { + "balance": "2000000000000000000000" + }, + "3dd12e556a603736feba4a6fa8bd4ac45d662a04": { + "balance": "167450000000000000000000" + }, + "d0ae735d915e946866e1fea77e5ea466b5cadd16": { + "balance": "2000000000000000000000" + }, + "4f767bc8794aef9a0a38fea5c81f14694ff21a13": { + "balance": "512200000000000000000" + }, + "0e2f8e28a681f77c583bd0ecde16634bdd7e00cd": { + "balance": "95060000000000000000" + }, + "d74a6e8d6aab34ce85976814c1327bd6ea0784d2": { + "balance": "100000000000000000000000" + }, + "629be7ab126a5398edd6da9f18447e78c692a4fd": { + "balance": "2000000000000000000000" + }, + "2e46fcee6a3bb145b594a243a3913fce5dad6fba": { + "balance": "10000000000000000000000" + }, + "e39b11a8ab1ff5e22e5ae6517214f73c5b9b55dc": { + "balance": "2000000000000000000000" + }, + "119aa64d5b7d181dae9d3cb449955c89c1f963fa": { + "balance": "700000000000000000000" + }, + "ce079f51887774d8021cb3b575f58f18e9acf984": { + "balance": "180000000000000000000" + }, + "550c306f81ef5d9580c06cb1ab201b95c748a691": { + "balance": "665800000000000000000" + }, + "06dc7f18cee7edab5b795337b1df6a9e8bd8ae59": { + "balance": "400000000000000000000" + }, + "e21c778ef2a0d7f751ea8c074d1f812243863e4e": { + "balance": "5308559000000000000000" + }, + "45d4b54d37a8cf599821235f062fa9d170ede8a4": { + "balance": "324000000000000000000" + }, + "893a6c2eb8b40ab096b4f67e74a897b840746e86": { + "balance": "1730000000000000000000" + }, + "d44d81e18f46e2cfb5c1fcf5041bc8569767d100": { + "balance": "36381800000000000000000" + }, + "c5de1203d3cc2cea31c82ee2de5916880799eafd": { + "balance": "5000000000000000000000" + }, + "7f0f04fcf37a53a4e24ede6e93104e78be1d3c9e": { + "balance": "2000000000000000000000" + }, + "3ce1dc97fcd7b7c4d3a18a49d6f2a5c1b1a906d7": { + "balance": "200000000000000000000" + }, + "ac4ee9d502e7d2d2e99e59d8ca7d5f00c94b4dd6": { + "balance": "1000000000000000000000" + }, + "7640a37f8052981515bce078da93afa4789b5734": { + "balance": "2000000000000000000000" + }, + "76cac488111a4fd595f568ae3a858770fc915d5f": { + "balance": "200000000000000000000" + }, + "ff4a408f50e9e72146a28ce4fc8d90271f116e84": { + "balance": "1970000000000000000000" + }, + "249db29dbc19d1235da7298a04081c315742e9ac": { + "balance": "1801800000000000000000" + }, + "3a04572847d31e81f7765ca5bfc9d557159f3683": { + "balance": "133031000000000000000" + }, + "b6771b0bf3427f9ae7a93e7c2e61ee63941fdb08": { + "balance": "18800000000000000000000" + }, + "30c26a8e971baa1855d633ba703f028cc7873140": { + "balance": "10000000000000000000000" + }, + "167e3e3ae2003348459392f7dfce44af7c21ad59": { + "balance": "500000000000000000000" + }, + "43f16f1e75c3c06a9478e8c597a40a3cb0bf04cc": { + "balance": "2914000000000000000000" + }, + "056b1546894f9a85e203fb336db569b16c25e04f": { + "balance": "169397000000000000000" + }, + "70616e2892fa269705b2046b8fe3e72fa55816d3": { + "balance": "20000000000000000000000" + }, + "8f4d1d41693e462cf982fd81d0aa701d3a5374c9": { + "balance": "4000000000000000000000" + }, + "c518799a5925576213e21896e0539abb85b05ae3": { + "balance": "1000000000000000000000" + }, + "0e3a28c1dfafb0505bdce19fe025f506a6d01ceb": { + "balance": "2000000000000000000000" + }, + "e4a47e3933246c3fd62979a1ea19ffdf8c72ef37": { + "balance": "148273000000000000000" + }, + "d231929735132102471ba59007b6644cc0c1de3e": { + "balance": "1000090000000000000000" + }, + "555d8d3ce1798aca902754f164b8be2a02329c6c": { + "balance": "10000000000000000000000" + }, + "5ab1a5615348001c7c775dc75748669b8be4de14": { + "balance": "690200000000000000000" + }, + "2fee36a49ee50ecf716f1047915646779f8ba03f": { + "balance": "1056230000000000000000" + }, + "54db5e06b4815d31cb56a8719ba33af2d73e7252": { + "balance": "670000000000000000000" + }, + "7c8bb65a6fbb49bd413396a9d7e31053bbb37aa9": { + "balance": "6000000000000000000000" + }, + "c1384c6e717ebe4b23014e51f31c9df7e4e25b31": { + "balance": "500000000000000000000" + }, + "474158a1a9dc693c133f65e47b5c3ae2f773a86f": { + "balance": "200200000000000000000" + }, + "2934c0df7bbc172b6c186b0b72547ace8bf75454": { + "balance": "60000000000000000000" + }, + "6966063aa5de1db5c671f3dd699d5abe213ee902": { + "balance": "8000000000000000000000" + }, + "9225d46a5a80943924a39e5b84b96da0ac450581": { + "balance": "40000000000000000000000" + }, + "671bbca099ff899bab07ea1cf86965c3054c8960": { + "balance": "50000000000000000000" + }, + "f1f766b0e46d73fcd4d52e7a72e1b9190cc632b3": { + "balance": "8000000000000000000000" + }, + "ef0dc7dd7a53d612728bcbd2b27c19dd4d7d666f": { + "balance": "705668000000000000000" + }, + "38d2e9154964b41c8d50a7487d391e7ee2c3d3c2": { + "balance": "3500000000000000000000" + }, + "352a785f4a921632504ce5d015f83c49aa838d6d": { + "balance": "4314800000000000000000" + }, + "743de50026ca67c94df54f066260e1d14acc11ac": { + "balance": "2000000000000000000000" + }, + "b188078444027e386798a8ae68698919d5cc230d": { + "balance": "267400000000000000000" + }, + "53608105ce4b9e11f86bf497ffca3b78967b5f96": { + "balance": "20000000000000000000000" + }, + "3b159099075207c6807663b1f0f7eda54ac8cce3": { + "balance": "1969543000000000000000" + }, + "141a5e39ee2f680a600fbf6fa297de90f3225cdd": { + "balance": "10000000000000000000000" + }, + "44fff37be01a3888d3b8b8e18880a7ddefeeead3": { + "balance": "259145000000000000000" + }, + "c5a629a3962552cb8eded889636aafbd0c18ce65": { + "balance": "10000000000000000000000" + }, + "fdba5359f7ec3bc770ac49975d844ec9716256f1": { + "balance": "1000000000000000000000" + }, + "7c1df24a4f7fb2c7b472e0bb006cb27dcd164156": { + "balance": "1000000000000000000000" + }, + "ab7d54c7c6570efca5b4b8ce70f52a5773e5d53b": { + "balance": "279600000000000000000" + }, + "3f173aa6edf469d185e59bd26ae4236b92b4d8e1": { + "balance": "320000000000000000000" + }, + "a3f4ad14e0bb44e2ce2c14359c75b8e732d37054": { + "balance": "200000000000000000000" + }, + "ac5f627231480d0d95302e6d89fc32cb1d4fe7e3": { + "balance": "200000000000000000000" + }, + "d0775dba2af4c30a3a78365939cd71c2f9de95d2": { + "balance": "1940000000000000000000" + }, + "ad94235fc3b3f47a2413af31e884914908ef0c45": { + "balance": "500008000000000000000" + }, + "eaedcc6b8b6962d5d9288c156c579d47c0a9fcff": { + "balance": "85000000000000000000" + }, + "7ac48d40c664cc9a6d89f1c5f5c80a1c70e744e6": { + "balance": "3008000000000000000000" + }, + "ec73114c5e406fdbbe09b4fa621bd70ed54ea1ef": { + "balance": "24500000000000000000000" + }, + "a690f1a4b20ab7ba34628620de9ca040c43c1963": { + "balance": "4000000000000000000000" + }, + "cad14f9ebba76680eb836b079c7f7baaf481ed6d": { + "balance": "238600000000000000000" + }, + "6c714a58fff6e97d14b8a5e305eb244065688bbd": { + "balance": "4000000000000000000000" + }, + "3e618350fa01657ab0ef3ebac8e37012f8fc2b6f": { + "balance": "2804400000000000000000" + }, + "c946d5acc1346eba0a7279a0ac1d465c996d827e": { + "balance": "16385128000000000000000" + }, + "1164caaa8cc5977afe1fad8a7d6028ce2d57299b": { + "balance": "400000000000000000000" + }, + "7917e5bd82a9790fd650d043cdd930f7799633db": { + "balance": "3999800000000000000000" + }, + "d52aecc6493938a28ca1c367b701c21598b6a02e": { + "balance": "1100000000000000000000" + }, + "98bed3a72eccfbafb923489293e429e703c7e25b": { + "balance": "2000000000000000000000" + }, + "42db0b902559e04087dd5c441bc7611934184b89": { + "balance": "2014420000000000000000" + }, + "43bc2d4ddcd6583be2c7bc094b28fb72e62ba83b": { + "balance": "2000000000000000000000" + }, + "85f0e7c1e3aff805a627a2aaf2cff6b4c0dbe9cb": { + "balance": "20000000000000000000" + }, + "581b9fd6eae372f3501f42eb9619eec820b78a84": { + "balance": "19699015000000000000000" + }, + "541db20a80cf3b17f1621f1b3ff79b882f50def3": { + "balance": "1000000000000000000000" + }, + "4e8a6d63489ccc10a57f885f96eb04ecbb546024": { + "balance": "18500000000000000000000" + }, + "28349f7ef974ea55fe36a1583b34cec3c45065f0": { + "balance": "234490000000000000000" + }, + "a3241d890a92baf52908dc4aa049726be426ebd3": { + "balance": "19999560000000000000000" + }, + "b4b11d109f608fa8edd3fea9f8c315649aeb3d11": { + "balance": "5000000000000000000000" + }, + "5f321b3daaa296cadf29439f9dab062a4bffedd6": { + "balance": "81868000000000000000" + }, + "c5ae86b0c6c7e3900f1368105c56537faf8d743e": { + "balance": "188000000000000000000" + }, + "9a8eca4189ff4aa8ff7ed4b6b7039f0902219b15": { + "balance": "20000000000000000000" + }, + "a3facc50195c0b4933c85897fecc5bbd995c34b8": { + "balance": "20000000000000000000" + }, + "f07bd0e5c2ce69c7c4a724bd26bbfa9d2a17ca03": { + "balance": "5910000000000000000000" + }, + "640aba6de984d94517377803705eaea7095f4a11": { + "balance": "10000000000000000000000" + }, + "204ac98867a7c9c7ed711cb82f28a878caf69b48": { + "balance": "6000000000000000000000" + }, + "9d34dac25bd15828faefaaf28f710753b39e89dc": { + "balance": "1090400000000000000000" + }, + "fe418b421a9c6d373602790475d2303e11a75930": { + "balance": "1015200000000000000000" + }, + "3f472963197883bbda5a9b7dfcb22db11440ad31": { + "balance": "481445000000000000000" + }, + "1578bdbc371b4d243845330556fff2d5ef4dff67": { + "balance": "100000000000000000000" + }, + "dba4796d0ceb4d3a836b84c96f910afc103f5ba0": { + "balance": "166666000000000000000" + }, + "466fda6b9b58c5532750306a10a2a8c768103b07": { + "balance": "199955000000000000000" + }, + "2770f14efb165ddeba79c10bb0af31c31e59334c": { + "balance": "3000000000000000000000" + }, + "7c382c0296612e4e97e440e02d3871273b55f53b": { + "balance": "197600000000000000000" + }, + "1fb7bd310d95f2a6d9baaf8a8a430a9a04453a8b": { + "balance": "3000000000000000000000" + }, + "a9acf600081bb55bb6bfbab1815ffc4e17e85a95": { + "balance": "200000000000000000000" + }, + "f93d5bcb0644b0cce5fcdda343f5168ffab2877d": { + "balance": "209978000000000000000" + }, + "db0cc78f74d9827bdc8a6473276eb84fdc976212": { + "balance": "2000000000000000000000" + }, + "b66411e3a02dedb726fa79107dc90bc1cae64d48": { + "balance": "2000000000000000000000" + }, + "4d6e8fe109ccd2158e4db114132fe75fecc8be5b": { + "balance": "25019000000000000000" + }, + "6fd947d5a73b175008ae6ee8228163da289b167d": { + "balance": "30000000000000000000000" + }, + "32d950d5e93ea1d5b48db4714f867b0320b31c0f": { + "balance": "1015200000000000000000" + }, + "9c99b62606281b5cefabf36156c8fe62839ef5f3": { + "balance": "4000000000000000000000" + }, + "86c8d0d982b539f48f9830f9891f9d607a942659": { + "balance": "13260000000000000000000" + }, + "f2127d54188fedef0f338a5f38c7ff73ad9f6f42": { + "balance": "20000000000000000000000" + }, + "e864fec07ed1214a65311e11e329de040d04f0fd": { + "balance": "1656353000000000000000" + }, + "1d09ad2412691cc581c1ab36b6f9434cd4f08b54": { + "balance": "7000000000000000000000" + }, + "4ea70f04313fae65c3ff224a055c3d2dab28dddf": { + "balance": "19999800000000000000000" + }, + "e0668fa82c14d6e8d93a53113ef2862fa81581bc": { + "balance": "870400000000000000000" + }, + "f0d858105e1b648101ac3f85a0f8222bf4f81d6a": { + "balance": "600000000000000000000" + }, + "0f3a1023cac04dbf44f5a5fa6a9cf8508cd4fddf": { + "balance": "1820000000000000000000" + }, + "5793abe6f1533311fd51536891783b3f9625ef1c": { + "balance": "827268000000000000000" + }, + "8d667637e29eca05b6bfbef1f96d460eefbf9984": { + "balance": "4000000000000000000000" + }, + "d76dbaebc30d4ef67b03e6e6ecc6d84e004d502d": { + "balance": "2019250000000000000000" + }, + "42d1a6399b3016a8597f8b640927b8afbce4b215": { + "balance": "2980000000000000000000" + }, + "21fd47c5256012198fa5abf131c06d6aa1965f75": { + "balance": "7880000000000000000000" + }, + "2f2bba1b1796821a766fce64b84f28ec68f15aea": { + "balance": "20000000000000000000" + }, + "d24bf12d2ddf457decb17874efde2052b65cbb49": { + "balance": "14000000000000000000000" + }, + "88de13b09931877c910d593165c364c8a1641bd3": { + "balance": "3000000000000000000000" + }, + "555ca9f05cc134ab54ae9bea1c3ff87aa85198ca": { + "balance": "100000000000000000000" + }, + "ae9ecd6bdd952ef497c0050ae0ab8a82a91898ce": { + "balance": "30000000000000000000" + }, + "ad8bfef8c68a4816b3916f35cb7bfcd7d3040976": { + "balance": "40000000000000000000000" + }, + "dad136b88178b4837a6c780feba226b98569a94c": { + "balance": "200000000000000000000" + }, + "800e7d631c6e573a90332f17f71f5fd19b528cb9": { + "balance": "152000000000000000000" + }, + "94a9a71691317c2064271b51c9353fbded3501a8": { + "balance": "3340000000000000000000" + }, + "80a0f6cc186cf6201400736e065a391f52a9df4a": { + "balance": "10000000000000000000000" + }, + "712ff7370a13ed360973fedc9ff5d2c93a505e9e": { + "balance": "3940000000000000000000" + }, + "42399659aca6a5a863ea2245c933fe9a35b7880e": { + "balance": "2044000000000000000000" + }, + "ae239acffd4ebe2e1ba5b4170572dc79cc6533ec": { + "balance": "12000000000000000000000" + }, + "007b9fc31905b4994b04c9e2cfdc5e2770503f42": { + "balance": "1999000000000000000000" + }, + "7480de62254f2ba82b578219c07ba5be430dc3cb": { + "balance": "7040000000000000000000" + }, + "917b8f9f3a8d09e9202c52c29e724196b897d35e": { + "balance": "161000000000000000000" + }, + "708ea707bae4357f1ebea959c3a250acd6aa21b3": { + "balance": "500000000000000000000" + }, + "6dc7053a718616cfc78bee6382ee51add0c70330": { + "balance": "2000000000000000000000" + }, + "c4dac5a8a0264fbc1055391c509cc3ee21a6e04c": { + "balance": "6501000000000000000000" + }, + "c1b2a0fb9cad45cd699192cd27540b88d3384279": { + "balance": "500000000000000000000" + }, + "b07cb9c12405b711807543c4934465f87f98bd2d": { + "balance": "2000000000000000000000" + }, + "c7f72bb758016b374714d4899bce22b4aec70a31": { + "balance": "1072706000000000000000" + }, + "0c480de9f7461002908b49f60fc61e2b62d3140b": { + "balance": "10000000000000000000000" + }, + "83d532d38d6dee3f60adc68b936133c7a2a1b0dd": { + "balance": "500000000000000000000" + }, + "12afbcba1427a6a39e7ba4849f7ab1c4358ac31b": { + "balance": "20000000000000000000000" + }, + "f8f6645e0dee644b3dad81d571ef9baf840021ad": { + "balance": "2000000000000000000000" + }, + "40cf890591eae4a18f812a2954cb295f633327e6": { + "balance": "48132000000000000000" + }, + "735b97f2fc1bd24b12076efaf3d1288073d20c8c": { + "balance": "20000000000000000000" + }, + "47c7e5efb48b3aed4b7c6e824b435f357df4c723": { + "balance": "18200000000000000000" + }, + "d34d708d7398024533a5a2b2309b19d3c55171bb": { + "balance": "400000000000000000000" + }, + "64370e87202645125a35b207af1231fb6072f9a7": { + "balance": "200000000000000000000" + }, + "b055af4cadfcfdb425cf65ba6431078f07ecd5ab": { + "balance": "100000000000000000000" + }, + "c7de5e8eafb5f62b1a0af2195cf793c7894c9268": { + "balance": "1000000000000000000000" + }, + "c63cd7882118b8a91e074d4c8f4ba91851303b9a": { + "balance": "260000000000000000000" + }, + "164d7aac3eecbaeca1ad5191b753f173fe12ec33": { + "balance": "744090000000000000000" + }, + "e4fb26d1ca1eecba3d8298d9d148119ac2bbf580": { + "balance": "400000000000000000000" + }, + "613ac53be565d46536b820715b9b8d3ae68a4b95": { + "balance": "3760000000000000000000" + }, + "7f616c6f008adfa082f34da7d0650460368075fb": { + "balance": "1000000000000000000000" + }, + "9af100cc3dae83a33402051ce4496b16615483f6": { + "balance": "2000000000000000000000" + }, + "b45cca0d36826662683cf7d0b2fdac687f02d0c4": { + "balance": "1000000000000000000000" + }, + "93a6b3ab423010f981a7489d4aad25e2625c5741": { + "balance": "20190033000000000000000" + }, + "ee049af005974dd1c7b3a9ca8d9aa77175ba53aa": { + "balance": "333333000000000000000" + }, + "687927e3048bb5162ae7c15cf76bd124f9497b9e": { + "balance": "2000000000000000000000" + }, + "1aa40270d21e5cde86b6316d1ac3c533494b79ed": { + "balance": "20000000000000000000" + }, + "426259b0a756701a8b663528522156c0288f0f24": { + "balance": "9900000000000000000000" + }, + "91c75e3cb4aa89f34619a164e2a47898f5674d9c": { + "balance": "2000000000000000000000" + }, + "437983388ab59a4ffc215f8e8269461029c3f1c1": { + "balance": "20000000000000000000000" + }, + "272a131a5a656a7a3aca35c8bd202222a7592258": { + "balance": "2674000000000000000000" + }, + "bc0ca4f217e052753614d6b019948824d0d8688b": { + "balance": "400000000000000000000" + }, + "cc6c03bd603e09de54e9c4d5ac6d41cbce715724": { + "balance": "98500000000000000000" + }, + "d79aff13ba2da75d46240cac0a2467c656949823": { + "balance": "1730000000000000000000" + }, + "477b24eee8839e4fd19d1250bd0b6645794a61ca": { + "balance": "8000000000000000000000" + }, + "79fd6d48315066c204f9651869c1096c14fc9781": { + "balance": "2000000000000000000000" + }, + "1463a873555bc0397e575c2471cf77fa9db146e0": { + "balance": "10000000000000000000000" + }, + "89ab13ee266d779c35e8bb04cd8a90cc2103a95b": { + "balance": "60000000000000000000000" + }, + "90acced7e48c08c6b934646dfa0adf29dc94074f": { + "balance": "56154000000000000000" + }, + "31ea6eab19d00764e9a95e183f2b1b22fc7dc40f": { + "balance": "20000000000000000000" + }, + "87a53ea39f59a35bada8352521645594a1a714cb": { + "balance": "1910000000000000000000" + }, + "1e1aed85b86c6562cb8fa1eb6f8f3bc9dcae6e79": { + "balance": "4516200000000000000000" + }, + "e36a8ea87f1e99e8a2dc1b2608d166667c9dfa01": { + "balance": "100000000000000000000" + }, + "ec2cb8b9378dff31aec3c22e0e6dadff314ab5dd": { + "balance": "2000000000000000000000" + }, + "3cadeb3d3eed3f62311d52553e70df4afce56f23": { + "balance": "4000000000000000000000" + }, + "3ceca96bb1cdc214029cbc5e181d398ab94d3d41": { + "balance": "80000000000000000000000" + }, + "3283eb7f9137dd39bed55ffe6b8dc845f3e1a079": { + "balance": "66224000000000000000" + }, + "0954a8cb5d321fc3351a7523a617d0f58da676a7": { + "balance": "2506000000000000000000" + }, + "de33d708a3b89e909eaf653b30fdc3a5d5ccb4b3": { + "balance": "177300000000000000000" + }, + "1c6702b3b05a5114bdbcaeca25531aeeb34835f4": { + "balance": "26071500000000000000000" + }, + "e5b96fc9ac03d448c1613ac91d15978145dbdfd1": { + "balance": "200000000000000000000" + }, + "fbf204c813f836d83962c7870c7808ca347fd33e": { + "balance": "20000000000000000000" + }, + "3b13631a1b89cb566548899a1d60915cdcc4205b": { + "balance": "2000000000000000000000" + }, + "a87f7abd6fa31194289678efb63cf584ee5e2a61": { + "balance": "4000000000000000000000" + }, + "c0a39308a80e9e84aaaf16ac01e3b01d74bd6b2d": { + "balance": "136499000000000000000" + }, + "ffd6da958eecbc016bab91058440d39b41c7be83": { + "balance": "20000000000000000000000" + }, + "0e3dd7d4e429fe3930a6414035f52bdc599d784d": { + "balance": "40110000000000000000" + }, + "e0663e8cd66792a641f56e5003660147880f018e": { + "balance": "2000000000000000000000" + }, + "5b78eca27fbdea6f26befba8972b295e7814364b": { + "balance": "2000000000000000000000" + }, + "ec9851bd917270610267d60518b54d3ca2b35b17": { + "balance": "40000000000000000000000" + }, + "bc9c95dfab97a574cea2aa803b5caa197cef0cff": { + "balance": "420000000000000000000" + }, + "100b4d0977fcbad4debd5e64a0497aeae5168fab": { + "balance": "314500000000000000000" + }, + "1b6610fb68bad6ed1cfaa0bbe33a24eb2e96fafb": { + "balance": "152000000000000000000" + }, + "b4524c95a7860e21840296a616244019421c4aba": { + "balance": "8000000000000000000000" + }, + "88975a5f1ef2528c300b83c0c607b8e87dd69315": { + "balance": "83500000000000000000" + }, + "853e6abaf44469c72f151d4e223819aced4e3728": { + "balance": "2000000000000000000000" + }, + "d604abce4330842e3d396ca73ddb5519ed3ec03f": { + "balance": "163940000000000000000" + }, + "d209482bb549abc4777bea6d7f650062c9c57a1c": { + "balance": "320880000000000000000" + }, + "590acbda37290c0d3ec84fc2000d7697f9a4b15d": { + "balance": "500000000000000000000" + }, + "571950ea2c90c1427d939d61b4f2de4cf1cfbfb0": { + "balance": "20000000000000000000" + }, + "cb94e76febe208116733e76e805d48d112ec9fca": { + "balance": "1000000000000000000000" + }, + "fa8e3b1f13433900737daaf1f6299c4887f85b5f": { + "balance": "715000000000000000000" + }, + "162d76c2e6514a3afb6fe3d3cb93a35c5ae783f1": { + "balance": "2000000000000000000000" + }, + "4bea288eea42c4955eb9faad2a9faf4783cbddac": { + "balance": "28790618000000000000000" + }, + "c8ab1a3cf46cb8b064df2e222d39607394203277": { + "balance": "2000000000000000000000" + }, + "318b2ea5f0aaa879c4d5e548ac9d92a0c67487b7": { + "balance": "200000000000000000000" + }, + "53c5fe0119e1e848640cee30adea96940f2a5d8b": { + "balance": "21746000000000000000000" + }, + "0701f9f147ec486856f5e1b71de9f117e99e2105": { + "balance": "173360000000000000000" + }, + "337cfe1157a5c6912010dd561533791769c2b6a6": { + "balance": "1000000000000000000000" + }, + "fd60d2b5af3d35f7aaf0c393052e79c4d823d985": { + "balance": "56400000000000000000" + }, + "0f049a8bdfd761de8ec02cee2829c4005b23c06b": { + "balance": "252000000000000000000" + }, + "924bce7a853c970bb5ec7bb759baeb9c7410857b": { + "balance": "13700000000000000000" + }, + "16abb8b021a710bdc78ea53494b20614ff4eafe8": { + "balance": "158000000000000000000" + }, + "9e7f65a90e8508867bccc914256a1ea574cf07e3": { + "balance": "1240000000000000000000" + }, + "01d03815c61f416b71a2610a2daba59ff6a6de5b": { + "balance": "9553100000000000000000" + }, + "3df762049eda8ac6927d904c7af42f94e5519601": { + "balance": "2000000000000000000000" + }, + "5593c9d4b664730fd93ca60151c25c2eaed93c3b": { + "balance": "200000000000000000000" + }, + "e023f09b2887612c7c9cf1988e3a3a602b3394c9": { + "balance": "2000000000000000000000" + }, + "4c13980c32dcf3920b78a4a7903312907c1b123f": { + "balance": "60024000000000000000" + }, + "a282e969cac9f7a0e1c0cd90f5d0c438ac570da3": { + "balance": "627760000000000000000" + }, + "3b22da2a0271c8efe102532773636a69b1c17e09": { + "balance": "502000000000000000000" + }, + "1aa1021f550af158c747668dd13b463160f95a40": { + "balance": "1470000000000000000000" + }, + "f15178ffc43aa8070ece327e930f809ab1a54f9d": { + "balance": "197600000000000000000" + }, + "db1293a506e90cad2a59e1b8561f5e66961a6788": { + "balance": "2000000000000000000000" + }, + "88c361640d6b69373b081ce0c433bd590287d5ec": { + "balance": "50000000000000000000000" + }, + "3737216ee91f177732fb58fa4097267207e2cf55": { + "balance": "1520000000000000000000" + }, + "a16d9e3d63986159a800b46837f45e8bb980ee0b": { + "balance": "2030400000000000000000" + }, + "ec76f12e57a65504033f2c0bce6fc03bd7fa0ac4": { + "balance": "3580000000000000000000" + }, + "d9f1b26408f0ec67ad1d0d6fe22e8515e1740624": { + "balance": "24000000000000000000" + }, + "716ba01ead2a91270635f95f25bfaf2dd610ca23": { + "balance": "44750000000000000000000" + }, + "42a98bf16027ce589c4ed2c95831e2724205064e": { + "balance": "10000000000000000000000" + }, + "0f88aac9346cb0e7347fba70905475ba8b3e5ece": { + "balance": "10000000000000000000000" + }, + "2d8c52329f38d2a2fa9cbaf5c583daf1490bb11c": { + "balance": "20000000000000000000" + }, + "3cea302a472a940379dd398a24eafdbadf88ad79": { + "balance": "3000000000000000000000" + }, + "a29d5bda74e003474872bd5894b88533ff64c2b5": { + "balance": "10000000000000000000000" + }, + "2d23766b6f6b05737dad80a419c40eda4d77103e": { + "balance": "3820000000000000000000" + }, + "b07249e055044a9155359a402937bbd954fe48b6": { + "balance": "100000000000000000000" + }, + "f1e980c559a1a8e5e50a47f8fffdc773b7e06a54": { + "balance": "30104784000000000000000" + }, + "8275cd684c3679d5887d03664e338345dc3cdde1": { + "balance": "15800000000000000000" + }, + "b27c1a24204c1e118d75149dd109311e07c073ab": { + "balance": "3100000000000000000000" + }, + "451b3699475bed5d7905f8905aa3456f1ed788fc": { + "balance": "2560000000000000000000" + }, + "31ad4d9946ef09d8e988d946b1227f9141901736": { + "balance": "22880000000000000000000" + }, + "52b8a9592634f7300b7c5c59a3345b835f01b95c": { + "balance": "2000000000000000000000" + }, + "b161725fdcedd17952d57b23ef285b7e4b1169e8": { + "balance": "50071000000000000000" + }, + "74fc5a99c0c5460503a13b0509459da19ce7cd90": { + "balance": "200000000000000000000" + }, + "d99df7421b9382e42c89b006c7f087702a0757c0": { + "balance": "480000000000000000000" + }, + "8a4f4a7f52a355ba105fca2072d3065fc8f7944b": { + "balance": "500000000000000000000" + }, + "12316fc7f178eac22eb2b25aedeadf3d75d00177": { + "balance": "19999999000000000000000" + }, + "f598db2e09a8a5ee7d720d2b5c43bb126d11ecc2": { + "balance": "200000000000000000000" + }, + "37b8beac7b1ca38829d61ab552c766f48a10c32f": { + "balance": "400000000000000000000" + }, + "851dc38adb4593729a76f33a8616dab6f5f59a77": { + "balance": "100000000000000000000" + }, + "bf4096bc547dbfc4e74809a31c039e7b389d5e17": { + "balance": "3940000000000000000000" + }, + "98d3731992d1d40e1211c7f735f2189afa0702e0": { + "balance": "8000000000000000000000" + }, + "0f4073c1b99df60a1549d69789c7318d9403a814": { + "balance": "20000000000000000000000" + }, + "a430995ddb185b9865dbe62539ad90d22e4b73c2": { + "balance": "10000000000000000000000" + }, + "898c72dd736558ef9e4be9fdc34fef54d7fc7e08": { + "balance": "1000000000000000000000" + }, + "f9b617f752edecae3e909fbb911d2f8192f84209": { + "balance": "2674000000000000000000" + }, + "e1ae029b17e373cde3de5a9152201a14cac4e119": { + "balance": "99968000000000000000" + }, + "d8e8474292e7a051604ca164c0707783bb2885e8": { + "balance": "13370000000000000000000" + }, + "f476f2cb7208a32e051fd94ea8662992638287a2": { + "balance": "100000000000000000000" + }, + "3a84e950ed410e51b7e8801049ab2634b285fea1": { + "balance": "18690000000000000000000" + }, + "5b7784caea01799ca30227827667ce207c5cbc76": { + "balance": "2000000000000000000000" + }, + "3af65b3e28895a4a001153391d1e69c31fb9db39": { + "balance": "3940000000000000000000" + }, + "95fb5afb14c1ef9ab7d179c5c300503fd66a5ee2": { + "balance": "34225000000000000000" + }, + "a8446c4781a737ac4328b1e15b8a0b3fbb0fd668": { + "balance": "21390500000000000000000" + }, + "4888fb25cd50dbb9e048f41ca47d78b78a27c7d9": { + "balance": "17300000000000000000000" + }, + "566c10d638e8b88b47d6e6a414497afdd00600d4": { + "balance": "99960000000000000000" + }, + "bd47f5f76e3b930fd9485209efa0d4763da07568": { + "balance": "1000000000000000000000" + }, + "1e1c6351776ac31091397ecf16002d979a1b2d51": { + "balance": "1400000000000000000000" + }, + "edf603890228d7d5de9309942b5cad4219ef9ad7": { + "balance": "5000000000000000000000" + }, + "1923cfc68b13ea7e2055803645c1e320156bd88d": { + "balance": "1337000000000000000000" + }, + "8f8f37d0ad8f335d2a7101b41156b688a81a9cbe": { + "balance": "70000000000000000000" + }, + "63334fcf1745840e4b094a3bb40bb76f9604c04c": { + "balance": "3978000000000000000000" + }, + "001762430ea9c3a26e5749afdb70da5f78ddbb8c": { + "balance": "200000000000000000000" + }, + "512116817ba9aaf843d1507c65a5ea640a7b9eec": { + "balance": "50000000000000000000" + }, + "2961fb391c61957cb5c9e407dda29338d3b92c80": { + "balance": "999942000000000000000" + }, + "fc2952b4c49fedd0bc0528a308495e6d6a1c71d6": { + "balance": "2000000000000000000000" + }, + "13ec812284026e409bc066dfebf9d5a4a2bf801e": { + "balance": "1610000000000000000000" + }, + "ef463c2679fb279164e20c3d2691358773a0ad95": { + "balance": "2000000000000000000000" + }, + "3aadf98b61e5c896e7d100a3391d3250225d61df": { + "balance": "234000000000000000000" + }, + "e8137fc1b2ec7cc7103af921899b4a39e1d959a1": { + "balance": "1490000000000000000000" + }, + "b1a2b43a7433dd150bb82227ed519cd6b142d382": { + "balance": "2738000000000000000000" + }, + "c1f39bd35dd9cec337b96f47c677818160df37b7": { + "balance": "20000000000000000000" + }, + "b587b44a2ca79e4bc1dd8bfdd43a207150f2e7e0": { + "balance": "630400000000000000000" + }, + "41485612d03446ec4c05e5244e563f1cbae0f197": { + "balance": "970000000000000000000" + }, + "a12623e629df93096704b16084be2cd89d562da4": { + "balance": "8500000000000000000000" + }, + "3f2f381491797cc5c0d48296c14fd0cd00cdfa2d": { + "balance": "804000000000000000000" + }, + "9470cc36594586821821c5c996b6edc83b6d5a32": { + "balance": "24000000000000000000" + }, + "3605372d93a9010988018f9f315d032ed1880fa1": { + "balance": "500066000000000000000" + }, + "12632388b2765ee4452b50161d1fffd91ab81f4a": { + "balance": "740000000000000000000" + }, + "274a3d771a3d709796fbc4d5f48fce2fe38c79d6": { + "balance": "20000000000000000000" + }, + "d60a52580728520df7546bc1e283291788dbae0c": { + "balance": "999910000000000000000" + }, + "1ab53a11bcc63ddfaa40a02b9e186496cdbb8aff": { + "balance": "1996800000000000000000" + }, + "c282e6993fbe7a912ea047153ffd9274270e285b": { + "balance": "139939000000000000000" + }, + "a291e9c7990d552dd1ae16cebc3fca342cbaf1d1": { + "balance": "20000000000000000000000" + }, + "5547fdb4ae11953e01292b7807fa9223d0e4606a": { + "balance": "98940000000000000000" + }, + "bded11612fb5c6da99d1e30e320bc0995466141e": { + "balance": "400000000000000000000" + }, + "b73b4ff99eb88fd89b0b6d57a9bc338e886fa06a": { + "balance": "32000000000000000000" + }, + "b1c751786939bba0d671a677a158c6abe7265e46": { + "balance": "10000000000000000000000" + }, + "e881bbbe69722d81efecaa48d1952a10a2bfac8f": { + "balance": "16000000000000000000000" + }, + "fe96c4cd381562401aa32a86e65b9d52fa8aee27": { + "balance": "2640000000000000000000" + }, + "683dba36f7e94f40ea6aea0d79b8f521de55076e": { + "balance": "140000000000000000000" + }, + "5ac2908b0f398c0df5bac2cb13ca7314fba8fa3d": { + "balance": "199800000000000000000" + }, + "8914a680a5aec5226d4baaec2e5552b44dd7c874": { + "balance": "100076000000000000000" + }, + "041170f581de80e58b2a045c8f7c1493b001b7cb": { + "balance": "889800000000000000000" + }, + "4665e47396c7db97eb2a03d90863d5d4ba319a94": { + "balance": "600000000000000000000" + }, + "ed4be04a052d7accb3dcce90319dba4020ab2c68": { + "balance": "37547947000000000000000" + }, + "4b0619d9d8aa313a9531ac7dbe04ca0d6a5ad1b6": { + "balance": "2000000000000000000000" + }, + "a21442ab05340ade68c915f3c3399b9955f3f7eb": { + "balance": "775000000000000000000" + }, + "655934da8e744eaa3de34dbbc0894c4eda0b61f2": { + "balance": "200000000000000000000" + }, + "6038740ae28d66ba93b0be08482b3205a0f7a07b": { + "balance": "316000000000000000000" + }, + "99924a9816bb7ddf3fec1844828e9ad7d06bf4e6": { + "balance": "1760000000000000000000" + }, + "6847825bdee8240e28042c83cad642f286a3bddc": { + "balance": "1500000000000000000000" + }, + "a718aaad59bf395cba2b23e09b02fe0c89816247": { + "balance": "999600000000000000000" + }, + "2c89f5fdca3d155409b638b98a742e55eb4652b7": { + "balance": "98500000000000000000000" + }, + "1a7044e2383f8708305b495bd1176b92e7ef043a": { + "balance": "200000000000000000000" + }, + "282e80a554875a56799fa0a97f5510e795974c4e": { + "balance": "1000000000000000000000" + }, + "ffb3bcc3196a8c3cb834cec94c34fed35b3e1054": { + "balance": "1340000000000000000000" + }, + "d135794b149a18e147d16e621a6931f0a40a969a": { + "balance": "20000000000000000000000" + }, + "6b94615db750656ac38c7e1cf29a9d13677f4e15": { + "balance": "12000000000000000000000" + }, + "ecbe425e670d39094e20fb5643a9d818eed236de": { + "balance": "5000000000000000000000" + }, + "511e0efb04ac4e3ff2e6550e498295bfcd56ffd5": { + "balance": "668500000000000000000" + }, + "ff65511cada259260c1ddc41974ecaecd32d6357": { + "balance": "1760000000000000000000" + }, + "9ffc5fe06f33f5a480b75aa94eb8556d997a16c0": { + "balance": "20000000000000000000" + }, + "57df23bebdc65eb75feb9cb2fad1c073692b2baf": { + "balance": "4000000000000000000000" + }, + "207ef80b5d60b6fbffc51f3a64b8c72036a5abbd": { + "balance": "6685000000000000000000" + }, + "c573e841fa08174a208b060ccb7b4c0d7697127f": { + "balance": "668500000000000000000" + }, + "411610b178d5617dfab934d293f512a93e5c10e1": { + "balance": "170000000000000000000" + }, + "9991614c5baa47dd6c96874645f97add2c3d8380": { + "balance": "1970000000000000000000" + }, + "2d3480bf0865074a72c7759ee5137b4d70c51ce9": { + "balance": "200000000000000000000" + }, + "9d40e012f60425a340d82d03a1c757bfabc706fb": { + "balance": "169799000000000000000" + }, + "47648bed01f3cd3249084e635d14daa9e7ec3c8a": { + "balance": "194000000000000000000" + }, + "a5ff62222d80c013cec1a0e8850ed4d354dac16d": { + "balance": "207600000000000000000" + }, + "f80d3619702fa5838c48391859a839fb9ce7160f": { + "balance": "1992800000000000000000" + }, + "7c0f5e072043c9ee740242197e78cc4b98cdf960": { + "balance": "200000000000000000000" + }, + "a40aa2bbce0c72b4d0dfffcc42715b2b54b01bfa": { + "balance": "1000000000000000000000" + }, + "2eeed50471a1a2bf53ee30b1232e6e9d80ef866d": { + "balance": "20000000000000000000" + }, + "0c2808b951ed9e872d7b32790fcc5994ae41ffdc": { + "balance": "102000000000000000000000" + }, + "7f06c89d59807fa60bc60136fcf814cbaf2543bd": { + "balance": "10000000000000000000000" + }, + "8d4b603c5dd4570c34669515fdcc665890840c77": { + "balance": "18200000000000000000" + }, + "d5e5c135d0c4c3303934711993d0d16ff9e7baa0": { + "balance": "2000000000000000000000" + }, + "241361559feef80ef137302153bd9ed2f25db3ef": { + "balance": "20000000000000000000000" + }, + "db63122de7037da4971531fae9af85867886c692": { + "balance": "277000000000000000000" + }, + "417e4e2688b1fd66d821529e46ed4f42f8b3db3d": { + "balance": "2000000000000000000000" + }, + "127db1cadf1b771cbd7475e1b272690f558c8565": { + "balance": "14000000000000000000000" + }, + "48659d8f8c9a2fd44f68daa55d23a608fbe500dc": { + "balance": "2000000000000000000000" + }, + "b3a64b1176724f5409e1414a3523661baee74b4a": { + "balance": "25610000000000000000" + }, + "aa14422d6f0ae5a758194ed15780c838d67f1ee1": { + "balance": "28503824000000000000000" + }, + "a0a0e65204541fca9b2fb282cd95138fae16f809": { + "balance": "10000000000000000000000" + }, + "d2107b353726c3a2b46566eaa7d9f80b5d21dbe3": { + "balance": "20000000000000000000" + }, + "e4cafb727fb5c6b70bb27533b8a9ccc9ef6888e1": { + "balance": "300443000000000000000" + }, + "09f3f601f605441140586ce0656fa24aa5b1d9ae": { + "balance": "1539400000000000000000" + }, + "87fcbe7c4193ffcb08143779c9bec83fe7fda9fc": { + "balance": "100275000000000000000" + }, + "03ebc63fda6660a465045e235fbe6e5cf195735f": { + "balance": "141840000000000000000" + }, + "bdbaf6434d40d6355b1e80e40cc4ab9c68d96116": { + "balance": "100000000000000000000" + }, + "4e2225a1bb59bc88a2316674d333b9b0afca6655": { + "balance": "155000000000000000000" + }, + "4dc3da13b2b4afd44f5d0d3189f444d4ddf91b1b": { + "balance": "2000000000000000000000" + }, + "4ba8e0117fc0b6a3e56b24a3a58fe6cef442ff98": { + "balance": "5640000000000000000000" + }, + "27146913563aa745e2588430d9348e86ea7c3510": { + "balance": "400000000000000000000" + }, + "4c5afe40f18ffc48d3a1aec41fc29de179f4d297": { + "balance": "2000000000000000000000" + }, + "8a810114b2025db9fbb50099a6e0cb9e2efa6bdc": { + "balance": "1910000000000000000000" + }, + "2dee90a28f192d676a8773232b56f18f239e2fad": { + "balance": "18587970000000000000000" + }, + "60676e92d18b000509c61de540e6c5ddb676d509": { + "balance": "1200000000000000000000" + }, + "9bfc659c9c601ea42a6b21b8f17084ec87d70212": { + "balance": "10000000000000000000000" + }, + "5d5d6e821c6eef96810c83c491468560ef70bfb5": { + "balance": "2000000000000000000000" + }, + "d5787668c2c5175b01a8ee1ac3ecc9c8b2aba95a": { + "balance": "1999944000000000000000" + }, + "33b336f5ba5edb7b1ccc7eb1a0d984c1231d0edc": { + "balance": "2000000000000000000000" + }, + "3abb8adfc604f48d5984811d7f1d52fef6758270": { + "balance": "4475000000000000000000" + }, + "980a84b686fc31bdc83c221058546a71b11f838a": { + "balance": "779471000000000000000" + }, + "0b507cf553568daaf65504ae4eaa17a8ea3cdbf5": { + "balance": "2000000000000000000000" + }, + "896009526a2c7b0c09a6f63a80bdf29d9c87de9c": { + "balance": "3462830000000000000000" + }, + "9696052138338c722f1140815cf7749d0d3b3a74": { + "balance": "500000000000000000000" + }, + "3831757eae7557cb8a37a4b10644b63e4d3b3c75": { + "balance": "200000000000000000000" + }, + "62dc72729024375fc37cbb9c7c2393d10233330f": { + "balance": "2000000000000000000000" + }, + "44098866a69b68c0b6bc168229b9603587058967": { + "balance": "188000000000000000000" + }, + "25adb8f96f39492c9bb47c5edc88624e46075697": { + "balance": "26740000000000000000000" + }, + "fd4de8e3748a289cf7d060517d9d38388db01fb8": { + "balance": "250000000000000000000" + }, + "6be7595ea0f068489a2701ec4649158ddc43e178": { + "balance": "2000000000000000000000" + }, + "d402b4f6a099ebe716cb14df4f79c0cd01c6071b": { + "balance": "2000000000000000000000" + }, + "a07682000b1bcf3002f85c80c0fa2949bd1e82fd": { + "balance": "4000000000000000000000" + }, + "eb4f00e28336ea09942588eeac921811c522143c": { + "balance": "2000000000000000000000" + }, + "8f31c7005197ec997a87e69bec48649ab94bb2a5": { + "balance": "4000000000000000000000" + }, + "e7fd8fd959aed2767ea7fa960ce1db53af802573": { + "balance": "1000000000000000000000" + }, + "a8ef9ad274436042903e413c3b0c62f5f52ed584": { + "balance": "10000000000000000000000" + }, + "d83ad260e9a6f432fb6ea28743299b4a09ad658c": { + "balance": "2000000000000000000000" + }, + "b5c816a8283ca4df68a1a73d63bd80260488df08": { + "balance": "200000000000000000000" + }, + "d7d3c75920590438b82c3e9515be2eb6ed7a8b1a": { + "balance": "60000000000000000000000" + }, + "af3cb5965933e7dad883693b9c3e15beb68a4873": { + "balance": "2000000000000000000000" + }, + "6e899e59a9b41ab7ea41df7517860f2acb59f4fd": { + "balance": "20000000000000000000000" + }, + "527a8ca1268633a6c939c5de1b929aee92aeac8d": { + "balance": "900000000000000000000" + }, + "1680cec5021ee93050f8ae127251839e74c1f1fd": { + "balance": "13098657000000000000000" + }, + "ff7843c7010aa7e61519b762dfe49124a76b0e4e": { + "balance": "933580000000000000000000" + }, + "140fba58dbc04803d84c2130f01978f9e0c73129": { + "balance": "400000000000000000000" + }, + "0261ad3a172abf1315f0ffec3270986a8409cb25": { + "balance": "203500000000000000000" + }, + "ab5a79016176320973e8cd38f6375530022531c0": { + "balance": "1000000000000000000000" + }, + "fca73eff8771c0103ba3cc1a9c259448c72abf0b": { + "balance": "1000000000000000000000" + }, + "07d41217badca5e0e60327d845a3464f0f27f84a": { + "balance": "4000000000000000000000" + }, + "2c1c19114e3d6de27851484b8d2715e50f8a1065": { + "balance": "100000000000000000000" + }, + "abd21eff954fc6a7de26912a7cbb303a6607804e": { + "balance": "1517000000000000000000" + }, + "f303d5a816affd97e83d9e4dac2f79072bb0098f": { + "balance": "960000000000000000000" + }, + "114cfefe50170dd97ae08f0a44544978c599548d": { + "balance": "863000000000000000000" + }, + "647b85044df2cf0b4ed4882e88819fe22ae5f793": { + "balance": "1000032000000000000000" + }, + "1b130d6fa51d5c48ec8d1d52dc8a227be8735c8a": { + "balance": "2000000000000000000000" + }, + "0d9d3f9bc4a4c6efbd59679b69826bc1f63d9916": { + "balance": "600000000000000000000" + }, + "c765e00476810947816af142d46d2ee7bca8cc4f": { + "balance": "500000000000000000000" + }, + "b57b04fa23d1203fae061eac4542cb60f3a57637": { + "balance": "191000000000000000000" + }, + "e192489b85a982c1883246d915b229cb13207f38": { + "balance": "5000000000000000000000" + }, + "5f483ffb8f680aedf2a38f7833afdcde59b61e4b": { + "balance": "2000000000000000000000" + }, + "b46d1182e5aacaff0d26b2fcf72f3c9ffbcdd97d": { + "balance": "3139000000000000000000" + }, + "59c7f785c93160e5807ed34e5e534bc6188647a7": { + "balance": "640000000000000000000" + }, + "18e4ce47483b53040adbab35172c01ef64506e0c": { + "balance": "9000000000000000000000" + }, + "296d66b521571a4e4103a7f562c511e6aa732d81": { + "balance": "668500000000000000000" + }, + "bcd99edc2160f210a05e3a1fa0b0434ced00439b": { + "balance": "2000000000000000000000" + }, + "f14f0eb86db0eb68753f16918e5d4b807437bd3e": { + "balance": "200000000000000000000" + }, + "60d5667140d12614b21c8e5e8a33082e32dfcf23": { + "balance": "20000000000000000000000" + }, + "8ccabf25077f3aa41545344d53be1b2b9c339000": { + "balance": "1695400000000000000000" + }, + "8cc0d7c016fa7aa950114aa1db094882eda274ea": { + "balance": "159800000000000000000" + }, + "c71145e529c7a714e67903ee6206e4c3042b6727": { + "balance": "1430000000000000000000" + }, + "c5e9939334f1252ed2ba26814487dfd2982b3128": { + "balance": "70000000000000000000" + }, + "f09b3e87f913ddfd57ae8049c731dba9b636dfc3": { + "balance": "608000000000000000000" + }, + "4349225a62f70aea480a029915a01e5379e64fa5": { + "balance": "2598000000000000000000" + }, + "666b4f37d55d63b7d056b615bb74c96b3b01991a": { + "balance": "4000000000000000000000" + }, + "8bd6b1c6d74d010d1008dba6ef835d4430b35c32": { + "balance": "50000000000000000000" + }, + "7363cd90fbab5bb8c49ac20fc62c398fe6fb744c": { + "balance": "2000000000000000000000" + }, + "b7479dab5022c4d5dbaaf8de171b4e951dd1a457": { + "balance": "80000000000000000000" + }, + "5a5468fa5ca226c7532ecf06e1bc1c45225d7ec9": { + "balance": "1910000000000000000000" + }, + "32a20d028e2c6218b9d95b445c771524636a22ef": { + "balance": "9500000000000000000000" + }, + "1bd28cd5c78aee51357c95c1ef9235e7c18bc854": { + "balance": "2000000000000000000000" + }, + "693492a5c51396a482881669ccf6d8d779f00951": { + "balance": "345827000000000000000" + }, + "bd723b289a7367b6ece2455ed61edb49670ab9c4": { + "balance": "4999995000000000000000" + }, + "1be3542c3613687465f15a70aeeb81662b65cca8": { + "balance": "2000000000000000000000" + }, + "5803e68b34da121aef08b602badbafb4d12481ca": { + "balance": "18000000000000000000000" + }, + "9ac907ee85e6f3e223459992e256a43fa08fa8b2": { + "balance": "10000000000000000000000" + }, + "833b6a8ec8da408186ac8a7d2a6dd61523e7ce84": { + "balance": "16000000000000000000000" + }, + "64628c6fb8ec743adbd87ce5e018d531d9210437": { + "balance": "26740000000000000000" + }, + "566c28e34c3808d9766fe8421ebf4f2b1c4f7d77": { + "balance": "1970000000000000000000" + }, + "171ad9a04bedc8b861e8ed4bddf5717813b1bb48": { + "balance": "400000000000000000000" + }, + "4f85bc1fc5cbc9c001e8f1372e07505370d8c71f": { + "balance": "940000000000000000000" + }, + "6d2f976734b9d0070d1883cf7acab8b3e4920fc1": { + "balance": "10000000000000000000000" + }, + "357a02c0a9dfe287de447fb67a70ec5b62366647": { + "balance": "26740000000000000000" + }, + "44a01fb04ac0db2cce5dbe281e1c46e28b39d878": { + "balance": "1999944000000000000000" + }, + "3630c5e565ceaa8a0f0ffe32875eae2a6ce63c19": { + "balance": "170016000000000000000" + }, + "334340ee4b9cdc81f850a75116d50ee9b69825bf": { + "balance": "2000000000000000000000" + }, + "c0afb7d8b79370cfd663c68cc6b9702a37cd9eff": { + "balance": "1000000000000000000000" + }, + "2016895df32c8ed5478269468423aea7b7fbce50": { + "balance": "20000000000000000000" + }, + "1e2fe4e4a77d141ff49a0c7fbc95b0a2b283eeeb": { + "balance": "2000000000000000000000" + }, + "260df8943a8c9a5dba7945327fd7e0837c11ad07": { + "balance": "200000000000000000000" + }, + "32fbeed6f626fcdfd51acafb730b9eeff612f564": { + "balance": "2000000000000000000000" + }, + "9bd88068e13075f3a8cac464a5f949d6d818c0f6": { + "balance": "6000000000000000000000" + }, + "ab4572fbb1d72b575d69ec6ad17333873e8552fc": { + "balance": "1999942000000000000000" + }, + "e44ea51063405154aae736be2bf1ee3b9be639ae": { + "balance": "4000000000000000000000" + }, + "617f20894fa70e94a86a49cd74e03238f64d3cd9": { + "balance": "5000057000000000000000" + }, + "3e914e3018ac00449341c49da71d04dfeeed6221": { + "balance": "4000000000000000000000" + }, + "590181d445007bd0875aaf061c8d51153900836a": { + "balance": "2000000000000000000000" + }, + "27987110221a880826adb2e7ab5eca78c6e31aec": { + "balance": "4000000000000000000000" + }, + "06618e9d5762df62028601a81d4487d6a0ecb80e": { + "balance": "1337000000000000000000" + }, + "8cc652dd13e7fe14dabbb36d5d320db9ffee8a54": { + "balance": "1790000000000000000000" + }, + "8973aefd5efaee96095d9e288f6a046c97374b43": { + "balance": "141000000000000000000" + }, + "dbd51cdf2c3bfacdff106221de2e19ad6d420414": { + "balance": "1760000000000000000000" + }, + "25697ef20cccaa70d32d376f8272d9c1070c3d78": { + "balance": "200000000000000000000" + }, + "0726c42e00f45404836eb1e280d073e7059687f5": { + "balance": "1623331000000000000000" + }, + "5e0785532c7723e4c0af9357d5274b73bdddddde": { + "balance": "25000088000000000000000" + }, + "38430e931d93be01b4c3ef0dc535f1e0a9610063": { + "balance": "10000000000000000000000" + }, + "143d536b8b1cb84f56a39e0bc81fd5442bcacce1": { + "balance": "100000000000000000000" + }, + "5c6d041da7af4487b9dc48e8e1f60766d0a56dbc": { + "balance": "1457800000000000000000" + }, + "f9bfb59d538afc4874d4f5941b08c9730e38e24b": { + "balance": "40000000000000000000" + }, + "83dbfd8eda01d0de8e158b16d0935fc2380a5dc7": { + "balance": "600000000000000000000" + }, + "0e6cd664ad9c1ed64bf98749f40644b626e3792c": { + "balance": "60000000000000000000000" + }, + "ce2e0da8934699bb1a553e55a0b85c169435bea3": { + "balance": "4999962000000000000000" + }, + "a39bfee4aec9bd75bd22c6b672898ca9a1e95d32": { + "balance": "10000000000000000000000" + }, + "1bc44c8761231ba1f11f5faa40fa669a013e12ce": { + "balance": "203586000000000000000" + }, + "68809af5d532a11c1a4d6e32aac75c4c52b08ead": { + "balance": "10000000000000000000000" + }, + "80cc21bd99f39005c58fe4a448909220218f66cb": { + "balance": "1000072000000000000000" + }, + "1080c1d8358a15bc84dac8253c6883319020df2c": { + "balance": "2674000000000000000000" + }, + "9eaf6a328a4076024efa6b67b48b21eedcc0f0b8": { + "balance": "158000000000000000000" + }, + "1e7b5e4d1f572becf2c00fc90cb4767b4a6e33d4": { + "balance": "112970000000000000000" + }, + "acbd185589f7a68a67aa4b1bd65077f8c64e4e21": { + "balance": "200000000000000000000" + }, + "ff78541756ab2b706e0d70b18adb700fc4f1643d": { + "balance": "43250000000000000000000" + }, + "7f0ec3db804692d4d1ea3245365aab0590075bc4": { + "balance": "4000000000000000000000" + }, + "4a918032439159bb315b6725b6830dc83697739f": { + "balance": "343800000000000000000" + }, + "bc1b021a78fde42d9b5226d6ec26e06aa3670090": { + "balance": "80000000000000000000" + }, + "2f2523cc834f0086052402626296675186a8e582": { + "balance": "16000000000000000000000" + }, + "9db2e15ca681f4c66048f6f9b7941ed08b1ff506": { + "balance": "4000000000000000000000" + }, + "20b9a9e6bd8880d9994ae00dd0b9282a0beab816": { + "balance": "500000000000000000000" + }, + "3bddbc8134f77d55597fc97c26d26698090604eb": { + "balance": "13700000000000000000" + }, + "80c3a9f695b16db1597286d1b3a8b7696c39fa27": { + "balance": "100000000000000000000" + }, + "53194d8afa3e883502767edbc30586af33b114d3": { + "balance": "2000000000000000000000" + }, + "e2efd0a9bc407ece03d67e8ec8e9d283f48d2a49": { + "balance": "12280000000000000000000" + }, + "1cb450920078aab2317c7db3b38af7dd298b2d41": { + "balance": "340000000000000000000" + }, + "ca8276c477b4a07b80107b843594189607b53bec": { + "balance": "6000000000000000000000" + }, + "147f4210ab5804940a0b7db8c14c28396b62a6bf": { + "balance": "2000000000000000000000" + }, + "d3df3b53cb3b4755de54e180451cc44c9e8ae0aa": { + "balance": "659801000000000000000" + }, + "f7c708015071d4fb0a3a2a09a45d156396e3349e": { + "balance": "3000000000000000000000" + }, + "a8cafac32280d021020bf6f2a9782883d7aabe12": { + "balance": "100000000000000000000" + }, + "399aa6f5d078cb0970882bc9992006f8fbdf3471": { + "balance": "1000000000000000000000" + }, + "15669180dee29598869b08a721c7d24c4c0ee63f": { + "balance": "1000000000000000000000" + }, + "bba8ab22d2fedbcfc63f684c08afdf1c175090b5": { + "balance": "99091000000000000000" + }, + "5e5a441974a83d74c687ebdc633fb1a49e7b1ad7": { + "balance": "3000000000000000000000" + }, + "98b769cc305cecfb629a00c907069d7ef9bc3a12": { + "balance": "26000000000000000000" + }, + "c820c711f07705273807aaaa6de44d0e4b48be2e": { + "balance": "155000000000000000000" + }, + "12aa7d86ddfbad301692feac8a08f841cb215c37": { + "balance": "137000000000000000000" + }, + "6ff5d361b52ad0b68b1588607ec304ae5665fc98": { + "balance": "1940000000000000000000" + }, + "2382a9d48ec83ea3652890fd0ee79c907b5b2dc1": { + "balance": "133700000000000000000" + }, + "b2a144b1ea67b9510f2267f9da39d3f93de26642": { + "balance": "2000000000000000000000" + }, + "b3e20eb4de18bd060221689894bee5aeb25351ee": { + "balance": "73535000000000000000" + }, + "101a0a64f9afcc448a8a130d4dfcbee89537d854": { + "balance": "15200000000000000000000" + }, + "1b826fb3c012b0d159e294ba5b8a499ff3c0e03c": { + "balance": "2000000000000000000000" + }, + "aafb7b013aa1f8541c7e327bf650adbd194c208f": { + "balance": "1358000000000000000000" + }, + "96eb523e832f500a017de13ec27f5d366c560eff": { + "balance": "307600000000000000000" + }, + "c7bf17c4c11f98941f507e77084fffbd2dbd3db5": { + "balance": "1000000000000000000000" + }, + "840ec83ea93621f034e7bb3762bb8e29ded4c479": { + "balance": "2500000000000000000000" + }, + "0e9c511864a177f49be78202773f60489fe04e52": { + "balance": "6000000000000000000000" + }, + "f6f1a44309051c6b25e47dff909b179bb9ab591c": { + "balance": "1940000000000000000000" + }, + "63fe6bcc4b8a9850abbe75803730c932251f145b": { + "balance": "18200000000000000000" + }, + "f88b58db37420b464c0be88b45ee2b95290f8cfa": { + "balance": "40000000000000000000" + }, + "9d4d321177256ebd9afbda304135d517c3dc5693": { + "balance": "616000000000000000000" + }, + "8c1fbe5f0aea359c5aa1fa08c8895412ca8e05a6": { + "balance": "1000000000000000000000" + }, + "cb0dd7cf4e5d8661f6028943a4b9b75c914436a7": { + "balance": "120000000000000000000000" + }, + "a3979a92760a135adf69d72f75e167755f1cb8c3": { + "balance": "100000000000000000000" + }, + "ca22cda3606da5cad013b8074706d7e9e721a50c": { + "balance": "6816200000000000000000" + }, + "157559adc55764cc6df79323092534e3d6645a66": { + "balance": "6000000000000000000000" + }, + "4f52ad6170d25b2a2e850eadbb52413ff2303e7f": { + "balance": "3040000000000000000000" + }, + "eed28c3f068e094a304b853c950a6809ebcb03e0": { + "balance": "17300000000000000000000" + }, + "2e47f287f498233713850d3126823cc67dcee255": { + "balance": "14600000000000000000" + }, + "6c359e58a13d4578a9338e335c67e7639f5fb4d7": { + "balance": "218000000000000000000" + }, + "4968a2cedb457555a139295aea28776e54003c87": { + "balance": "10092310000000000000000" + }, + "4041374b0feef4792e4b33691fb86897a4ff560c": { + "balance": "365000000000000000000" + }, + "83e48055327c28b5936fd9f4447e73bdb2dd3376": { + "balance": "2674000000000000000000" + }, + "32b7feebc5c59bf65e861c4c0be42a7611a5541a": { + "balance": "2212000000000000000000" + }, + "21a6db6527467bc6dad54bc16e9fe2953b6794ed": { + "balance": "14000000000000000000000" + }, + "e8ead1bb90ccc3aea2b0dcc5b58056554655d1d5": { + "balance": "7760000000000000000000" + }, + "7a94b19992ceb8ce63bc92ee4b5aded10c4d9725": { + "balance": "16770000000000000000000" + }, + "90e93e4dc17121487952333614002be42356498e": { + "balance": "1910000000000000000000" + }, + "aab00abf5828d7ebf26b47ceaccdb8ba03325166": { + "balance": "10000000000000000000000" + }, + "0a9ab2638b1cfd654d25dab018a0aebddf85fd55": { + "balance": "21801000000000000000" + }, + "b12ed07b8a38ad5506363fc07a0b6d799936bdaf": { + "balance": "10000000000000000000000" + }, + "f4a9d00cefa97b7a58ef9417fc6267a5069039ee": { + "balance": "21800000000000000000" + }, + "04a1cada1cc751082ff8da928e3cfa000820a9e9": { + "balance": "40000000000000000000" + }, + "9018cc1f48d2308e252ab6089fb99a7c1d569410": { + "balance": "200000000000000000000" + }, + "895d694e880b13ccd0848a86c5ce411f88476bbf": { + "balance": "199955000000000000000" + }, + "40a7f72867a7dc86770b162b7557a434ed50cce9": { + "balance": "1000000000000000000000" + }, + "467ea10445827ef1e502daf76b928a209e0d4032": { + "balance": "2000000000000000000000" + }, + "7553aa23b68aa5f57e135fe39fdc235eaca8c98c": { + "balance": "1000000000000000000000" + }, + "31b43b015d0081643c6cda46a7073a6dfdbca825": { + "balance": "50019600000000000000000" + }, + "d82fd9fdf6996bedad2843159c06f37e0924337d": { + "balance": "1688800000000000000000" + }, + "24a4eb36a7e498c36f99975c1a8d729fd6b305d7": { + "balance": "258000000000000000000" + }, + "91d66ea6288faa4b3d606c2aa45c7b6b8a252739": { + "balance": "2000000000000000000000" + }, + "83a402438e0519773d5448326bfb61f8b20cf52d": { + "balance": "1520000000000000000000" + }, + "c2fafdd30acb6d6706e9293cb02641f9edbe07b5": { + "balance": "1494224000000000000000" + }, + "79dba256472db4e058f2e4cdc3ea4e8a42773833": { + "balance": "1460000000000000000000" + }, + "498abdeb14c26b7b7234d70fceaef361a76dff72": { + "balance": "3000000000000000000000" + }, + "7b73242d75ca9ad558d650290df17692d54cd8b8": { + "balance": "2000200000000000000000" + }, + "6ec3659571b11f889dd439bcd4d67510a25be57e": { + "balance": "123000000000000000000" + }, + "ab098633eeee0ccefdf632f9575456f6dd80fc86": { + "balance": "200000000000000000000000" + }, + "f4a51fce4a1d5b94b0718389ba4e7814139ca738": { + "balance": "300000000000000000000" + }, + "8f561b41b209f248c8a99f858788376250609cf3": { + "balance": "1700000000000000000000" + }, + "05d0f4d728ebe82e84bf597515ad41b60bf28b39": { + "balance": "4200000000000000000000" + }, + "dfdf43393c649caebe1bb18059decb39f09fb4e8": { + "balance": "400000000000000000000" + }, + "0089508679abf8c71bf6781687120e3e6a84584d": { + "balance": "1800000000000000000000" + }, + "80907f593148b57c46c177e23d25abc4aae18361": { + "balance": "100000000000000000000" + }, + "94fcceadfe5c109c5eaeaf462d43873142c88e22": { + "balance": "4800000000000000000000" + }, + "e89249738b7eced7cb666a663c49cbf6de8343ea": { + "balance": "2000000000000000000000" + }, + "23c99ba087448e19c9701df66e0cab52368331fa": { + "balance": "2000000000000000000000" + }, + "a68e0c30cba3bc5a883e540320f999c7cd558e5c": { + "balance": "1799869000000000000000" + }, + "88888a57bd9687cbf950aeeacf9740dcc4d1ef59": { + "balance": "1820000000000000000000" + }, + "e9b36fe9b51412ddca1a521d6e94bc901213dda8": { + "balance": "10000000000000000000000" + }, + "a9145046fa3628cf5fd4c613927be531e6db1fdd": { + "balance": "112000000000000000000" + }, + "e82c58c579431b673546b53a86459acaf1de9b93": { + "balance": "1000000000000000000000" + }, + "bd6a474d66345bcdd707594adb63b30c7822af54": { + "balance": "4000000000000000000000" + }, + "6a6159074ab573e0ee581f0f3df2d6a594629b74": { + "balance": "310000000000000000000" + }, + "2e7f465520ec35cc23d68e75651bb6689544a196": { + "balance": "1050049000000000000000" + }, + "ac6d02e9a46b379fac4ac9b1d7b5d47bc850ce16": { + "balance": "1760000000000000000000" + }, + "bd59094e074f8d79142ab1489f148e32151f2089": { + "balance": "20000000000000000000" + }, + "0ba6e46af25a13f57169255a34a4dac7ce12be04": { + "balance": "500000000000000000000" + }, + "35145f620397c69cb8e00962961f0f4886643989": { + "balance": "6000000000000000000000" + }, + "d84b922f7841fc5774f00e14604ae0df42c8551e": { + "balance": "4011000000000000000000" + }, + "44232ff66ddad1fd841266380036afd7cf7d7f42": { + "balance": "200000000000000000000" + }, + "516954025fca2608f47da81c215eedfd844a09ff": { + "balance": "382000000000000000000" + }, + "e5aa0b833bb916dc19a8dd683f0ede241d988eba": { + "balance": "3000000000000000000000" + }, + "80ea1acc136eca4b68c842a95adf6b7fee7eb8a2": { + "balance": "4000000000000000000000" + }, + "98a0e54c6d9dc8be96276cebf4fec460f6235d85": { + "balance": "1969803000000000000000" + }, + "91620f3eb304e813d28b0297556d65dc4e5de5aa": { + "balance": "3820000000000000000000" + }, + "7bb984c6dbb9e279966afafda59c01d02627c804": { + "balance": "8050000000000000000000" + }, + "41f489a1ec747bc29c3e5f9d8db97877d4d1b4e9": { + "balance": "133700000000000000000" + }, + "8dbc3e6cb433e194f40f82b40faadb1f8b856116": { + "balance": "1910000000000000000000" + }, + "889da40fb1b60f9ea9bd7a453e584cf7b1b4d9f7": { + "balance": "40000000000000000000" + }, + "debbdd831e0f20ae6e378252decdf92f7cf0c658": { + "balance": "2000000000000000000000" + }, + "a22ade0ddb5c6ef8d0cd8de94d82b11082cb2e91": { + "balance": "1020000000000000000000" + }, + "823219a25976bb2aa4af8bad41ac3526b493361f": { + "balance": "2000000000000000000000" + }, + "6d39a9e98f81f769d73aad2cead276ac1387babe": { + "balance": "394000000000000000000" + }, + "751abcb6cc033059911815c96fd191360ab0442d": { + "balance": "8000000000000000000000" + }, + "64d80c3b8ba68282290b75e65d8978a15a87782c": { + "balance": "1970000000000000000000" + }, + "6ba8f7e25fc2d871618e24e40184199137f9f6aa": { + "balance": "400020000000000000000" + }, + "25a74c2ac75dc8baa8b31a9c7cb4b7829b2456da": { + "balance": "2000000000000000000000" + }, + "0f7b61c59b016322e8226cafaee9d9e76d50a1b3": { + "balance": "4000000000000000000000" + }, + "7526e482529f0a14eec98871dddd0e721b0cd9a2": { + "balance": "20000000000000000000" + }, + "071dd90d14d41f4ff7c413c24238d3359cd61a07": { + "balance": "36400000000000000000000" + }, + "a986762f7a4f294f2e0b173279ad2c81a2223458": { + "balance": "20000000000000000000" + }, + "e667f652f957c28c0e66d0b63417c80c8c9db878": { + "balance": "601650000000000000000" + }, + "7b98e23cb96beee80a168069ebba8f20edd55ccf": { + "balance": "214500000000000000000" + }, + "2d8e5bb8d3521695c77e7c834e0291bfacee7408": { + "balance": "1970000000000000000000" + }, + "f23d01589eb12d439f7448ff54307529f191858d": { + "balance": "2000000000000000000000" + }, + "abd9605b3e91acfd777830d16463478ae0fc7720": { + "balance": "133700000000000000000" + }, + "eabb90d37989aab31feae547e0e6f3999ce6a35d": { + "balance": "2000000000000000000000" + }, + "0abfb39b11486d79572866195ba26c630b6784db": { + "balance": "121500000000000000000000" + }, + "d56a144d7af0ae8df649abae535a15983aa04d02": { + "balance": "5000000000000000000000" + }, + "998c1f93bcdb6ff23c10d0dc924728b73be2ff9f": { + "balance": "1002750000000000000000" + }, + "bc62b3096a91e7dc11a1592a293dd2542150d751": { + "balance": "1000000000000000000000" + }, + "0c8f66c6017bce5b20347204b602b743bad78d60": { + "balance": "2000000000000000000000" + }, + "4c5b3dc0e2b9360f91289b1fe13ce12c0fbda3e1": { + "balance": "2000000000000000000000" + }, + "b44605552471a6eee4daab71ff3bb41326d473e0": { + "balance": "839200000000000000000" + }, + "fc3d226bb36a58f526568857b0bb12d109ec9301": { + "balance": "2000000000000000000000" + }, + "adc8228ef928e18b2a807d00fb3c6c79cd1d9e96": { + "balance": "22800000000000000000" + }, + "9df32a501c0b781c0281022f42a1293ffd7b892a": { + "balance": "9000000000000000000000" + }, + "e7da609d40cde80f00ce5b4ffb6aa9d0b03494fc": { + "balance": "1000000000000000000000" + }, + "9b64d3cd8d2b73f66841b5c46bb695b88a9ab75d": { + "balance": "20769000000000000000" + }, + "8e9c08f738661f9676236eff82ba6261dd3f4822": { + "balance": "100000000000000000000" + }, + "deb97254474c0d2f5a7970dcdb2f52fb1098b896": { + "balance": "1000000000000000000000" + }, + "b4256273962bf631d014555cc1da0dcc31616b49": { + "balance": "2000000000000000000000" + }, + "23abd9e93e7957e5b636be6579051c15e5ce0b0e": { + "balance": "17188400000000000000000" + }, + "382591e7217b435e8e884cdbf415fe377a6fe29e": { + "balance": "8022000000000000000000" + }, + "f17adb740f45cbbde3094e7e13716f8103f563bd": { + "balance": "2000000000000000000000" + }, + "61ed5596c697207f3d55b2a51aa7d50f07fa09e8": { + "balance": "2000000000000000000000" + }, + "788e809741a3b14a22a4b1d937c82cfea489eebe": { + "balance": "7000000000000000000000" + }, + "992646ac1acaabf5ddaba8f9429aa6a94e7496a7": { + "balance": "1000110000000000000000" + }, + "51296f5044270d17707646129c86aad1645eadc1": { + "balance": "1337133000000000000000" + }, + "6ee8aad7e0a065d8852d7c3b9a6e5fdc4bf50c00": { + "balance": "20000000000000000000" + }, + "30db6b9b107e62102f434a9dd0960c2021f5ce4c": { + "balance": "599742000000000000000" + }, + "63fc93001305adfbc9b85d29d9291a05f8f1410b": { + "balance": "1000000000000000000000" + }, + "df6ed6006a6abe886ed33d95a4de28fc12183927": { + "balance": "910000000000000000000" + }, + "4745ab181a36aa8cbf2289d0c45165bc7ebe2381": { + "balance": "39400000000000000000" + }, + "7bb0fdf5a663b5fba28d9c902af0c811e252f298": { + "balance": "200000000000000000000" + }, + "e0ff0bd9154439c4a5b7233e291d7d868af53f33": { + "balance": "396110000000000000000" + }, + "09261f9acb451c3788844f0c1451a35bad5098e3": { + "balance": "8664000000000000000000" + }, + "2813d263fc5ff2479e970595d6b6b560f8d6d6d1": { + "balance": "2000000000000000000000" + }, + "2cd19694d1926a0fa9189edebafc671cf1b2caa5": { + "balance": "1000000000000000000000" + }, + "05336e9a722728d963e7a1cf2759fd0274530fca": { + "balance": "915583000000000000000" + }, + "e5b7af146986c0ff8f85d22e6cc334077d84e824": { + "balance": "2000000000000000000000" + }, + "3e4fbd661015f6461ed6735cefef01f31445de3a": { + "balance": "16200000000000000000000" + }, + "4f5df5b94357de948604c51b7893cddf6076baad": { + "balance": "3760000000000000000000" + }, + "9567a0de811de6ff095b7ee64e7f1b83c2615b80": { + "balance": "267400000000000000000" + }, + "955db3b74360b9a268677e73cea821668af6face": { + "balance": "30000000000000000000000" + }, + "3e040d40cb80ba0125f3b15fdefcc83f3005da1b": { + "balance": "1038000000000000000000" + }, + "43f470ed659e2991c375957e5ddec5bd1d382231": { + "balance": "100000000000000000000" + }, + "047f9bf1529daf87d407175e6f171b5e59e9ff3e": { + "balance": "650000000000000000000" + }, + "15e3b584056b62c973cf5eb096f1733e54c15c91": { + "balance": "936702000000000000000" + }, + "c03de42a109b657a64e92224c08dc1275e80d9b2": { + "balance": "20000000000000000000" + }, + "e4fc13cfcbac1b17ce7783acd423a845943f6b3a": { + "balance": "20000000000000000000" + }, + "65ff874fafce4da318d6c93d57e2c38a0d73e820": { + "balance": "1000160000000000000000" + }, + "8b997dbc078ad02961355da0a159f2927ed43d64": { + "balance": "197000000000000000000" + }, + "2f5080b83f7e2dc0a1dd11b092ad042bff788f4c": { + "balance": "3338355000000000000000" + }, + "1b3920d001c43e72b24e7ca46f0fd6e0c20a5ff2": { + "balance": "2000000000000000000000" + }, + "5ade77fd81c25c0af713b10702768c1eb2f975e7": { + "balance": "20000000000000000000" + }, + "acaaddcbf286cb0e215dda55598f7ff0f4ada5c6": { + "balance": "1000000000000000000000" + }, + "64e0217a5b38aa40583625967fa9883690388b6f": { + "balance": "200000000000000000000" + }, + "ae648155a658370f929be384f7e001047e49dd46": { + "balance": "13561000000000000000000" + }, + "f7c1b443968b117b5dd9b755572fcd39ca5ec04b": { + "balance": "456082000000000000000" + }, + "de027efbb38503226ed871099cb30bdb02af1335": { + "balance": "1000000000000000000000" + }, + "49cf1e54be363106b920729d2d0ba46f0867989a": { + "balance": "268000000000000000000" + }, + "e7f4d7fe6f561f7fa1da3005fd365451ad89df89": { + "balance": "200000000000000000000" + }, + "b036916bdacf94b69e5a8a65602975eb026104dd": { + "balance": "20000000000000000000" + }, + "e923c06177b3427ea448c0a6ff019b54cc548d95": { + "balance": "36281000000000000000" + }, + "ad927e03d1599a78ca2bf0cad2a183dceb71eac0": { + "balance": "1970000000000000000000" + }, + "ef39ca9173df15531d73e6b72a684b51ba0f2bb4": { + "balance": "1598000000000000000000" + }, + "6443b8ae639de91cf73c5ae763eeeed3ddbb9253": { + "balance": "2000000000000000000000" + }, + "8026435aac728d497b19b3e7e57c28c563954f2b": { + "balance": "1730000000000000000000" + }, + "ed327a14d5cfadd98103fc0999718d7ed70528ea": { + "balance": "1440000000000000000000" + }, + "38a3dccf2fcfe0c91a2624bd0cbf88ee4a076c33": { + "balance": "2000000000000000000000" + }, + "f0b1f9e27832c6de6914d70afc238c749995ace4": { + "balance": "2000000000000000000000" + }, + "770d98d31b4353fceee8560c4ccf803e88c0c4e0": { + "balance": "600000000000000000000" + }, + "ba1f0e03cb9aa021f4dcebfa94e5c889c9c7bc9e": { + "balance": "32200000000000000000000" + }, + "233842b1d0692fd11140cf5acda4bf9630bae5f8": { + "balance": "2000000000000000000000" + }, + "b5dd50a15da34968890a53b4f13fe1af081baaaa": { + "balance": "4000000000000000000000" + }, + "72072a0ef1cff3d567cdd260e708ddc11cbc9a31": { + "balance": "100000000000000000000" + }, + "81a88196fac5f23c3e12a69dec4b880eb7d97310": { + "balance": "2000000000000000000000" + }, + "6c63f84556d290bfcd99e434ee9997bfd779577a": { + "balance": "2000000000000000000000" + }, + "5f167aa242bc4c189adecb3ac4a7c452cf192fcf": { + "balance": "1999980000000000000000" + }, + "445cb8de5e3df520b499efc980f52bff40f55c76": { + "balance": "2000000000000000000000" + }, + "aec27ce2133e82d052520afb5c576d9f7eb93ed2": { + "balance": "65232380000000000000000" + }, + "07dc2bf83bc6af19a842ffea661af5b41b67fda1": { + "balance": "1500000000000000000000" + }, + "febd48d0ffdbd5656cd5e686363a61145228f279": { + "balance": "2800000000000000000000" + }, + "a86db07d9f812f4796622d40e03d135874a88a74": { + "balance": "20000000000000000000" + }, + "5413c97ffa4a6e2a7bba8961dc9fce8530a787d7": { + "balance": "1000000000000000000000" + }, + "e2ff9ee4b6ecc14141cc74ca52a9e7a2ee14d908": { + "balance": "1400000000000000000000" + }, + "2e8eb30a716e5fe15c74233e039bfb1106e81d12": { + "balance": "100000000000000000000" + }, + "fd88d114220f081cb3d5e15be8152ab07366576a": { + "balance": "300000000000000000000" + }, + "e408fceaa1b98f3c640f48fcba39f056066d6308": { + "balance": "10000000000000000000000" + }, + "057dd29f2d19aa3da42327ea50bce86ff5c911d9": { + "balance": "4000000000000000000000" + }, + "ed1065dbcf9d73c04ffc7908870d881468c1e132": { + "balance": "2000000000000000000000" + }, + "bbc9d8112e5beb02dd29a2257b1fe69b3536a945": { + "balance": "2000000000000000000000" + }, + "79c1be19711f73bee4e6316ae7549459aacea2e0": { + "balance": "400000000000000000000" + }, + "1bcf3441a866bdbe963009ce33c81cbb0261b02c": { + "balance": "182000000000000000000" + }, + "e2e26e4e1dcf30d048cc6ecf9d51ec1205a4e926": { + "balance": "4000000000000000000000" + }, + "77701e2c493da47c1b58f421b5495dee45bea39b": { + "balance": "6068279000000000000000" + }, + "37a05aceb9395c8635a39a7c5d266ae610d10bf2": { + "balance": "30000000000000000000000" + }, + "c6355ec4768c70a49af69513cd83a5bca7e3b9cd": { + "balance": "6000000000000000000000" + }, + "e3c0c128327a9ad80148139e269773428e638cb0": { + "balance": "2000000000000000000000" + }, + "f7f4898c4c526d955f21f055cb6e47b915e51964": { + "balance": "2288000000000000000000" + }, + "29824e94cc4348bc963279dcdf47391715324cd3": { + "balance": "1940000000000000000000" + }, + "eaa45cea02d87d2cc8fda9434e2d985bd4031584": { + "balance": "1920750000000000000000" + }, + "e08b9aba6bd9d28bc2056779d2fbf0f2855a3d9d": { + "balance": "2000000000000000000000" + }, + "87c498170934b8233d1ad1e769317d5c475f2f40": { + "balance": "1015200000000000000000" + }, + "352d29a26e8a41818181746467f582e6e84012e0": { + "balance": "6000000000000000000000" + }, + "403220600a36f73f24e190d1edb2d61be3f41354": { + "balance": "304000000000000000000" + }, + "0a48296f7631708c95d2b74975bc4ab88ac1392a": { + "balance": "5000000000000000000000" + }, + "ffe0e997f1977a615f5a315af413fd4869343ba0": { + "balance": "100076000000000000000" + }, + "ca66b2280fa282c5b67631ce552b62ee55ad8474": { + "balance": "1969488000000000000000" + }, + "2b6ed29a95753c3ad948348e3e7b1a251080ffb9": { + "balance": "250000000000000000000000" + }, + "492e70f04d18408cb41e25603730506b35a2876b": { + "balance": "39400000000000000000" + }, + "0e6baaa3deb989f289620076668618e9ac332865": { + "balance": "200000000000000000000" + }, + "b753a75f9ed10b21643a0a3dc0517ac96b1a4068": { + "balance": "401800000000000000000" + }, + "3ad915d550b723415620f5a9b5b88a85f382f035": { + "balance": "1000000000000000000000" + }, + "c992be59c6721caf4e028f9e8f05c25c55515bd4": { + "balance": "20000000000000000000" + }, + "02b643d6fabd437a851accbe79abb7fde126dccf": { + "balance": "7200000000000000000000" + }, + "88797e58675ed5cc4c19980783dbd0c956085153": { + "balance": "2000000000000000000000" + }, + "ac142eda1157b9a9a64390df7e6ae694fac98905": { + "balance": "200000000000000000000" + }, + "656579daedd29370d9b737ee3f5cd9d84bc2b342": { + "balance": "1430000000000000000000" + }, + "9bb9b02a26bfe1ccc3f0c6219e261c397fc5ca78": { + "balance": "1337000000000000000000" + }, + "bee8d0b008421954f92d000d390fb8f8e658eaee": { + "balance": "1000000000000000000000" + }, + "7989d09f3826c3e5af8c752a8115723a84d80970": { + "balance": "415554000000000000000" + }, + "7cd5d81eab37e11e6276a3a1091251607e0d7e38": { + "balance": "62856000000000000000" + }, + "6ce1b0f6adc47051e8ab38b39edb4186b03babcc": { + "balance": "1207800000000000000000" + }, + "abfcf5f25091ce57875fc674dcf104e2a73dd2f2": { + "balance": "19700000000000000000" + }, + "1c3ef05dae9dcbd489f3024408669de244c52a02": { + "balance": "20000000000000000000000" + }, + "cfa8b37127149bdbfee25c34d878510951ea10eb": { + "balance": "2000000000000000000000" + }, + "74863acec75d03d53e860e64002f2c165e538377": { + "balance": "1000000000000000000000" + }, + "59b9e733cba4be00429b4bd9dfa64732053a7d55": { + "balance": "20000000000000000000" + }, + "aeadfcd0978edad74a32bd01a0a51d37f246e661": { + "balance": "260000000000000000000" + }, + "08090876baadfee65c3d363ba55312748cfa873d": { + "balance": "1700170000000000000000" + }, + "e589fa76984db5ec4004b46ee8a59492c30744ce": { + "balance": "2800000000000000000000" + }, + "3485361ee6bf06ef6508ccd23d94641f814d3e2f": { + "balance": "2000000000000000000000" + }, + "5cb731160d2e8965670bde925d9de5510935347d": { + "balance": "40000000000000000000" + }, + "8ef4d8a2c23c5279187b64e96f741404085385f3": { + "balance": "299598000000000000000" + }, + "e246683cc99db7c4a52bcbacaab0b32f6bfc93d7": { + "balance": "2000000000000000000000" + }, + "7d273e637ef1eac481119413b91c989dc5eac122": { + "balance": "500000000000000000000" + }, + "6efba8fb2ac5b6730729a972ec224426a287c3ad": { + "balance": "283152000000000000000" + }, + "0773eeacc050f74720b4a1bd57895b1cceeb495d": { + "balance": "10000000000000000000000" + }, + "88a122a2382c523931fb51a0ccad3beb5b7259c3": { + "balance": "2000000000000000000000" + }, + "b0b779b94bfa3c2e1f587bcc9c7e21789222378f": { + "balance": "1550000000000000000000" + }, + "86f95c5b11a293940e35c0b898d8b75f08aab06d": { + "balance": "29605000000000000000000" + }, + "cf2288ef4ebf88e86db13d8a0e0bf52a056582c3": { + "balance": "2533000000000000000000" + }, + "71ea5b11ad8d29b1a4cb67bf58ca6c9f9c338c16": { + "balance": "1600000000000000000000" + }, + "9917d68d4af341d651e7f0075c6de6d7144e7409": { + "balance": "5660000000000000000000" + }, + "1e5800227d4dcf75e30f5595c5bed3f72e341e3b": { + "balance": "248300000000000000000" + }, + "123759f333e13e3069e2034b4f05398918119d36": { + "balance": "20000000000000000000000" + }, + "f798d16da4e460c460cd485fae0fa0599708eb82": { + "balance": "1000000000000000000000" + }, + "864bec5069f855a4fd5892a6c4491db07c88ff7c": { + "balance": "1000000000000000000000" + }, + "fa283299603d8758e8cab082125d2c8f7d445429": { + "balance": "6415633000000000000000" + }, + "c811c2e9aa1ac3462eba5e88fcb5120e9f6e2ca2": { + "balance": "1400140000000000000000" + }, + "61547d376e5369bcf978fc162c3c56ae453547e8": { + "balance": "200000000000000000000" + }, + "0d747ee5969bf79d57381d6fe3a2406cd0d8ce27": { + "balance": "100000000000000000000000" + }, + "f8962b75db5d24c7e8b7cef1068c3e67cebb30a5": { + "balance": "280000000000000000000" + }, + "35bf6688522f35467a7f75302314c02ba176800e": { + "balance": "17400000000000000000000" + }, + "05cb6c3b0072d3116761b532b218443b53e8f6c5": { + "balance": "141722000000000000000000" + }, + "91c80caa081b38351d2a0e0e00f80a34e56474c1": { + "balance": "1000000000000000000000" + }, + "d75a502a5b677287470f65c5aa51b87c10150572": { + "balance": "907400000000000000000" + }, + "3e194b4ecef8bb711ea2ff24fec4e87bd032f7d1": { + "balance": "2575465000000000000000" + }, + "736bf1402c83800f893e583192582a134eb532e9": { + "balance": "9999996000000000000000" + }, + "c2cb1ada5da9a0423873814793f16144ef36b2f3": { + "balance": "1334326000000000000000" + }, + "efcce06bd6089d0e458ef561f5a689480afe7000": { + "balance": "600000000000000000000" + }, + "bfe6bcb0f0c07852643324aa5df5fd6225abc3ca": { + "balance": "74500000000000000000" + }, + "9d799e943e306ba2e5b99c8a6858cbb52c0cf735": { + "balance": "300000000000000000000" + }, + "f45b1dcb2e41dc27ffa024daadf619c11175c087": { + "balance": "19700000000000000000" + }, + "08e38ee0ce48c9ca645c1019f73b5355581c56e6": { + "balance": "1600000000000000000000" + }, + "2cb4c3c16bb1c55e7c6b7a19b127a1ac9390cc09": { + "balance": "3397053000000000000000" + }, + "bdc02cd4330c93d6fbda4f6db2a85df22f43c233": { + "balance": "2000000000000000000000" + }, + "acec91ef6941cf630ba9a3e787a012f4a2d91dd4": { + "balance": "80000000000000000000000" + }, + "27ac073be79ce657a93aa693ee43bf0fa41fef04": { + "balance": "50000000000000000000000" + }, + "22fe884d9037291b4d52e6285ae68dea0be9ffb5": { + "balance": "2000000000000000000000" + }, + "c3107a9af3322d5238df0132419131629539577d": { + "balance": "492650000000000000000" + }, + "b5cac5ed03477d390bb267d4ebd46101fbc2c3da": { + "balance": "197000000000000000000" + }, + "58fb947364e7695765361ebb1e801ffb8b95e6d0": { + "balance": "200000000000000000000" + }, + "32860997d730b2d83b73241a25d3667d51c908ef": { + "balance": "499938000000000000000" + }, + "c79d5062c796dd7761f1f13e558d73a59f82f38b": { + "balance": "8000000000000000000000" + }, + "fa142fe47eda97e6503b386b18a2bedd73ccb5b1": { + "balance": "850080000000000000000" + }, + "6ca5de00817de0cedce5fd000128dede12648b3c": { + "balance": "20000000000000000000" + }, + "214b743955a512de6e0d886a8cbd0282bee6d2a2": { + "balance": "2000000000000000000000" + }, + "ede79ae1ff4f1606d59270216fa46ab2ddd4ecaa": { + "balance": "146000000000000000000" + }, + "528101ce46b720a2214dcdae6618a53177ffa377": { + "balance": "508876000000000000000" + }, + "b5870ce342d43343333673038b4764a46e925f3e": { + "balance": "1000000000000000000000" + }, + "843bd3502f45f8bc4da370b323bdac3fcf5f19a6": { + "balance": "1476000000000000000000" + }, + "5067f4549afbfe884c59cbc12b96934923d45db0": { + "balance": "1000000000000000000000" + }, + "6f2a42e6e033d01061131929f7a6ee1538021e52": { + "balance": "2000000000000000000000" + }, + "e9e1f7cb00a110edd0ebf8b377ef8a7bb856117f": { + "balance": "200000000000000000000" + }, + "a387ecde0ee4c8079499fd8e03473bd88ad7522a": { + "balance": "1970000000000000000000" + }, + "6dff90e6dc359d2590882b1483edbcf887c0e423": { + "balance": "1000000000000000000000" + }, + "22e512149a18d369b73c71efa43e86c9edabaf1d": { + "balance": "1455000000000000000000" + }, + "a3203095edb7028e6871ce0a84f548459f83300a": { + "balance": "4000000000000000000000" + }, + "93b4bf3fdff6de3f4e56ba6d7799dc4b93a6548f": { + "balance": "19100000000000000000" + }, + "8c75956e8fed50f5a7dd7cfd27da200f6746aea6": { + "balance": "1000000000000000000000" + }, + "afc8ebe8988bd4105acc4c018e546a1e8f9c7888": { + "balance": "500000000000000000000" + }, + "bf9acd4445d9c9554689cabbbab18800ff1741c2": { + "balance": "1000000000000000000000" + }, + "603f2fab7afb6e017b94766069a4b43b38964923": { + "balance": "1656954000000000000000" + }, + "a1f765c44fe45f790677944844be4f2d42165fbd": { + "balance": "3687750000000000000000" + }, + "4dc9d5bb4b19cecd94f19ec25d200ea72f25d7ed": { + "balance": "2000000000000000000000" + }, + "48f60a35484fe7792bcc8a7b6393d0dda1f6b717": { + "balance": "3600000000000000000000" + }, + "588ed990a2aff44a94105d58c305257735c868ac": { + "balance": "16100000000000000000000" + }, + "710be8fd5e2918468be2aabea80d828435d79612": { + "balance": "17600000000000000000" + }, + "03ea6d26d080e57aee3926b18e8ed73a4e5b2826": { + "balance": "200000000000000000000" + }, + "20824ba1dbebbef9846ef3d0f6c1b017e6912ec4": { + "balance": "7170194000000000000000" + }, + "f7500c166f8bea2f82347606e5024be9e4f4ce99": { + "balance": "20000000000000000000" + }, + "9d369165fb70b81a3a765f188fd60cbe5e7b0968": { + "balance": "2000000000000000000000" + }, + "6fddbd9bca66e28765c2162c8433548c1052ed11": { + "balance": "82720000000000000000000" + }, + "8b81156e698639943c01a75272ad3d35851ab282": { + "balance": "344946000000000000000" + }, + "75804aac64b4199083982902994d9c5ed8828f11": { + "balance": "557800000000000000000" + }, + "d6e8e97ae9839b9ee507eedb28edfb7477031439": { + "balance": "2000000000000000000000" + }, + "6c808cabb8ff5fbb6312d9c8e84af8cf12ef0875": { + "balance": "4000086000000000000000" + }, + "afa539586e4719174a3b46b9b3e663a7d1b5b987": { + "balance": "5000000000000000000000" + }, + "f8a065f287d91d77cd626af38ffa220d9b552a2b": { + "balance": "1910000000000000000000" + }, + "30e60900cacc7203f314dc604347255167fc2a0f": { + "balance": "2000000000000000000000" + }, + "796f87ba617a2930b1670be92ed1281fb0b346e1": { + "balance": "128400000000000000000" + }, + "f114ff0d0f24eff896edde5471dea484824a99b3": { + "balance": "13700000000000000000" + }, + "0b80fc70282cbdd5fde35bf78984db3bdb120188": { + "balance": "1000160000000000000000" + }, + "da7ad025ebde25d22243cb830ea1d3f64a566323": { + "balance": "500000000000000000000" + }, + "65a52141f56bef98991724c6e7053381da8b5925": { + "balance": "60140000000000000000" + }, + "bbc8eaff637e94fcc58d913c7770c88f9b479277": { + "balance": "200000000000000000000" + }, + "0469e8c440450b0e512626fe817e6754a8152830": { + "balance": "2000000000000000000000" + }, + "0727be0a2a00212048b5520fbefb953ebc9d54a0": { + "balance": "10000000000000000000000" + }, + "7d858493f07415e0912d05793c972113eae8ae88": { + "balance": "1818000000000000000000" + }, + "7091303116d5f2389b23238b4d656a8596d984d3": { + "balance": "1094014000000000000000" + }, + "3702e704cc21617439ad4ea27a5714f2fda1e932": { + "balance": "1000000000000000000000" + }, + "b87de1bcd29269d521b8761cc39cfb4319d2ead5": { + "balance": "1000000000000000000000" + }, + "f639ac31da9f67271bd10402b7654e5ce763bd47": { + "balance": "399996000000000000000" + }, + "e7735ec76518fc6aa92da8715a9ee3f625788f13": { + "balance": "1997803000000000000000" + }, + "51277fe7c81eebd252a03df69a6b9f326e272207": { + "balance": "59965000000000000000" + }, + "3b8098533f7d9bdcd307dbb23e1777ca18418936": { + "balance": "2000000000000000000000" + }, + "2cba6d5d0dc204ea8a25ada2e26f5675bd5f2fdc": { + "balance": "1330755000000000000000" + }, + "5c3c1c645b917543113b3e6c1c054da1fe742b9a": { + "balance": "800000000000000000000" + }, + "5ecdbaeab9106ffe5d7b519696609a05baeb85ad": { + "balance": "20000000000000000000" + }, + "45a820a0672f17dc74a08112bc643fd1167736c3": { + "balance": "199943000000000000000" + }, + "beef94213879e02622142bea61290978939a60d7": { + "balance": "5728109000000000000000" + }, + "6cd212aee04e013f3d2abad2a023606bfb5c6ac7": { + "balance": "1999944000000000000000" + }, + "92698e345378c62d8eda184d94366a144b0c105b": { + "balance": "1400000000000000000000" + }, + "2d5b42fc59ebda0dfd66ae914bc28c1b0a6ef83a": { + "balance": "206764195000000000000000" + }, + "b7a6791c16eb4e2162f14b6537a02b3d63bfc602": { + "balance": "780700000000000000000" + }, + "fa105f1a11b6e4b1f56012a27922e2ac2da4812f": { + "balance": "9550000000000000000000" + }, + "2306df931a940d58c01665fa4d0800802c02edfe": { + "balance": "1000000000000000000000" + }, + "f37bf78c5875154711cb640d37ea6d28cfcb1259": { + "balance": "200000000000000000000" + }, + "66201bd227ae6dc6bdfed5fbde811fecfe5e9dd9": { + "balance": "594808000000000000000" + }, + "2bafbf9e9ed2c219f7f2791374e7d05cb06777e7": { + "balance": "220000000000000000000" + }, + "8e9b35ad4a0a86f758446fffde34269d940ceacd": { + "balance": "4000000000000000000000" + }, + "1b43232ccd4880d6f46fa751a96cd82473315841": { + "balance": "80000000000000000000" + }, + "6eefdc850e87b715c72791773c0316c3559b58a4": { + "balance": "4000000000000000000000" + }, + "f2c03e2a38998c21648760f1e5ae7ea3077d8522": { + "balance": "2642456000000000000000" + }, + "0625d06056968b002206ff91980140242bfaa499": { + "balance": "1000000000000000000000" + }, + "6158e107c5eb54cb7604e0cd8dc1e07500d91c3c": { + "balance": "50000000000000000000" + }, + "02477212ffdd75e5155651b76506b1646671a1eb": { + "balance": "1760000000000000000000" + }, + "fa44a855e404c86d0ca8ef3324251dfb349c539e": { + "balance": "1552000000000000000000" + }, + "49897fe932bbb3154c95d3bce6d93b6d732904dd": { + "balance": "4000000000000000000000" + }, + "9b6641b13e172fc072ca4b8327a3bc28a15b66a9": { + "balance": "120000000000000000000" + }, + "a46b4387fb4dcce011e76e4d73547d4481e09be5": { + "balance": "1337000000000000000000" + }, + "72bb27cb99f3e2c2cf90a98f707d30e4a201a071": { + "balance": "1640000000000000000000" + }, + "b6bfe1c3ef94e1846fb9e3acfe9b50c3e9069233": { + "balance": "1999944000000000000000" + }, + "e6cb3f3124c9c9cc3834b1274bc3336456a38bac": { + "balance": "427382000000000000000" + }, + "fcbc5c71ace79741450b012cf6b8d3f17db68a70": { + "balance": "9550000000000000000000" + }, + "15dbb48c98309764f99ced3692dcca35ee306bac": { + "balance": "150000000000000000000000" + }, + "2e10910ba6e0bc17e055556614cb87090f4d7e5b": { + "balance": "200000000000000000000" + }, + "e5fbe34984b637196f331c679d0c0c47d83410e1": { + "balance": "2000050000000000000000" + }, + "6d120f0caae44fd94bcafe55e2e279ef96ba5c7a": { + "balance": "4000000000000000000000" + }, + "aa5afcfd8309c2df9d15be5e6a504e7d706624c5": { + "balance": "5846763000000000000000" + }, + "37959c20b7e9931d72f5a8ae869dafddad3b6d5c": { + "balance": "200000000000000000000" + }, + "b041310fe9eed6864cedd4bee58df88eb4ed3cac": { + "balance": "10000000000000000000000" + }, + "986df47e76e4d7a789cdee913cc9831650936c9d": { + "balance": "5000000000000000000000" + }, + "35aaa0465d1c260c420fa30e2629869fb6559207": { + "balance": "704976000000000000000" + }, + "7f655c6789eddf455cb4b88099720639389eebac": { + "balance": "6000000000000000000000" + }, + "9e3eb509278fe0dcd8e0bbe78a194e06b6803943": { + "balance": "940000000000000000000" + }, + "3e9410d3b9a87ed5e451a6b91bb8923fe90fb2b5": { + "balance": "200000000000000000000" + }, + "9e960dcd03d5ba99cb115d17ff4c09248ad4d0be": { + "balance": "200000000000000000000" + }, + "f057aa66ca767ede124a1c5b9cc5fc94ef0b0137": { + "balance": "2077730000000000000000" + }, + "f38a6ca80168537e974d14e1c3d13990a44c2c1b": { + "balance": "6000000000000000000000" + }, + "229e430de2b74f442651ddcdb70176bc054cad54": { + "balance": "13545000000000000000" + }, + "27bf9f44ba7d05c33540c3a53bb02cbbffe7c3c6": { + "balance": "2000000000000000000000" + }, + "10389858b800e8c0ec32f51ed61a355946cc409b": { + "balance": "200000000000000000000" + }, + "fd2929271e9d2095a264767e7b0df52ea0d1d400": { + "balance": "3000040000000000000000" + }, + "44250d476e062484e9080a3967bf3a4a732ad73f": { + "balance": "20000000000000000000" + }, + "0c67033dd8ee7f0c8ae534d42a51f7d9d4f7978f": { + "balance": "200000000000000000000" + }, + "e083d34863e0e17f926b7928edff317e998e9c4b": { + "balance": "400000000000000000000" + }, + "7f7192c0df1c7db6d9ed65d71184d8e4155a17ba": { + "balance": "79800000000000000000" + }, + "51e7b55c2f9820eed73884361b5066a59b6f45c6": { + "balance": "2000000000000000000000" + }, + "4fa983bb5e3073a8edb557effeb4f9fb1d60ef86": { + "balance": "1599800000000000000000" + }, + "5a5ee8e9bb0e8ab2fecb4b33d29478be50bbd44b": { + "balance": "776000000000000000000" + }, + "1f3959fc291110e88232c36b7667fc78a379613f": { + "balance": "18200000000000000000" + }, + "2d7d5c40ddafc450b04a74a4dabc2bb5d665002e": { + "balance": "2000000000000000000000" + }, + "5215183b8f80a9bc03d26ce91207832a0d39e620": { + "balance": "1000000000000000000000" + }, + "5607590059a9fec1881149a44b36949aef85d560": { + "balance": "2000000000000000000000" + }, + "f7c50f922ad16b61c6d1baa045ed816815bac48f": { + "balance": "12566370000000000000000" + }, + "da10978a39a46ff0bb848cf65dd9c77509a6d70e": { + "balance": "2000000000000000000000" + }, + "a7dcbba9b9bf6762c145416c506a71e3b497209c": { + "balance": "1999944000000000000000" + }, + "54e01283cc8b384538dd646770b357c960d6cacd": { + "balance": "5000000000000000000000" + }, + "78cf8336b328db3d87813a472b9e89b75e0cf3bc": { + "balance": "1000000000000000000000" + }, + "ba24fc436753a739db2c8d40e6d4d04c528e86fa": { + "balance": "13000000000000000000000" + }, + "dfe929a61c1b38eddbe82c25c2d6753cb1e12d68": { + "balance": "402500000000000000000" + }, + "2b49fba29830360fcdb6da23bbfea5c0bbac5281": { + "balance": "20000000000000000000" + }, + "76becae4a31d36f3cb577f2a43594fb1abc1bb96": { + "balance": "24860000000000000000000" + }, + "e0cf698a053327ebd16b7d7700092fe2e8542446": { + "balance": "95275000000000000000" + }, + "a3802d8a659e89a2c47e905430b2a827978950a7": { + "balance": "1000000000000000000000" + }, + "75636cdb109050e43d5d6ec47e359e218e857eca": { + "balance": "22886800000000000000000" + }, + "3d813ff2b6ed57b937dabf2b381d148a411fa085": { + "balance": "100000000000000000000" + }, + "a9252551a624ae513719dabe5207fbefb2fd7749": { + "balance": "40000000000000000000" + }, + "c749668042e71123a648975e08ed6382f83e05e2": { + "balance": "14000000000000000000000" + }, + "04eca501630abce35218b174956b891ba25efb23": { + "balance": "1000060000000000000000" + }, + "790f91bd5d1c5cc4739ae91300db89e1c1303c93": { + "balance": "2000000000000000000000" + }, + "009560a3de627868f91fa8bfe1c1b7afaf08186b": { + "balance": "524000000000000000000" + }, + "1329dd19cd4baa9fc64310efeceab22117251f12": { + "balance": "200000000000000000000" + }, + "7005a772282b1f62afda63f89b5dc6ab64c84cb9": { + "balance": "18000000000000000000000" + }, + "abfe936425dcc7b74b955082bbaaf2a11d78bc05": { + "balance": "1400000000000000000000" + }, + "97d0d9725e3b70e675843173938ed371b62c7fac": { + "balance": "170000000000000000000" + }, + "41ed2d8e7081482c919fc23d8f0091b3c82c4685": { + "balance": "1295460000000000000000" + }, + "992365d764c5ce354039ddfc912e023a75b8e168": { + "balance": "18200000000000000000" + }, + "e1c607c0a8a060da8f02a8eb38a013ea8cda5b8c": { + "balance": "805000000000000000000" + }, + "3b2c45990e21474451cf4f59f01955b331c7d7c9": { + "balance": "2000000000000000000000" + }, + "29ac2b458454a36c7e96c73a8667222a12242c71": { + "balance": "4000000000000000000000" + }, + "b8555010776e3c5cb311a5adeefe9e92bb9a64b9": { + "balance": "4000000000000000000000" + }, + "30380087786965149e81423b15e313ba32c5c783": { + "balance": "18200000000000000000" + }, + "a2f86bc061884e9eef05640edd51a2f7c0596c69": { + "balance": "2000050000000000000000" + }, + "9f98eb34d46979b0a6de8b05aa533a89b825dcf1": { + "balance": "86500000000000000000" + }, + "c81fb7d20fd2800192f0aac198d6d6a37d3fcb7d": { + "balance": "259500000000000000000" + }, + "a4035ab1e5180821f0f380f1131b7387c8d981cd": { + "balance": "20000000000000000000" + }, + "782f52f0a676c77716d574c81ec4684f9a020a97": { + "balance": "850055000000000000000" + }, + "261e0fa64c51137465eecf5b90f197f7937fdb05": { + "balance": "18000000000000000000000" + }, + "276fd7d24f8f883f5a7a28295bf17151c7a84b03": { + "balance": "2000000000000000000000" + }, + "a1f5b840140d5a9acef402ac3cc3886a68cad248": { + "balance": "2000000000000000000000" + }, + "d2bf67a7f3c6ce56b7be41675dbbadfe7ea93a33": { + "balance": "400000000000000000000" + }, + "8ee584337ddbc80f9e3498df55f0a21eacb57fb1": { + "balance": "20000000000000000000" + }, + "34393c5d91b9de597203e75bac4309b5fa3d28c3": { + "balance": "194000000000000000000" + }, + "114cbbbf6fb52ac414be7ec61f7bb71495ce1dfa": { + "balance": "3000000000000000000000" + }, + "ab7c42c5e52d641a07ad75099c62928b7f86622f": { + "balance": "335940000000000000000" + }, + "80bf995ed8ba92701d10fec49f9e7d014dbee026": { + "balance": "572153000000000000000" + }, + "4a192035e2619b24b0709d56590e9183ccf2c1d9": { + "balance": "10000000000000000000000" + }, + "376cd7577383e902951b60a2017ba7ea29e33576": { + "balance": "2000000000000000000000" + }, + "f5437e158090b2a2d68f82b54a5864b95dd6dbea": { + "balance": "4010732000000000000000" + }, + "13a5eecb38305df94971ef2d9e179ae6cebab337": { + "balance": "330000000000000000000" + }, + "efc8cf1963c9a95267b228c086239889f4dfd467": { + "balance": "10000000000000000000000" + }, + "db77b88dcb712fd17ee91a5b94748d720c90a994": { + "balance": "2000000000000000000000" + }, + "9aaafa0067647ed999066b7a4ca5b4b3f3feaa6f": { + "balance": "1000000000000000000000" + }, + "ae36f7452121913e800e0fcd1a65a5471c23846f": { + "balance": "164000000000000000000" + }, + "b124bcb6ffa430fcae2e86b45f27e3f21e81ee08": { + "balance": "2000000000000000000000" + }, + "f2813a64c5265d020235cb9c319b6c96f906c41e": { + "balance": "350000000000000000000" + }, + "e848ca7ebff5c24f9b9c316797a43bf7c356292d": { + "balance": "114000000000000000000" + }, + "21a6feb6ab11c766fdd977f8df4121155f47a1c0": { + "balance": "57200000000000000000" + }, + "e95e92bbc6de07bf3a660ebf5feb1c8a3527e1c5": { + "balance": "18200000000000000000" + }, + "0b369e002e1b4c7913fcf00f2d5e19c58165478f": { + "balance": "64520000000000000000" + }, + "0909648c18a3ce5bae7a047ec2f868d24cdda81d": { + "balance": "3820000000000000000000" + }, + "d32b45564614516c91b07fa9f72dcf787cce4e1c": { + "balance": "291000000000000000000" + }, + "cf1bdb799b2ea63ce134668bdc198b54840f180b": { + "balance": "18200000000000000000" + }, + "ae062c448618643075de7a0030342dced63dbad7": { + "balance": "825982000000000000000" + }, + "99dfd0504c06c743e46534fd7b55f1f9c7ec3329": { + "balance": "2000000000000000000000" + }, + "87fc4635263944ce14a46c75fa4a821f39ce7f72": { + "balance": "20000000000000000000" + }, + "27c2d7ca504daa3d9066dc09137dc42f3aaab452": { + "balance": "600000000000000000000" + }, + "cc60f836acdef3548a1fefcca13ec6a937db44a0": { + "balance": "86500000000000000000" + }, + "c910a970556c9716ea53af66ddef93143124913d": { + "balance": "1580000000000000000000" + }, + "8173c835646a672e0152be10ffe84162dd256e4c": { + "balance": "492000000000000000000" + }, + "e989733ca1d58d9e7b5029ba5d444858bec03172": { + "balance": "581595000000000000000" + }, + "86806474c358047d9406e6a07f40945bc8328e67": { + "balance": "6884000000000000000000" + }, + "5395a4455d95d178b4532aa4725b193ffe512961": { + "balance": "1000000000000000000000" + }, + "56397638bb3cebf1f62062794b5eb942f916171d": { + "balance": "2000000000000000000000" + }, + "6958f83bb2fdfb27ce0409cd03f9c5edbf4cbedd": { + "balance": "20000000000000000000000" + }, + "26ff0a51e7cece8400276978dbd6236ef162c0e6": { + "balance": "100020000000000000000000" + }, + "4ca783b556e5bf53aa13c8116613d65782c9b642": { + "balance": "25200000000000000000000" + }, + "15a0aec37ff9ff3d5409f2a4f0c1212aaccb0296": { + "balance": "1000000000000000000000" + }, + "50378af7ef54043f892ab7ce97d647793511b108": { + "balance": "19700000000000000000" + }, + "e7c6b5fc05fc748e5b4381726449a1c0ad0fb0f1": { + "balance": "2000000000000000000000" + }, + "5317ecb023052ca7f5652be2fa854cfe4563df4d": { + "balance": "499986000000000000000" + }, + "c94f7c35c027d47df8ef4f9df85a9248a17dd23b": { + "balance": "29944000000000000000" + }, + "6a63fc89abc7f36e282d80787b7b04afd6553e71": { + "balance": "160000000000000000000" + }, + "5fd3d6777ec2620ae83a05528ed425072d3ca8fd": { + "balance": "2000000000000000000000" + }, + "29adcf83b6b20ac6a434abb1993cbd05c60ea2e4": { + "balance": "10000000000000000000000" + }, + "8c6f9f4e5b7ae276bf58497bd7bf2a7d25245f64": { + "balance": "2730000000000000000000" + }, + "d94a57882a52739bbe2a0647c80c24f58a2b4f1c": { + "balance": "1341230000000000000000" + }, + "7286e89cd9de8f7a8a00c86ffdb53992dd9251d1": { + "balance": "1940000000000000000000" + }, + "5773b6026721a1dd04b7828cd62b591bfb34534c": { + "balance": "27000000000000000000000" + }, + "11fefb5dc1a4598aa712640c517775dfa1d91f8c": { + "balance": "10000000000000000000000" + }, + "c6e324beeb5b36765ecd464260f7f26006c5c62e": { + "balance": "2000000000000000000000" + }, + "118fbd753b9792395aef7a4d78d263cdcaabd4f7": { + "balance": "999800000000000000000" + }, + "f8298591523e50b103f0b701d623cbf0f74556f6": { + "balance": "200000000000000000000" + }, + "ab0ced762e1661fae1a92afb1408889413794825": { + "balance": "1910000000000000000000" + }, + "fa67b67b4f37a0150915110ede073b05b853bda2": { + "balance": "647490000000000000000" + }, + "ca122cf0f2948896b74843f49afed0ba1618eed7": { + "balance": "560000000000000000000" + }, + "186b95f8e5effddcc94f1a315bf0295d3b1ea588": { + "balance": "1999944000000000000000" + }, + "2915624bcb679137b8dae9ab57d11b4905eaee4b": { + "balance": "20000000000000000000" + }, + "0c6845bf41d5ee273c3ee6b5b0d69f6fd5eabbf7": { + "balance": "3000026000000000000000" + }, + "cb7479109b43b26657f4465f4d18c6f974be5f42": { + "balance": "1820000000000000000000" + }, + "8dd6a9bae57f518549ada677466fea8ab04fd9b4": { + "balance": "4000000000000000000000" + }, + "34958a46d30e30b273ecc6e5d358a212e5307e8c": { + "balance": "2000000000000000000000" + }, + "2003717907a72560f4307f1beecc5436f43d21e7": { + "balance": "500000000000000000000" + }, + "55ab99b0e0e55d7bb874b7cfe834de631c97ec23": { + "balance": "1031400000000000000000" + }, + "79b48d2d6137c3854d611c01ea42427a0f597bb7": { + "balance": "191000000000000000000" + }, + "d609ec0be70d0ad26f6e67c9d4762b52ee51122c": { + "balance": "1000000000000000000000" + }, + "e8c3f045bb7d38c9d2f395b0ba8492b253230901": { + "balance": "9000000000000000000000" + }, + "aaca60d9d700e78596bbbbb1f1e2f70f4627f9d8": { + "balance": "999996000000000000000" + }, + "89d75b8e0831e46f80bc174188184e006fde0eae": { + "balance": "1000000000000000000000" + }, + "b3667894b7863c068ad344873fcff4b5671e0689": { + "balance": "20000000000000000000000" + }, + "bc1609d685b76b48ec909aa099219022f89b2ccd": { + "balance": "1182000000000000000000" + }, + "88ee7f0efc8f778c6b687ec32be9e7d6f020b674": { + "balance": "2000000000000000000000" + }, + "470ac5d1f3efe28f3802af925b571e63868b397d": { + "balance": "2000000000000000000000" + }, + "abf8ffe0708a99b528cc1ed4e9ce4b0d0630be8c": { + "balance": "2263600000000000000000" + }, + "8cee38d6595788a56e3fb94634b3ffe1fbdb26d6": { + "balance": "20000000000000000000000" + }, + "19798cbda715ea9a9b9d6aab942c55121e98bf91": { + "balance": "1200000000000000000000" + }, + "e25a167b031e84616d0f013f31bda95dcc6350b9": { + "balance": "10560000000000000000000" + }, + "6196c3d3c0908d254366b7bca55745222d9d4db1": { + "balance": "4000000000000000000000" + }, + "e8e9850586e94f5299ab494bb821a5f40c00bd04": { + "balance": "3820000000000000000000" + }, + "1059cbc63e36c43e88f30008aca7ce058eeaa096": { + "balance": "100000000000000000000000" + }, + "c4f2913b265c430fa1ab8adf26c333fc1d9b66f2": { + "balance": "20000000000000000000" + }, + "26e9e2ad729702626417ef25de0dc800f7a779b3": { + "balance": "1000000000000000000000" + }, + "0dfbd4817050d91d9d625c02053cf61a3ee28572": { + "balance": "340000000000000000000" + }, + "709fe9d2c1f1ce42207c9585044a60899f35942f": { + "balance": "2000000000000000000000" + }, + "7ad82caea1a8b4ed05319b9c9870173c814e06ee": { + "balance": "616000000000000000000" + }, + "2a595f16eee4cb0c17d9a2d939b3c10f6c677243": { + "balance": "1100000000000000000000" + }, + "a8f89dd5cc6e64d7b1eeace00702022cd7d2f03d": { + "balance": "700000000000000000000" + }, + "c0a6cbad77692a3d88d141ef769a99bb9e3c9951": { + "balance": "100000000000000000000" + }, + "868c23be873466d4c74c220a19b245d1787e807f": { + "balance": "1366481000000000000000" + }, + "2905b192e83ce659aa355b9d0c204e3e95f9bb9a": { + "balance": "2160817000000000000000" + }, + "50b9fef0a1329b02d16506255f5a2db71ec92d1f": { + "balance": "1325464000000000000000" + }, + "fc10b7a67b3268d5331bfb6a14def5ea4a162ca3": { + "balance": "200000000000000000000" + }, + "85eb256b51c819d60ea61a82d12c9358d59c1cae": { + "balance": "460000000000000000000" + }, + "75de7e9352e90b13a59a5878ffecc7831cac4d82": { + "balance": "2740000000000000000000" + }, + "d32b2c79c36478c5431901f6d700b04dbe9b8810": { + "balance": "396000000000000000000" + }, + "2d0326b23f0409c0c0e9236863a133075a94ba18": { + "balance": "210380000000000000000" + }, + "d2e21ed56868fab28e0947927adaf29f23ebad6c": { + "balance": "1994000000000000000000" + }, + "2ad6c9d10c261819a1a0ca2c48d8c7b2a71728df": { + "balance": "1000000000000000000000" + }, + "7d445267c59ab8d2a2d9e709990e09682580c49f": { + "balance": "1000000000000000000000" + }, + "b6047cdf932db3e4045f4976122341537ed5961e": { + "balance": "20000000000000000000" + }, + "2b3cf97311ff30f460945a9d8099f4a88e26d456": { + "balance": "2000000000000000000000" + }, + "7f4f593b618c330ba2c3d5f41eceeb92e27e426c": { + "balance": "2775000000000000000000" + }, + "72a2fc8675feb972fa41b50dffdbbae7fa2adfb7": { + "balance": "2853840000000000000000" + }, + "076561a856455d7ef86e63f87c73dbb628a55f45": { + "balance": "900000000000000000000" + }, + "03d1724fd00e54aabcd2de2a91e8462b1049dd3a": { + "balance": "2640000000000000000000" + }, + "7ea0f96ee0a573a330b56897761f3d4c0130a8e3": { + "balance": "1337000000000000000000" + }, + "fe65c4188d7922576909642044fdc52395560165": { + "balance": "4000000000000000000000" + }, + "57883010b4ac857fedac03eab2551723a8447ffb": { + "balance": "1000000000000000000000" + }, + "0729a8a4a5ba23f579d0025b1ad0f8a0d35cdfd2": { + "balance": "9700000000000000000000" + }, + "e75c1fb177089f3e58b1067935a6596ef1737fb5": { + "balance": "99910000000000000000" + }, + "e0e978753d982f7f9d1d238a18bd4889aefe451b": { + "balance": "9700000000000000000000" + }, + "5620f46d1451c2353d6243a5d4b427130be2d407": { + "balance": "60000000000000000000" + }, + "f3d688f06bbdbf50f9932c4145cbe48ecdf68904": { + "balance": "20000000000000000000" + }, + "3aa948ea02397755effb2f9dc9392df1058f7e33": { + "balance": "850000000000000000000" + }, + "20d1417f99c569e3beb095856530fe12d0fceaaa": { + "balance": "1182175000000000000000" + }, + "ac77bdf00fd5985b5db12bbef800380abc2a0677": { + "balance": "1000000000000000000000" + }, + "267a7e6e82e1b91d51deddb644f0e96dbb1f7f7e": { + "balance": "20000000000000000000" + }, + "4bbcbf38b3c90163a84b1cd2a93b58b2a3348d87": { + "balance": "8000000000000000000000" + }, + "4c6b93a3bec16349540cbfcae96c9621d6645010": { + "balance": "2000000000000000000000" + }, + "c9308879056dfe138ef8208f79a915c6bc7e70a8": { + "balance": "10000000000000000000000" + }, + "c48b693cacefdbd6cb5d7895a42e3196327e261c": { + "balance": "1000000000000000000000" + }, + "a0951970dfd0832fb83bda12c23545e79041756c": { + "balance": "600000000000000000000" + }, + "7cdf74213945953db39ad0e8a9781add792e4d1d": { + "balance": "2000000000000000000000" + }, + "75621865b6591365606ed378308c2d1def4f222c": { + "balance": "3100000000000000000000" + }, + "67d6a8aa1bf8d6eaf7384e993dfdf10f0af68a61": { + "balance": "198067000000000000000" + }, + "8f0af37566d152802f1ae8f928b25af9b139b448": { + "balance": "200000000000000000000" + }, + "2c6afcd4037c1ed14fa74ff6758e0945a185a8e8": { + "balance": "17600000000000000000" + }, + "c1b2aa8cb2bf62cdc13a47ecc4657facaa995f98": { + "balance": "1000129000000000000000" + }, + "9e8144e08e89647811fe6b72d445d6a5f80ad244": { + "balance": "10000000000000000000000" + }, + "e04ff5e5a7e2af995d8857ce0290b53a2b0eda5d": { + "balance": "1000000000000000000000" + }, + "03dedfcd0b3c2e17c705da248790ef98a6bd5751": { + "balance": "1337000000000000000000" + }, + "698a8a6f01f9ab682f637c7969be885f6c5302bf": { + "balance": "19400000000000000000" + }, + "d82c6fedbdac98af2eed10b00f32b00056ca5a6d": { + "balance": "200000000000000000000" + }, + "2697b339813b0c2d964b2471eb1c606f4ecb9616": { + "balance": "1154000000000000000000" + }, + "987c9bcd6e3f3990a52be3eda4710c27518f4f72": { + "balance": "400000000000000000000" + }, + "c5d48ca2db2f85d8c555cb0e9cfe826936783f9e": { + "balance": "200000000000000000000" + }, + "da214c023e2326ff696c00393168ce46ffac39ec": { + "balance": "1000000000000000000000" + }, + "86570ab259c9b1c32c9729202f77f590c07dd612": { + "balance": "200000000000000000000" + }, + "a646a95c6d6f59f104c6541d7760757ab392b08c": { + "balance": "4200000000000000000000" + }, + "1933e334c40f3acbad0c0b851158206924beca3a": { + "balance": "7551541000000000000000" + }, + "3552a496eba67f12be6eedab360cd13661dc7480": { + "balance": "300000000000000000000" + }, + "2a9c96c19151ffcbe29a4616d0c52b3933b4659f": { + "balance": "69263000000000000000" + }, + "3b7b8e27de33d3ce7961b98d19a52fe79f6c25be": { + "balance": "100000000000000000000000" + }, + "a1911405cf6e999ed011f0ddcd2a4ff7c28f2526": { + "balance": "40000000000000000000" + }, + "0cae108e6db99b9e637876b064c6303eda8a65c8": { + "balance": "3000000000000000000000" + }, + "3883becc08b9be68ad3b0836aac3b620dc0017ef": { + "balance": "2000000000000000000000" + }, + "d0abcc70c0420e0e172f97d43b87d5e80c336ea9": { + "balance": "10000000000000000000000" + }, + "cbf16a0fe2745258cd52db2bf21954c975fc6a15": { + "balance": "300000000000000000000" + }, + "1b23cb8663554871fbbe0d9e60397efb6faedc3e": { + "balance": "200000000000000000000" + }, + "fbede32c349f3300ef4cd33b4de7dc18e443d326": { + "balance": "3160000000000000000000" + }, + "5e806e845730f8073e6cc9018ee90f5c05f909a3": { + "balance": "9480000000000000000000" + }, + "425c338a1325e3a1578efa299e57d986eb474f81": { + "balance": "2000000000000000000000" + }, + "8bf297f8f453523ed66a1acb7676856337b93bf0": { + "balance": "4000000000000000000000" + }, + "38e8a31af2d265e31a9fff2d8f46286d1245a467": { + "balance": "20000000000000000000" + }, + "7edafba8984baf631a820b6b92bbc2c53655f6bd": { + "balance": "2000000000000000000000" + }, + "aa0200f1d17e9c54da0647bb96395d57a78538d8": { + "balance": "1056000000000000000000" + }, + "433eb94a339086ed12d9bde9cd1d458603c97dd6": { + "balance": "100000000000000000000000" + }, + "cd7e47909464d871b9a6dc76a8e9195db3485e7a": { + "balance": "9850000000000000000000" + }, + "5975d78d974ee5bb9e4d4ca2ae77c84b9c3b4b82": { + "balance": "1370000000000000000000" + }, + "cea2896623f4910287a2bdc5be83aea3f2e6de08": { + "balance": "9359000000000000000000" + }, + "cb4ad0c723da46ab56d526da0c1d25c73daff10a": { + "balance": "510000000000000000000" + }, + "e2cf360aa2329eb79d2bf7ca04a27a17c532e4d8": { + "balance": "102000000000000000000" + }, + "ea60549ec7553f511d2149f2d4666cbd9243d93c": { + "balance": "2000000000000000000000" + }, + "cbb7be17953f2ccc93e1bc99805bf45511434e4c": { + "balance": "50440000000000000000000" + }, + "3549bd40bbbc2b30095cac8be2c07a0588e0aed6": { + "balance": "20000000000000000000" + }, + "6510df42a599bcb0a519cca961b488759a6f6777": { + "balance": "2000000000000000000000" + }, + "ed12a1ba1fb8adfcb20dfa19582e525aa3b74524": { + "balance": "6685000000000000000000" + }, + "135eb8c0e9e101deedec11f2ecdb66ae1aae8867": { + "balance": "20000000000000000000000" + }, + "ee906d7d5f1748258174be4cbc38930302ab7b42": { + "balance": "200000000000000000000" + }, + "253f1e742a2cec86b0d7b306e5eacb6ccb2f8554": { + "balance": "20040000000000000000000" + }, + "ecd1a62802351a41568d23033004acc6c005a5d3": { + "balance": "50000000000000000000" + }, + "558c54649a8a6e94722bd6d21d14714f71780534": { + "balance": "2000000000000000000000" + }, + "ca657ec06fe5bc09cf23e52af7f80cc3689e6ede": { + "balance": "900000000000000000000" + }, + "74bf7a5ab59293149b5c60cf364263e5ebf1aa0d": { + "balance": "115800000000000000000" + }, + "7a6d781c77c4ba1fcadf687341c1e31799e93d27": { + "balance": "274000000000000000000" + }, + "77028e409cc43a3bd33d21a9fc53ec606e94910e": { + "balance": "3880000000000000000000" + }, + "4781a10a4df5eebc82f4cfe107ba1d8a7640bd66": { + "balance": "1790000000000000000000" + }, + "78e08bc533413c26e291b3143ffa7cc9afb97b78": { + "balance": "200000000000000000000" + }, + "03ef6ad20ff7bd4f002bac58d47544cf879ae728": { + "balance": "6895000000000000000000" + }, + "0e3696cf1f4217b163d1bc12a5ea730f1c32a14a": { + "balance": "4000000000000000000000" + }, + "825135b1a7fc1605614c8aa4d0ac6dbad08f480e": { + "balance": "1430000000000000000000" + }, + "286b186d61ea1fd78d9930fe12b06537b05c3d51": { + "balance": "1000000000000000000000" + }, + "8d6657f59711b1f803c6ebef682f915b62f92dc9": { + "balance": "2000000000000000000000" + }, + "da8bbee182e455d2098acb338a6d45b4b17ed8b6": { + "balance": "2000000000000000000000" + }, + "3f2da093bb16eb064f8bfa9e30b929d15f8e1c4c": { + "balance": "2000000000000000000000" + }, + "f5d9cf00d658dd45517a48a9d3f5f633541a533d": { + "balance": "116400000000000000000" + }, + "c5f64babb7033142f20e46d7aa6201ed86f67103": { + "balance": "2000000000000000000000" + }, + "a2e2b5941e0c01944bfe1d5fb4e8a34b922ccfb1": { + "balance": "200000000000000000000" + }, + "6114b0eae5576903f80bfb98842d24ed92237f1e": { + "balance": "100000000000000000000" + }, + "38df0c4abe7ded5fe068eadf154ac691774324a4": { + "balance": "1790000000000000000000" + }, + "1c2010bd662df417f2a271879afb13ef4c88a3ae": { + "balance": "4000000000000000000000" + }, + "918967918cd897dd0005e36dc6c883ef438fc8c7": { + "balance": "140000000000000000000" + }, + "a522de7eb6ae1250522a513133a93bd42849475c": { + "balance": "20000000000000000000000" + }, + "7de442c82386154d2e993cbd1280bb7ca6b12ada": { + "balance": "4002000000000000000000" + }, + "66424bd8785b8cb461102a900283c35dfa07ef6a": { + "balance": "40221000000000000000" + }, + "7bbbec5e70bdead8bb32b42805988e9648c0aa97": { + "balance": "1000076000000000000000" + }, + "fec06fe27b44c784b2396ec92f7b923ad17e9077": { + "balance": "2000000000000000000000" + }, + "95d550427b5a514c751d73a0f6d29fb65d22ed10": { + "balance": "300000000000000000000" + }, + "8dde60eb08a099d7daa356daaab2470d7b025a6b": { + "balance": "197000000000000000000" + }, + "81bccbff8f44347eb7fca95b27ce7c952492aaad": { + "balance": "152240000000000000000" + }, + "3995e096b08a5a726800fcd17d9c64c64e088d2b": { + "balance": "200000000000000000000" + }, + "4ee13c0d41200b46d19dee5c4bcec71d82bb8e38": { + "balance": "7893915000000000000000" + }, + "c41461a3cfbd32c9865555a4813137c076312360": { + "balance": "999999000000000000000" + }, + "3300fb149aded65bcba6c04e9cd6b7a03b893bb1": { + "balance": "18200000000000000000" + }, + "29f9286c0e738d1721a691c6b95ab3d9a797ede8": { + "balance": "200000000000000000000000" + }, + "34c8e5f1330fcb4b14ca75cb2580a4b93d204e36": { + "balance": "2000000000000000000000" + }, + "ec5df227bfa85d7ad76b426e1cee963bc7f519dd": { + "balance": "1000000000000000000000" + }, + "797510e386f56393ced8f477378a444c484f7dad": { + "balance": "1000000000000000000000" + }, + "0191eb547e7bf6976b9b1b577546761de65622e2": { + "balance": "1999980000000000000000" + }, + "615a6f36777f40d6617eb5819896186983fd3731": { + "balance": "5910000000000000000000" + }, + "17580b766f7453525ca4c6a88b01b50570ea088c": { + "balance": "100000000000000000000" + }, + "945d96ea573e8df7262bbfa572229b4b16016b0f": { + "balance": "209300000000000000000" + }, + "2de0964400c282bdd78a919c6bf77c6b5f796179": { + "balance": "200000000000000000000" + }, + "304ec69a74545721d7316aef4dcfb41ac59ee2f0": { + "balance": "200000000000000000000" + }, + "be2b326e78ed10e550fee8efa8f8070396522f5a": { + "balance": "39400000000000000000000" + }, + "1a0841b92a7f7075569dc4627e6b76cab05ade91": { + "balance": "1520000000000000000000" + }, + "5fa61f152de6123516c751242979285f796ac791": { + "balance": "204000000000000000000" + }, + "68c8791dc342c373769ea61fb7b510f251d32088": { + "balance": "1000000000000000000000" + }, + "4167cd48e733418e8f99ffd134121c4a4ab278c4": { + "balance": "3640000000000000000000" + }, + "598aaabae9ed833d7bc222e91fcaa0647b77580b": { + "balance": "1800000000000000000000" + }, + "979f30158b574b999aab348107b9eed85b1ff8c1": { + "balance": "970000000000000000000" + }, + "3ad06149b21c55ff867cc3fb9740d2bcc7101231": { + "balance": "197000000000000000000000" + }, + "7133843a78d939c69d4486e10ebc7b602a349ff7": { + "balance": "329000000000000000000" + }, + "8bdfda6c215720eda2136f91052321af4e936c1f": { + "balance": "1000008000000000000000" + }, + "3e1c53300e4c168912163c7e99b95da268ad280a": { + "balance": "1003200000000000000000" + }, + "e07ebbc7f4da416e42c8d4f842aba16233c12580": { + "balance": "2000000000000000000000" + }, + "bac8922c4acc7d2cb6fd59a14eb45cf3e702214b": { + "balance": "800000000000000000000" + }, + "bb6c284aac8a69b75cddb00f28e145583b56bece": { + "balance": "2000000000000000000000" + }, + "0372ee5508bf8163ed284e5eef94ce4d7367e522": { + "balance": "100000000000000000000" + }, + "17125b59ac51cee029e4bd78d7f5947d1ea49bb2": { + "balance": "22000000000000000000000" + }, + "c88ca1e6e5f4d558d13780f488f10d4ad3130d34": { + "balance": "1550000000000000000000" + }, + "a825fd5abb7926a67cf36ba246a24bd27be6f6ed": { + "balance": "17600000000000000000" + }, + "04241b41ecbd0bfdf1295e9d4fa59ea09e6c6186": { + "balance": "1870000000000000000000" + }, + "6de4d15219182faf3aa2c5d4d2595ff23091a727": { + "balance": "1580000000000000000000" + }, + "b203d29e6c56b92699c4b92d1f6f84648dc4cfbc": { + "balance": "400000000000000000000" + }, + "80b42de170dbd723f454e88f7716452d92985092": { + "balance": "300202000000000000000" + }, + "0a5b79d8f23b6483dbe2bdaa62b1064cc76366ae": { + "balance": "1969803000000000000000" + }, + "32034e8581d9484e8af42a28df190132ec29c466": { + "balance": "3460000000000000000000" + }, + "7ee604c7a9dc2909ce321de6b9b24f5767577555": { + "balance": "5533575000000000000000" + }, + "a387ce4e961a7847f560075c64e1596b5641d21c": { + "balance": "668500000000000000000" + }, + "fcc9d4a4262e7a027ab7519110d802c495ceea39": { + "balance": "6370000000000000000000" + }, + "ff8a2ca5a81333f19998255f203256e1a819c0aa": { + "balance": "224000000000000000000" + }, + "f9811fa19dadbf029f8bfe569adb18228c80481a": { + "balance": "200000000000000000000" + }, + "0d1f2a57713ebc6e94de29846e8844d376665763": { + "balance": "5000000000000000000000" + }, + "eab0bd148309186cf8cbd13b7232d8095acb833a": { + "balance": "10691800000000000000000" + }, + "36928b55bc861509d51c8cf1d546bfec6e3e90af": { + "balance": "1970000000000000000000" + }, + "30480164bcd84974ebc0d90c9b9afab626cd1c73": { + "balance": "800000000000000000000" + }, + "36339f84a5c2b44ce53dfdb6d4f97df78212a7df": { + "balance": "321600000000000000000" + }, + "cfeacaaed57285e0ac7268ce6a4e35ecfdb242d7": { + "balance": "1086400000000000000000" + }, + "572dd8cd3fe399d1d0ec281231b7cefc20b9e4bb": { + "balance": "10400000000000000000000" + }, + "5dded049a6e1f329dc4b971e722c9c1f2ade83f0": { + "balance": "1000000000000000000000" + }, + "9756e176c9ef693ee1eec6b9f8b151d313beb099": { + "balance": "1200000000000000000000" + }, + "01e6415d587b065490f1ed7f21d6e0f386ee6747": { + "balance": "2000000000000000000000" + }, + "b4413576869c08f9512ad311fe925988a52d3414": { + "balance": "10000000000000000000000" + }, + "da9f55460946d7bfb570ddec757ca5773b58429a": { + "balance": "507600000000000000000" + }, + "7180b83ee5574317f21c8072b191d895d46153c3": { + "balance": "460000000000000000000" + }, + "0aca9a5626913b08cfc9a66d40508dce52b60f87": { + "balance": "1910000000000000000000" + }, + "5cd0e475b54421bdfc0c12ea8e082bd7a5af0a6a": { + "balance": "59000000000000000000" + }, + "7edb02c61a227287611ad950696369cc4e647a68": { + "balance": "274000000000000000000" + }, + "b2676841ee9f2d31c172e82303b0fe9bbf9f1e09": { + "balance": "200000000000000000000" + }, + "a2222259dd9c3e3ded127084f808e92a1887302c": { + "balance": "162000000000000000000" + }, + "4b3a7cc3a7d7b00ed5282221a60259f25bf6538a": { + "balance": "1000000000000000000000" + }, + "e33ff987541dde5cdee0a8a96dcc3f33c3f24cc2": { + "balance": "200000000000000000000000" + }, + "1e1a4828119be309bd88236e4d482b504dc55711": { + "balance": "2955000000000000000000" + }, + "9b1811c3051f46e664ae4bc9c824d18592c4574a": { + "balance": "199955000000000000000" + }, + "59fe00696dbd87b7976b29d1156c8842a2e17914": { + "balance": "2000000000000000000000" + }, + "48010ef3b8e95e3f308f30a8cb7f4eb4bf60d965": { + "balance": "2000000000000000000000" + }, + "c90300cb1d4077e6a6d7e169a460468cf4a492d7": { + "balance": "2000000000000000000000" + }, + "6dedf62e743f4d2c2a4b87a787f5424a7aeb393c": { + "balance": "180000000000000000000" + }, + "fb744b951d094b310262c8f986c860df9ab1de65": { + "balance": "52009000000000000000" + }, + "193ac65183651800e23580f8f0ead3bb597eb8a4": { + "balance": "50020000000000000000" + }, + "bf05ff5ecf0df2df887759fb8274d93238ac267d": { + "balance": "800000000000000000000" + }, + "6c0e712f405c59725fe829e9774bf4df7f4dd965": { + "balance": "57413800000000000000000" + }, + "2744ff67464121e35afc2922177164fa2fcb0267": { + "balance": "100000000000000000000" + }, + "d09cb2e6082d693a13e8d2f68dd1dd8461f55840": { + "balance": "1000000000000000000000" + }, + "bc171e53d17ac9b61241ae436deec7af452e7496": { + "balance": "5348000000000000000000" + }, + "71fa22cc6d33206b7d701a163a0dab31ae4d31d6": { + "balance": "1610000000000000000000" + }, + "4da8030769844bc34186b85cd4c7348849ff49e9": { + "balance": "10000000000000000000000" + }, + "c8616b4ec09128cdff39d6e4b9ac86eec471d5f2": { + "balance": "19400000000000000000" + }, + "407295ebd94b48269c2d569c9b9af9aa05e83e5e": { + "balance": "10000000000000000000000" + }, + "d45d5daa138dd1d374c71b9019916811f4b20a4e": { + "balance": "576000000000000000000" + }, + "42c6edc515d35557808d13cd44dcc4400b2504e4": { + "balance": "197876000000000000000" + }, + "0bc95cb32dbb574c832fa8174a81356d38bc92ac": { + "balance": "2000000000000000000000" + }, + "5a6071bcebfcba4ab57f4db96fc7a68bece2ba5b": { + "balance": "2000000000000000000000" + }, + "54c93e03a9b2e8e4c3672835a9ee76f9615bc14e": { + "balance": "19400000000000000000" + }, + "3c03bbc023e1e93fa3a3a6e428cf0cd8f95e1ec6": { + "balance": "1520000000000000000000" + }, + "ba1531fb9e791896bcf3a80558a359f6e7c144bd": { + "balance": "3940000000000000000000" + }, + "aa56a65dc4abb72f11bae32b6fbb07444791d5c9": { + "balance": "748600000000000000000" + }, + "e437acbe0f6227b0e36f36e4bcf7cf613335fb68": { + "balance": "200000000000000000000" + }, + "39d4a931402c0c79c457186f24df8729cf957031": { + "balance": "4000000000000000000000" + }, + "e22b20c77894463baf774cc256d5bddbbf7ddd09": { + "balance": "1000000000000000000000" + }, + "70a4067d448cc25dc8e70e651cea7cf84e92109e": { + "balance": "176000000000000000000" + }, + "aa3925dc220bb4ae2177b2883078b6dc346ca1b2": { + "balance": "8000000000000000000000" + }, + "ad57aa9d00d10c439b35efcc0becac2e3955c313": { + "balance": "200000000000000000000" + }, + "e93d47a8ca885d540c4e526f25d5c6f2c108c4b8": { + "balance": "112640000000000000000000" + }, + "232ce782506225fd9860a2edc14a7a3047736da2": { + "balance": "20000000000000000000" + }, + "49a645e0667dfd7b32d075cc2467dd8c680907c4": { + "balance": "129560000000000000000" + }, + "cf2e734042a355d05ffb2e3915b16811f45a695e": { + "balance": "2000000000000000000000" + }, + "39b1c471ae94e12164452e811fbbe2b3cd7275ac": { + "balance": "2000000000000000000000" + }, + "ffad3dd74e2c1f796ac640de56dc99b4c792a402": { + "balance": "5000000000000000000000" + }, + "a69d7cd17d4842fe03f62a90b2fbf8f6af7bb380": { + "balance": "100000000000000000000" + }, + "2001bef77b66f51e1599b02fb110194a0099b78d": { + "balance": "2000000000000000000000" + }, + "95e7616424cd0961a71727247437f0069272280e": { + "balance": "400000000000000000000" + }, + "c04f4bd4049f044685b883b62959ae631d667e35": { + "balance": "5820000000000000000000" + }, + "ede0147ec032c3618310c1ff25690bf172193dac": { + "balance": "2000000000000000000000" + }, + "66719c0682b2ac7f9e27abebec7edf8decf0ae0d": { + "balance": "20000000000000000000" + }, + "45272b8f62e9f9fa8ce04420e1aea3eba9686eac": { + "balance": "4000000000000000000000" + }, + "d1da0c8fb7c210e0f2ec618f85bdae7d3e734b1c": { + "balance": "1970000000000000000000" + }, + "e9133e7d31845d5f2b66a2618792e869311acf66": { + "balance": "24050000000000000000000" + }, + "ebb62cf8e22c884b1b28c6fa88fbbc17938aa787": { + "balance": "798000000000000000000" + }, + "6205c2d5647470848a3840f3887e9b015d34755c": { + "balance": "1800000000000000000000" + }, + "76ca22bcb8799e5327c4aa2a7d0949a1fcce5f29": { + "balance": "1524180000000000000000" + }, + "6b925dd5d8ed6132ab6d0860b82c44e1a51f1fee": { + "balance": "1480000000000000000000" + }, + "797bb7f157d9feaa17f76da4f704b74dc1038341": { + "balance": "3340000000000000000000" + }, + "ae8954f8d6166de507cf61297d0fc7ca6b9e7128": { + "balance": "300000000000000000000" + }, + "75c1ad23d23f24b384d0c3149177e86697610d21": { + "balance": "6426082000000000000000" + }, + "805d846fb0bc02a7337226d685be9ee773b9198a": { + "balance": "19999800000000000000000" + }, + "c3cb6b36af443f2c6e258b4a39553a818747811f": { + "balance": "1610000000000000000000" + }, + "cea43f7075816b60bbfce68b993af0881270f6c4": { + "balance": "2000000000000000000000" + }, + "e0388aeddd3fe2ad56f85748e80e710a34b7c92e": { + "balance": "500000000000000000000" + }, + "e131f87efc5ef07e43f0f2f4a747b551d750d9e6": { + "balance": "19999000000000000000000" + }, + "c2b2cbe65bc6c2ee7a3c75b2e47c189c062e8d8b": { + "balance": "20000000000000000000000" + }, + "bd8765f41299c7f479923c4fd18f126d7229047d": { + "balance": "4000000000000000000000" + }, + "c83ba6dd9549be1d3287a5a654d106c34c6b5da2": { + "balance": "7000000000000000000000" + }, + "f870995fe1e522321d754337a45c0c9d7b38951c": { + "balance": "20000000000000000000" + }, + "0d8ed7d0d15638330ed7e4eaccab8a458d75737e": { + "balance": "2000000000000000000000" + }, + "36c510bf8d6e569bf2f37d47265dbcb502ff2bce": { + "balance": "30000000000000000000000" + }, + "0eccf617844fd61fba62cb0e445b7ac68bcc1fbe": { + "balance": "387260000000000000000" + }, + "ae10e27a014f0d306baf266d4897c89aeee2e974": { + "balance": "20000000000000000000000" + }, + "1827039f09570294088fddf047165c33e696a492": { + "balance": "9550000000000000000000" + }, + "23378f42926d0184b793b0c827a6dd3e3d334fcd": { + "balance": "56000000000000000000" + }, + "467124ae7f452f26b3d574f6088894fa5d1cfb3b": { + "balance": "2700000000000000000000" + }, + "aae61e43cb0d0c96b30699f77e00d711d0a3979b": { + "balance": "1000000000000000000000" + }, + "15c7edb8118ee27b342285eb5926b47a855bc7a5": { + "balance": "20000000000000000000" + }, + "0d5d98565c647ca5f177a2adb9d3022fac287f21": { + "balance": "200000000000000000000" + }, + "7222fec7711781d26eaa4e8485f7aa3fac442483": { + "balance": "456000000000000000000" + }, + "dc44275b1715baea1b0345735a29ac42c9f51b4f": { + "balance": "1164000000000000000000" + }, + "04d82af9e01a936d97f8f85940b970f9d4db9936": { + "balance": "200000000000000000000" + }, + "45533390e340fe0de3b3cf5fb9fc8ea552e29e62": { + "balance": "1460000000000000000000" + }, + "1284f0cee9d2ff2989b65574d06ffd9ab0f7b805": { + "balance": "400000000000000000000" + }, + "ed9ebccba42f9815e78233266dd6e835b6afc31b": { + "balance": "6000000000000000000000" + }, + "e4324912d64ea3aef76b3c2ff9df82c7e13ae991": { + "balance": "2000000000000000000000" + }, + "94c742fd7a8b7906b3bfe4f8904fc0be5c768033": { + "balance": "20000000000000000000000" + }, + "62fb8bd1f0e66b90533e071e6cbe6111fef0bc63": { + "balance": "17600000000000000000000" + }, + "2c83aeb02fcf067d65a47082fd977833ab1cec91": { + "balance": "150400000000000000000" + }, + "06cbfa08cdd4fba737bac407be8224f4eef35828": { + "balance": "593459000000000000000" + }, + "67ee406ea4a7ae6a3a381eb4edd2f09f174b4928": { + "balance": "1036000000000000000000" + }, + "83c23d8a502124ee150f08d71dc6727410a0f901": { + "balance": "33999600000000000000000" + }, + "f7c00cdb1f020310d5acab7b496aaa44b779085e": { + "balance": "1670000000000000000000" + }, + "d096565b7c7407d06536580355fdd6d239144aa1": { + "balance": "250000000000000000000" + }, + "f8d52dcc5f96cc28007b3ecbb409f7e22a646caa": { + "balance": "149200000000000000000" + }, + "0c222c7c41c9b048efcce0a232434362e12d673b": { + "balance": "10007600000000000000000" + }, + "503bdbd8bc421c32a443032deb2e3e4cd5ba8b4e": { + "balance": "2000000000000000000000" + }, + "77da5e6c72fb36bce1d9798f7bcdf1d18f459c2e": { + "balance": "22380000000000000000" + }, + "e62f98650712eb158753d82972b8e99ca3f61877": { + "balance": "2000000000000000000000" + }, + "87a7c508ef71582dd9a54372f89cb01f252fb180": { + "balance": "200000000000000000000" + }, + "f61283b4bd8504058ca360e993999b62cbc8cd67": { + "balance": "255000000000000000000" + }, + "9ccddcb2cfc2b25b08729a0a98d9e6f0202ea2c1": { + "balance": "100000000000000000000" + }, + "d460a4b908dd2b056759b488850b66a838fc77a8": { + "balance": "1970000000000000000000" + }, + "5431b1d18751b98fc9e2888ac7759f1535a2db47": { + "balance": "2000000000000000000000" + }, + "da2a14f9724015d79014ed8e5909681d596148f1": { + "balance": "48499000000000000000" + }, + "c989434f825aaf9c552f685eba7c11db4a5fc73a": { + "balance": "501000000000000000000" + }, + "2b701d16c0d3cc1e4cd85445e6ad02eea4ac012d": { + "balance": "600000000000000000000" + }, + "78b978a9d7e91ee529ea4fc4b76feaf8762f698c": { + "balance": "32000000000000000000000" + }, + "c89cf504b9f3f835181fd8424f5ccbc8e1bddf7d": { + "balance": "10000000000000000000000" + }, + "e94941b6036019b4016a30c1037d5a6903babaad": { + "balance": "780000000000000000000" + }, + "95d98d0c1069908f067a52acac2b8b534da37afd": { + "balance": "2054053000000000000000" + }, + "8284923b62e68bbf7c2b9f3414d13ef6c812a904": { + "balance": "3880000000000000000000" + }, + "3e5a39fdda70df1126ab0dc49a7378311a537a1f": { + "balance": "2400000000000000000000" + }, + "a2ace4c993bb1e5383f8ac74e179066e814f0591": { + "balance": "100000000000000000000" + }, + "0609d83a6ce1ffc9b690f3e9a81e983e8bdc4d9d": { + "balance": "70000000000000000000000" + }, + "d119417c46732cf34d1a1afb79c3e7e2cd8eece4": { + "balance": "2000000000000000000000" + }, + "fdb33944f2360615e5be239577c8a19ba52d9887": { + "balance": "601650000000000000000" + }, + "dd95dbe30f1f1877c5dd7684aeef302ab6885192": { + "balance": "8372000000000000000000" + }, + "413f4b02669ccff6806bc826fcb7deca3b0ea9bc": { + "balance": "20000000000000000000" + }, + "5800cd8130839e94495d2d8415a8ea2c90e0c5cb": { + "balance": "200000000000000000000" + }, + "65053191319e067a25e6361d47f37f6318f83419": { + "balance": "394000000000000000000" + }, + "9bc573bcda23b8b26f9073d90c230e8e71e0270b": { + "balance": "999544000000000000000" + }, + "97f7760657c1e202759086963eb4211c5f8139b9": { + "balance": "49770000000000000000000" + }, + "126897a311a14ad43b78e0920100c4426bfd6bdd": { + "balance": "973581000000000000000" + }, + "d5276f0cd5ffd5ffb63f98b5703d5594ede0838b": { + "balance": "400000000000000000000" + }, + "e9c35c913ca1fceab461582fe1a5815164b4fd21": { + "balance": "8000000000000000000000" + }, + "b43067fe70d9b55973ba58dc64dd7f311e554259": { + "balance": "200000000000000000000" + }, + "6f8f0d15cc96fb7fe94f1065bc6940f8d12957b2": { + "balance": "1000000000000000000000" + }, + "b1dba5250ba9625755246e067967f2ad2f0791de": { + "balance": "80000000000000000000000" + }, + "72b7a03dda14ca9c661a1d469fd33736f673c8e8": { + "balance": "2000000000000000000000" + }, + "e792349ce9f6f14f81d0674096befa1f9221cdea": { + "balance": "1685365000000000000000" + }, + "1815279dff9952da3be8f77249dbe22243377be7": { + "balance": "4749800000000000000000" + }, + "33481e856ebed48ea708a27426ef28e867f57cd1": { + "balance": "200000000000000000000" + }, + "8eb8c71982a00fb84275293253f8044544b66b49": { + "balance": "400000000000000000000" + }, + "65f5870f26bce089677dfc23b5001ee492483428": { + "balance": "5067230000000000000000" + }, + "8e23facd12c765c36ab81a6dd34d8aa9e68918ae": { + "balance": "167310000000000000000" + }, + "4912d902931676ff39fc34fe3c3cc8fb2182fa7a": { + "balance": "20000000000000000000" + }, + "c09a66172aea370d9a63da04ff71ffbbfcff7f94": { + "balance": "2000000000000000000000" + }, + "e969ea1595edc5c4a707cfde380929633251a2b0": { + "balance": "200000000000000000000" + }, + "4f2b47e2775a1fa7178dad92985a5bbe493ba6d6": { + "balance": "200000000000000000000" + }, + "cab9a97ada065c87816e6860a8f1426fe6b3d775": { + "balance": "1000000000000000000000" + }, + "cdfd8217339725d7ebac11a63655f265eff1cc3d": { + "balance": "4999962000000000000000" + }, + "ab4004c0403f7eabb0ea586f212156c4203d67f1": { + "balance": "1999944000000000000000" + }, + "1c7cb2fe6bf3e09cbcdc187af38fa8f5053a70b6": { + "balance": "9970823000000000000000" + }, + "a951b244ff50cfae591d5e1a148df6a938ef2a1a": { + "balance": "1734000000000000000000" + }, + "b158db43fa62d30e65f3d09bf781c7b67372ebaa": { + "balance": "1999000000000000000000" + }, + "25e037f00a18270ba5ec3420229ddb0a2ce38fa2": { + "balance": "10000000000000000000000" + }, + "2aaea1f1046f30f109faec1c63ef5c7594eb08da": { + "balance": "4000000000000000000000" + }, + "73d7269ff06c9ffd33754ce588f74a966abbbbba": { + "balance": "6600000000000000000000" + }, + "4c767b65fd91161f4fbdcc6a69e2f6ad711bb918": { + "balance": "720000000000000000000" + }, + "92ae5b7c7eb492ff1ffa16dd42ad9cad40b7f8dc": { + "balance": "865000000000000000000" + }, + "a04f2ae02add14c12faf65cb259022d0830a8e26": { + "balance": "100000000000000000000000" + }, + "63ef2fbc3daf5edaf4a295629ccf31bcdf4038e5": { + "balance": "1460000000000000000000" + }, + "749ad6f2b5706bbe2f689a44c4b640b58e96b992": { + "balance": "100000000000000000000" + }, + "4d836d9d3b0e2cbd4de050596faa490cffb60d5d": { + "balance": "300000000000000000000" + }, + "59f6247b0d582aaa25e5114765e4bf3c774f43c2": { + "balance": "50000000000000000000" + }, + "1293c78c7d6a443b9d74b0ba5ee7bb47fd418588": { + "balance": "6685000000000000000000" + }, + "67bc85e87dc34c4e80aafa066ba8d29dbb8e438e": { + "balance": "402500000000000000000" + }, + "a09f4d5eaa65a2f4cb750a49923401dae59090af": { + "balance": "140000000000000000000" + }, + "ebbd4db9019952d68b1b0f6d8cf0683c00387bb5": { + "balance": "332330000000000000000" + }, + "b16479ba8e7df8f63e1b95d149cd8529d735c2da": { + "balance": "846477000000000000000" + }, + "e1b2aca154b8e0766c4eba30bc10c7f35036f368": { + "balance": "19980000000000000000" + }, + "5c464197791c8a3da3c925436f277ab13bf2faa2": { + "balance": "8000000000000000000000" + }, + "170a88a8997f92d238370f1affdee6347050b013": { + "balance": "3000800000000000000000" + }, + "dadbfafd8b62b92a24efd75256dd83abdbd7bbdb": { + "balance": "19700000000000000000" + }, + "bb993b96ee925ada7d99d786573d3f89180ce3aa": { + "balance": "2000000000000000000000" + }, + "f2c362b0ef991bc82fb36e66ff75932ae8dd8225": { + "balance": "74000000000000000000" + }, + "7f2382ffd8f83956467937f9ba72374623f11b38": { + "balance": "600000000000000000000" + }, + "74d1a4d0c7524e018d4e06ed3b648092b5b6af2c": { + "balance": "50000000000000000000" + }, + "24a750eae5874711116dd7d47b7186ce990d3103": { + "balance": "200000000000000000000" + }, + "a8e42a4e33d7526cca19d9a36dcd6e8040d0ea73": { + "balance": "1080000000000000000000" + }, + "3e1b2230afbbd310b4926a4c776d5ae7819c661d": { + "balance": "30000000000000000000000" + }, + "6af9f0dfeeaebb5f64bf91ab771669bf05295553": { + "balance": "400000000000000000000" + }, + "41e4a20275e39bdcefeb655c0322744b765140c2": { + "balance": "10000000000000000000000" + }, + "ceb089ec8a78337e8ef88de11b49e3dd910f748f": { + "balance": "1000000000000000000000" + }, + "e6bcd30a8fa138c5d9e5f6c7d2da806992812dcd": { + "balance": "260000000000000000000000" + }, + "e08c60313106e3f9334fe6f7e7624d211130c077": { + "balance": "40000000000000000000" + }, + "f5cffbba624e7eb321bc83c60ca68199b4e36671": { + "balance": "2000000000000000000000" + }, + "d7c2803ed7b0e0837351411a8e6637d168bc5b05": { + "balance": "29549015000000000000000" + }, + "0f3665d48e9f1419cd984fc7fa92788710c8f2e4": { + "balance": "2000000000000000000000" + }, + "b48921c9687d5510744584936e8886bdbf2df69b": { + "balance": "1000000000000000000000" + }, + "a94bbb8214cf8da0c2f668a2ac73e86248528d4b": { + "balance": "960000000000000000000" + }, + "be0c2a80b9de084b172894a76cf4737a4f529e1a": { + "balance": "1999944000000000000000" + }, + "fcf199f8b854222f182e4e1d099d4e323e2aae01": { + "balance": "1000000000000000000000" + }, + "b52dfb45de5d74e3df208332bc571c809b8dcf32": { + "balance": "6000000000000000000000" + }, + "704819d2e44d6ed1da25bfce84c49fcca25613e5": { + "balance": "400000000000000000000" + }, + "6ff6cc90d649de4e96cffee1077a5b302a848dcb": { + "balance": "28600000000000000000" + }, + "4d9c77d0750c5e6fbc247f2fd79274686cb353d6": { + "balance": "20000000000000000000" + }, + "68e8022740f4af29eb48db32bcecddfd148d3de3": { + "balance": "1000000000000000000000" + }, + "2cb615073a40dcdb99faa848572e987b3b056efb": { + "balance": "799600000000000000000" + }, + "64adcceec53dd9d9dd15c8cc1a9e736de4241d2c": { + "balance": "56000000000000000000" + }, + "2aec809df9325b9f483996e99f7331097f08aa0e": { + "balance": "4000000000000000000000" + }, + "438c2f54ff8e629bab36b1442b760b12a88f02ae": { + "balance": "2000000000000000000000" + }, + "9e35399071a4a101e9194daa3f09f04a0b5f9870": { + "balance": "4000000000000000000000" + }, + "a5c336083b04f9471b8c6ed73679b74d66c363ec": { + "balance": "3014100000000000000000" + }, + "7ad3f307616f19dcb143e6444dab9c3c33611f52": { + "balance": "50000000000000000000" + }, + "455cb8ee39ffbc752331e5aefc588ef0ee593454": { + "balance": "999963000000000000000" + }, + "c4c01afc3e0f045221da1284d7878574442fb9ac": { + "balance": "7419944000000000000000" + }, + "99268327c373332e06c3f6164287d455b9d5fa4b": { + "balance": "2000000000000000000000" + }, + "4367ae4b0ce964f4a54afd4b5c368496db169e9a": { + "balance": "2000000000000000000000" + }, + "2cd79eb52027b12c18828e3eaab2969bfcd287e9": { + "balance": "20000000000000000000" + }, + "b96841cabbc7dbd69ef0cf8f81dff3c8a5e21570": { + "balance": "12000000000000000000000" + }, + "d7ebddb9f93987779b680155375438db65afcb6a": { + "balance": "100600000000000000000" + }, + "0631d18bbbbd30d9e1732bf36edae2ce8901ab80": { + "balance": "3024800000000000000000" + }, + "5fad960f6b2c84569c9f4d47bf1985fcb2c65da6": { + "balance": "999972000000000000000" + }, + "01d599ee0d5f8c38ab2d392e2c65b74c3ce31820": { + "balance": "510000000000000000000" + }, + "ff0cc8dac824fa24fc3caa2169e6e057cf638ad6": { + "balance": "4000000000000000000000" + }, + "c25266c7676632f13ef29be455ed948add567792": { + "balance": "1337000000000000000000" + }, + "9c344098ba615a398f11d009905b177c44a7b602": { + "balance": "1000000000000000000000" + }, + "3b0accaf4b607cfe61d17334c214b75cdefdbd89": { + "balance": "2000000000000000000000" + }, + "6d6634b5b8a40195d949027af4828802092ceeb6": { + "balance": "3000000000000000000000" + }, + "208c45732c0a378f17ac8324926d459ba8b658b4": { + "balance": "2955000000000000000000" + }, + "c24399b4bf86f7338fbf645e3b22b0e0b7973912": { + "balance": "2000000000000000000000" + }, + "29763dd6da9a7c161173888321eba6b63c8fb845": { + "balance": "328000000000000000000" + }, + "9c2fd54089af665df5971d73b804616039647375": { + "balance": "1000000000000000000000" + }, + "0e09646c99af438e99fa274cb2f9c856cb65f736": { + "balance": "1910000000000000000000" + }, + "be73274d8c5aa44a3cbefc8263c37ba121b20ad3": { + "balance": "500000000000000000000" + }, + "ecfd004d02f36cd4d8b4a8c1a9533b6af85cd716": { + "balance": "5003800000000000000000" + }, + "f978b025b64233555cc3c19ada7f4199c9348bf7": { + "balance": "400000000000000000000000" + }, + "705ddd38355482b8c7d3b515bda1500dd7d7a817": { + "balance": "400000000000000000000" + }, + "2b8a0dee5cb0e1e97e15cfca6e19ad21f995efad": { + "balance": "504206000000000000000" + }, + "1098cc20ef84bad5146639c4cd1ca6c3996cb99b": { + "balance": "18200000000000000000" + }, + "afdac5c1cb56e245bf70330066a817eaafac4cd1": { + "balance": "20000000000000000000" + }, + "910e996543344c6815fb97cda7af4b8698765a5b": { + "balance": "103400000000000000000" + }, + "94612781033b57b146ee74e753c672017f5385e4": { + "balance": "3600000000000000000000" + }, + "d03fc165576aaed525e5502c8e140f8b2e869639": { + "balance": "6850000000000000000000" + }, + "293384c42b6f8f2905ce52b7205c2274376c612b": { + "balance": "1400000000000000000000" + }, + "09ee12b1b42b05af9cf207d5fcac255b2ec411f2": { + "balance": "58929000000000000000" + }, + "dbd71efa4b93c889e76593de609c3b04cbafbe08": { + "balance": "20000000000000000000" + }, + "fa86ca27bf2854d98870837fb6f6dfe4bf6453fc": { + "balance": "322061000000000000000" + }, + "61ff8e67b34d9ee6f78eb36ffea1b9f7c15787af": { + "balance": "1640000000000000000000" + }, + "6d4cbf3d8284833ae99344303e08b4d614bfda3b": { + "balance": "12000000000000000000000" + }, + "2ff160c44f72a299b5ec2d71e28ce5446d2fcbaf": { + "balance": "360000000000000000000" + }, + "94a7cda8f481f9d89d42c303ae1632b3b709db1d": { + "balance": "300000000000000000000" + }, + "7566496162ba584377be040a4f87777a707acaeb": { + "balance": "4000000000000000000000" + }, + "bdc461462b6322b462bdb33f22799e8108e2417d": { + "balance": "668500000000000000000" + }, + "7e47637e97c14622882be057bea229386f4052e5": { + "balance": "440000000000000000000" + }, + "3b5c251d7fd7893ba209fe541cecd0ce253a990d": { + "balance": "30000000000000000000000" + }, + "0e498800447177b8c8afc3fdfa7f69f4051bb629": { + "balance": "2140234000000000000000" + }, + "b71623f35107cf7431a83fb3d204b29ee0b1a7f4": { + "balance": "19700000000000000000" + }, + "1d395b30adda1cf21f091a4f4a7b753371189441": { + "balance": "100000000000000000000000" + }, + "2c2428e4a66974edc822d5dbfb241b2728075158": { + "balance": "2000000000000000000000" + }, + "a575f2891dcfcda83c5cf01474af11ee01b72dc2": { + "balance": "100076000000000000000" + }, + "ad728121873f0456d0518b80ab6580a203706595": { + "balance": "500000000000000000000" + }, + "48669eb5a801d8b75fb6aa58c3451b7058c243bf": { + "balance": "30940000000000000000000" + }, + "b3ae54fba09d3ee1d6bdd1e957923919024c35fa": { + "balance": "65513000000000000000" + }, + "0d35408f226566116fb8acdaa9e2c9d59b76683f": { + "balance": "940000000000000000000" + }, + "df211cd21288d6c56fae66c3ff54625dd4b15427": { + "balance": "2500024000000000000000" + }, + "8a746c5d67064711bfca685b95a4fe291a27028e": { + "balance": "40000000000000000000" + }, + "1cf105ab23023b554c583e86d7921179ee83169f": { + "balance": "1970000000000000000000" + }, + "8cfedef198db0a9143f09129b3fd64dcbb9b4956": { + "balance": "2000000000000000000000" + }, + "1e381adcf801a3bf9fd7bfac9ccc2b8482ad5e66": { + "balance": "600200000000000000000" + }, + "e74608f506866ada6bfbfdf20fea440be76989ef": { + "balance": "1999944000000000000000" + }, + "27e63989ca1e903bc620cf1b9c3f67b9e2ae6581": { + "balance": "1337000000000000000000" + }, + "bb0857f1c911b24b86c8a70681473fe6aaa1cce2": { + "balance": "100000000000000000000" + }, + "4f8e8d274fb22a3fd36a47fe72980471544b3434": { + "balance": "200000000000000000000" + }, + "127d3fc5003bf63c0d83e93957836515fd279045": { + "balance": "111890000000000000000" + }, + "95809e8da3fbe4b7f281f0b8b1715f420f7d7d63": { + "balance": "2000000000000000000000" + }, + "28904bb7c4302943b709b14d7970e42b8324e1a1": { + "balance": "10027500000000000000000" + }, + "c07e3867ada096807a051a6c9c34cc3b3f4ad34a": { + "balance": "1788210000000000000000" + }, + "f0b469eae89d400ce7d5d66a9695037036b88903": { + "balance": "20000000000000000000000" + }, + "7445202f0c74297a004eb3726aa6a82dd7c02fa1": { + "balance": "2000000000000000000000" + }, + "c58f62fee9711e6a05dc0910b618420aa127f288": { + "balance": "3980000000000000000000" + }, + "801d65c518b11d0e3f4f470221417013c8e53ec5": { + "balance": "4000000000000000000000" + }, + "41010fc8baf8437d17a04369809a168a17ca56fb": { + "balance": "100000000000000000000" + }, + "a1998144968a5c70a6415554cefec2824690c4a5": { + "balance": "20000000000000000000" + }, + "e9559185f166fc9513cc71116144ce2deb0f1d4b": { + "balance": "20000000000000000000000" + }, + "ed5b4c41e762d942404373caf21ed4615d25e6c1": { + "balance": "2013960000000000000000" + }, + "665b000f0b772750cc3c217a5ef429a92bf1ccbb": { + "balance": "4000000000000000000000" + }, + "febd9f81cf78bd5fb6c4b9a24bd414bb9bfa4c4e": { + "balance": "1990019000000000000000" + }, + "a072691c8dd7cd4237ff72a75c1a9506d0ce5b9e": { + "balance": "370000000000000000000" + }, + "6765df25280e8e4f38d4b1cf446fc5d7eb659e34": { + "balance": "100000000000000000000" + }, + "524fb210522c5e23bb67dfbf8c26aa616da49955": { + "balance": "999971000000000000000" + }, + "e987e6139e6146a717fef96bc24934a5447fe05d": { + "balance": "2000000000000000000000" + }, + "d6110276cfe31e42825a577f6b435dbcc10cf764": { + "balance": "1000000000000000000000" + }, + "5e51b8a3bb09d303ea7c86051582fd600fb3dc1a": { + "balance": "20000000000000000000" + }, + "5c4f24e994ed8f850ea7818f471c8fac3bcf0452": { + "balance": "1724800000000000000000" + }, + "85b2998d0c73302cb2ba13f489313301e053be15": { + "balance": "10000000000000000000000" + }, + "0af6c8d539c96d50259e1ba6719e9c8060f388c2": { + "balance": "1000000000000000000000" + }, + "7d901b28bf7f88ef73d8f73cca97564913ea8a24": { + "balance": "955000000000000000000" + }, + "e01859f242f1a0ec602fa8a3b0b57640ec89075e": { + "balance": "555000000000000000000" + }, + "c66ae4cee87fb3353219f77f1d6486c580280332": { + "balance": "29550000000000000000" + }, + "2d40558b06f90a3923145592123b6774e46e31f4": { + "balance": "1000000000000000000000" + }, + "ccf43975b76bfe735fec3cb7d4dd24f805ba0962": { + "balance": "60000000000000000000" + }, + "1703b4b292b8a9deddede81bb25d89179f6446b6": { + "balance": "19690000000000000000000" + }, + "0e9096d343c060db581a120112b278607ec6e52b": { + "balance": "20000000000000000000" + }, + "f65819ac4cc14c137f05dd7977c7dae08d1a4ab5": { + "balance": "102000000000000000000" + }, + "ca373fe3c906b8c6559ee49ccd07f37cd4fb5266": { + "balance": "1790000000000000000000" + }, + "d28298524df5ec4b24b0ffb9df85170a145a9eb5": { + "balance": "287700000000000000000" + }, + "5fcda847aaf8d7fa8bca08029ca2849166aa15a3": { + "balance": "623350000000000000000" + }, + "bdc739a699700b2e8e2c4a4c7b058a0e513ddebe": { + "balance": "2000000000000000000000" + }, + "0bb05f7224bb5804856556c07eeadbed87ba8f7c": { + "balance": "401100000000000000000" + }, + "ab416fe30d58afe5d9454c7fce7f830bcc750356": { + "balance": "114515000000000000000" + }, + "3eee6f1e96360b7689b3069adaf9af8eb60ce481": { + "balance": "1000000000000000000000" + }, + "9a0d3cee3d9892ea3b3700a27ff84140d9025493": { + "balance": "60000000000000000000" + }, + "5dc36de5359450a1ec09cb0c44cf2bb42b3ae435": { + "balance": "1117500000000000000000" + }, + "35c8adc11125432b3b77acd64625fe58ebee9d66": { + "balance": "2000000000000000000000" + }, + "a5e9cd4b74255d22b7d9b27ae8dd43ed6ed0252b": { + "balance": "766527000000000000000" + }, + "31ea12d49a35a740780ddeeaece84c0835b26270": { + "balance": "200000000000000000000" + }, + "7aef7b551f0b9c46e755c0f38e5b3a73fe1199f5": { + "balance": "1490000000000000000000" + }, + "cc6d7b12061bc96d104d606d65ffa32b0036eb07": { + "balance": "10000000000000000000000" + }, + "322021022678a0166d204b3aaa7ad4ec4b88b7d0": { + "balance": "400000000000000000000" + }, + "b31196714a48dff726ea9433cd2912f1a414b3b3": { + "balance": "2680000000000000000000" + }, + "0f2fb884c8aaff6f543ac6228bd08e4f60b0a5fd": { + "balance": "3145000000000000000000" + }, + "7d9d221a3df89ddd7b5f61c1468c6787d6b333e6": { + "balance": "138000000000000000000" + }, + "367f59cc82795329384e41e1283115e791f26a01": { + "balance": "2000000000000000000000" + }, + "fd9579f119bbc819a02b61e38d8803c942f24d32": { + "balance": "105600000000000000000" + }, + "3e2f26235e137a7324e4dc154b5df5af46ea1a49": { + "balance": "22458000000000000000" + }, + "4c1579af3312e4f88ae93c68e9449c2e9a68d9c4": { + "balance": "2000000000000000000000" + }, + "ffb04726dfa41afdc819168418610472970d7bfc": { + "balance": "4000000000000000000000" + }, + "403c64896a75cad816a9105e18d8aa5bf80f238e": { + "balance": "985000000000000000000" + }, + "5cd588a14ec648ccf64729f9167aa7bf8be6eb3d": { + "balance": "1000000000000000000000" + }, + "24b2be118b16d8b2174769d17b4cf84f07ca946d": { + "balance": "2000000000000000000000" + }, + "d3bb59fa31258be62f8ed232f1a7d47b4a0b41ee": { + "balance": "100000000000000000000" + }, + "cc9ac715cd6f2610c52b58676456884297018b29": { + "balance": "13370000000000000000" + }, + "6f2a31900e240395b19f159c1d00dfe4d898ebdf": { + "balance": "1999600000000000000000" + }, + "d60b247321a32a5affb96b1e279927cc584de943": { + "balance": "2265500000000000000000" + }, + "f7a1ade2d0f529123d1055f19b17919f56214e67": { + "balance": "500000000000000000000" + }, + "bea00df17067a43a82bc1daecafb6c14300e89e6": { + "balance": "1820000000000000000000" + }, + "a2968fc1c64bac0b7ae0d68ba949874d6db253f4": { + "balance": "20000000000000000000000" + }, + "92d8ad9a4d61683b80d4a6672e84c20d62421e80": { + "balance": "20000000000000000000" + }, + "6ed2a12b02f8c688c7b5d3a6ea14d63687dab3b6": { + "balance": "2000000000000000000000" + }, + "7a63869fc767a4c6b1cd0e0649f3634cb121d24b": { + "balance": "77500000000000000000" + }, + "84f522f0520eba52dd18ad21fa4b829f2b89cb97": { + "balance": "4949566000000000000000" + }, + "d6234aaf45c6f22e66a225ffb93add629b4ef80f": { + "balance": "1000000000000000000000" + }, + "e3d8bf4efe84b1616d1b89e427ddc6c8830685ae": { + "balance": "2000000000000000000000" + }, + "a3db364a332d884ba93b2617ae4d85a1489bea47": { + "balance": "1700000000000000000000" + }, + "9f7986924aeb02687cd64189189fb167ded2dd5c": { + "balance": "985000000000000000000" + }, + "2eaf4e2a46b789ccc288c8d1d9294e3fb0853896": { + "balance": "2000000000000000000000" + }, + "a02dc6aa328b880de99eac546823fccf774047fb": { + "balance": "1970000000000000000000" + }, + "873b7f786d3c99ff012c4a7cae2677270240b9c5": { + "balance": "1730000000000000000000" + }, + "1d69c83d28ff0474ceebeacb3ad227a144ece7a3": { + "balance": "5474937000000000000000" + }, + "7b827cae7ff4740918f2e030ab26cb98c4f46cf5": { + "balance": "7460000000000000000000" + }, + "3083ef0ed4c4401196774a95cf4edc83edc1484f": { + "balance": "170000000000000000000000" + }, + "40ad74bc0bce2a45e52f36c3debb1b3ada1b7619": { + "balance": "6790000000000000000000" + }, + "05423a54c8d0f9707e704173d923b946edc8e700": { + "balance": "127543000000000000000" + }, + "22eb7db0ba56b0f8b816ccb206e615d929185b0d": { + "balance": "80500000000000000000" + }, + "66082c75a8de31a53913bbd44de3a0374f7faa41": { + "balance": "1460000000000000000000" + }, + "e3d3eaa299887865569e88be219be507189be1c9": { + "balance": "456156000000000000000" + }, + "ae57cc129a96a89981dac60d2ffb877d5dc5e432": { + "balance": "1110994000000000000000" + }, + "1a2434cc774422d48d53d59c5d562cce8407c94b": { + "balance": "30000000000000000000" + }, + "21546914dfd3af2add41b0ff3e83ffda7414e1e0": { + "balance": "5969100000000000000000" + }, + "4dcf62a3de3f061db91498fd61060f1f6398ff73": { + "balance": "1999944000000000000000" + }, + "6fd98e563d12ce0fd60f4f1f850ae396a9823c02": { + "balance": "1261000000000000000000" + }, + "edf8a3e1d40f13b79ec8e3e1ecf262fd92116263": { + "balance": "158000000000000000000" + }, + "c09e3cfc19f605ff3ec9c9c70e2540d7ee974366": { + "balance": "500000000000000000000" + }, + "953572f0ea6df9b197cae40e4b8ecc056c4371c5": { + "balance": "1000000000000000000000" + }, + "163cc8be227646cb09719159f28ed09c5dc0dce0": { + "balance": "1337000000000000000000" + }, + "a3932a31d6ff75fb3b1271ace7caa7d5e1ff1051": { + "balance": "20000000000000000000000" + }, + "f9a94bd56198da245ed01d1e6430b24b2708dcc0": { + "balance": "749938000000000000000" + }, + "3eb8b33b21d23cda86d8288884ab470e164691b5": { + "balance": "500000000000000000000" + }, + "84bcbf22c09607ac84341d2edbc03bfb1739d744": { + "balance": "500000000000000000000" + }, + "961c59adc74505d1864d1ecfcb8afa0412593c93": { + "balance": "40000000000000000000000" + }, + "f068dfe95d15cd3a7f98ffa688b4346842be2690": { + "balance": "1255160000000000000000" + }, + "291efe0081dce8c14799f7b2a43619c0c3b3fc1f": { + "balance": "1200000000000000000000" + }, + "be4fd073617022b67f5c13499b827f763639e4e3": { + "balance": "2000000000000000000000" + }, + "e40a7c82e157540a0b00901dbb86c716e1a062da": { + "balance": "49800000000000000000" + }, + "6635b46f711d2da6f0e16370cd8ee43efb2c2d52": { + "balance": "2000000000000000000000" + }, + "43748928e8c3ec4436a1d092fbe43ac749be1251": { + "balance": "400000000000000000000" + }, + "b557ab9439ef50d237b553f02508364a466a5c03": { + "balance": "200000000000000000000" + }, + "11928378d27d55c520ceedf24ceb1e822d890df0": { + "balance": "8000000000000000000000" + }, + "61518464fdd8b73c1bb6ac6db600654938dbf17a": { + "balance": "200000000000000000000" + }, + "004bfbe1546bc6c65b5c7eaa55304b38bbfec6d3": { + "balance": "2000000000000000000000" + }, + "a5e0fc3c3affed3db6710947d1d6fb017f3e276d": { + "balance": "2000000000000000000000" + }, + "8ecbcfacbfafe9f00c3922a24e2cf0026756ca20": { + "balance": "5640000000000000000000" + }, + "fb5ffaa0f7615726357891475818939d2037cf96": { + "balance": "20000000000000000000" + }, + "ae222865799079aaf4f0674a0cdaab02a6d570ff": { + "balance": "2000000000000000000000" + }, + "9edc90f4be210865214ab5b35e5a8dd77415279d": { + "balance": "4000000000000000000000" + }, + "9d7831e834c20b1baa697af1d8e0c621c5afff9a": { + "balance": "86500000000000000000" + }, + "046d274b1af615fb505a764ad8dda770b1db2f3d": { + "balance": "2000000000000000000000" + }, + "eaea23aa057200e7c9c15e8ff190d0e66c0c0e83": { + "balance": "2000000000000000000000" + }, + "417a3cd19496530a6d4204c3b5a17ce0f207b1a5": { + "balance": "8000000000000000000000" + }, + "a035a3652478f82dbd6d115faa8ca946ec9e681d": { + "balance": "109880000000000000000" + }, + "4f5801b1eb30b712d8a0575a9a71ff965d4f34eb": { + "balance": "300000000000000000000" + }, + "91dbb6aaad149585be47375c5d6de5ff09191518": { + "balance": "20000000000000000000000" + }, + "d043a011ec4270ee7ec8b968737515e503f83028": { + "balance": "500000000000000000000" + }, + "bb371c72c9f0316cea2bd9c6fbb4079e775429ef": { + "balance": "1760000000000000000000" + }, + "aa1df92e51dff70b1973e0e924c66287b494a178": { + "balance": "534400000000000000000" + }, + "bd5f46caab2c3d4b289396bbb07f203c4da82530": { + "balance": "80000000000000000000" + }, + "4d29fc523a2c1629532121da9998e9b5ab9d1b45": { + "balance": "15800000000000000000" + }, + "addb26317227f45c87a2cb90dc4cfd02fb23caf8": { + "balance": "1000000000000000000000" + }, + "52e46783329a769301b175009d346768f4c87ee4": { + "balance": "2000000000000000000000" + }, + "caad9dc20d589ce428d8fda3a9d53a607b7988b5": { + "balance": "4000000000000000000000" + }, + "95034e1621865137cd4739b346dc17da3a27c34e": { + "balance": "1580000000000000000000" + }, + "0c3239e2e841242db989a61518c22247e8c55208": { + "balance": "263656000000000000000" + }, + "5a0d609aae2332b137ab3b2f26615a808f37e433": { + "balance": "160000000000000000000000" + }, + "2334c590c7a48769103045c5b6534c8a3469f44a": { + "balance": "17443200000000000000000" + }, + "ddfcca13f934f0cfbe231da13039d70475e6a1d0": { + "balance": "1000169000000000000000" + }, + "ee7288d91086d9e2eb910014d9ab90a02d78c2a0": { + "balance": "2000000000000000000000" + }, + "fb91fb1a695553f0c68e21276decf0b83909b86d": { + "balance": "100016000000000000000" + }, + "38695fc7e1367ceb163ebb053751f9f68ddb07a0": { + "balance": "2000000000000000000000" + }, + "65093b239bbfba23c7775ca7da5a8648a9f54cf7": { + "balance": "400000000000000000000" + }, + "73d8fee3cb864dce22bb26ca9c2f086d5e95e63b": { + "balance": "1000000000000000000000" + }, + "f7155213449892744bc60f2e04400788bd041fdd": { + "balance": "66850000000000000000" + }, + "d1a71b2d0858e83270085d95a3b1549650035e23": { + "balance": "14900000000000000000000" + }, + "eac17b81ed5191fb0802aa54337313834107aaa4": { + "balance": "8000000000000000000000" + }, + "bb076aac92208069ea318a31ff8eeb14b7e996e3": { + "balance": "149000000000000000000" + }, + "9f46e7c1e9078cae86305ac7060b01467d6685ee": { + "balance": "668500000000000000000" + }, + "1598127982f2f8ad3b6b8fc3cf27bf617801ba2b": { + "balance": "173000000000000000000" + }, + "e91dac0195b19e37b59b53f7c017c0b2395ba44c": { + "balance": "1880000000000000000000" + }, + "a436c75453ccca4a1f1b62e5c4a30d86dde4be68": { + "balance": "2000000000000000000000" + }, + "11001b89ed873e3aaec1155634b4681643986323": { + "balance": "1000000000000000000000" + }, + "ab93b26ece0a0aa21365afed1fa9aea31cd54468": { + "balance": "1608000000000000000000" + }, + "e77febabdf080f0f5dca1d3f5766f2a79c0ffa7c": { + "balance": "1386000000000000000000" + }, + "1c4af0e863d2656c8635bc6ffec8dd9928908cb5": { + "balance": "2000000000000000000000" + }, + "0c48ae62d1539788eba013d75ea60b64eeba4e80": { + "balance": "2213311000000000000000" + }, + "423cc4594cf4abb6368de59fd2b1230734612143": { + "balance": "2000000000000000000000" + }, + "7f6b28c88421e4857e459281d78461692489d3fb": { + "balance": "2000000000000000000000" + }, + "806854588ecce541495f81c28a290373df0274b2": { + "balance": "582000000000000000000" + }, + "dc76e85ba50b9b31ec1e2620bce6e7c8058c0eaf": { + "balance": "20000000000000000000" + }, + "b00996b0566ecb3e7243b8227988dcb352c21899": { + "balance": "12000000000000000000000" + }, + "f5d14552b1dce0d6dc1f320da6ffc8a331cd6f0c": { + "balance": "1337000000000000000000" + }, + "55a61b109480b5b2c4fcfdef92d90584160c0d35": { + "balance": "44700000000000000000" + }, + "b8947822d5ace7a6ad8326e95496221e0be6b73d": { + "balance": "20000000000000000000" + }, + "492de46aaf8f1d708d59d79af1d03ad2cb60902f": { + "balance": "2000000000000000000000" + }, + "0e0d6633db1e0c7f234a6df163a10e0ab39c200f": { + "balance": "200000000000000000000" + }, + "f8bf9c04874e5a77f38f4c38527e80c676f7b887": { + "balance": "2000000000000000000000" + }, + "15528350e0d9670a2ea27f7b4a33b9c0f9621d21": { + "balance": "4000086000000000000000" + }, + "eccf7a0457b566b346ca673a180f444130216ac3": { + "balance": "100000000000000000000" + }, + "10cf560964ff83c1c9674c783c0f73fcd89943fc": { + "balance": "40000000000000000000000" + }, + "e7f06f699be31c440b43b4db0501ec0e25261644": { + "balance": "500000000000000000000" + }, + "b6ce4dc560fc73dc69fb7a62e388db7e72ea764f": { + "balance": "966000000000000000000" + }, + "f456055a11ab91ff668e2ec922961f2a23e3db25": { + "balance": "18200000000000000000" + }, + "8dfbafbc0e5b5c86cd1ad697feea04f43188de96": { + "balance": "390060000000000000000" + }, + "085b4ab75d8362d914435cedee1daa2b1ee1a23b": { + "balance": "3880000000000000000000" + }, + "e400d651bb3f2d23d5f849e6f92d9c5795c43a8a": { + "balance": "2674000000000000000000" + }, + "851aa91c82f42fad5dd8e8bb5ea69c8f3a5977d1": { + "balance": "148607000000000000000" + }, + "4c935bb250778b3c4c7f7e07fc251fa630314aab": { + "balance": "1500000000000000000000" + }, + "ebd356156a383123343d48843bffed6103e866b3": { + "balance": "1970000000000000000000" + }, + "da0b48e489d302b4b7bf204f957c1c9be383b0df": { + "balance": "2000000000000000000000" + }, + "7085ae7e7e4d932197b5c7858c00a3674626b7a5": { + "balance": "6000000000000000000000" + }, + "5b06d1e6930c1054692b79e3dbe6ecce53966420": { + "balance": "205400000000000000000" + }, + "8df53d96191471e059de51c718b983e4a51d2afd": { + "balance": "32000000000000000000000" + }, + "0678654ac6761db904a2f7e8595ec1eaac734308": { + "balance": "878000000000000000000" + }, + "89fee30d1728d96cecc1dab3da2e771afbcfaa41": { + "balance": "1999944000000000000000" + }, + "59c5d06b170ee4d26eb0a0eb46cb7d90c1c91019": { + "balance": "10000000000000000000000" + }, + "2b129c26b75dde127f8320bd0f63410c92a9f876": { + "balance": "2200000000000000000000" + }, + "3d6ae053fcbc318d6fd0fbc353b8bf542e680d27": { + "balance": "14300000000000000000" + }, + "755a60bf522fbd8fff9723446b7e343a7068567e": { + "balance": "20000000000000000000000" + }, + "947e11e5ea290d6fc3b38048979e0cd44ec7c17f": { + "balance": "2000000000000000000000" + }, + "711ecf77d71b3d0ea95ce4758afecdb9c131079d": { + "balance": "760000000000000000000" + }, + "de9eff4c798811d968dccb460d9b069cf30278e0": { + "balance": "400000000000000000000" + }, + "4e892e8081bf36e488fddb3b2630f3f1e8da30d2": { + "balance": "12003800000000000000000" + }, + "8ede7e3dc50749c6c50e2e28168478c34db81946": { + "balance": "19999800000000000000000" + }, + "0c30cacc3f72269f8b4f04cf073d2b05a83d9ad1": { + "balance": "2001000000000000000000" + }, + "e51eb87e7fb7311f5228c479b48ec9878831ac4c": { + "balance": "2000000000000000000000" + }, + "8b01da34d470c1d115acf4d8113c4dd8a8c338e4": { + "balance": "25220000000000000000000" + }, + "4329fc0931cbeb033880fe4c9398ca45b0e2d11a": { + "balance": "2000400000000000000000" + }, + "540c072802014ef0d561345aec481e8e11cb3570": { + "balance": "8000000000000000000000" + }, + "21e5d2bae995ccfd08a5c16bb524e1f630448f82": { + "balance": "2800000000000000000000" + }, + "5cf8c03eb3e872e50f7cfd0c2f8d3b3f2cb5183a": { + "balance": "200000000000000000000" + }, + "5c0f2e51378f6b0d7bab617331580b6e39ad3ca5": { + "balance": "9600000000000000000000" + }, + "d2f241255dd7c3f73c07043071ec08ddd9c5cde5": { + "balance": "500000000000000000000" + }, + "cbe1b948864d8474e765145858fca4550f784b92": { + "balance": "10000000000000000000000" + }, + "30742ccdf4abbcd005681f8159345c9e79054b1a": { + "balance": "668500000000000000000" + }, + "6aeb9f74742ea491813dbbf0d6fcde1a131d4db3": { + "balance": "440800000000000000000" + }, + "821eb90994a2fbf94bdc3233910296f76f9bf6e7": { + "balance": "10000000000000000000000" + }, + "25c1a37ee5f08265a1e10d3d90d5472955f97806": { + "balance": "1820000000000000000000" + }, + "7ef98b52bee953bef992f305fda027f8911c5851": { + "balance": "514717000000000000000" + }, + "8adc53ef8c18ed3051785d88e996f3e4b20ecd51": { + "balance": "42000000000000000000000" + }, + "007f4a23ca00cd043d25c2888c1aa5688f81a344": { + "balance": "773658000000000000000" + }, + "4a735d224792376d331367c093d31c8794341582": { + "balance": "1900000000000000000000" + }, + "05440c5b073b529b4829209dff88090e07c4f6f5": { + "balance": "1288000000000000000000" + }, + "5e772e27f28800c50dda973bb33e10762e6eea20": { + "balance": "1790000000000000000000" + }, + "a429fa88731fdd350e8ecd6ea54296b6484fe695": { + "balance": "1969606000000000000000" + }, + "e0d76b7166b1f3a12b4091ee2b29de8caa7d07db": { + "balance": "2000000000000000000000" + }, + "7ebd95e9c470f7283583dc6e9d2c4dce0bea8f84": { + "balance": "14000000000000000000000" + }, + "883a78aeabaa50d8ddd8570bcd34265f14b19363": { + "balance": "3879951000000000000000" + }, + "51f9c432a4e59ac86282d6adab4c2eb8919160eb": { + "balance": "530000000000000000000000" + }, + "b86607021b62d340cf2652f3f95fd2dc67698bdf": { + "balance": "5000000000000000000000" + }, + "acc0909fda2ea6b7b7a88db7a0aac868091ddbf6": { + "balance": "22155000000000000000" + }, + "69b80ed90f84834afa3ff82eb964703b560977d6": { + "balance": "26740000000000000000" + }, + "ca4ca9e4779d530ecbacd47e6a8058cfde65d98f": { + "balance": "800000000000000000000" + }, + "5d6c5c720d66a6abca8397142e63d26818eaab54": { + "balance": "40000000000000000000" + }, + "c2c13e72d268e7150dc799e7c6cf03c88954ced7": { + "balance": "700000000000000000000" + }, + "6bbd1e719390e6b91043f8b6b9df898ea8001b34": { + "balance": "2000053000000000000000" + }, + "a9ba6f413b82fcddf3affbbdd09287dcf50415ca": { + "balance": "4000000000000000000000" + }, + "ced3c7be8de7585140952aeb501dc1f876ecafb0": { + "balance": "4000000000000000000000" + }, + "1c63fa9e2cbbf23c49fcdef1cbabfe6e0d1e14c1": { + "balance": "1000000000000000000000" + }, + "7d6e990daa7105de2526339833f77b5c0b85d84f": { + "balance": "20000000000000000000000" + }, + "68addf019d6b9cab70acb13f0b3117999f062e12": { + "balance": "49941000000000000000" + }, + "a77428bcb2a0db76fc8ef1e20e461a0a32c5ac15": { + "balance": "401100000000000000000" + }, + "26048fe84d9b010a62e731627e49bc2eb73f408f": { + "balance": "4000000000000000000000" + }, + "ff26138330274df4e0a3081e6df7dd983ec6e78f": { + "balance": "2000000000000000000000" + }, + "b7382d37db0398ac72410cf9813de9f8e1ec8dad": { + "balance": "1000070000000000000000" + }, + "44f62f2aaabc29ad3a6b04e1ff6f9ce452d1c140": { + "balance": "17000000000000000000000" + }, + "47fef58584465248a0810d60463ee93e5a6ee8d3": { + "balance": "283100000000000000000" + }, + "bd2b70fecc37640f69514fc7f3404946aad86b11": { + "balance": "1200000000000000000000" + }, + "649a85b93653075fa6562c409a565d087ba3e1ba": { + "balance": "2000000000000000000000" + }, + "55866486ec168f79dbe0e1abb18864d98991ae2c": { + "balance": "16100000000000000000" + }, + "d7e74afdbad55e96cebc5a374f2c8b768680f2b0": { + "balance": "99000000000000000000" + }, + "a8c1d6aa41fe3d65f67bd01de2a866ed1ed9ae52": { + "balance": "30000000000000000000" + }, + "744c0c77ba7f236920d1e434de5da33e48ebf02c": { + "balance": "1970000000000000000000" + }, + "9445ba5c30e98961b8602461d0385d40fbd80311": { + "balance": "10000000000000000000000" + }, + "eb835c1a911817878a33d167569ea3cdd387f328": { + "balance": "1000000000000000000000" + }, + "761a6e362c97fbbd7c5977acba2da74687365f49": { + "balance": "183840000000000000000" + }, + "38202c5cd7078d4f887673ab07109ad8ada89720": { + "balance": "1000000000000000000000" + }, + "5abfec25f74cd88437631a7731906932776356f9": { + "balance": "11901484239480000000000000" + }, + "28e4af30cd93f686a122ad7bb19f8a8785eee342": { + "balance": "2101000000000000000000" + }, + "3a9b111029ce1f20c9109c7a74eeeef34f4f2eb2": { + "balance": "4000000000000000000000" + }, + "7bb9571f394b0b1a8eba5664e9d8b5e840677bea": { + "balance": "19700000000000000000" + }, + "50fb36c27107ee2ca9a3236e2746cca19ace6b49": { + "balance": "2000000000000000000000" + }, + "a3bc979b7080092fa1f92f6e0fb347e28d995045": { + "balance": "2800000000000000000000" + }, + "d04b861b3d9acc563a901689941ab1e1861161a2": { + "balance": "20000000000000000000" + }, + "58c555bc293cdb16c6362ed97ae9550b92ea180e": { + "balance": "20000000000000000000" + }, + "8bf02bd748690e1fd1c76d270833048b66b25fd3": { + "balance": "11800000000000000000000" + }, + "fbc01db54e47cdc3c438694ab717a856c23fe6e9": { + "balance": "8456774000000000000000" + }, + "9c9a07a8e57c3172a919ef64789474490f0d9f51": { + "balance": "10000000000000000000000" + }, + "fc7e22a503ec5abe9b08c50bd14999f520fa4884": { + "balance": "6387725000000000000000" + }, + "9b773669e87d76018c090f8255e54409b9dca8b2": { + "balance": "20000000000000000000" + }, + "ffe8cbc1681e5e9db74a0f93f8ed25897519120f": { + "balance": "1507000000000000000000" + }, + "4d4cf5807429615e30cdface1e5aae4dad3055e6": { + "balance": "600000000000000000000" + }, + "cfde0fc75d6f16c443c3038217372d99f5d907f7": { + "balance": "2419000000000000000000" + }, + "818ffe271fc3973565c303f213f6d2da89897ebd": { + "balance": "5734655000000000000000" + }, + "ba1fcaf223937ef89e85675503bdb7ca6a928b78": { + "balance": "640000000000000000000" + }, + "a30a45520e5206d9004070e6af3e7bb2e8dd5313": { + "balance": "400000000000000000000" + }, + "a747439ad0d393b5a03861d77296326de8bb9db9": { + "balance": "1000000000000000000000" + }, + "14d00aad39a0a7d19ca05350f7b03727f08dd82e": { + "balance": "500000000000000000000" + }, + "551999ddd205563327b9b530785acff9bc73a4ba": { + "balance": "6000000000000000000000" + }, + "a4670731175893bbcff4fa85ce97d94fc51c4ba8": { + "balance": "8000000000000000000000" + }, + "f858171a04d357a13b4941c16e7e55ddd4941329": { + "balance": "41984000000000000000" + }, + "a6484cc684c4c91db53eb68a4da45a6a6bda3067": { + "balance": "6000000000000000000000" + }, + "00d75ed60c774f8b3a5a5173fb1833ad7105a2d9": { + "balance": "2005500000000000000000" + }, + "bf92418a0c6c31244d220260cb3e867dd7b4ef49": { + "balance": "99800000000000000000" + }, + "716d50cca01e938500e6421cc070c3507c67d387": { + "balance": "2000000000000000000000" + }, + "82a8b96b6c9e13ebec1e9f18ac02a60ea88a48ff": { + "balance": "1999998000000000000000" + }, + "5a565285374a49eedd504c957d510874d00455bc": { + "balance": "100000000000000000000" + }, + "778c79f4de1953ebce98fe8006d53a81fb514012": { + "balance": "999800000000000000000" + }, + "41b2d34fde0b1029262b4172c81c1590405b03ae": { + "balance": "1000000000000000000000" + }, + "4039bd50a2bde15ffe37191f410390962a2b8886": { + "balance": "200000000000000000000" + }, + "c033be10cb48613bd5ebcb33ed4902f38b583003": { + "balance": "3000000000000000000000" + }, + "5d5751819b4f3d26ed0c1ac571552735271dbefa": { + "balance": "1000000000000000000000" + }, + "b600429752f399c80d0734744bae0a022eca67c6": { + "balance": "20000000000000000000" + }, + "f875619d8a23e45d8998d184d480c0748970822a": { + "balance": "4000000000000000000000" + }, + "71c7230a1d35bdd6819ed4b9a88e94a0eb0786dd": { + "balance": "4365000000000000000000" + }, + "b2f9c972c1e9737755b3ff1b3088738396395b26": { + "balance": "20000000000000000000000" + }, + "a66a4963b27f1ee1932b172be5964e0d3ae54b51": { + "balance": "173000000000000000000" + }, + "53ce88e66c5af2f29bbd8f592a56a3d15f206c32": { + "balance": "140840000000000000000" + }, + "433e3ba1c51b810fc467d5ba4dea42f7a9885e69": { + "balance": "40000000000000000000000" + }, + "c7837ad0a0bf14186937ace06c5546a36aa54f46": { + "balance": "4000000000000000000000" + }, + "c3f8f67295a5cd049364d05d23502623a3e52e84": { + "balance": "6000000000000000000000" + }, + "3fd0bb47798cf44cdfbe4d333de637df4a00e45c": { + "balance": "100040000000000000000" + }, + "a1ae8d4540d4db6fdde7146f415b431eb55c7983": { + "balance": "197000000000000000000" + }, + "5cccf1508bfd35c20530aa642500c10dee65eaed": { + "balance": "850000000000000000000" + }, + "a53ead54f7850af21438cbe07af686279a315b86": { + "balance": "10000000000000000000000" + }, + "8cf6da0204dbc4860b46ad973fc111008d9e0c46": { + "balance": "200000000000000000000" + }, + "8e7936d592008fdc7aa04edeeb755ab513dbb89d": { + "balance": "20000000000000000000" + }, + "4a53dcdb56ce4cdce9f82ec0eb13d67352e7c88b": { + "balance": "4200000000000000000000" + }, + "2b4f4507bb6b9817942ce433781b708fbcd166fd": { + "balance": "18200000000000000000" + }, + "026432af37dc5113f1f46d480a4de0b28052237e": { + "balance": "355800000000000000000" + }, + "e780a56306ba1e6bb331952c22539b858af9f77d": { + "balance": "50000000000000000000000" + }, + "d1f1694d22671b5aad6a94995c369fbe6133676f": { + "balance": "1000000000000000000000" + }, + "7c45f0f8442a56dbd39dbf159995415c52ed479b": { + "balance": "2000000000000000000000" + }, + "b65941d44c50d24666670d364766e991c02e11c2": { + "balance": "600000000000000000000" + }, + "45e68db8dbbaba5fc2cb337c62bcd0d61b059189": { + "balance": "2000000000000000000000" + }, + "05f3631f5664bdad5d0132c8388d36d7d8920918": { + "balance": "20000000000000000000" + }, + "5475d7f174bdb1f789017c7c1705989646079d49": { + "balance": "9400000000000000000000" + }, + "c7bf2ed1ed312940ee6aded1516e268e4a604856": { + "balance": "6000000000000000000000" + }, + "39aaf0854db6eb39bc7b2e43846a76171c0445de": { + "balance": "1850000000000000000000" + }, + "c817df1b91faf30fe3251571727c9711b45d8f06": { + "balance": "1999944000000000000000" + }, + "7d13d6705884ab2157dd8dcc7046caf58ee94be4": { + "balance": "137200000000000000000000" + }, + "478dc09a1311377c093f9cc8ae74111f65f82f39": { + "balance": "4000000000000000000000" + }, + "8043ed22f997e5a2a4c16e364486ae64975692c4": { + "balance": "1130513000000000000000" + }, + "b9a985501ee950829b17fae1c9cf348c3156542c": { + "balance": "294100000000000000000" + }, + "d5cba5b26bea5d73fabb1abafacdef85def368cc": { + "balance": "200000000000000000000" + }, + "6776e133d9dc354c12a951087b639650f539a433": { + "balance": "120000000000000000000" + }, + "804ca94972634f633a51f3560b1d06c0b293b3b1": { + "balance": "200000000000000000000" + }, + "0be1fdf626ee6189102d70d13b31012c95cd1cd6": { + "balance": "2000000000000000000000" + }, + "f848fce9ab611c7d99206e23fac69ad488b94fe1": { + "balance": "48500000000000000000" + }, + "f01195d657ef3c942e6cb83949e5a20b5cfa8b1e": { + "balance": "25760000000000000000000" + }, + "78a5e89900bd3f81dd71ba869d25fec65261df15": { + "balance": "51900000000000000000000" + }, + "d6f1e55b1694089ebcb4fe7d7882aa66c8976176": { + "balance": "19998846000000000000000" + }, + "d5294b666242303b6df0b1c88d37429bc8c965aa": { + "balance": "300700000000000000000" + }, + "3171877e9d820cc618fc0919b29efd333fda4934": { + "balance": "1000000000000000000000" + }, + "2901f8077f34190bb47a8e227fa29b30ce113b31": { + "balance": "100000000000000000000" + }, + "6b2284440221ce16a8382de5ff0229472269deec": { + "balance": "1000000000000000000000" + }, + "1bba03ff6b4ad5bf18184acb21b188a399e9eb4a": { + "balance": "1790000000000000000000" + }, + "80744618de396a543197ee4894abd06398dd7c27": { + "balance": "2000000000000000000000" + }, + "1b799033ef6dc7127822f74542bb22dbfc09a308": { + "balance": "100000000000000000000" + }, + "d513a45080ff2febe62cd5854abe29ee4467f996": { + "balance": "153200000000000000000" + }, + "e761d27fa3502cc76bb1a608740e1403cf9dfc69": { + "balance": "280000000000000000000" + }, + "53989ed330563fd57dfec9bd343c3760b0799390": { + "balance": "6208000000000000000000" + }, + "ccf7110d1bd9a74bfd1d7d7d2d9d55607e7b837d": { + "balance": "900000000000000000000" + }, + "f373e9daac0c8675f53b797a160f6fc034ae6b23": { + "balance": "100000000000000000000" + }, + "abc9a99e8a2148a55a6d82bd51b98eb5391fdbaf": { + "balance": "6000000000000000000000" + }, + "ffec0913c635baca2f5e57a37aa9fb7b6c9b6e26": { + "balance": "805000000000000000000" + }, + "581a3af297efa4436a29af0072929abf9826f58b": { + "balance": "2000000000000000000000" + }, + "924efa6db595b79313277e88319625076b580a10": { + "balance": "2000000000000000000000" + }, + "65d8dd4e251cbc021f05b010f2d5dc520c3872e0": { + "balance": "834956000000000000000" + }, + "6c67d6db1d03516c128b8ff234bf3d49b26d2941": { + "balance": "100000000000000000000000" + }, + "496d365534530a5fc1577c0a5241cb88c4da7072": { + "balance": "1790000000000000000000" + }, + "b85ff03e7b5fc422981fae5e9941dacbdaba7584": { + "balance": "1337000000000000000000" + }, + "e13540ecee11b212e8b775dc8e71f374aae9b3f8": { + "balance": "2000000000000000000000" + }, + "a02e3f8f5959a7aab7418612129b701ca1b80010": { + "balance": "20000000000000000000" + }, + "a7a3f153cdc38821c20c5d8c8241b294a3f82b24": { + "balance": "500000000000000000000" + }, + "366175403481e0ab15bb514615cbb989ebc68f82": { + "balance": "2000000000000000000000" + }, + "5104ecc0e330dd1f81b58ac9dbb1a9fbf88a3c85": { + "balance": "100000000000000000000000" + }, + "a466d770d898d8c9d405e4a0e551efafcde53cf9": { + "balance": "492500000000000000000" + }, + "5fa8a54e68176c4fe2c01cf671c515bfbdd528a8": { + "balance": "330000000000000000000000" + }, + "e2e15c60dd381e3a4be25071ab249a4c5c5264da": { + "balance": "2350502000000000000000" + }, + "0628bfbe5535782fb588406bc96660a49b011af5": { + "balance": "1520000000000000000000" + }, + "04d6b8d4da867407bb997749debbcdc0b358538a": { + "balance": "1000000000000000000000" + }, + "0e6ec313376271dff55423ab5422cc3a8b06b22b": { + "balance": "4000000000000000000000" + }, + "8787d12677a5ec291e57e31ffbfad105c3324b87": { + "balance": "12438777000000000000000" + }, + "58e2f11223fc8237f69d99c6289c148c0604f742": { + "balance": "24000000000000000000000" + }, + "5600730a55f6b20ebd24811faa3de96d1662abab": { + "balance": "1880000000000000000000" + }, + "fce089635ce97abac06b44819be5bb0a3e2e0b37": { + "balance": "92491000000000000000" + }, + "fa0c1a988c8a17ad3528eb28b3409daa58225f26": { + "balance": "200000000000000000000" + }, + "7ae1c19e53c71cee4c73fae2d7fc73bf9ab5e392": { + "balance": "1000000000000000000000" + }, + "bd17eed82b9a2592019a1b1b3c0fbad45c408d22": { + "balance": "250000000000000000000" + }, + "884a7a39d0916e05f1c242df55607f37df8c5fda": { + "balance": "23400000000000000000000" + }, + "ca70f4ddbf069d2143bd6bbc7f696b52789b32e7": { + "balance": "3000000000000000000000" + }, + "7b25bb9ca8e702217e9333225250e53c36804d48": { + "balance": "1880000000000000000000" + }, + "ea8317197959424041d9d7c67a3ece1dbb78bb55": { + "balance": "394000000000000000000" + }, + "5cb953a0e42f5030812226217fffc3ce230457e4": { + "balance": "100000000000000000000" + }, + "d1f4dc1ddb8abb8848a8b14e25f3b55a8591c266": { + "balance": "250000000000000000000" + }, + "6a42ca971c6578d5ade295c3e7f4ad331dd3424e": { + "balance": "6000000000000000000000" + }, + "07e1162ceae3cf21a3f62d105990302e307f4e3b": { + "balance": "1530000000000000000000" + }, + "5d1dc3387b47b8451e55106c0cc67d6dc72b7f0b": { + "balance": "2000000000000000000000" + }, + "5d2819e8d57821922ee445650ccaec7d40544a8d": { + "balance": "200000000000000000000" + }, + "4c24b78baf2bafc7fcc69016426be973e20a50b2": { + "balance": "3000000000000000000000" + }, + "630c5273126d517ce67101811cab16b8534cf9a8": { + "balance": "9422595000000000000000" + }, + "291f929ca59b54f8443e3d4d75d95dee243cef78": { + "balance": "499938000000000000000" + }, + "2dd325fdffb97b19995284afa5abdb574a1df16a": { + "balance": "500000000000000000000" + }, + "4fce8429ba49caa0369d1e494db57e89eab2ad39": { + "balance": "200000000000000000000000" + }, + "712b76510214dc620f6c3a1dd29aa22bf6d214fb": { + "balance": "6000000000000000000000" + }, + "266f2da7f0085ef3f3fa09baee232b93c744db2e": { + "balance": "60000000000000000000000" + }, + "0770c61be78772230cb5a3bb2429a72614a0b336": { + "balance": "6767695000000000000000" + }, + "02dfcb17a1b87441036374b762a5d3418b1cb4d4": { + "balance": "1340860000000000000000" + }, + "5e67df8969101adabd91accd6bb1991274af8df2": { + "balance": "500000000000000000000" + }, + "7d9c59631e2ba2e8e82891f3979922aaa3b567a1": { + "balance": "8000000000000000000000" + }, + "949f8c107bc7f0aceaa0f17052aadbd2f9732b2e": { + "balance": "2000000000000000000000" + }, + "ea4e809e266ae5f13cdbe38f9d0456e6386d1274": { + "balance": "4500000000000000000000" + }, + "cd5510a242dfb0183de925fba866e312fabc1657": { + "balance": "2400000000000000000000" + }, + "a36e0d94b95364a82671b608cb2d373245612909": { + "balance": "150011000000000000000" + }, + "0ec46696ffac1f58005fa8439824f08eed1df89b": { + "balance": "10000000000000000000000" + }, + "c6fb1ee37417d080a0d048923bdabab095d077c6": { + "balance": "200000000000000000000" + }, + "53c9eca40973f63bb5927be0bc6a8a8be1951f74": { + "balance": "2000000000000000000000" + }, + "ea14bfda0a6e76668f8788321f07df37824ec5df": { + "balance": "200000000000000000000000" + }, + "dfb4d4ade52fcc818acc7a2c6bb2b00224658f78": { + "balance": "7750000000000000000000" + }, + "5997ffefb3c1d9d10f1ae2ac8ac3c8e2d2292783": { + "balance": "1000000000000000000000" + }, + "8eceb2e124536c5b5ffc640ed14ff15ed9a8cb71": { + "balance": "2000000000000000000000" + }, + "8f02bda6c36922a6be6a509be51906d393f7b99b": { + "balance": "1019835000000000000000" + }, + "530077c9f7b907ff9cec0c77a41a70e9029add4a": { + "balance": "2000000000000000000000" + }, + "08936a37df85b3a158cafd9de021f58137681347": { + "balance": "18200000000000000000" + }, + "8e9c429266df057efa78dd1d5f77fc40742ad466": { + "balance": "300061000000000000000" + }, + "acc59f3b30ceffc56461cc5b8df48902240e0e7b": { + "balance": "2000000000000000000000" + }, + "f5534815dc635efa5cc84b2ac734723e21b29372": { + "balance": "1580000000000000000000" + }, + "f873e57a65c93b6e18cb75f0dc077d5b8933dc5c": { + "balance": "197000000000000000000" + }, + "25b78c9fad85b43343f0bfcd0fac11c9949ca5eb": { + "balance": "2000000000000000000000" + }, + "aad2b7f8106695078e6c138ec81a7486aaca1eb2": { + "balance": "200000000000000000000" + }, + "509c8668036d143fb8ae70b11995631f3dfcad87": { + "balance": "1000000000000000000000" + }, + "3602458da86f6d6a9d9eb03daf97fe5619d442fa": { + "balance": "2000000000000000000000" + }, + "9f607b3f12469f446121cebf3475356b71b4328c": { + "balance": "4000000000000000000000" + }, + "fe3827d57630cf8761d512797b0b858e478bbd12": { + "balance": "20000000000000000000" + }, + "9d9c4efe9f433989e23be94049215329fa55b4cb": { + "balance": "256215000000000000000" + }, + "9bd905f1719fc7acd0159d4dc1f8db2f21472338": { + "balance": "1000000000000000000000" + }, + "7d82e523cc2dc591da3954e8b6bb2caf6461e69c": { + "balance": "2316058000000000000000" + }, + "74afe54902d615782576f8baac13ac970c050f6e": { + "balance": "177670000000000000000" + }, + "aff11ccf699304d5f5862af86083451c26e79ae5": { + "balance": "1999000000000000000000" + }, + "3885fee67107dc3a3c741ee290c98918c9b99397": { + "balance": "20000000000000000000" + }, + "36343aeca07b6ed58a0e62fa4ecb498a124fc971": { + "balance": "300000000000000000000" + }, + "c94a28fb3230a9ddfa964e770f2ce3c253a7be4f": { + "balance": "200000000000000000000" + }, + "9882967cee68d2a839fad8ab4a7c3dddf6c0adc8": { + "balance": "1336866000000000000000" + }, + "95df4e3445d7662624c48eba74cf9e0a53e9f732": { + "balance": "56000000000000000000000" + }, + "ca9faa17542fafbb388eab21bc4c94e8a7b34788": { + "balance": "1999999000000000000000" + }, + "c8b1850525d946f2ae84f317b15188c536a5dc86": { + "balance": "2685000000000000000000" + }, + "39bac68d947859f59e9226089c96d62e9fbe3cde": { + "balance": "40000000000000000000" + }, + "a9bfc410dddb20711e45c07387eab30a054e19ac": { + "balance": "1154750000000000000000" + }, + "540a1819bd7c35861e791804e5fbb3bc97c9abb1": { + "balance": "1454400000000000000000" + }, + "667b61c03bb937a9f5d0fc5a09f1ea3363c77035": { + "balance": "4250000000000000000000" + }, + "010df1df4bed23760d2d1c03781586ddf7918e54": { + "balance": "60000000000000000000" + }, + "bd51ee2ea143d7b1d6b77e7e44bdd7da12f485ac": { + "balance": "1318800000000000000000" + }, + "fb5125bf0f5eb0b6f020e56bfc2fdf3d402c097e": { + "balance": "5910000000000000000000" + }, + "3f0c83aac5717962734e5ceaeaecd39b28ad06be": { + "balance": "2000000000000000000000" + }, + "f10661ff94140f203e7a482572437938bec9c3f7": { + "balance": "20000000000000000000000" + }, + "bd3097a79b3c0d2ebff0e6e86ab0edadbed47096": { + "balance": "1670000000000000000000" + }, + "edeb4894aadd0081bbddd3e8846804b583d19f27": { + "balance": "2000000000000000000000" + }, + "49c9771fca19d5b9d245c891f8158fe49f47a062": { + "balance": "10000000000000000000000" + }, + "6405dd13e93abcff377e700e3c1a0086eca27d29": { + "balance": "18200000000000000000" + }, + "ce5e04f0184369bcfa06aca66ffa91bf59fa0fb9": { + "balance": "40000000000000000000" + }, + "4364309a9fa07095600f79edc65120cdcd23dc64": { + "balance": "10000000000000000000000" + }, + "b749b54e04d5b19bdcedfb84da7701ab478c27ae": { + "balance": "2680000000000000000000" + }, + "f593c65285ee6bbd6637f3be8f89ad40d489f655": { + "balance": "3000000000000000000000" + }, + "d224f880f9479a89d32f09e52be990b288135cef": { + "balance": "17300000000000000000000" + }, + "85bb51bc3bfe9a1b2a2f6b1cda95bca8b38c8d5e": { + "balance": "321750000000000000000" + }, + "caf4481d9db78dc4f25f7b4ac8bd3b1ca0106b31": { + "balance": "5000000000000000000000" + }, + "51ca8bd4dc644fac47af675563d5804a0da21eeb": { + "balance": "788000000000000000000" + }, + "19f643e1a8fa04ae16006028138333a59a96de87": { + "balance": "20000000000000000000" + }, + "58b808a65b51e6338969afb95ec70735e451d526": { + "balance": "39998000000000000000000" + }, + "574921838cc77d6c98b17d903a3ae0ee0da95bd0": { + "balance": "53480000000000000000000" + }, + "7c6924d07c3ef5891966fe0a7856c87bef9d2034": { + "balance": "2000000000000000000000" + }, + "f9767e4ecb4a5980527508d7bec3d45e4c649c13": { + "balance": "1910000000000000000000" + }, + "f3be99b9103ce7550aa74ff1db18e09dfe32e005": { + "balance": "2000000000000000000000" + }, + "625644c95a873ef8c06cdb9e9f6d8d7680043d62": { + "balance": "1800000000000000000000" + }, + "6a44af96b3f032ae641beb67f4b6c83342d37c5d": { + "balance": "29000000000000000000" + }, + "d3a10ec7a5c9324999dd9e9b6bde7c911e584bda": { + "balance": "600000000000000000000" + }, + "e8ddbed732ebfe754096fde9086b8ea4a4cdc616": { + "balance": "2000000000000000000000" + }, + "235fa66c025ef5540070ebcf0d372d8177c467ab": { + "balance": "33400000000000000000000" + }, + "4d08471d68007aff2ae279bc5e3fe4156fbbe3de": { + "balance": "40000000000000000000000" + }, + "dadc00ab7927603c2fcf31cee352f80e6c4d6351": { + "balance": "1999664000000000000000" + }, + "7393cbe7f9ba2165e5a7553500b6e75da3c33abf": { + "balance": "100000000000000000000" + }, + "77617ebc4bebc5f5ddeb1b7a70cdeb6ae2ffa024": { + "balance": "1970000000000000000000" + }, + "7fea1962e35d62059768c749bedd96cab930d378": { + "balance": "2000000000000000000000" + }, + "243b3bca6a299359e886ce33a30341fafe4d573d": { + "balance": "20000000000000000000000" + }, + "b94d47b3c052a5e50e4261ae06a20f45d8eee297": { + "balance": "2000000000000000000000" + }, + "e727e67ef911b81f6cf9c73fcbfebc2b02b5bfc6": { + "balance": "2000000000000000000000" + }, + "e510d6797fba3d6693835a844ea2ad540691971b": { + "balance": "17381000000000000000000" + }, + "0cdc960b998c141998160dc179b36c15d28470ed": { + "balance": "500038000000000000000" + }, + "3e76a62db187aa74f63817533b306cead0e8cebe": { + "balance": "31200000000000000000000" + }, + "495b641b1cdea362c3b4cbbd0f5cc50b1e176b9c": { + "balance": "1000000000000000000000" + }, + "5126460d692c71c9af6f05574d93998368a23799": { + "balance": "52000000000000000000" + }, + "a008019863c1a77c1499eb39bbd7bf2dd7a31cb9": { + "balance": "137000000000000000000" + }, + "65ee20b06d9ad589a7e7ce04b9f5f795f402aece": { + "balance": "2000000000000000000000" + }, + "f432b9dbaf11bdbd73b6519fc0a904198771aac6": { + "balance": "152000000000000000000" + }, + "85946d56a4d371a93368539690b60ec825107454": { + "balance": "1730000000000000000000" + }, + "26f9f7cefd7e394b9d3924412bf2c2831faf1f85": { + "balance": "4000000000000000000000" + }, + "d4ebb1929a23871cf77fe049ab9602be08be0a73": { + "balance": "1910000000000000000000" + }, + "4fdac1aa517007e0089430b3316a1badd12c01c7": { + "balance": "500000000000000000000" + }, + "05e671de55afec964b074de574d5158d5d21b0a3": { + "balance": "3940000000000000000000" + }, + "20181c4b41f6f972b66958215f19f570c15ddff1": { + "balance": "1600000000000000000000" + }, + "cc9519d1f3985f6b255eaded12d5624a972721e1": { + "balance": "1000000000000000000000" + }, + "169bbefc41cfd7d7cbb8dfc63020e9fb06d49546": { + "balance": "2000000000000000000000" + }, + "175a183a3a235ffbb03ba835675267229417a091": { + "balance": "16000000000000000000000" + }, + "8dde3cb8118568ef4503fe998ccdf536bf19a098": { + "balance": "4000000000000000000000" + }, + "6a05b21c4f17f9d73f5fb2b0cb89ff5356a6cc7e": { + "balance": "1500000000000000000000" + }, + "5cc4cba621f220637742057f6055b80dffd77e13": { + "balance": "39997692000000000000000" + }, + "ecb94c568bfe59ade650645f4f26306c736cace4": { + "balance": "267400000000000000000" + }, + "dfa6b8b8ad3184e357da282951d79161cfb089bc": { + "balance": "400000000000000000000" + }, + "a3058c51737a4e96c55f2ef6bd7bb358167ec2a7": { + "balance": "606093000000000000000" + }, + "051d424276b21239665186133d653bb8b1862f89": { + "balance": "1000000000000000000000" + }, + "d05ffb2b74f867204fe531653b0248e21c13544e": { + "balance": "1000000000000000000000" + }, + "e1f63ebbc62c7b7444040eb99623964f7667b376": { + "balance": "20000000000000000000" + }, + "e5a3d7eb13b15c100177236d1beb30d17ee15420": { + "balance": "2000000000000000000000" + }, + "18fa8625c9dc843c78c7ab259ff87c9599e07f10": { + "balance": "1000000000000000000000" + }, + "64264aedd52dcae918a012fbcd0c030ee6f71821": { + "balance": "1000000000000000000000" + }, + "6f1f4907b8f61f0c51568d692806b382f50324f5": { + "balance": "2000000000000000000000" + }, + "becef61c1c442bef7ce04b73adb249a8ba047e00": { + "balance": "1000400000000000000000" + }, + "7b893286427e72db219a21fc4dcd5fbf59283c31": { + "balance": "10000000000000000000000" + }, + "ce5eb63a7bf4fbc2f6e4baa0c68ab1cb4cf98fb4": { + "balance": "2000000000000000000000" + }, + "66ec16ee9caab411c55a6629e318de6ee216491d": { + "balance": "865000000000000000000" + }, + "30b66150f1a63457023fdd45d0cc6cb54e0c0f06": { + "balance": "1000000000000000000000" + }, + "87183160d172d2e084d327b86bcb7c1d8e6784ef": { + "balance": "4000086000000000000000" + }, + "c420388fbee84ad656dd68cdc1fbaa9392780b34": { + "balance": "187767000000000000000" + }, + "90f774c9147dde90853ddc43f08f16d455178b8c": { + "balance": "4000000000000000000000" + }, + "1e1d7a5f2468b94ea826982dbf2125793c6e4a5a": { + "balance": "999940000000000000000" + }, + "8043fdd0bc4c973d1663d55fc135508ec5d4f4fa": { + "balance": "20000000000000000000" + }, + "7bca1da6c80a66baa5db5ac98541c4be276b447d": { + "balance": "679000000000000000000" + }, + "73550beb732ba9ddafda7ae406e18f7feb0f8bb2": { + "balance": "2800000000000000000000" + }, + "adc19ec835afe3e58d87dc93a8a9213c90451326": { + "balance": "1971200000000000000000" + }, + "821d798af19989c3ae5b84a7a7283cd7fda1fabe": { + "balance": "20000000000000000000000" + }, + "4c4e6f13fb5e3f70c3760262a03e317982691d10": { + "balance": "100000000000000000000" + }, + "664e43119870af107a448db1278b044838ffcdaf": { + "balance": "400000000000000000000" + }, + "8da1178f55d97772bb1d24111a404a4f8715b95d": { + "balance": "878149000000000000000" + }, + "5e6e9747e162f8b45c656e0f6cae7a84bac80e4e": { + "balance": "2000000000000000000000" + }, + "c7eac31abce6d5f1dea42202b6a674153db47a29": { + "balance": "591000000000000000000" + }, + "d96711540e2e998343d4f590b6fc8fac3bb8b31d": { + "balance": "1758944000000000000000" + }, + "9da4ec407077f4b9707b2d9d2ede5ea5282bf1df": { + "balance": "4000000000000000000000" + }, + "f60c1b45f164b9580e20275a5c39e1d71e35f891": { + "balance": "2000000000000000000000" + }, + "eb6394a7bfa4d28911d5a5b23e93f35e340c2294": { + "balance": "78000000000000000000" + }, + "a89ac93b23370472daac337e9afdf642543f3e57": { + "balance": "10000000000000000000000" + }, + "bb618e25221ad9a740b299ed1406bc3934b0b16d": { + "balance": "1000000000000000000000" + }, + "817ac33bd8f847567372951f4a10d7a91ce3f430": { + "balance": "200015000000000000000" + }, + "fe6a895b795cb4bf85903d3ce09c5aa43953d3bf": { + "balance": "3400000000000000000000" + }, + "3673954399f6dfbe671818259bb278e2e92ee315": { + "balance": "200000000000000000000000" + }, + "df0ff1f3d27a8ec9fb8f6b0cb254a63bba8224a5": { + "balance": "4367636000000000000000" + }, + "ff12e49d8e06aa20f886293c0b98ed7eff788805": { + "balance": "4000000000000000000000" + }, + "5aef16a226dd68071f2483e1da42598319f69b2c": { + "balance": "2000000000000000000000" + }, + "0266ab1c6b0216230b9395443d5fa75e684568c6": { + "balance": "1000000000000000000000" + }, + "14a7352066364404db50f0d0d78d754a22198ef4": { + "balance": "1880000000000000000000" + }, + "444caf79b71338ee9aa7c733b02acaa7dc025948": { + "balance": "40000000000000000000" + }, + "64e2de21200b1899c3a0c0653b5040136d0dc842": { + "balance": "20000000000000000000000" + }, + "36e156610cd8ff64e780d89d0054385ca76755aa": { + "balance": "14000000000000000000000" + }, + "0a6ebe723b6ed1f9a86a69ddda68dc47465c2b1b": { + "balance": "1185000000000000000000" + }, + "38bf2a1f7a69de0e2546adb808b36335645da9ff": { + "balance": "2000320000000000000000" + }, + "39f44663d92561091b82a70dcf593d754005973a": { + "balance": "199999000000000000000" + }, + "24b9e6644f6ba4cde126270d81f6ab60f286dff4": { + "balance": "133700000000000000000" + }, + "9b59eb213b1e7565e45047e04ea0374f10762d16": { + "balance": "2000000000000000000000" + }, + "309544b6232c3dd737f945a03193d19b5f3f65b9": { + "balance": "1087440000000000000000" + }, + "b28bb39f3466517cd46f979cf59653ee7d8f152e": { + "balance": "450000000000000000000" + }, + "9da8e22ca10e67fea44e525e4751eeac36a31194": { + "balance": "260000000000000000000" + }, + "4f8ae80238e60008557075ab6afe0a7f2e74d729": { + "balance": "100000000000000000000" + }, + "74ed33acf43f35b98c9230b9e6642ecb5330839e": { + "balance": "681872000000000000000" + }, + "22842ab830da509913f81dd1f04f10af9edd1c55": { + "balance": "2000000000000000000000" + }, + "a8f37f0ab3a1d448a9e3ce40965f97a646083a34": { + "balance": "329800000000000000000" + }, + "582b70669c97aab7d68148d8d4e90411e2810d56": { + "balance": "999972000000000000000" + }, + "d5e55100fbd1956bbed2ca518d4b1fa376032b0b": { + "balance": "100000000000000000000" + }, + "b7cc6b1acc32d8b295df68ed9d5e60b8f64cb67b": { + "balance": "300000000000000000000" + }, + "e081ca1f4882db6043d5a9190703fde0ab3bf56d": { + "balance": "400000000000000000000" + }, + "c02077449a134a7ad1ef7e4d927affeceeadb5ae": { + "balance": "18200000000000000000" + }, + "e09fea755aee1a44c0a89f03b5deb762ba33006f": { + "balance": "1100070000000000000000" + }, + "b3717731dad65132da792d876030e46ac227bb8a": { + "balance": "1000000000000000000000" + }, + "157eb3d3113bd3b597714d3a954edd018982a5cb": { + "balance": "2000000000000000000000" + }, + "dc57345b38e0f067c9a31d9deac5275a10949321": { + "balance": "200000000000000000000" + }, + "40ea5044b204b23076b1a5803bf1d30c0f88871a": { + "balance": "14000000000000000000000" + }, + "2bab0fbe28d58420b52036770a12f9952aea6911": { + "balance": "3820000000000000000000" + }, + "adaa0e548c035affed64ca678a963fabe9a26bfd": { + "balance": "70000000000000000000" + }, + "bb48eaf516ce2dec3e41feb4c679e4957641164f": { + "balance": "3820000000000000000000" + }, + "7693bdeb6fc82b5bca721355223175d47a084b4d": { + "balance": "22000000000000000000000" + }, + "03cb98d7acd817de9d886d22fab3f1b57d92a608": { + "balance": "1600000000000000000000" + }, + "f88900db737955b1519b1a7d170a18864ce590eb": { + "balance": "18200000000000000000" + }, + "757fa55446c460968bb74b5ebca96c4ef2c709c5": { + "balance": "1015200000000000000000" + }, + "da855d53477f505ec4c8d5e8bb9180d38681119c": { + "balance": "5600000000000000000000" + }, + "e41aea250b877d423a63ba2bce2f3a61c0248d56": { + "balance": "260000000000000000000" + }, + "8262169b615870134eb4ac6c5f471c6bf2f789fc": { + "balance": "462500000000000000000" + }, + "66b0c100c49149935d14c0dc202cce907cea1a3d": { + "balance": "1970000000000000000000" + }, + "854c0c469c246b83b5d1b3eca443b39af5ee128a": { + "balance": "1600000000000000000000" + }, + "eb6810691d1ae0d19e47bd22cebee0b3ba27f88a": { + "balance": "2499922000000000000000" + }, + "24dcc24bd9c7210ceacfb30da98ae04a4d7b8ab9": { + "balance": "1000000000000000000000" + }, + "e31b4eef184c24ab098e36c802714bd4743dd0d4": { + "balance": "200000000000000000000" + }, + "99b8c824869de9ed24f3bff6854cb6dd45cc3f9f": { + "balance": "1880000000000000000000" + }, + "2ae73a79aea0278533accf21070922b1613f8f32": { + "balance": "3097417000000000000000" + }, + "ddbd2b932c763ba5b1b7ae3b362eac3e8d40121a": { + "balance": "10000000000000000000000" + }, + "1b4bbcb18165211b265b280716cb3f1f212176e8": { + "balance": "472325000000000000000" + }, + "e177e0c201d335ba3956929c571588b51c5223ae": { + "balance": "2000000000000000000000" + }, + "1945fe377fe6d4b71e3e791f6f17db243c9b8b0f": { + "balance": "2185500000000000000000" + }, + "3e9b34a57f3375ae59c0a75e19c4b641228d9700": { + "balance": "17900000000000000000" + }, + "a4d6c82eddae5947fbe9cdfbd548ae33d91a7191": { + "balance": "8000000000000000000000" + }, + "bad4425e171c3e72975eb46ac0a015db315a5d8f": { + "balance": "2000000000000000000000" + }, + "a2d2aa626b09d6d4e4b13f7ffc5a88bd7ad36742": { + "balance": "4639390000000000000000" + }, + "b61c34fcacda701a5aa8702459deb0e4ae838df8": { + "balance": "35000000000000000000000" + }, + "145e0600e2a927b2dd8d379356b45a2e7d51d3ae": { + "balance": "2545843000000000000000" + }, + "8df339214b6ad1b24663ce716034749d6ef838d9": { + "balance": "11000000000000000000000" + }, + "8fd9a5c33a7d9edce0997bdf77ab306424a11ea9": { + "balance": "2000000000000000000000" + }, + "097da12cfc1f7c1a2464def08c29bed5e2f851e9": { + "balance": "20000000000000000000" + }, + "ddabf13c3c8ea4e3d73d78ec717afafa430e5479": { + "balance": "41600000000000000000000" + }, + "9eeb07bd2b7890195e7d46bdf2071b6617514ddb": { + "balance": "2000000000000000000000" + }, + "819af9a1c27332b1c369bbda1b3de1c6e933d640": { + "balance": "314308000000000000000" + }, + "d7d2c6fca8ad1f75395210b57de5dfd673933909": { + "balance": "340000000000000000000" + }, + "cdd5d881a7362c9070073bdfbc75e72453ac510e": { + "balance": "842000000000000000000" + }, + "e9ac36376efa06109d40726307dd1a57e213eaa9": { + "balance": "194000000000000000000" + }, + "1bea4df5122fafdeb3607eddda1ea4ffdb9abf2a": { + "balance": "346000000000000000000" + }, + "3e5e93fb4c9c9d1246f8f247358e22c3c5d17b6a": { + "balance": "150000000000000000000" + }, + "6c1ddd33c81966dc8621776071a4129482f2c65f": { + "balance": "40000000000000000000000" + }, + "2ccb66494d0af689abf9483d365d782444e7dead": { + "balance": "1000000000000000000000" + }, + "19571a2b8f81c6bcf66ab3a10083295617150003": { + "balance": "492500000000000000000" + }, + "38ac664ee8e0795e4275cb852bcba6a479ad9c8d": { + "balance": "20000000000000000000" + }, + "c4803bb407c762f90b7596e6fde194931e769590": { + "balance": "4000000000000000000000" + }, + "93507e9e8119cbceda8ab087e7ecb071383d6981": { + "balance": "14000000000000000000000" + }, + "b672734afcc224e2e609fc51d4f059732744c948": { + "balance": "295500000000000000000" + }, + "fbbbebcfbe235e57dd2306ad1a9ec581c7f9f48f": { + "balance": "40000000000000000000" + }, + "8c81410ea8354cc5c65c41be8bd5de733c0b111d": { + "balance": "9550000000000000000000" + }, + "942c6b8c955bc0d88812678a236725b32739d947": { + "balance": "1550000000000000000000" + }, + "d2e817738abf1fb486583f80c350318bed860c80": { + "balance": "240010000000000000000" + }, + "bff5df769934b8943ca9137d0efef2fe6ebbb34e": { + "balance": "100000000000000000000" + }, + "6c4e426e8dc005dfa3516cb8a680b02eea95ae8e": { + "balance": "1337000000000000000000" + }, + "f645dd7c890093e8e4c8aa92a6bb353522d3dc98": { + "balance": "134000000000000000000" + }, + "4bac846af4169f1d95431b341d8800b22180af1a": { + "balance": "20000000000000000000" + }, + "0514954c3c2fb657f9a06f510ea22748f027cdd3": { + "balance": "400000000000000000000" + }, + "163dca73d7d6ea3f3e6062322a8734180c0b78ef": { + "balance": "2941400000000000000000" + }, + "feaca2ac74624bf348dac9985143cfd652a4be55": { + "balance": "26148245000000000000000" + }, + "fe80e9232deaff19baf99869883a4bdf0004e53c": { + "balance": "855680000000000000000" + }, + "17108dab2c50f99de110e1b3b3b4cd82f5df28e7": { + "balance": "980000000000000000000" + }, + "837a645dc95c49549f899c4e8bcf875324b2f57c": { + "balance": "600400000000000000000" + }, + "762998e1d75227fced7a70be109a4c0b4ed86414": { + "balance": "20000000000000000000" + }, + "c0a7e8435dff14c25577739db55c24d5bf57a3d9": { + "balance": "49250000000000000000000" + }, + "aead88d689416b1c91f2364421375b7d3c70fb2e": { + "balance": "2000000000000000000000" + }, + "9279b2228cec8f7b4dda3f320e9a0466c2f585ca": { + "balance": "5000000000000000000000" + }, + "36726f3b885a24f92996da81625ec8ad16d8cbe6": { + "balance": "1543723000000000000000" + }, + "3951e48e3c869e6b72a143b6a45068cdb9d466d0": { + "balance": "20000000000000000000" + }, + "f5d61ac4ca95475e5b7bffd5f2f690b316759615": { + "balance": "31040000000000000000000" + }, + "158a0d619253bf4432b5cd02c7b862f7c2b75636": { + "balance": "135733000000000000000" + }, + "e56d431324c92911a1749df292709c14b77a65cd": { + "balance": "8200000000000000000000" + }, + "9976947eff5f6ae5da08dd541192f378b428ff94": { + "balance": "8000000000000000000000" + }, + "83210583c16a4e1e1dac84ebd37e3d0f7c57eba4": { + "balance": "2000000000000000000000" + }, + "dcb64df43758c7cf974fa660484fbb718f8c67c1": { + "balance": "20000000000000000000000" + }, + "d4205592844055b3c7a1f80cefe3b8eb509bcde7": { + "balance": "178973000000000000000" + }, + "d0648a581b3508e135a2935d12c9657045d871ca": { + "balance": "8022000000000000000000" + }, + "e7d17524d00bad82497c0f27156a647ff51d2792": { + "balance": "20000000000000000000" + }, + "21582e99e502cbf3d3c23bdffb76e901ac6d56b2": { + "balance": "100000000000000000000" + }, + "e61f280915c774a31d223cf80c069266e5adf19b": { + "balance": "880000000000000000000" + }, + "03c91d92943603e752203e05340e566013b90045": { + "balance": "802200000000000000000" + }, + "22561c5931143536309c17e832587b625c390b9a": { + "balance": "4000000000000000000000" + }, + "e399c81a1d701b44f0b66f3399e66b275aaaf8c1": { + "balance": "1000000000000000000000" + }, + "7f8dbce180ed9c563635aad2d97b4cbc428906d9": { + "balance": "2674000000000000000000" + }, + "9f61beb46f5e853d0a8521c7446e68e34c7d0973": { + "balance": "560000000000000000000" + }, + "6d3f2ba856ccbb0237fa7661156b14b013f21240": { + "balance": "1000000000000000000000" + }, + "5f742e487e3ab81af2f94afdbe1b9b8f5ccc81bc": { + "balance": "2172412000000000000000" + }, + "b600feab4aa96c537504d96057223141692c193a": { + "balance": "400000000000000000000" + }, + "fab487500df20fb83ebed916791d561772adbebf": { + "balance": "1999980000000000000000" + }, + "f8704c16d2fd5ba3a2c01d0eb20484e6ecfa3109": { + "balance": "200000000000000000000" + }, + "3f1bc420c53c002c9e90037c44fe6a8ef4ddc962": { + "balance": "173000000000000000000" + }, + "82e577b515cb2b0860aafe1ce09a59e09fe7d040": { + "balance": "600000000000000000000" + }, + "bc999e385c5aebcac8d6f3f0d60d5aa725336d0d": { + "balance": "2000000000000000000000" + }, + "e16ce35961cd74bd590d04c4ad4a1989e05691c6": { + "balance": "146000000000000000000" + }, + "eb76424c0fd597d3e341a9642ad1ee118b2b579d": { + "balance": "4000000000000000000000" + }, + "c440c7ca2f964b6972ef664a2261dde892619d9c": { + "balance": "20000000000000000000000" + }, + "460d5355b2ceeb6e62107d81e51270b26bf45620": { + "balance": "2005500000000000000000" + }, + "fcada300283f6bcc134a91456760b0d77de410e0": { + "balance": "2000000000000000000000" + }, + "be8d7f18adfe5d6cc775394989e1930c979d007d": { + "balance": "1000000000000000000000" + }, + "a7f9220c8047826bd5d5183f4e676a6d77bfed36": { + "balance": "153368000000000000000" + }, + "98d204f9085f8c8e7de23e589b64c6eff692cc63": { + "balance": "2000000000000000000000" + }, + "5a2916b8d2e8cc12e207ab464d433e2370d823d9": { + "balance": "2000000000000000000000" + }, + "c42d6aeb710e3a50bfb44d6c31092969a11aa7f3": { + "balance": "150052000000000000000" + }, + "04ce45f600db18a9d0851b29d9393ebdaafe3dc5": { + "balance": "20000000000000000000" + }, + "7a1370a742ec2687e761a19ac5a794329ee67404": { + "balance": "2999988000000000000000" + }, + "da2ad58e77deddede2187646c465945a8dc3f641": { + "balance": "660000000000000000000" + }, + "ec58bc0d0c20d8f49465664153c5c196fe59e6be": { + "balance": "400000000000000000000" + }, + "f8063af4cc1dd9619ab5d8bff3fcd1faa8488221": { + "balance": "2000000000000000000000" + }, + "b9231eb26e5f9e4b4d288f03906704fab96c87d6": { + "balance": "19700000000000000000000" + }, + "6e5c2d9b1c546a86eefd5d0a5120c9e4e730190e": { + "balance": "199600000000000000000" + }, + "e49936a92a8ccf710eaac342bc454b9b14ebecb1": { + "balance": "2000000000000000000000" + }, + "21dbdb817a0d8404c6bdd61504374e9c43c9210e": { + "balance": "9999917000000000000000" + }, + "5cebe30b2a95f4aefda665651dc0cf7ef5758199": { + "balance": "18200000000000000000" + }, + "597038ff91a0900cbbab488af483c790e6ec00a0": { + "balance": "10000000000000000000000" + }, + "0fa5d8c5b3f294efd495ab69d768f81872508548": { + "balance": "2000000000000000000000" + }, + "feef3b6eabc94affd3310c1c4d0e65375e131119": { + "balance": "20000000000000000000" + }, + "1ce81d31a7923022e125bf48a3e03693b98dc9dd": { + "balance": "2000000000000000000000" + }, + "5887dc6a33dfed5ac1edefe35ef91a216231ac96": { + "balance": "250000000000000000000" + }, + "4e8e47ae3b1ef50c9d54a38e14208c1abd3603c2": { + "balance": "2235000000000000000000" + }, + "e845e387c4cbdf982280f6aa01c40e4be958ddb2": { + "balance": "25000000000000000000000" + }, + "71d9494e50c5dd59c599dba3810ba1755e6537f0": { + "balance": "4000000000000000000000" + }, + "6eb5578a6bb7c32153195b0d8020a6914852c059": { + "balance": "660000000000000000000000" + }, + "543f8c674e2462d8d5daa0e80195a8708e11a29e": { + "balance": "63940000000000000000" + }, + "a0459ef3693aacd1647cd5d8929839204cef53be": { + "balance": "1000000000000000000000" + }, + "dda371e600d30688d4710e088e02fdf2b9524d5f": { + "balance": "6920000000000000000000" + }, + "dd4dd6d36033b0636fcc8d0938609f4dd64f4a86": { + "balance": "60000000000000000000" + }, + "3bd624b548cb659736907ed8aa3c0c705e24b575": { + "balance": "2000000000000000000000" + }, + "414599092e879ae25372a84d735af5c4e510cd6d": { + "balance": "400000000000000000000" + }, + "3d66cd4bd64d5c8c1b5eea281e106d1c5aad2373": { + "balance": "1951100000000000000000" + }, + "5948bc3650ed519bf891a572679fd992f8780c57": { + "balance": "197000000000000000000" + }, + "8b74a7cb1bb8c58fce267466a30358adaf527f61": { + "balance": "13620000000000000000000" + }, + "3f10800282d1b7ddc78fa92d8230074e1bf6aeae": { + "balance": "4925000000000000000000" + }, + "32dbb6716c54e83165829a4abb36757849b6e47d": { + "balance": "1000000000000000000000" + }, + "e6b3ac3f5d4da5a8857d0b3f30fc4b2b692b77d7": { + "balance": "1460000000000000000000" + }, + "052a58e035f1fe9cdd169bcf20970345d12b9c51": { + "balance": "1490000000000000000000" + }, + "581bdf1bb276dbdd86aedcdb397a01efc0e00c5b": { + "balance": "1000000000000000000000" + }, + "604e9477ebf4727c745bcabbedcb6ccf29994022": { + "balance": "1000060000000000000000" + }, + "59b96deb8784885d8d3b4a166143cc435d2555a1": { + "balance": "1337000000000000000000" + }, + "37d980a12ee3bf23cc5cdb63b4ae45691f74c837": { + "balance": "2000000000000000000000" + }, + "3bfbd3847c17a61cf3f17b52f8eba1b960b3f39f": { + "balance": "3000000000000000000000" + }, + "49c941e0e5018726b7290fc473b471d41dae80d1": { + "balance": "500000000000000000000" + }, + "f26bcedce3feadcea3bc3e96eb1040dfd8ffe1a0": { + "balance": "775000000000000000000" + }, + "d0944aa185a1337061ae20dc9dd96c83b2ba4602": { + "balance": "200000000000000000000" + }, + "904caa429c619d940f8e6741826a0db692b19728": { + "balance": "1000000000000000000000" + }, + "b95c9b10aa981cf4a67a71cc52c504dee8cf58bd": { + "balance": "4000000000000000000000" + }, + "15874686b6733d10d703c9f9bec6c52eb8628d67": { + "balance": "2000000000000000000000" + }, + "1374facd7b3f8d68649d60d4550ee69ff0484133": { + "balance": "269700000000000000000" + }, + "b0e469c886593815b3495638595daef0665fae62": { + "balance": "1940000000000000000000" + }, + "47ff6feb43212060bb1503d7a397fc08f4e70352": { + "balance": "2000000000000000000000" + }, + "c60b04654e003b4683041f1cbd6bc38fda7cdbd6": { + "balance": "2000000000000000000000" + }, + "3ecdb532e397579662b2a46141e78f8235936a5f": { + "balance": "66850000000000000000" + }, + "b3a8c2cb7d358e5739941d945ba9045a023a8bbb": { + "balance": "1000000000000000000000" + }, + "32ef5cdc671df5562a901aee5db716b9be76dcf6": { + "balance": "2000000000000000000000" + }, + "c94110e71afe578aa218e4fc286403b0330ace8d": { + "balance": "2000000000000000000000" + }, + "9b43dcb95fde318075a567f1e6b57617055ef9e8": { + "balance": "3940000000000000000000" + }, + "efeea010756f81da4ba25b721787f058170befbd": { + "balance": "32470000000000000000" + }, + "c88255eddcf521c6f81d97f5a42181c9073d4ef1": { + "balance": "290793000000000000000" + }, + "dd47189a3e64397167f0620e484565b762bfbbf4": { + "balance": "1850000000000000000000" + }, + "82f39b2758ae42277b86d69f75e628d958ebcab0": { + "balance": "40000000000000000000000" + }, + "e37f5fdc6ec97d2f866a1cfd0d3a4da4387b22b5": { + "balance": "10000000000000000000000" + }, + "62331df2a3cbee3520e911dea9f73e905f892505": { + "balance": "2000000000000000000000" + }, + "8c5d16ed65e3ed7e8b96ca972bc86173e3500b03": { + "balance": "2000000000000000000000" + }, + "8b9841862e77fbbe919470935583a93cf027e450": { + "balance": "2000054000000000000000" + }, + "c8dd27f16bf22450f5771b9fe4ed4ffcb30936f4": { + "balance": "197000000000000000000" + }, + "dec8a1a898f1b895d8301fe64ab3ad5de941f689": { + "balance": "787803000000000000000" + }, + "61c4ee7c864c4d6b5e37ea1331c203739e826b2f": { + "balance": "30063000000000000000" + }, + "3250e3e858c26adeccadf36a5663c22aa84c4170": { + "balance": "5000000000000000000000" + }, + "299e0bca55e069de8504e89aca6eca21d38a9a5d": { + "balance": "55500000000000000000" + }, + "d50f7fa03e389876d3908b60a537a6706304fb56": { + "balance": "100000000000000000000" + }, + "69073269729e6414b26ec8dc0fd935c73b579f1e": { + "balance": "30000000000000000000000" + }, + "14fcd1391e7d732f41766cdacd84fa1deb9ffdd2": { + "balance": "2000000000000000000000" + }, + "823768746737ce6da312d53e54534e106f967cf3": { + "balance": "20000000000000000000" + }, + "882f75708386653c80171d0663bfe30b017ed0ad": { + "balance": "2000000000000000000000" + }, + "a25b086437fd2192d0a0f64f6ed044f38ef3da32": { + "balance": "335000000000000000000" + }, + "5a9c8b69fc614d69564999b00dcb42db67f97e90": { + "balance": "3429227000000000000000" + }, + "a2b701f9f5cdd09e4ba62baebae3a88257105885": { + "balance": "1000000000000000000000" + }, + "5e7b8c54dc57b0402062719dee7ef5e37ea35d62": { + "balance": "2877224000000000000000" + }, + "7ffabfbc390cbe43ce89188f0868b27dcb0f0cad": { + "balance": "6370000000000000000000" + }, + "b5cdbc4115406f52e5aa85d0fea170d2979cc7ba": { + "balance": "1337000000000000000000" + }, + "263814309de4e635cf585e0d365477fc40e66cf7": { + "balance": "146000000000000000000" + }, + "24cff0e9336a9f80f9b1cb968caf6b1d1c4932a4": { + "balance": "200200000000000000000" + }, + "d3a941c961e8ca8b1070f23c6d6d0d2a758a4444": { + "balance": "200000000000000000000" + }, + "a97beb3a48c45f1528284cb6a95f7de453358ec6": { + "balance": "31000000000000000000000" + }, + "4dd131c74a068a37c90aded4f309c2409f6478d3": { + "balance": "400008000000000000000" + }, + "653675b842d7d8b461f722b4117cb81dac8e639d": { + "balance": "31000000000000000000" + }, + "561be9299b3e6b3e63b79b09169d1a948ae6db01": { + "balance": "500000000000000000000" + }, + "dc067ed3e12d711ed475f5156ef7e71a80d934b9": { + "balance": "9550000000000000000000" + }, + "08d97eadfcb7b064e1ccd9c8979fbee5e77a9719": { + "balance": "266063000000000000000" + }, + "6e4c2ab7db026939dbd3bc68384af660a61816b2": { + "balance": "167000000000000000000" + }, + "bf4c73a7ede7b164fe072114843654e4d8781dde": { + "balance": "2000000000000000000000" + }, + "f504943aaf16796e0b341bbcdf21d11cc586cdd1": { + "balance": "9000000000000000000000" + }, + "ea81ca8638540cd9d4d73d060f2cebf2241ffc3e": { + "balance": "1970000000000000000000" + }, + "9944fee9d34a4a880023c78932c00b59d5c82a82": { + "balance": "750022000000000000000" + }, + "12f460ae646cd2780fd35c50a6af4b9accfa85c6": { + "balance": "1000000000000000000000" + }, + "4e232d53b3e6be8f895361d31c34d4762b12c82e": { + "balance": "1760000000000000000000" + }, + "6bb2aca23fa1626d18efd6777fb97db02d8e0ae4": { + "balance": "40000000000000000000000" + }, + "bc4e471560c99c8a2a4b1b1ad0c36aa6502b7c4b": { + "balance": "12000000000000000000000" + }, + "2e2cbd7ad82547b4f5ff8b3ab56f942a6445a3b0": { + "balance": "200000000000000000000" + }, + "21ecb2dfa65779c7592d041cd2105a81f4fd4e46": { + "balance": "1000000000000000000000" + }, + "34318625818ec13f11835ae97353ce377d6f590a": { + "balance": "1520000000000000000000" + }, + "a7ef35ce87eda6c28df248785815053ec97a5045": { + "balance": "4999998000000000000000" + }, + "6a514e6242f6b68c137e97fea1e78eb555a7e5f7": { + "balance": "20000000000000000000" + }, + "9340b5f678e45ee05eb708bb7abb6ec8f08f1b6b": { + "balance": "6000000000000000000000" + }, + "43cc08d0732aa58adef7619bed46558ad7774173": { + "balance": "4443926000000000000000" + }, + "12e9a4ad2ad57484dd700565bddb46423bd9bd31": { + "balance": "19999800000000000000000" + }, + "ebbeeb259184a6e01cccfc2207bbd883785ac90a": { + "balance": "619966000000000000000" + }, + "704ab1150d5e10f5e3499508f0bf70650f028d4b": { + "balance": "4000000000000000000000" + }, + "fc361105dd90f9ede566499d69e9130395f12ac8": { + "balance": "395000000000000000000000" + }, + "c1b9a5704d351cfe983f79abeec3dbbbae3bb629": { + "balance": "20000000000000000000" + }, + "66f50406eb1b11a946cab45927cca37470e5a208": { + "balance": "2000000000000000000000" + }, + "53942e7949d6788bb780a7e8a0792781b1614b84": { + "balance": "15899600000000000000000" + }, + "32ba9a7d0423e03a525fe2ebeb661d2085778bd8": { + "balance": "20000000000000000000000" + }, + "11c0358aa6479de21866fe21071924b65e70f8b9": { + "balance": "36400000000000000000000" + }, + "76cb9c8b69f4387675c48253e234cb7e0d74a426": { + "balance": "7396300000000000000000" + }, + "9f5f44026b576a4adb41e95961561d41039ca391": { + "balance": "250000000000000000000" + }, + "533a73a4a2228eee05c4ffd718bbf3f9c1b129a7": { + "balance": "6000000000000000000000" + }, + "dcc52d8f8d9fc742a8b82767f0555387c563efff": { + "balance": "500000000000000000000" + }, + "f456a75bb99655a7412ce97da081816dfdb2b1f2": { + "balance": "200000000000000000000" + }, + "d0c101fd1f01c63f6b1d19bc920d9f932314b136": { + "balance": "20000000000000000000000" + }, + "dabc225042a6592cfa13ebe54efa41040878a5a2": { + "balance": "259550000000000000000" + }, + "38eec6e217f4d41aa920e424b9525197041cd4c6": { + "balance": "4428166000000000000000" + }, + "8a247d186510809f71cffc4559471c3910858121": { + "balance": "1790000000000000000000" + }, + "4f152b2fb8659d43776ebb1e81673aa84169be96": { + "balance": "2000000000000000000000" + }, + "b4496ddb27799a222457d73979116728e8a1845b": { + "balance": "2610331000000000000000" + }, + "4a4053b31d0ee5dbafb1d06bd7ac7ff3222c47d6": { + "balance": "1400000000000000000000" + }, + "0f7bea4ef3f73ae0233df1e100718cbe29310bb0": { + "balance": "2000000000000000000000" + }, + "c836e24a6fcf29943b3608e662290a215f6529ea": { + "balance": "292000000000000000000" + }, + "1765361c2ec2f83616ce8363aae21025f2566f40": { + "balance": "5000000000000000000000" + }, + "b6e6c3222b6b6f9be2875d2a89f127fb64100fe2": { + "balance": "8008000000000000000000" + }, + "01bbc14f67af0639aab1441e6a08d4ce7162090f": { + "balance": "1309500000000000000000" + }, + "af2058c7282cf67c8c3cf930133c89617ce75d29": { + "balance": "6920000000000000000000" + }, + "464d9c89cce484df000277198ed8075fa63572d1": { + "balance": "20000000000000000000" + }, + "50cd97e9378b5cf18f173963236c9951ef7438a5": { + "balance": "1400000000000000000000" + }, + "cb47bd30cfa8ec5468aaa6a94642ced9c819c8d4": { + "balance": "4000000000000000000000" + }, + "6b10f8f8b3e3b60de90aa12d155f9ff5ffb22c50": { + "balance": "2000000000000000000000" + }, + "09b7a988d13ff89186736f03fdf46175b53d16e0": { + "balance": "6000000000000000000000" + }, + "5bfafe97b1dd1d712be86d41df79895345875a87": { + "balance": "500000000000000000000" + }, + "a06cd1f396396c0a64464651d7c205efaf387ca3": { + "balance": "1999944000000000000000" + }, + "fc0096b21e95acb8d619d176a4a1d8d529badbef": { + "balance": "384601000000000000000" + }, + "a74444f90fbb54e56f3ac9b6cfccaa4819e4614a": { + "balance": "20000000000000000000" + }, + "3c15b3511df6f0342e7348cc89af39a168b7730f": { + "balance": "1000000000000000000000" + }, + "3d6ff82c9377059fb30d9215723f60c775c891fe": { + "balance": "250066000000000000000" + }, + "a524a8cccc49518d170a328270a2f88133fbaf5d": { + "balance": "294500000000000000000" + }, + "8a7a06be199a3a58019d846ac9cbd4d95dd757de": { + "balance": "3000200000000000000000" + }, + "d744ac7e5310be696a63b003c40bd039370561c6": { + "balance": "1670000000000000000000" + }, + "fe362688845fa244cc807e4b1130eb3741a8051e": { + "balance": "1000000000000000000000" + }, + "b2d0360515f17daba90fcbac8205d569b915d6ac": { + "balance": "6000000000000000000000" + }, + "c53594c7cfb2a08f284cc9d7a63bbdfc0b319732": { + "balance": "49200000000000000000000" + }, + "b3c228731d186d2ded5b5fbe004c666c8e469b86": { + "balance": "29000000000000000000" + }, + "63e414603e80d4e5a0f5c18774204642258208e4": { + "balance": "5000000000000000000000" + }, + "826ce5790532e0548c6102a30d3eac836bd6388f": { + "balance": "18000000000000000000000" + }, + "c5e812f76f15f2e1f2f9bc4823483c8804636f67": { + "balance": "73000000000000000000" + }, + "116fef5e601642c918cb89160fc2293ba71da936": { + "balance": "802200000000000000000" + }, + "08b84536b74c8c01543da88b84d78bb95747d822": { + "balance": "200000000000000000000" + }, + "04a80afad53ef1f84165cfd852b0fdf1b1c24ba8": { + "balance": "58000000000000000000" + }, + "2b0362633614bfcb583569438ecc4ea57b1d337e": { + "balance": "20000000000000000000000" + }, + "e95179527deca5916ca9a38f215c1e9ce737b4c9": { + "balance": "10000000000000000000000" + }, + "2c5df866666a194b26cebb407e4a1fd73e208d5e": { + "balance": "1000000000000000000000" + }, + "529e824fa072582b4032683ac7eecc1c04b4cac1": { + "balance": "2000000000000000000000" + }, + "78634371e17304cbf339b1452a4ce438dc764cce": { + "balance": "10000000000000000000000" + }, + "e172dfc8f80cd1f8cd8539dc26082014f5a8e3e8": { + "balance": "3000000000000000000000" + }, + "b07618328a901307a1b7a0d058fcd5786e9e72fe": { + "balance": "30239500000000000000000" + }, + "b0571153db1c4ed7acaefe13ecdfdb72e7e4f06a": { + "balance": "80520000000000000000000" + }, + "ad910a23d6850613654af786337ad2a70868ac6d": { + "balance": "1999800000000000000000" + }, + "4da5edc688b0cb62e1403d1700d9dcb99ffe3fd3": { + "balance": "2000000000000000000000" + }, + "be2471a67f6047918772d0e36839255ed9d691ae": { + "balance": "4000000000000000000000" + }, + "28868324337e11ba106cb481da962f3a8453808d": { + "balance": "2000000000000000000000" + }, + "d8f94579496725b5cb53d7985c989749aff849c0": { + "balance": "17000000000000000000000" + }, + "4981c5ff66cc4e9680251fc4cd2ff907cb327865": { + "balance": "750000000000000000000" + }, + "fd2872d19e57853cfa16effe93d0b1d47b4f93fb": { + "balance": "4000000000000000000000" + }, + "63c8dfde0b8e01dadc2e748c824cc0369df090b3": { + "balance": "3880000000000000000000" + }, + "c4dd048bfb840e2bc85cb53fcb75abc443c7e90f": { + "balance": "3716000000000000000000" + }, + "f579714a45eb8f52c3d57bbdefd2c15b2e2f11df": { + "balance": "1560000000000000000000" + }, + "cc7b0481cc32e6faef2386a07022bcb6d2c3b4fc": { + "balance": "3160000000000000000000" + }, + "a0aa5f0201f04d3bbeb898132f7c11679466d901": { + "balance": "36600000000000000000" + }, + "f3df63a97199933330383b3ed7570b96c4812334": { + "balance": "2000000000000000000000" + }, + "42732d8ef49ffda04b19780fd3c18469fb374106": { + "balance": "425068000000000000000" + }, + "6f92d6e4548c78996509ee684b2ee29ba3c532b4": { + "balance": "1000000000000000000000" + }, + "fff4bad596633479a2a29f9a8b3f78eefd07e6ee": { + "balance": "100000000000000000000" + }, + "ac4460a76e6db2b9fcd152d9c7718d9ac6ed8c6f": { + "balance": "200000000000000000000" + }, + "553b6b1c57050e88cf0c31067b8d4cd1ff80cb09": { + "balance": "400000000000000000000" + }, + "84b6b6adbe2f5b3e2d682c66af1bc4905340c3ed": { + "balance": "619333000000000000000" + }, + "9f4a7195ac7c151ca258cafda0cab083e049c602": { + "balance": "1537100000000000000000" + }, + "2955c357fd8f75d5159a3dfa69c5b87a359dea8c": { + "balance": "2000000000000000000000" + }, + "11d7844a471ef89a8d877555583ceebd1439ea26": { + "balance": "10098000000000000000000" + }, + "34b454416e9fb4274e6addf853428a0198d62ee1": { + "balance": "407000000000000000000" + }, + "308dd21cebe755126704b48c0f0dc234c60ba9b1": { + "balance": "200000000000000000000" + }, + "381db4c8465df446a4ce15bf81d47e2f17c980bf": { + "balance": "32000000000000000000000" + }, + "1abc4e253b080aeb437984ab05bca0979aa43e1c": { + "balance": "1000000000000000000000" + }, + "53e35b12231f19c3fd774c88fec8cbeedf1408b2": { + "balance": "512000000000000000000" + }, + "69e2e2e704307ccc5b5ca3f164fece2ea7b2e512": { + "balance": "7000000000000000000000" + }, + "1914f1eb95d1277e93b6e61b668b7d77f13a11a1": { + "balance": "970000000000000000000" + }, + "50e13023bd9ca96ad4c53fdfd410cb6b1f420bdf": { + "balance": "200000000000000000000" + }, + "46224f32f4ece5c8867090d4409d55e50b18432d": { + "balance": "6000000000000000000000" + }, + "ff83855051ee8ffb70b4817dba3211ed2355869d": { + "balance": "400000000000000000000" + }, + "fb39189af876e762c71d6c3e741893df226cedd6": { + "balance": "4000000000000000000000" + }, + "9875623495a46cdbf259530ff838a1799ec38991": { + "balance": "2000000000000000000000" + }, + "e1b39b88d9900dbc4a6cdc481e1060080a8aec3c": { + "balance": "2000000000000000000000" + }, + "5baf6d749620803e8348af3710e5c4fbf20fc894": { + "balance": "5003680000000000000000" + }, + "9c54e4ed479a856829c6bb42da9f0b692a75f728": { + "balance": "7520000000000000000000" + }, + "486a6c8583a84484e3df43a123837f8c7e2317d0": { + "balance": "323378000000000000000" + }, + "d235d15cb5eceebb61299e0e827fa82748911d89": { + "balance": "4000000000000000000000" + }, + "47d792a756779aedf1343e8883a6619c6c281184": { + "balance": "2000000000000000000000" + }, + "70c213488a020c3cfb39014ef5ba6404724bcaa3": { + "balance": "1940000000000000000000" + }, + "133c490fa5bf7f372888e607d958fab7f955bae1": { + "balance": "1580000000000000000000" + }, + "a9e194661aac704ee9dea043974e9692ded84a5d": { + "balance": "482400000000000000000" + }, + "bc6b58364bf7f1951c309e0cba0595201cd73f9a": { + "balance": "1812400000000000000000" + }, + "2309d34091445b3232590bd70f4f10025b2c9509": { + "balance": "10000000000000000000000" + }, + "d89bc271b27ba3ab6962c94a559006ae38d5f56a": { + "balance": "2000000000000000000000" + }, + "ff0e2fec304207467e1e3307f64cbf30af8fd9cd": { + "balance": "2000000000000000000000" + }, + "c0b0b7a8a6e1acdd05e47f94c09688aa16c7ad8d": { + "balance": "64234000000000000000" + }, + "b66f92124b5e63035859e390628869dbdea9485e": { + "balance": "9850000000000000000000" + }, + "a9e6e25e656b762558619f147a21985b8874edfe": { + "balance": "2000000000000000000000" + }, + "a43e1947a9242b355561c30a829dfeeca2815af8": { + "balance": "3878255000000000000000" + }, + "8b20ad3b94656dbdc0dd21a393d8a7d9e02138cb": { + "balance": "3000000000000000000000" + }, + "aca2a838330b17302da731d30db48a04f0f207c1": { + "balance": "1337000000000000000000" + }, + "fa60868aafd4ff4c5c57914b8ed58b425773dfa9": { + "balance": "8557400000000000000000" + }, + "1848003c25bfd4aa90e7fcb5d7b16bcd0cffc0d8": { + "balance": "1000000000000000000000" + }, + "b4b185d943ee2b58631e33dff5af6854c17993ac": { + "balance": "1000000000000000000000" + }, + "7719888795ad745924c75760ddb1827dffd8cda8": { + "balance": "1999980000000000000000" + }, + "ccd521132d986cb96869842622a7dda26c3ed057": { + "balance": "2000000000000000000000" + }, + "253e32b74ea4490ab92606fda0aa257bf23dcb8b": { + "balance": "10000000000000000000000" + }, + "3712367e5e55a96d5a19168f6eb2bc7e9971f869": { + "balance": "1000000000000000000000" + }, + "8f29a14a845ad458f2d108b568d813166bcdf477": { + "balance": "10000000000000000000000" + }, + "51a8c2163602a32ee24cf4aa97fd9ea414516941": { + "balance": "62904000000000000000" + }, + "61cea71fa464d62a07063f920b0cc917539733d8": { + "balance": "1670000000000000000000" + }, + "6f81f3abb1f933b1df396b8e9cc723a89b7c9806": { + "balance": "280000000000000000000" + }, + "61b1b8c012cd4c78f698e470f90256e6a30f48dd": { + "balance": "200000000000000000000" + }, + "4f3f2c673069ac97c2023607152981f5cd6063a0": { + "balance": "600000000000000000000" + }, + "e2efa5fca79538ce6068bf31d2c516d4d53c08e5": { + "balance": "131200000000000000000" + }, + "2383c222e67e969190d3219ef14da37850e26c55": { + "balance": "2000000000000000000000" + }, + "eac3af5784927fe9a598fc4eec38b8102f37bc58": { + "balance": "1000000000000000000000" + }, + "4fe56ab3bae1b0a44433458333c4b05a248f8241": { + "balance": "2180000000000000000000" + }, + "fe9cfc3bb293ddb285e625f3582f74a6b0a5a6cd": { + "balance": "1970000000000000000000" + }, + "f48e1f13f6af4d84b371d7de4b273d03a263278e": { + "balance": "600000000000000000000" + }, + "1ba9228d388727f389150ea03b73c82de8eb2e09": { + "balance": "7258000000000000000000" + }, + "37a7a6ff4ea3d60ec307ca516a48d3053bb79cbb": { + "balance": "2000000000000000000000" + }, + "e33840d8bca7da98a6f3d096d83de78b70b71ef8": { + "balance": "2000000000000000000000" + }, + "8e7fd23848f4db07906a7d10c04b21803bb08227": { + "balance": "1000000000000000000000" + }, + "07d4334ec385e8aa54eedaeadb30022f0cdfa4ab": { + "balance": "2629946000000000000000" + }, + "d4b085fb086f3d0d68bf12926b1cc3142cae8770": { + "balance": "3700000000000000000000" + }, + "5a87f034e6f68f4e74ffe60c64819436036cf7d7": { + "balance": "20000000000000000000" + }, + "c00ab080b643e1c2bae363e0d195de2efffc1c44": { + "balance": "500000000000000000000" + }, + "22f3c779dd79023ea92a78b65c1a1780f62d5c4a": { + "balance": "1970000000000000000000" + }, + "c7d5c7054081e918ec687b5ab36e973d18132935": { + "balance": "182000000000000000000" + }, + "9662ee021926682b31c5f200ce457abea76c6ce9": { + "balance": "670500000000000000000" + }, + "116a09df66cb150e97578e297fb06e13040c893c": { + "balance": "2000000000000000000000" + }, + "b7240af2af90b33c08ae9764103e35dce3638428": { + "balance": "8464547000000000000000" + }, + "e8b28acda971725769db8f563d28666d41ddab6c": { + "balance": "10000000000000000000000" + }, + "17d4918dfac15d77c47f9ed400a850190d64f151": { + "balance": "2000000000000000000000" + }, + "c42250b0fe42e6b7dcd5c890a6f0c88f5f5fb574": { + "balance": "149800000000000000000" + }, + "5da2a9a4c2c0a4a924cbe0a53ab9d0c627a1cfa0": { + "balance": "733202000000000000000" + }, + "5869fb867d71f1387f863b698d09fdfb87c49b5c": { + "balance": "3666000000000000000000" + }, + "d49a75bb933fca1fca9aa1303a64b6cb44ea30e1": { + "balance": "10000000000000000000000" + }, + "76331e30796ce664b2700e0d4153700edc869777": { + "balance": "2000000000000000000000" + }, + "8a5fb75793d043f1bcd43885e037bd30a528c927": { + "balance": "356500000000000000000" + }, + "fc0ee6f7c2b3714ae9916c45566605b656f32441": { + "balance": "1760000000000000000000" + }, + "bf50ce2e264b9fe2b06830617aedf502b2351b45": { + "balance": "1000000000000000000000" + }, + "0f6000de1578619320aba5e392706b131fb1de6f": { + "balance": "499986000000000000000" + }, + "c953f934c0eb2d0f144bdab00483fd8194865ce7": { + "balance": "2000000000000000000000" + }, + "24fd9a6c874c2fab3ff36e9afbf8ce0d32c7de92": { + "balance": "1337000000000000000000" + }, + "c6cd68ec35362c5ad84c82ad4edc232125912d99": { + "balance": "27750000000000000000000" + }, + "2a67660a1368efcd626ef36b2b1b601980941c05": { + "balance": "133700000000000000000" + }, + "9deb39027af877992b89f2ec4a1f822ecdf12693": { + "balance": "2000000000000000000000" + }, + "c12f881fa112b8199ecbc73ec4185790e614a20f": { + "balance": "2000000000000000000000" + }, + "d58a52e078a805596b0d56ea4ae1335af01c66eb": { + "balance": "267400000000000000000" + }, + "4d7cfaa84cb33106800a8c802fb8aa463896c599": { + "balance": "1790000000000000000000" + }, + "0ee391f03c765b11d69026fd1ab35395dc3802a0": { + "balance": "200000000000000000000" + }, + "a192f06ab052d5fd7f94eea8318e827815fe677a": { + "balance": "131400000000000000000" + }, + "8f0ab894bd3f4e697dbcfb859d497a9ba195994a": { + "balance": "39501652000000000000000" + }, + "387eeafd6b4009deaf8bd5b85a72983a8dcc3487": { + "balance": "4000000000000000000000" + }, + "03b0f17cd4469ddccfb7da697e82a91a5f9e7774": { + "balance": "20000000000000000000" + }, + "11172b278ddd44eea2fdf4cb1d16962391c453d9": { + "balance": "935900000000000000000000" + }, + "33d172ab075c51db1cd40a8ca8dbff0d93b843bb": { + "balance": "5727139000000000000000" + }, + "909b5e763a39dcc795223d73a1dbb7d94ca75ac8": { + "balance": "2000000000000000000000" + }, + "0ca12ab0b9666cf0cec6671a15292f2653476ab2": { + "balance": "210000600000000000000000" + }, + "6b5ae7bf78ec75e90cb503c778ccd3b24b4f1aaf": { + "balance": "800000000000000000000" + }, + "d9e3857efd1e202a441770a777a49dcc45e2e0d3": { + "balance": "223500000000000000000" + }, + "d703c6a4f11d60194579d58c2766a7ef16c30a29": { + "balance": "2000000000000000000000" + }, + "838bd565f99fde48053f7917fe333cf84ad548ab": { + "balance": "200000000000000000000" + }, + "8168edce7f2961cf295b9fcd5a45c06cdeda6ef5": { + "balance": "200000000000000000000" + }, + "de50868eb7e3c71937ec73fa89dd8b9ee10d45aa": { + "balance": "1000000000000000000000" + }, + "087498c0464668f31150f4d3c4bcdda5221ba102": { + "balance": "20000000000000000000" + }, + "613fab44b16bbe554d44afd178ab1d02f37aeaa5": { + "balance": "2000000000000000000000" + }, + "e2ee691f237ee6529b6557f2fcdd3dcf0c59ec63": { + "balance": "5450048000000000000000" + }, + "a9ed377b7d6ec25971c1a597a3b0f3bead57c98f": { + "balance": "400000000000000000000" + }, + "175feeea2aa4e0efda12e1588d2f483290ede81a": { + "balance": "200000000000000000000" + }, + "b51ddcb4dd4e8ae6be336dd9654971d9fec86b41": { + "balance": "421133000000000000000" + }, + "92c0f573eccf62c54810ee6ba8d1f113542b301b": { + "balance": "3384000000000000000000" + }, + "a109e18bb0a39c9ef82fa19597fc5ed8e9eb6d58": { + "balance": "1640000000000000000000" + }, + "f74e6e145382b4db821fe0f2d98388f45609c69f": { + "balance": "100000000000000000000" + }, + "378f37243f3ff0bef5e1dc85eb4308d9340c29f9": { + "balance": "2000200000000000000000" + }, + "84e9949680bece6841b9a7e5250d08acd87d16cd": { + "balance": "200000000000000000000" + }, + "882bd3a2e9d74110b24961c53777f22f1f46dc5d": { + "balance": "13370000000000000000000" + }, + "acce01e0a70610dc70bb91e9926fa9957f372fba": { + "balance": "537000000000000000000" + }, + "c5f687717246da8a200d20e5e9bcac60b67f3861": { + "balance": "28650000000000000000" + }, + "e14617f6022501e97e7b3e2d8836aa61f0ff2dba": { + "balance": "200000000000000000000" + }, + "076ee99d3548623a03b5f99859d2d785a1778d48": { + "balance": "200000000000000000000" + }, + "2c424ee47f583cdce07ae318b6fad462381d4d2b": { + "balance": "4000000000000000000000" + }, + "f98250730c4c61c57f129835f2680894794542f3": { + "balance": "4000000000000000000000" + }, + "ed1b24b6912d51b334ac0de6e771c7c0454695ea": { + "balance": "40000000000000000000" + }, + "ffd5170fd1a8118d558e7511e364b24906c4f6b3": { + "balance": "60085000000000000000" + }, + "bf49c14898316567d8b709c2e50594b366c6d38c": { + "balance": "733202000000000000000" + }, + "65ea26eabbe2f64ccccfe06829c25d4637520225": { + "balance": "700000000000000000000" + }, + "5c5419565c3aad4e714e0739328e3521c98f05cc": { + "balance": "528000000000000000000" + }, + "c53b50fd3b2b72bc6c430baf194a515585d3986d": { + "balance": "20000000000000000000" + }, + "2b74c373d04bfb0fd60a18a01a88fbe84770e58c": { + "balance": "40000000000000000000" + }, + "d97f4526dea9b163f8e8e33a6bcf92fb907de6ec": { + "balance": "284000000000000000000" + }, + "a4a49f0bc8688cc9e6dc04e1e08d521026e65574": { + "balance": "200000000000000000000" + }, + "575c00c2818210c28555a0ff29010289d3f82309": { + "balance": "10000000000000000000000" + }, + "3f1233714f204de9de4ee96d073b368d8197989f": { + "balance": "38606000000000000000" + }, + "f964d98d281730ba35b2e3a314796e7b42fedf67": { + "balance": "1543800000000000000000" + }, + "1deec01abe5c0d952de9106c3dc30639d85005d6": { + "balance": "2000000000000000000000" + }, + "12d60d65b7d9fc48840be5f891c745ce76ee501e": { + "balance": "21359400000000000000000" + }, + "5c6136e218de0a61a137b2b3962d2a6112b809d7": { + "balance": "294273000000000000000" + }, + "cd43258b7392a930839a51b2ef8ad23412f75a9f": { + "balance": "2000000000000000000000" + }, + "db3f258ab2a3c2cf339c4499f75a4bd1d3472e9e": { + "balance": "1500000000000000000000" + }, + "0edd4b580ff10fe06c4a03116239ef96622bae35": { + "balance": "197000000000000000000" + }, + "1d157c5876c5cad553c912caf6ce2d5277e05c73": { + "balance": "2000000000000000000000" + }, + "cda1b886e3a795c9ba77914e0a2fe5676f0f5ccf": { + "balance": "106024000000000000000" + }, + "f50cbafd397edd556c0678988cb2af5c2617e0a2": { + "balance": "716000000000000000000" + }, + "327bb49e754f6fb4f733c6e06f3989b4f65d4bee": { + "balance": "20000000000000000000" + }, + "c44bdec8c36c5c68baa2ddf1d431693229726c43": { + "balance": "100000000000000000000000" + }, + "34e2849bea583ab0cc37975190f322b395055582": { + "balance": "7780340000000000000000" + }, + "9221c9ce01232665741096ac07235903ad1fe2fc": { + "balance": "126489000000000000000" + }, + "ff3ded7a40d3aff0d7a8c45fa6136aa0433db457": { + "balance": "1999800000000000000000" + }, + "10b5b34d1248fcf017f8c8ffc408ce899ceef92f": { + "balance": "267400000000000000000" + }, + "f1a1f320407964fd3c8f2e2cc8a4580da94f01ea": { + "balance": "2000040000000000000000" + }, + "6c800d4b49ba07250460f993b8cbe00b266a2553": { + "balance": "492500000000000000000" + }, + "f827d56ed2d32720d4abf103d6d0ef4d3bcd559b": { + "balance": "26265000000000000000" + }, + "ffb9c7217e66743031eb377af65c77db7359dcda": { + "balance": "40000000000000000000" + }, + "530319db0a8f93e5bb7d4dbf4816314fbed8361b": { + "balance": "2000000000000000000000" + }, + "9c28a2c4086091cb5da226a657ce3248e8ea7b6f": { + "balance": "280000000000000000000" + }, + "db23a6fef1af7b581e772cf91882deb2516fc0a7": { + "balance": "200000000000000000000" + }, + "6636d7ac637a48f61d38b14cfd4865d36d142805": { + "balance": "500000000000000000000" + }, + "b3c260609b9df4095e6c5dff398eeb5e2df49985": { + "balance": "254030000000000000000" + }, + "58e5c9e344c806650dacfc904d33edba5107b0de": { + "balance": "19100000000000000000" + }, + "4f67396d2553f998785f704e07a639197dd1948d": { + "balance": "300080000000000000000" + }, + "510d8159cc945768c7450790ba073ec0d9f89e30": { + "balance": "2560000000000000000000" + }, + "593c48935beaff0fde19b04d309cd530a28e52ce": { + "balance": "4000000000000000000000" + }, + "c27f4e08099d8cf39ee11601838ef9fc06d7fc41": { + "balance": "1790000000000000000000" + }, + "07723e3c30e8b731ee456a291ee0e798b0204a77": { + "balance": "2000000000000000000000" + }, + "0a652e2a8b77bd97a790d0e91361c98890dbb04e": { + "balance": "1000000000000000000000" + }, + "671015b97670b10d5e583f3d62a61c1c79c5143f": { + "balance": "400000000000000000000" + }, + "7cc24a6a958c20c7d1249660f7586226950b0d9a": { + "balance": "1970000000000000000000" + }, + "6ef9e8c9b6217d56769af97dbb1c8e1b8be799d2": { + "balance": "182000000000000000000" + }, + "5c4368918ace6409c79eca80cdaae4391d2b624e": { + "balance": "4000000000000000000000" + }, + "043707071e2ae21eed977891dc79cd5d8ee1c2da": { + "balance": "2000000000000000000000" + }, + "39bfd978689bec048fc776aa15247f5e1d7c39a2": { + "balance": "20000000000000000000000" + }, + "05915d4e225a668162aee7d6c25fcfc6ed18db03": { + "balance": "66348000000000000000" + }, + "3f551ba93cd54693c183fb9ad60d65e1609673c9": { + "balance": "2000000000000000000000" + }, + "a8c0b02faf02cb5519dda884de7bbc8c88a2da81": { + "balance": "16700000000000000000" + }, + "bd0c5cd799ebc48642ef97d74e8e429064fee492": { + "balance": "326000000000000000000" + }, + "0a931b449ea8f12cdbd5e2c8cc76bad2c27c0639": { + "balance": "23031000000000000000" + }, + "2ea5fee63f337a376e4b918ea82148f94d48a626": { + "balance": "1864242000000000000000" + }, + "cc6c2df00e86eca40f21ffda1a67a1690f477c65": { + "balance": "3160000000000000000000" + }, + "e5e37e19408f2cfbec83349dd48153a4a795a08f": { + "balance": "4200000000000000000000" + }, + "f555a27bb1e2fd4e2cc784caee92939fc06e2fc9": { + "balance": "2000000000000000000000" + }, + "dcf9719be87c6f46756db4891db9b611d2469c50": { + "balance": "1000000000000000000000" + }, + "8e2f9034c9254719c38e50c9aa64305ed696df1e": { + "balance": "4728000000000000000000" + }, + "a01f12d70f44aa7b113b285c22dcdb45873454a7": { + "balance": "18200000000000000000" + }, + "bce40475d345b0712dee703d87cd7657fc7f3b62": { + "balance": "7750000000000000000000" + }, + "bb19bf91cbad74cceb5f811db27e411bc2ea0656": { + "balance": "17600000000000000000" + }, + "acc062702c59615d3444ef6214b8862b009a02ed": { + "balance": "1499936000000000000000" + }, + "449ac4fbe383e36738855e364a57f471b2bfa131": { + "balance": "197000000000000000000000" + }, + "ad59a78eb9a74a7fbdaefafa82eada8475f07f95": { + "balance": "500000000000000000000" + }, + "6b6577f3909a4d6de0f411522d4570386400345c": { + "balance": "1880000000000000000000" + }, + "79bf2f7b6e328aaf26e0bb093fa22da29ef2f471": { + "balance": "1790000000000000000000" + }, + "940f715140509ffabf974546fab39022a41952d2": { + "balance": "1400000000000000000000" + }, + "1d572edd2d87ca271a6714c15a3b37761dcca005": { + "balance": "127674000000000000000" + }, + "d78ecd25adc86bc2051d96f65364866b42a426b7": { + "balance": "3877300000000000000000" + }, + "f9729d48282c9e87166d5eef2d01eda9dbf78821": { + "balance": "99981000000000000000" + }, + "17762560e82a93b3f522e0e524adb8612c3a7470": { + "balance": "1000000000000000000000" + }, + "d500e4d1c9824ba9f5b635cfa3a8c2c38bbd4ced": { + "balance": "400000000000000000000" + }, + "a11effab6cf0f5972cffe4d56596e98968144a8f": { + "balance": "1670000000000000000000" + }, + "f64ecf2117931c6d535a311e4ffeaef9d49405b8": { + "balance": "2674000000000000000000" + }, + "229cc4711b62755ea296445ac3b77fc633821cf2": { + "balance": "39481000000000000000" + }, + "fc989cb487bf1a7d17e4c1b7c4b7aafdda6b0a8d": { + "balance": "20000000000000000000" + }, + "ea8527febfa1ade29e26419329d393b940bbb7dc": { + "balance": "1999944000000000000000" + }, + "bce13e22322acfb355cd21fd0df60cf93add26c6": { + "balance": "200000000000000000000" + }, + "19ff244fcfe3d4fa2f4fd99f87e55bb315b81eb6": { + "balance": "200000000000000000000" + }, + "d2581a55ce23ab10d8ad8c44378f59079bd6f658": { + "balance": "8800000000000000000000" + }, + "4073fa49b87117cb908cf1ab512da754a932d477": { + "balance": "1970000000000000000000" + }, + "b6a82933c9eadabd981e5d6d60a6818ff806e36b": { + "balance": "400000000000000000000" + }, + "c79806032bc7d828f19ac6a640c68e3d820fa442": { + "balance": "20000000000000000000" + }, + "577b2d073c590c50306f5b1195a4b2ba9ecda625": { + "balance": "373600000000000000000" + }, + "7f13d760498d7193ca6859bc95c901386423d76c": { + "balance": "5000000000000000000000" + }, + "416784af609630b070d49a8bcd12235c6428a408": { + "balance": "20000000000000000000000" + }, + "fbe71622bcbd31c1a36976e7e5f670c07ffe16de": { + "balance": "400000000000000000000" + }, + "a5698035391e67a49013c0002079593114feb353": { + "balance": "240000000000000000000" + }, + "ab2871e507c7be3965498e8fb462025a1a1c4264": { + "balance": "775000000000000000000" + }, + "9c78fbb4df769ce2c156920cfedfda033a0e254a": { + "balance": "1970000000000000000000" + }, + "95e6f93dac228bc7585a25735ac2d076cc3a4017": { + "balance": "6000000000000000000000" + }, + "3c1f91f301f4b565bca24751aa1f761322709ddd": { + "balance": "1790000000000000000000" + }, + "f77f9587ff7a2d7295f1f571c886bd33926a527c": { + "balance": "1999800000000000000000" + }, + "755f587e5efff773a220726a13d0f2130d9f896b": { + "balance": "1000000000000000000000" + }, + "8c6aa882ee322ca848578c06cb0fa911d3608305": { + "balance": "600000000000000000000" + }, + "492cb5f861b187f9df21cd4485bed90b50ffe22d": { + "balance": "499928000000000000000" + }, + "95a577dc2eb3ae6cb9dfc77af697d7efdfe89a01": { + "balance": "136000000000000000000" + }, + "4173419d5c9f6329551dc4d3d0ceac1b701b869e": { + "balance": "88000000000000000000" + }, + "456ae0aca48ebcfae166060250525f63965e760f": { + "balance": "300000000000000000000" + }, + "81f8de2c283d5fd4afbda85dedf9760eabbbb572": { + "balance": "3000000000000000000000" + }, + "cd0af3474e22f069ec3407870dd770443d5b12b0": { + "balance": "2626262000000000000000" + }, + "283c2314283c92d4b064f0aef9bb5246a7007f39": { + "balance": "200000000000000000000" + }, + "29b3f561ee7a6e25941e98a5325b78adc79785f3": { + "balance": "100000000000000000000" + }, + "cd4306d7f6947ac1744d4e13b8ef32cb657e1c00": { + "balance": "499986000000000000000" + }, + "d9ec2efe99ff5cf00d03a8317b92a24aef441f7e": { + "balance": "2000000000000000000000" + }, + "83dbf8a12853b40ac61996f8bf1dc8fdbaddd329": { + "balance": "970000000000000000000" + }, + "9d93fab6e22845f8f45a07496f11de71530debc7": { + "balance": "1998000000000000000000" + }, + "fd204f4f4aba2525ba728afdf78792cbdeb735ae": { + "balance": "2000000000000000000000" + }, + "99fad50038d0d9d4c3fbb4bce05606ecadcd5121": { + "balance": "2000000000000000000000" + }, + "d206aaddb336d45e7972e93cb075471d15897b5d": { + "balance": "600000000000000000000" + }, + "428a1ee0ed331d7952ccbe1c7974b2852bd1938a": { + "balance": "2208370000000000000000" + }, + "690228e4bb12a8d4b5e0a797b0c5cf2a7509131e": { + "balance": "1880000000000000000000" + }, + "fa3a1aa4488b351aa7560cf5ee630a2fd45c3222": { + "balance": "878850000000000000000" + }, + "0372e852582e0934344a0fed2178304df25d4628": { + "balance": "20000000000000000000000" + }, + "35ea2163a38cdf9a123f82a5ec00258dae0bc767": { + "balance": "4000000000000000000000" + }, + "d1fed0aee6f5dfd7e25769254c3cfad15adeccaa": { + "balance": "730000000000000000000" + }, + "c05b740620f173f16e52471dc38b9c514a0b1526": { + "balance": "140000000000000000000" + }, + "87e3062b2321e9dfb0875ce3849c9b2e3522d50a": { + "balance": "10000000000000000000000" + }, + "303fbaebbe46b35b6e5b74946a5f99bc1585cae7": { + "balance": "878148000000000000000" + }, + "e7a8e471eafb798f4554cc6e526730fd56e62c7d": { + "balance": "1000000000000000000000" + }, + "ad7dd053859edff1cb6f9d2acbed6dd5e332426f": { + "balance": "1970000000000000000000" + }, + "dc4345d6812e870ae90c568c67d2c567cfb4f03c": { + "balance": "6700000000000000000000" + }, + "a6a08252c8595177cc2e60fc27593e2379c81fb1": { + "balance": "20055000000000000000" + }, + "a9af21acbe482f8131896a228036ba51b19453c3": { + "balance": "49999000000000000000" + }, + "86e3fe86e93da486b14266eadf056cbfa4d91443": { + "balance": "2000000000000000000000" + }, + "744b03bba8582ae5498e2dc22d19949467ab53fc": { + "balance": "500000000000000000000" + }, + "d3118ea3c83505a9d893bb67e2de142d537a3ee7": { + "balance": "20000000000000000000" + }, + "b32f1c2689a5ce79f1bc970b31584f1bcf2283e7": { + "balance": "20000000000000000000" + }, + "4828e4cbe34e1510afb72c2beeac8a4513eaebd9": { + "balance": "3940000000000000000000" + }, + "b07bcc085ab3f729f24400416837b69936ba8873": { + "balance": "2000140000000000000000" + }, + "bdc74873af922b9df474853b0fa7ff0bf8c82695": { + "balance": "3999000000000000000000" + }, + "15ebd1c7cad2aff19275c657c4d808d010efa0f5": { + "balance": "200550000000000000000" + }, + "cbc04b4d8b82caf670996f160c362940d66fcf1a": { + "balance": "6000000000000000000000" + }, + "8197948121732e63d9c148194ecad46e30b749c8": { + "balance": "4000000000000000000000" + }, + "69797bfb12c9bed682b91fbc593591d5e4023728": { + "balance": "10000000000000000000000" + }, + "be9b8c34b78ee947ff81472eda7af9d204bc8466": { + "balance": "150000000000000000000" + }, + "df3f57b8ee6434d047223def74b20f63f9e4f955": { + "balance": "250500000000000000000" + }, + "a3ae1879007d801cb5f352716a4dd8ba2721de3d": { + "balance": "200000000000000000000000" + }, + "cb4bb1c623ba28dc42bdaaa6e74e1d2aa1256c2a": { + "balance": "1999944000000000000000" + }, + "e03c00d00388ecbf4f263d0ac778bb41a57a40d9": { + "balance": "1000072000000000000000" + }, + "fc2c1f88961d019c3e9ea33009152e0693fbf88a": { + "balance": "8000000000000000000000" + }, + "8599cbd5a6a9dcd4b966be387d69775da5e33c6f": { + "balance": "58180000000000000000000" + }, + "b7a31a7c38f3db09322eae11d2272141ea229902": { + "balance": "2000000000000000000000" + }, + "231a15acc199c89fa9cb22441cc70330bdcce617": { + "balance": "500000000000000000000" + }, + "3fbed6e7e0ca9c84fbe9ebcf9d4ef9bb49428165": { + "balance": "2000000000000000000000" + }, + "92cfd60188efdfb2f8c2e7b1698abb9526c1511f": { + "balance": "2000000000000000000000" + }, + "5c936f3b9d22c403db5e730ff177d74eef42dbbf": { + "balance": "75000000000000000000" + }, + "931fe712f64207a2fd5022728843548bfb8cbb05": { + "balance": "2000000000000000000000" + }, + "08d54e83ad486a934cfaeae283a33efd227c0e99": { + "balance": "1039000000000000000000" + }, + "a339a3d8ca280e27d2415b26d1fc793228b66043": { + "balance": "1013600000000000000000" + }, + "581f34b523e5b41c09c87c298e299cbc0e29d066": { + "balance": "1131607000000000000000" + }, + "caaa68ee6cdf0d34454a769b0da148a1faaa1865": { + "balance": "7216000000000000000000" + }, + "0838a7768d9c2aca8ba279adfee4b1f491e326f1": { + "balance": "200000000000000000000" + }, + "dde77a4740ba08e7f73fbe3a1674912931742eeb": { + "balance": "19867021000000000000000" + }, + "cbe810fe0fecc964474a1db97728bc87e973fcbd": { + "balance": "10000000000000000000000" + }, + "86c28b5678af37d727ec05e4447790f15f71f2ea": { + "balance": "200000000000000000000" + }, + "dd6c062193eac23d2fdbf997d5063a346bb3b470": { + "balance": "20000000000000000000" + }, + "5975b9528f23af1f0e2ec08ac8ebaa786a2cb8e0": { + "balance": "345827000000000000000" + }, + "e29d8ae452dcf3b6ac645e630409385551faae0a": { + "balance": "80276000000000000000" + }, + "2fbc85798a583598b522166d6e9dda121d627dbc": { + "balance": "200000000000000000000" + }, + "7a36aba5c31ea0ca7e277baa32ec46ce93cf7506": { + "balance": "20000000000000000000000" + }, + "dbcbcd7a57ea9db2349b878af34b1ad642a7f1d1": { + "balance": "200000000000000000000" + }, + "92aae59768eddff83cfe60bb512e730a05a161d7": { + "balance": "1708015000000000000000" + }, + "a5e93b49ea7c509de7c44d6cfeddef5910deaaf2": { + "balance": "2000000000000000000000" + }, + "e33d980220fab259af6a1f4b38cf0ef3c6e2ea1a": { + "balance": "2000000000000000000000" + }, + "8ed0af11ff2870da0681004afe18b013f7bd3882": { + "balance": "4000000000000000000000" + }, + "f23e5c633221a8f7363e65870c9f287424d2a960": { + "balance": "1380000000000000000000" + }, + "96334bfe04fffa590213eab36514f338b864b736": { + "balance": "400000000000000000000" + }, + "fa1f1971a775c3504fef5079f640c2c4bce7ac05": { + "balance": "2000000000000000000000" + }, + "df44c47fc303ac76e74f97194cca67b5bb3c023f": { + "balance": "591000000000000000000" + }, + "4b74f5e58e2edf76daf70151964a0b8f1de0663c": { + "balance": "324020000000000000000" + }, + "e38b91b35190b6d9deed021c30af094b953fdcaa": { + "balance": "33340000000000000000" + }, + "6b38de841fad7f53fe02da115bd86aaf662466bd": { + "balance": "1730000000000000000000" + }, + "11675a25554607a3b6c92a9ee8f36f75edd3e336": { + "balance": "159800000000000000000" + }, + "0ba8705bf55cf219c0956b5e3fc01c4474a6cdc1": { + "balance": "94963000000000000000" + }, + "0f05f120c89e9fbc93d4ab0c5e2b4a0df092b424": { + "balance": "30000000000000000000000" + }, + "fdd1195f797d4f35717d15e6f9810a9a3ff55460": { + "balance": "18200000000000000000" + }, + "63a61dc30a8e3b30a763c4213c801cbf98738178": { + "balance": "1000000000000000000000" + }, + "e5bdf34f4ccc483e4ca530cc7cf2bb18febe92b3": { + "balance": "126260000000000000000" + }, + "d6e09e98fe1300332104c1ca34fbfac554364ed9": { + "balance": "2000000000000000000000" + }, + "5bd6862d517d4de4559d4eec0a06cad05e2f946e": { + "balance": "200000000000000000000" + }, + "7294ec9da310bc6b4bbdf543b0ef45abfc3e1b4d": { + "balance": "22000000000000000000000" + }, + "ae34861d342253194ffc6652dfde51ab44cad3fe": { + "balance": "466215000000000000000" + }, + "f50ae7fab4cfb5a646ee04ceadf9bf9dd5a8e540": { + "balance": "3999952000000000000000" + }, + "dd2bdfa917c1f310e6fa35aa8af16939c233cd7d": { + "balance": "400000000000000000000" + }, + "e0060462c47ff9679baef07159cae08c29f274a9": { + "balance": "2000000000000000000000" + }, + "b7d12e84a2e4c4a6345af1dd1da9f2504a2a996e": { + "balance": "200000000000000000000" + }, + "f5500178cb998f126417831a08c2d7abfff6ab5f": { + "balance": "1308923000000000000000" + }, + "fd377a385272900cb436a3bb7962cdffe93f5dad": { + "balance": "2000000000000000000000" + }, + "a4a83a0738799b971bf2de708c2ebf911ca79eb2": { + "balance": "600000000000000000000" + }, + "52a5e4de4393eeccf0581ac11b52c683c76ea15d": { + "balance": "19999800000000000000000" + }, + "b07fdeaff91d4460fe6cd0e8a1b0bd8d22a62e87": { + "balance": "5260000000000000000000" + }, + "35f5860149e4bbc04b8ac5b272be55ad1aca58e0": { + "balance": "200000000000000000000" + }, + "fb135eb15a8bac72b69915342a60bbc06b7e077c": { + "balance": "20000000000000000000000" + }, + "02d4a30968a39e2b3498c3a6a4ed45c1c6646822": { + "balance": "2000000000000000000000" + }, + "e44b7264dd836bee8e87970340ed2b9aed8ed0a5": { + "balance": "5772100000000000000000" + }, + "e90a354cec04d69e5d96ddc0c5138d3d33150aa0": { + "balance": "499971000000000000000" + }, + "693d83be09459ef8390b2e30d7f7c28de4b4284e": { + "balance": "2000000000000000000000" + }, + "87bf7cd5d8a929e1c785f9e5449106ac232463c9": { + "balance": "77800000000000000000" + }, + "e5f8ef6d970636b0dcaa4f200ffdc9e75af1741c": { + "balance": "2000000000000000000000" + }, + "fef09d70243f39ed8cd800bf9651479e8f4aca3c": { + "balance": "200000000000000000000" + }, + "e98c91cadd924c92579e11b41217b282956cdaa1": { + "balance": "135800000000000000000" + }, + "c2836188d9a29253e0cbda6571b058c289a0bb32": { + "balance": "2000000000000000000000" + }, + "afa6946effd5ff53154f82010253df47ae280ccc": { + "balance": "1970000000000000000000" + }, + "43c7ebc5b3e7af16f47dc5617ab10e0f39b4afbb": { + "balance": "1910000000000000000000" + }, + "097ecda22567c2d91cb03f8c5215c22e9dcda949": { + "balance": "20055000000000000000" + }, + "3e66b84769566ab67945d5fa81373556bcc3a1fa": { + "balance": "152000000000000000000" + }, + "56373daab46316fd7e1576c61e6affcb6559ddd7": { + "balance": "215340000000000000000" + }, + "faaeba8fc0bbda553ca72e30ef3d732e26e82041": { + "balance": "1338337000000000000000" + }, + "f54c19d9ef3873bfd1f7a622d02d86249a328f06": { + "balance": "44284729000000000000000" + }, + "825309a7d45d1812f51e6e8df5a7b96f6c908887": { + "balance": "2365000000000000000000" + }, + "89009e3c6488bd5e570d1da34eabe28ed024de1b": { + "balance": "20000000000000000000000" + }, + "63977cad7d0dcdc52b9ac9f2ffa136e8642882b8": { + "balance": "75000000000000000000" + }, + "c239abdfae3e9af5457f52ed2b91fd0ab4d9c700": { + "balance": "2000000000000000000000" + }, + "1a4ec6a0ae7f5a9427d23db9724c0d0cffb2ab2f": { + "balance": "179000000000000000000" + }, + "a12a6c2d985daf0e4f5f207ae851aaf729b332cd": { + "balance": "100000000000000000000000" + }, + "cbe52fc533d7dd608c92a260b37c3f45deb4eb33": { + "balance": "1000000000000000000000" + }, + "abb2e6a72a40ba6ed908cdbcec3c5612583132fe": { + "balance": "1460000000000000000000" + }, + "6503860b191008c15583bfc88158099301762828": { + "balance": "1000000000000000000000" + }, + "a0228240f99e1de9cb32d82c0f2fa9a3d44b0bf3": { + "balance": "1600000000000000000000" + }, + "e154daeadb545838cbc6aa0c55751902f528682a": { + "balance": "4925000000000000000000" + }, + "8e92aba38e72a098170b92959246537a2e5556c0": { + "balance": "267400000000000000000" + }, + "d23d7affacdc3e9f3dae7afcb4006f58f8a44600": { + "balance": "3600000000000000000000" + }, + "00d78d89b35f472716eceafebf600527d3a1f969": { + "balance": "27750000000000000000000" + }, + "120f9de6e0af7ec02a07c609ca8447f157e6344c": { + "balance": "267400000000000000000" + }, + "e0352fdf819ba265f14c06a6315c4ac1fe131b2e": { + "balance": "1000000000000000000000" + }, + "8f47328ee03201c9d35ed2b5412b25decc859362": { + "balance": "2000000000000000000000" + }, + "453e359a3397944c5a275ab1a2f70a5e5a3f6989": { + "balance": "240000000000000000000" + }, + "9bf58efbea0784eb068adecfa0bb215084c73a35": { + "balance": "5800000000000000000000" + }, + "21bfe1b45cacde6274fd8608d9a178bf3eeb6edc": { + "balance": "2009400000000000000000" + }, + "d1d5b17ffe2d7bbb79cc7d7930bcb2e518fb1bbf": { + "balance": "3000000000000000000000" + }, + "20a29c5079e26b3f18318bb2e50e8e8b346e5be8": { + "balance": "499986000000000000000" + }, + "7d392852f3abd92ff4bb5bb26cb60874f2be6795": { + "balance": "1000070000000000000000" + }, + "55852943492970f8d629a15366cdda06a94f4513": { + "balance": "2000000000000000000000" + }, + "ab5dfc1ea21adc42cf8c3f6e361e243fd0da61e5": { + "balance": "300000000000000000000" + }, + "9d2bfc36106f038250c01801685785b16c86c60d": { + "balance": "380000000000000000000000" + }, + "6e60aee1a78f8eda8b424c73e353354ae67c3042": { + "balance": "3490300000000000000000" + }, + "7e29290038493559194e946d4e460b96fc38a156": { + "balance": "309072000000000000000" + }, + "6006e36d929bf45d8f16231b126a011ae283d925": { + "balance": "176000000000000000000" + }, + "d6d03572a45245dbd4368c4f82c95714bd2167e2": { + "balance": "1162200000000000000000" + }, + "d1432538e35b7664956ae495a32abdf041a7a21c": { + "balance": "19700000000000000000000" + }, + "2276264bec8526c0c0f270677abaf4f0e441e167": { + "balance": "1000000000000000000000" + }, + "c8814e34523e38e1f927a7dce8466a447a093603": { + "balance": "10000000000000000000000" + }, + "688a569e965524eb1d0ac3d3733eab909fb3d61e": { + "balance": "1320000000000000000000" + }, + "90dc09f717fc2a5b69fd60ba08ebf40bf4e8246c": { + "balance": "4000086000000000000000" + }, + "239a733e6b855ac592d663156186a8a174d2449e": { + "balance": "1637020000000000000000" + }, + "bcdfacb9d9023c3417182e9100e8ea1d373393a3": { + "balance": "59100000000000000000" + }, + "ba6440aeb3737b8ef0f1af9b0c15f4c214ffc7cf": { + "balance": "1000000000000000000000" + }, + "322e5c43b0f524389655a9b3ff24f2d4db3da10f": { + "balance": "4650000000000000000000" + }, + "be5a60689998639ad75bc105a371743eef0f7940": { + "balance": "501700000000000000000" + }, + "b727a9fc82e1cffc5c175fa1485a9befa2cdbdd1": { + "balance": "999000000000000000000" + }, + "a3883a24f7f166205f1a6a9949076c26a76e7178": { + "balance": "1820000000000000000000" + }, + "5e95fe5ffcf998f9f9ac0e9a81dab83ead77003d": { + "balance": "539766000000000000000" + }, + "e60955dc0bc156f6c41849f6bd776ba44b0ef0a1": { + "balance": "299982000000000000000" + }, + "af203e229d7e6d419df4378ea98715515f631485": { + "balance": "1970000000000000000000" + }, + "86499a1228ff2d7ee307759364506f8e8c8307a5": { + "balance": "1970000000000000000000" + }, + "1a04cec420ad432215246d77fe178d339ed0b595": { + "balance": "316000000000000000000" + }, + "cc2b5f448f3528d3fe41cc7d1fa9c0dc76f1b776": { + "balance": "60000000000000000000" + }, + "cb50587412822304ebcba07dab3a0f09fffee486": { + "balance": "1370000000000000000000" + }, + "4ae2a04d3909ef454e544ccfd614bfefa71089ae": { + "balance": "442800000000000000000" + }, + "c8a2c4e59e1c7fc54805580438aed3e44afdf00e": { + "balance": "44000000000000000000" + }, + "5792814f59a33a1843faa01baa089eb02ffb5cf1": { + "balance": "499986000000000000000" + }, + "a1f2854050f872658ed82e52b0ad7bbc1cb921f6": { + "balance": "2010918000000000000000" + }, + "92dca5e102b3b81b60f1a504634947c374a88ccb": { + "balance": "2000000000000000000000" + }, + "732fead60f7bfdd6a9dec48125e3735db1b6654f": { + "balance": "20000000000000000000" + }, + "6bf7b3c065f2c1e7c6eb092ba0d15066f393d1b8": { + "balance": "400000000000000000000" + }, + "cde36d81d128c59da145652193eec2bfd96586ef": { + "balance": "4000000000000000000000" + }, + "40eddb448d690ed72e05c225d34fc8350fa1e4c5": { + "balance": "7000000000000000000000" + }, + "454b61b344c0ef965179238155f277c3829d0b38": { + "balance": "2000000000000000000000" + }, + "ac3da526cfce88297302f34c49ca520dc271f9b2": { + "balance": "800000000000000000000" + }, + "c989eec307e8839b9d7237cfda08822962abe487": { + "balance": "400000000000000000000" + }, + "e99de258a4173ce9ac38ede26c0b3bea3c0973d5": { + "balance": "1656800000000000000000" + }, + "ff0cb06c42e3d88948e45bd7b0d4e291aefeea51": { + "balance": "1910000000000000000000" + }, + "0990e81cd785599ea236bd1966cf526302c35b9c": { + "balance": "1000000000000000000000" + }, + "6da0ed8f1d69339f059f2a0e02471cb44fb8c3bb": { + "balance": "935900000000000000000" + }, + "5d958a9bd189c2985f86c58a8c69a7a78806e8da": { + "balance": "10200000000000000000000" + }, + "98be696d51e390ff1c501b8a0f6331b628ddc5ad": { + "balance": "2000000000000000000000" + }, + "09d0b8cd077c69d9f32d9cca43b3c208a21ed48b": { + "balance": "150011000000000000000" + }, + "96e7c0c9d5bf10821bf140c558a145b7cac21397": { + "balance": "1056000000000000000000" + }, + "5b736eb18353629bde9676dadd165034ce5ecc68": { + "balance": "1970000000000000000000" + }, + "e5a365343cc4eb1e770368e1f1144a77b832d7e0": { + "balance": "20000000000000000000" + }, + "4cf5537b85842f89cfee359eae500fc449d2118f": { + "balance": "1000000000000000000000" + }, + "c71f1d75873f33dcb2dd4b3987a12d0791a5ce27": { + "balance": "1015200000000000000000" + }, + "9bf703b41c3624e15f4054962390bcba3052f0fd": { + "balance": "6055000000000000000000" + }, + "145e1de0147911ccd880875fbbea61f6a142d11d": { + "balance": "4000000000000000000000" + }, + "68419c6dd2d3ce6fcbb3c73e2fa079f06051bde6": { + "balance": "1970000000000000000000" + }, + "d8eb78503ec31a54a90136781ae109004c743257": { + "balance": "1000000000000000000000" + }, + "f25e4c70bc465632c89e5625a832a7722f6bffab": { + "balance": "4488000000000000000000" + }, + "7b4d2a38269069c18557770d591d24c5121f5e83": { + "balance": "700000000000000000000" + }, + "27d158ac3d3e1109ab6e570e90e85d3892cd7680": { + "balance": "100000000000000000000" + }, + "d3679a47df2d99a49b01c98d1c3e0c987ce1e158": { + "balance": "280000000000000000000" + }, + "095b949de3333a377d5019d893754a5e4656ff97": { + "balance": "340000000000000000000" + }, + "6b17598a8ef54f797ae515ccb6517d1859bf8011": { + "balance": "100000000000000000000" + }, + "3eaf0879b5b6db159b589f84578b6a74f6c10357": { + "balance": "7253657000000000000000" + }, + "40d45d9d7625d15156c932b771ca7b0527130958": { + "balance": "100000000000000000000000" + }, + "0392549a727f81655429cb928b529f25df4d1385": { + "balance": "26248000000000000000" + }, + "c5b009baeaf788a276bd35813ad65b400b849f3b": { + "balance": "1000000000000000000000" + }, + "6ed884459f809dfa1016e770edaf3e9fef46fa30": { + "balance": "3400170000000000000000" + }, + "439d2f2f5110a4d58b1757935015408740fec7f8": { + "balance": "3830421000000000000000" + }, + "dc46c13325cd8edf0230d068896486f007bf4ef1": { + "balance": "1337000000000000000000" + }, + "8c54c7f8b9896e75d7d5f5c760258699957142ad": { + "balance": "40000000000000000000" + }, + "61c8f1fa43bf846999ecf47b2b324dfb6b63fe3a": { + "balance": "800000000000000000000" + }, + "935069444a6a984de2084e46692ab99f671fc727": { + "balance": "9000000000000000000000" + }, + "fc49c1439a41d6b3cf26bb67e0365224e5e38f5f": { + "balance": "1000076000000000000000" + }, + "e1dfb5cc890ee8b2877e885d267c256187d019e6": { + "balance": "100000000000000000000" + }, + "ee7c3ded7c28f459c92fe13b4d95bafbab02367d": { + "balance": "700000000000000000000" + }, + "a5874d754635a762b381a5c4c792483af8f23d1d": { + "balance": "50000000000000000000" + }, + "cfbb32b7d024350e3321fa20c9a914035372ffc6": { + "balance": "401100000000000000000" + }, + "2bc429d618a66a4cf82dbb2d824e9356effa126a": { + "balance": "1999944000000000000000" + }, + "db244f97d9c44b158a40ed9606d9f7bd38913331": { + "balance": "102000000000000000000" + }, + "55e220876262c218af4f56784798c7e55da09e91": { + "balance": "133566000000000000000" + }, + "ca41ccac30172052d522cd2f2f957d248153409f": { + "balance": "1970000000000000000000" + }, + "b11fa7fb270abcdf5a2eab95aa30c4b53636efbf": { + "balance": "800000000000000000000" + }, + "0ffea06d7113fb6aec2869f4a9dfb09007facef4": { + "balance": "225416000000000000000" + }, + "646628a53c2c4193da88359ce718dadd92b7a48d": { + "balance": "200032000000000000000" + }, + "ca8409083e01b397cf12928a05b68455ce6201df": { + "balance": "1600000000000000000000" + }, + "dbbcbb79bf479a42ad71dbcab77b5adfaa872c58": { + "balance": "1730000000000000000000" + }, + "db7d4037081f6c65f9476b0687d97f1e044d0a1d": { + "balance": "660000000000000000000" + }, + "4be90d412129d5a4d0424361d6649d4e47a62316": { + "balance": "1015200000000000000000" + }, + "e3ab3ca9b870e3f548517306bba4de2591afafc2": { + "balance": "1200062000000000000000" + }, + "5c61ab79b408dd3229f662593705d72f1e147bb8": { + "balance": "22729000000000000000000" + }, + "4f177f9d56953ded71a5611f393322c30279895c": { + "balance": "246000000000000000000" + }, + "e6cb260b716d4c0ab726eeeb07c8707204e276ae": { + "balance": "1000000000000000000000" + }, + "44355253b27748e3f34fe9cae1fb718c8f249529": { + "balance": "200000000000000000000" + }, + "a309df54cabce70c95ec3033149cd6678a6fd4cf": { + "balance": "223600000000000000000" + }, + "ec4867d2175ab5b9469361595546554684cda460": { + "balance": "3000000000000000000000" + }, + "8d06e464245cad614939e0af0845e6d730e20374": { + "balance": "200359000000000000000" + }, + "9810e34a94db6ed156d0389a0e2b80f4fd6b0a8a": { + "balance": "2000000000000000000000" + }, + "dcfff3e8d23c2a34b56bd1b3bd45c79374432239": { + "balance": "5000000000000000000000" + }, + "7d7dd5ee614dbb6fbfbcd26305247a058c41faa1": { + "balance": "2000000000000000000000" + }, + "8a9eca9c5aba8e139f8003edf1163afb70aa3aa9": { + "balance": "660000000000000000000" + }, + "d942de4784f7a48716c0fd4b9d54a6e54c5f2f3e": { + "balance": "20000000000000000000000" + }, + "07dae622630d1136381933d2ad6b22b839d82102": { + "balance": "200000000000000000000" + }, + "abf12fa19e82f76c718f01bdca0003674523ef30": { + "balance": "2000000000000000000000" + }, + "411c831cc6f44f1965ec5757ab4e5b3ca4cffd1f": { + "balance": "425000000000000000000" + }, + "99129d5b3c0cde47ea0def4dfc070d1f4a599527": { + "balance": "2000000000000000000000" + }, + "c5cdcee0e85d117dabbf536a3f4069bf443f54e7": { + "balance": "1969606000000000000000" + }, + "f218bd848ee7f9d38bfdd1c4eb2ed2496ae4305f": { + "balance": "500000000000000000000" + }, + "fe549bbfe64740189892932538daaf46d2b61d4f": { + "balance": "40000000000000000000" + }, + "dc3f0e7672f71fe7525ba30b9755183a20b9166a": { + "balance": "9603617000000000000000" + }, + "0e83b850481ab44d49e0a229a2e464902c69539b": { + "balance": "100000000000000000000" + }, + "07ddd0422c86ef65bf0c7fc3452862b1228b08b8": { + "balance": "2065302000000000000000" + }, + "a68c313445c22d919ee46cc2d0cdff043a755825": { + "balance": "75189000000000000000" + }, + "a9e9dbce7a2cb03694799897bed7c54d155fdaa8": { + "balance": "197559000000000000000" + }, + "18fccf62d2c3395453b7587b9e26f5cff9eb7482": { + "balance": "1000000000000000000000" + }, + "ff41d9e1b4effe18d8b0d1f63fc4255fb4e06c3d": { + "balance": "1337000000000000000000" + }, + "8f69eafd0233cadb4059ab779c46edf2a0506e48": { + "balance": "1788210000000000000000" + }, + "9aa48c66e4fb4ad099934e32022e827427f277ba": { + "balance": "10000000000000000000000" + }, + "f46980e3a4a9d29a6a6e90604537a3114bcb2897": { + "balance": "500000000000000000000" + }, + "801732a481c380e57ed62d6c29de998af3fa3b13": { + "balance": "100000000000000000000" + }, + "0cd6a141918d126b106d9f2ebf69e102de4d3277": { + "balance": "20000000000000000000" + }, + "17589a6c006a54cad70103123aae0a82135fdeb4": { + "balance": "4000000000000000000000" + }, + "8725e8c753b3acbfdca55f3c62dfe1a59454968a": { + "balance": "1000090000000000000000" + }, + "d20dcb0b78682b94bc3000281448d557a20bfc83": { + "balance": "895000000000000000000" + }, + "e84f8076a0f2969ecd333eef8de41042986291f2": { + "balance": "432000000000000000000" + }, + "b3145b74506d1a8d047cdcdc55392a7b5350799a": { + "balance": "129314663000000000000000" + }, + "0d9a825ff2bcd397cbad5b711d9dcc95f1cc112d": { + "balance": "12800000000000000000000" + }, + "0ca670eb2c8b96cba379217f5929c2b892f39ef6": { + "balance": "2000000000000000000000" + }, + "25cfc4e25c35c13b69f7e77dbfb08baf58756b8d": { + "balance": "40000000000000000000000" + }, + "182db85293f606e88988c3704cb3f0c0bbbfca5a": { + "balance": "133700000000000000000" + }, + "bd73c3cbc26a175062ea0320dd84b253bce64358": { + "balance": "394000000000000000000" + }, + "2680713d40808e2a50ed013150a2a694b96a7f1d": { + "balance": "1790000000000000000000" + }, + "51e32f14f4ca5e287cdac057a7795ea9e0439953": { + "balance": "500000000000000000000" + }, + "b1e9c5f1d21e61757a6b2ee75913fc5a1a4101c3": { + "balance": "2000000000000000000000" + }, + "d4c4d1a7c3c74984f6857b2f5f07e8face68056d": { + "balance": "2000000000000000000000" + }, + "4651dc420e08c3293b27d2497890eb50223ae2f4": { + "balance": "20000000000000000000000" + }, + "c74a3995f807de1db01a2eb9c62e97d0548f696f": { + "balance": "1000000000000000000000" + }, + "0505a08e22a109015a22f685305354662a5531d5": { + "balance": "2600000000000000000000" + }, + "39c773367c8825d3596c686f42bf0d14319e3f84": { + "balance": "133700000000000000000" + }, + "0f929cf895db017af79f3ead2216b1bd69c37dc7": { + "balance": "2000000000000000000000" + }, + "bdd3254e1b3a6dc6cc2c697d45711aca21d516b2": { + "balance": "2000000000000000000000" + }, + "ae5d221afcd3d29355f508eadfca408ce33ca903": { + "balance": "100000000000000000000000" + }, + "916cf17d71412805f4afc3444a0b8dd1d9339d16": { + "balance": "14300000000000000000" + }, + "4319263f75402c0b5325f263be4a5080651087f0": { + "balance": "983086000000000000000" + }, + "0f1c249cd962b00fd114a9349f6a6cc778d76c4d": { + "balance": "2000000000000000000000" + }, + "54febcce20fe7a9098a755bd90988602a48c089e": { + "balance": "640000000000000000000" + }, + "2c1800f35fa02d3eb6ff5b25285f5e4add13b38d": { + "balance": "906400000000000000000" + }, + "72b904440e90e720d6ac1c2ad79c321dcc1c1a86": { + "balance": "1550000000000000000000" + }, + "b0aa00950c0e81fa3210173e729aaf163a27cd71": { + "balance": "40000000000000000000000" + }, + "663604b0503046e624cd26a8b6fb4742dce02a6f": { + "balance": "65400000000000000000" + }, + "3c98594bf68b57351e8814ae9e6dfd2d254aa06f": { + "balance": "300000000000000000000" + }, + "9c45202a25f6ad0011f115a5a72204f2f2198866": { + "balance": "5014000000000000000000" + }, + "b02d062873334545cea29218e4057760590f7423": { + "balance": "3186000000000000000000" + }, + "7bddb2ee98de19ee4c91f661ee8e67a91d054b97": { + "balance": "1000000000000000000000" + }, + "9cf2928beef09a40f9bfc953be06a251116182fb": { + "balance": "6000000000000000000000" + }, + "51b4758e9e1450e7af4268c3c7b1e7bd6f5c7550": { + "balance": "1000000000000000000000" + }, + "eb570dba975227b1c42d6e8dea2c56c9ad960670": { + "balance": "2000000000000000000000" + }, + "970d8b8a0016d143054f149fb3b8e550dc0797c7": { + "balance": "1000000000000000000000" + }, + "c7b39b060451000ca1049ba154bcfa00ff8af262": { + "balance": "100000000000000000000000" + }, + "945e18769d7ee727c7013f92de24d117967ff317": { + "balance": "2000000000000000000000" + }, + "d18eb9e1d285dabe93e5d4bae76beefe43b521e8": { + "balance": "668500000000000000000" + }, + "c618521321abaf5b26513a4a9528086f220adc6f": { + "balance": "27000000000000000000" + }, + "dd65f6e17163b5d203641f51cc7b24b00f02c8fb": { + "balance": "200000000000000000000" + }, + "131faed12561bb7aee04e5185af802b1c3438d9b": { + "balance": "219000000000000000000" + }, + "1ced6715f862b1ff86058201fcce5082b36e62b2": { + "balance": "6684522000000000000000" + }, + "a0ff5b4cf016027e8323497d4428d3e5a83b8795": { + "balance": "6596500000000000000000" + }, + "02e816afc1b5c0f39852131959d946eb3b07b5ad": { + "balance": "1000000000000000000000" + }, + "153cf2842cb9de876c276fa64767d1a8ecf573bb": { + "balance": "2000000000000000000000" + }, + "3bc6e3ee7a56ce8f14a37532590f63716b9966e8": { + "balance": "2000000000000000000000" + }, + "f6d25d3f3d846d239f525fa8cac97bc43578dbac": { + "balance": "896000000000000000000" + }, + "2066774d822793ff25f1760909479cf62491bf88": { + "balance": "55160000000000000000000" + }, + "46779a5656ff00d73eac3ad0c38b6c853094fb40": { + "balance": "230752000000000000000" + }, + "22eed327f8eb1d1338a3cb7b0f8a4baa5907cd95": { + "balance": "23445000000000000000" + }, + "ff88ebacc41b3687f39e4b59e159599b80cba33f": { + "balance": "400000000000000000000" + }, + "2874f3e2985d5f7b406627e17baa772b01abcc9e": { + "balance": "6014000000000000000000" + }, + "eb10458daca79e4a6b24b29a8a8ada711b7f2eb6": { + "balance": "3998000000000000000000" + }, + "541060fc58c750c40512f83369c0a63340c122b6": { + "balance": "1970000000000000000000" + }, + "fd2757cc3551a095878d97875615fe0c6a32aa8a": { + "balance": "598200000000000000000" + }, + "be659d85e7c34f8833ea7f488de1fbb5d4149bef": { + "balance": "9072500000000000000000" + }, + "e149b5726caf6d5eb5bf2acc41d4e2dc328de182": { + "balance": "1940000000000000000000" + }, + "2fe0cc424b53a31f0916be08ec81c50bf8eab0c1": { + "balance": "600000000000000000000" + }, + "e3712701619ca7623c55db3a0ad30e867db0168b": { + "balance": "20000000000000000000" + }, + "f8ca336c8e91bd20e314c20b2dd4608b9c8b9459": { + "balance": "846000000000000000000" + }, + "68acdaa9fb17d3c309911a77b05f5391fa034ee9": { + "balance": "8950000000000000000000" + }, + "e77d7deab296c8b4fa07ca3be184163d5a6d606c": { + "balance": "92538000000000000000" + }, + "e6b9545f7ed086e552924639f9a9edbbd5540b3e": { + "balance": "3760000000000000000000" + }, + "2866b81decb02ee70ae250cee5cdc77b59d7b679": { + "balance": "2000000000000000000000" + }, + "60e3cc43bcdb026aad759c7066f555bbf2ac66f5": { + "balance": "2000000000000000000000" + }, + "fcbd85feea6a754fcf3449449e37ff9784f7773c": { + "balance": "3086000000000000000000" + }, + "38a744efa6d5c2137defef8ef9187b649eee1c78": { + "balance": "4000000000000000000000" + }, + "9d7655e9f3e5ba5d6e87e412aebe9ee0d49247ee": { + "balance": "2620100000000000000000" + }, + "2020b81ae53926ace9f7d7415a050c031d585f20": { + "balance": "341200000000000000000" + }, + "4244f1331158b9ce26bbe0b9236b9203ca351434": { + "balance": "10000000000000000000000" + }, + "99c236141daec837ece04fdaee1d90cf8bbdc104": { + "balance": "2184000000000000000000" + }, + "943d37864a4a537d35c8d99723cd6406ce2562e6": { + "balance": "2000000000000000000000" + }, + "d79483f6a8444f2549d611afe02c432d15e11051": { + "balance": "20000000000000000000" + }, + "9fd64373f2fbcd9c0faca60547cad62e26d9851f": { + "balance": "1000000000000000000000" + }, + "b89c036ed7c492879921be41e10ca1698198a74c": { + "balance": "1820000000000000000000" + }, + "7462c89caa9d8d7891b2545def216f7464d5bb21": { + "balance": "109162000000000000000" + }, + "bb0366a7cfbd3445a70db7fe5ae34885754fd468": { + "balance": "6160000000000000000000" + }, + "6c52cf0895bb35e656161e4dc46ae0e96dd3e62c": { + "balance": "4000086000000000000000" + }, + "b9cf71b226583e3a921103a5316f855a65779d1b": { + "balance": "24000000000000000000000" + }, + "016b60bb6d67928c29fd0313c666da8f1698d9c5": { + "balance": "2000000000000000000000" + }, + "9454b3a8bff9709fd0e190877e6cb6c89974dbd6": { + "balance": "2674000000000000000000" + }, + "84aac7fa197ff85c30e03b7a5382b957f41f3afb": { + "balance": "157600000000000000000" + }, + "db6e560c9bc620d4bea3a94d47f7880bf47f2d5f": { + "balance": "89500000000000000000" + }, + "eefd05b0e3c417d55b3343060486cdd5e92aa7a6": { + "balance": "1430000000000000000000" + }, + "3a59a08246a8206f8d58f70bb1f0d35c5bcc71bd": { + "balance": "185000000000000000000" + }, + "9bfff50db36a785555f07652a153b0c42b1b8b76": { + "balance": "2000000000000000000000" + }, + "d44f5edf2bcf2433f211dadd0cc450db1b008e14": { + "balance": "267400000000000000000" + }, + "2378fd4382511e968ed192106737d324f454b535": { + "balance": "1000000000000000000000" + }, + "c94089553ae4c22ca09fbc98f57075cf2ec59504": { + "balance": "4000000000000000000000" + }, + "08ef3fa4c43ccdc57b22a4b9b2331a82e53818f2": { + "balance": "4000000000000000000000" + }, + "e48e65125421880d42bdf1018ab9778d96928f3f": { + "balance": "4200000000000000000000" + }, + "67518e5d02b205180f0463a32004471f753c523e": { + "balance": "1984289000000000000000" + }, + "0da7401262384e2e8b4b26dd154799b55145efa0": { + "balance": "300000000000000000000" + }, + "0b6920a64b363b8d5d90802494cf564b547c430d": { + "balance": "1200000000000000000000" + }, + "a5ab4bd3588f46cb272e56e93deed386ba8b753d": { + "balance": "1332989000000000000000" + }, + "1788da9b57fd05edc4ff99e7fef301519c8a0a1e": { + "balance": "2000000000000000000000" + }, + "17b2d6cf65c6f4a347ddc6572655354d8a412b29": { + "balance": "2000000000000000000000" + }, + "d0319139fbab2e8e2accc1d924d4b11df6696c5a": { + "balance": "200000000000000000000" + }, + "4c377bb03ab52c4cb79befa1dd114982924c4ae9": { + "balance": "1827814000000000000000" + }, + "fb949c647fdcfd2514c7d58e31f28a532d8c5833": { + "balance": "20000000000000000000000" + }, + "70e5e9da735ff077249dcb9aaf3db2a48d9498c0": { + "balance": "1000000000000000000000" + }, + "fe6f5f42b6193b1ad16206e4afb5239d4d7db45e": { + "balance": "1730000000000000000000" + }, + "bda4be317e7e4bed84c0495eee32d607ec38ca52": { + "balance": "2309457000000000000000" + }, + "5910106debd291a1cd80b0fbbb8d8d9e93a7cc1e": { + "balance": "2000000000000000000000" + }, + "ba42f9aace4c184504abf5425762aca26f71fbdc": { + "balance": "37400000000000000000" + }, + "beb4fd315559436045dcb99d49dcec03f40c42dc": { + "balance": "2000000000000000000000" + }, + "452b64db8ef7d6df87c788639c2290be8482d575": { + "balance": "8000000000000000000000" + }, + "66e09427c1e63deed7e12b8c55a6a19320ef4b6a": { + "balance": "170000000000000000000" + }, + "faad905d847c7b23418aeecbe3addb8dd3f8924a": { + "balance": "1970000000000000000000" + }, + "a29319e81069e5d60df00f3de5adee3505ecd5fb": { + "balance": "2000000000000000000000" + }, + "cf348f2fe47b7e413c077a7baf3a75fbf8428692": { + "balance": "2000000000000000000000" + }, + "e1e8c50b80a352b240ce7342bbfdf5690cc8cb14": { + "balance": "394000000000000000000" + }, + "131c792c197d18bd045d7024937c1f84b60f4438": { + "balance": "4000000000000000000000" + }, + "e49af4f34adaa2330b0e49dc74ec18ab2f92f827": { + "balance": "2000000000000000000000" + }, + "f2e99f5cbb836b7ad36247571a302cbe4b481c69": { + "balance": "1970000000000000000000" + }, + "c93fbde8d46d2bcc0fa9b33bd8ba7f8042125565": { + "balance": "1400000000000000000000" + }, + "038779ca2dbe663e63db3fe75683ea0ec62e2383": { + "balance": "1670000000000000000000" + }, + "a33cb450f95bb46e25afb50fe05feee6fb8cc8ea": { + "balance": "776000000000000000000" + }, + "40ab66fe213ea56c3afb12c75be33f8e32fd085d": { + "balance": "4000000000000000000000" + }, + "6403d062549690c8e8b63eae41d6c109476e2588": { + "balance": "2000000000000000000000" + }, + "bfb0ea02feb61dec9e22a5070959330299c43072": { + "balance": "20000000000000000000000" + }, + "99c475bf02e8b9214ada5fad02fdfd15ba365c0c": { + "balance": "591000000000000000000" + }, + "904966cc2213b5b8cb5bd6089ef9cddbef7edfcc": { + "balance": "2000000000000000000000" + }, + "767a03655af360841e810d83f5e61fb40f4cd113": { + "balance": "985000000000000000000" + }, + "ab209fdca979d0a647010af9a8b52fc7d20d8cd1": { + "balance": "9129000000000000000000" + }, + "6294eae6e420a3d5600a39c4141f838ff8e7cc48": { + "balance": "2955000000000000000000" + }, + "9777cc61cf756be3b3c20cd4491c69d275e7a120": { + "balance": "10000000000000000000000" + }, + "bcbf6ba166e2340db052ea23d28029b0de6aa380": { + "balance": "3880000000000000000000" + }, + "9f10f2a0463b65ae30b070b3df18cf46f51e89bd": { + "balance": "1910000000000000000000" + }, + "8d9952d0bb4ebfa0efd01a3aa9e8e87f0525742e": { + "balance": "3460000000000000000000" + }, + "4f23b6b817ffa5c664acdad79bb7b726d30af0f9": { + "balance": "1760000000000000000000" + }, + "b4c20040ccd9a1a3283da4d4a2f365820843d7e2": { + "balance": "1000000000000000000000" + }, + "7f49e7a4269882bd8722d4a6f566347629624079": { + "balance": "2000000000000000000000" + }, + "33629bd52f0e107bc071176c64df108f64777d49": { + "balance": "33425000000000000000" + }, + "6a7b2e0d88867ff15d207c222bebf94fa6ce8397": { + "balance": "60000000000000000000000" + }, + "b7ce684b09abda53389a875369f71958aeac3bdd": { + "balance": "2000000000000000000000" + }, + "ffbc3da0381ec339c1c049eb1ed9ee34fdcea6ca": { + "balance": "4000000000000000000000" + }, + "849ab80790b28ff1ffd6ba394efc7463105c36f7": { + "balance": "34600000000000000000" + }, + "b0b36af9aeeedf97b6b02280f114f13984ea3260": { + "balance": "985000000000000000000" + }, + "4d57e716876c0c95ef5eaebd35c8f41b069b6bfe": { + "balance": "2000000000000000000000" + }, + "2d2b032359b363964fc11a518263bfd05431e867": { + "balance": "149600000000000000000" + }, + "2ccc1f1cb5f4a8002e186b20885d9dbc030c0894": { + "balance": "2000000000000000000000" + }, + "016c85e1613b900fa357b8283b120e65aefcdd08": { + "balance": "799954000000000000000" + }, + "710b0274d712c77e08a5707d6f3e70c0ce3d92cf": { + "balance": "6400000000000000000000" + }, + "3cd3a6e93579c56d494171fc533e7a90e6f59464": { + "balance": "2000000000000000000000" + }, + "fe0e30e214290d743dd30eb082f1f0a5225ade61": { + "balance": "200000000000000000000" + }, + "d0718520eae0a4d62d70de1be0ca431c5eea2482": { + "balance": "2000000000000000000000" + }, + "af7f79cb415a1fb8dbbd094607ee8d41fb7c5a3b": { + "balance": "10000000000000000000000" + }, + "b7d252ee9402b0eef144295f0e69f0db586c0871": { + "balance": "660000000000000000000" + }, + "c3b928a76fad6578f04f0555e63952cd21d1520a": { + "balance": "2000000000000000000000" + }, + "a7a517d7ad35820b09d497fa7e5540cde9495853": { + "balance": "2000000000000000000000" + }, + "e6e886317b6a66a5b4f81bf164c538c264351765": { + "balance": "2000000000000000000000" + }, + "0770b43dbae4b1f35a927b4fa8124d3866caf97b": { + "balance": "1016390000000000000000" + }, + "52b4257cf41b6e28878d50d57b99914ffa89873a": { + "balance": "3930150000000000000000" + }, + "e08bc29c2b48b169ff2bdc16714c586e6cb85ccf": { + "balance": "20000000000000000000" + }, + "2372c4c1c9939f7aaf6cfac04090f00474840a09": { + "balance": "10000000000000000000000" + }, + "ab6b65eab8dfc917ec0251b9db0ecfa0fa032849": { + "balance": "500000000000000000000" + }, + "582e7cc46f1d7b4e6e9d95868bfd370573178f4c": { + "balance": "2000000000000000000000" + }, + "f167f5868dcf4233a7830609682caf2df4b1b807": { + "balance": "2396150000000000000000" + }, + "ec82f50d06475f684df1b392e00da341aa145444": { + "balance": "2000000000000000000000" + }, + "0968ee5a378f8cadb3bafdbed1d19aaacf936711": { + "balance": "1000000000000000000000" + }, + "a86613e6c4a4c9c55f5c10bcda32175dcbb4af60": { + "balance": "10696140000000000000000" + }, + "a5cd123992194b34c4781314303b03c54948f4b9": { + "balance": "2010462000000000000000" + }, + "52f058d46147e9006d29bf2c09304ad1cddd6e15": { + "balance": "1500000000000000000000" + }, + "160226efe7b53a8af462d117a0108089bdecc2d1": { + "balance": "200550000000000000000" + }, + "256292a191bdda34c4da6b6bd69147bf75e2a9ab": { + "balance": "14051000000000000000" + }, + "1b8aa0160cd79f005f88510a714913d70ad3be33": { + "balance": "201760000000000000000" + }, + "d4b2ff3bae1993ffea4d3b180231da439f7502a2": { + "balance": "2000000000000000000000" + }, + "e408aa99835307eea4a6c5eb801fe694117f707d": { + "balance": "500000000000000000000" + }, + "e60a55f2df996dc3aedb696c08dde039b2641de8": { + "balance": "2000000000000000000000" + }, + "73df3c3e7955f4f2d859831be38000b1076b3884": { + "balance": "1970000000000000000000" + }, + "6228ade95e8bb17d1ae23bfb0518414d497e0eb8": { + "balance": "400000000000000000000" + }, + "0f46c81db780c1674ac73d314f06539ee56ebc83": { + "balance": "9850000000000000000000" + }, + "762d6f30dab99135e4eca51d5243d6c8621102d5": { + "balance": "282000000000000000000" + }, + "4ba0d9e89601772b496847a2bb4340186787d265": { + "balance": "1000000000000000000000" + }, + "ca747576446a4c8f30b08340fee198de63ec92cf": { + "balance": "7020000000000000000000" + }, + "99c31fe748583787cdd3e525b281b218961739e3": { + "balance": "1015200000000000000000" + }, + "1210f80bdb826c175462ab0716e69e46c24ad076": { + "balance": "100000000000000000000" + }, + "3f75ae61cc1d8042653b5baec4443e051c5e7abd": { + "balance": "95500000000000000000" + }, + "5c4892907a0720df6fd3413e63ff767d6b398023": { + "balance": "13189467000000000000000" + }, + "17f14632a7e2820be6e8f6df823558283dadab2d": { + "balance": "2000000000000000000000" + }, + "1dc7f7dad85df53f1271152403f4e1e4fdb3afa0": { + "balance": "200000000000000000000" + }, + "5a30feac37ac9f72d7b4af0f2bc73952c74fd5c3": { + "balance": "2000000000000000000000" + }, + "136d4b662bbd1080cfe4445b0fa213864435b7f1": { + "balance": "4000000000000000000000" + }, + "c1ec81dd123d4b7c2dd9b4d438a7072c11dc874c": { + "balance": "2000000000000000000000" + }, + "09f9575be57d004793c7a4eb84b71587f97cbb6a": { + "balance": "200000000000000000000" + }, + "2c4b470307a059854055d91ec3794d80b53d0f4a": { + "balance": "20000000000000000000000" + }, + "6af6c7ee99df271ba15bf384c0b764adcb4da182": { + "balance": "999972000000000000000" + }, + "0dae3ee5b915b36487f9161f19846d101433318a": { + "balance": "1910000000000000000000" + }, + "0dcf9d8c9804459f647c14138ed50fad563b4154": { + "balance": "173000000000000000000" + }, + "bfa8c858df102cb12421008b0a31c4c7190ad560": { + "balance": "200000000000000000000" + }, + "c2fd0bf7c725ef3e047e5ae1c29fe18f12a7299c": { + "balance": "1337000000000000000000" + }, + "d70a612bd6dda9eab0dddcff4aaf4122d38feae4": { + "balance": "540000000000000000000" + }, + "e07137ae0d116d033533c4eab496f8a9fb09569c": { + "balance": "1400000000000000000000" + }, + "7f49f20726471ac1c7a83ef106e9775ceb662566": { + "balance": "5910000000000000000000" + }, + "1e706655e284dcf0bb37fe075d613a18dc12ff4a": { + "balance": "4376760000000000000000" + }, + "03af7ad9d5223cf7c8c13f20df67ebe5ffc5bb41": { + "balance": "200000000000000000000" + }, + "228242f8336eecd8242e1f000f41937e71dffbbf": { + "balance": "5000000000000000000000" + }, + "e8ed51bbb3ace69e06024b33f86844c47348db9e": { + "balance": "165170600000000000000000" + }, + "3b566a8afad19682dc2ce8679a3ce444a5b0fd4f": { + "balance": "2000000000000000000000" + }, + "dc738fb217cead2f69594c08170de1af10c419e3": { + "balance": "100000000000000000000000" + }, + "13032446e7d610aa00ec8c56c9b574d36ca1c016": { + "balance": "2000000000000000000000" + }, + "6ca6a132ce1cd288bee30ec7cfeffb85c1f50a54": { + "balance": "2000000000000000000000" + }, + "b85f26dd0e72d9c29ebaf697a8af77472c2b58b5": { + "balance": "11900000000000000000000" + }, + "055bd02caf19d6202bbcdc836d187bd1c01cf261": { + "balance": "100000000000000000000" + }, + "3c322e611fdb820d47c6f8fc64b6fad74ca95f5e": { + "balance": "242514000000000000000" + }, + "8daddf52efbd74da95b969a5476f4fbbb563bfd2": { + "balance": "835000000000000000000" + }, + "c63ac417992e9f9b60386ed953e6d7dff2b090e8": { + "balance": "4000086000000000000000" + }, + "27f03cf1abc5e1b51dbc444b289e542c9ddfb0e6": { + "balance": "5000000000000000000000" + }, + "d8f4bae6f84d910d6d7d5ac914b1e68372f94135": { + "balance": "100000000000000000000" + }, + "9f83a293c324d4106c18faa8888f64d299054ca0": { + "balance": "200000000000000000000" + }, + "39ee4fe00fbced647068d4f57c01cb22a80bccd1": { + "balance": "6000000000000000000000" + }, + "404100db4c5d0eec557823b58343758bcc2c8083": { + "balance": "20000000000000000000" + }, + "02751dc68cb5bd737027abf7ddb77390cd77c16b": { + "balance": "20000000000000000000" + }, + "d10302faa1929a326904d376bf0b8dc93ad04c4c": { + "balance": "1790000000000000000000" + }, + "cc419fd9912b85135659e77a93bc3df182d45115": { + "balance": "10000000000000000000000" + }, + "10097198b4e7ee91ff82cc2f3bd95fed73c540c0": { + "balance": "2000000000000000000000" + }, + "7e24d9e22ce1da3ce19f219ccee523376873f367": { + "balance": "5900150000000000000000" + }, + "2e4ee1ae996aa0a1d92428d06652a6bea6d2d15d": { + "balance": "2000000000000000000000" + }, + "91a4149a2c7b1b3a67ea28aff34725e0bf8d7524": { + "balance": "1940000000000000000000" + }, + "ead65262ed5d122df2b2751410f98c32d1238f51": { + "balance": "101680000000000000000" + }, + "e20954d0f4108c82d4dcb2148d26bbd924f6dd24": { + "balance": "10000000000000000000000" + }, + "ebb7d2e11bc6b58f0a8d45c2f6de3010570ac891": { + "balance": "26740000000000000000" + }, + "ef115252b1b845cd857f002d630f1b6fa37a4e50": { + "balance": "1970000000000000000000" + }, + "01a818135a414210c37c62b625aca1a54611ac36": { + "balance": "260000000000000000000" + }, + "ea1ea0c599afb9cd36caacbbb52b5bbb97597377": { + "balance": "1069600000000000000000" + }, + "7a7a4f807357a4bbe68e1aa806393210c411ccb3": { + "balance": "30000000000000000000000" + }, + "6d40ca27826d97731b3e86effcd7b92a4161fe89": { + "balance": "2000000000000000000000" + }, + "8431277d7bdd10457dc017408c8dbbbd414a8df3": { + "balance": "39400000000000000000" + }, + "69b81d5981141ec7a7141060dfcf8f3599ffc63e": { + "balance": "5000000000000000000000" + }, + "47688410ff25d654d72eb2bc06e4ad24f833b094": { + "balance": "160440000000000000000" + }, + "6c101205b323d77544d6dc52af37aca3cec6f7f1": { + "balance": "10000000000000000000000" + }, + "fb685c15e439965ef626bf0d834cd1a89f2b5695": { + "balance": "3940000000000000000000" + }, + "673706b1b0e4dc7a949a7a796258a5b83bb5aa83": { + "balance": "16100000000000000000000" + }, + "ecdaf93229b45ee672f65db506fb5eca00f7fce6": { + "balance": "1605009000000000000000" + }, + "ec6904bae1f69790591709b0609783733f2573e3": { + "balance": "500000000000000000000" + }, + "812ea7a3b2c86eed32ff4f2c73514cc63bacfbce": { + "balance": "1000000000000000000000" + }, + "196c02210a450ab0b36370655f717aa87bd1c004": { + "balance": "259456000000000000000" + }, + "d96ac2507409c7a383ab2eee1822a5d738b36b56": { + "balance": "200000000000000000000" + }, + "ae2f9c19ac76136594432393b0471d08902164d3": { + "balance": "698600000000000000000" + }, + "9d32962ea99700d93228e9dbdad2cc37bb99f07e": { + "balance": "3327560000000000000000" + }, + "17e584e810e567702c61d55d434b34cdb5ee30f6": { + "balance": "5000000000000000000000" + }, + "a3a93ef9dbea2636263d06d8492f6a41de907c22": { + "balance": "60000000000000000000" + }, + "2b5016e2457387956562587115aa8759d8695fdf": { + "balance": "200000000000000000000000" + }, + "140129eaa766b5a29f5b3af2574e4409f8f6d3f1": { + "balance": "6400000000000000000000" + }, + "7025965d2b88da197d4459be3dc9386344cc1f31": { + "balance": "2005500000000000000000" + }, + "388bdcdae794fc44082e667501344118ea96cd96": { + "balance": "1670000000000000000000" + }, + "eee9d0526eda01e43116a395322dda8970578f39": { + "balance": "9999980000000000000000" + }, + "6ec89b39f9f5276a553e8da30e6ec17aa47eefc7": { + "balance": "447500000000000000000" + }, + "7e236666b2d06e63ea4e2ab84357e2dfc977e50e": { + "balance": "999972000000000000000" + }, + "68df947c495bebaeb8e889b3f953d533874bf106": { + "balance": "546000000000000000000" + }, + "d40ed66ab3ceff24ca05ecd471efb492c15f5ffa": { + "balance": "500000000000000000000" + }, + "f0c70d0d6dab7663aa9ed9ceea567ee2c6b02765": { + "balance": "2089349000000000000000" + }, + "b589676d15a04448344230d4ff27c95edf122c49": { + "balance": "1000000000000000000000" + }, + "a0347f0a98776390165c166d32963bf74dcd0a2f": { + "balance": "1000000000000000000000" + }, + "d47d8685faee147c520fd986709175bf2f886bef": { + "balance": "2000000000000000000000" + }, + "a1dcd0e5b05a977c9623e5ae2f59b9ada2f33e31": { + "balance": "100000000000000000000" + }, + "4979194ec9e97db9bee8343b7c77d9d7f3f1dc9f": { + "balance": "20000000000000000000" + }, + "7cd20eccb518b60cab095b720f571570caaa447e": { + "balance": "500000000000000000000" + }, + "2ff830cf55fb00d5a0e03514fecd44314bd6d9f1": { + "balance": "10000000000000000000000" + }, + "0bb25ca7d188e71e4d693d7b170717d6f8f0a70a": { + "balance": "336870000000000000000" + }, + "e9a2b4914e8553bf0d7c00ca532369b879f931bf": { + "balance": "2000000000000000000000" + }, + "720e6b22bf430966fa32b6acb9a506eebf662c61": { + "balance": "152000000000000000000" + }, + "7ade5d66b944bb860c0efdc86276d58f4653f711": { + "balance": "2000000000000000000000" + }, + "2eaff9f8f8113064d3957ac6d6e11eee42c8195d": { + "balance": "1970000000000000000000" + }, + "0c8fd7775e54a6d9c9a3bf890e761f6577693ff0": { + "balance": "9850000000000000000000" + }, + "290a56d41f6e9efbdcea0342e0b7929a8cdfcb05": { + "balance": "344000000000000000000" + }, + "d73ed2d985b5f21b55b274643bc6da031d8edd8d": { + "balance": "49250000000000000000000" + }, + "80156d10efa8b230c99410630d37e269d4093cea": { + "balance": "2000000000000000000000" + }, + "0989c200440b878991b69d6095dfe69e33a22e70": { + "balance": "1910000000000000000000" + }, + "ec8014efc7cbe5b0ce50f3562cf4e67f8593cd32": { + "balance": "17300000000000000000" + }, + "de612d0724e84ea4a7feaa3d2142bd5ee82d3201": { + "balance": "20000000000000000000" + }, + "0f832a93df9d7f74cd0fb8546b7198bf5377d925": { + "balance": "143000000000000000000" + }, + "aa2c670096d3f939305325427eb955a8a60db3c5": { + "balance": "2003010000000000000000" + }, + "25287b815f5c82380a73b0b13fbaf982be24c4d3": { + "balance": "40000000000000000000" + }, + "e75c3b38a58a3f33d55690a5a59766be185e0284": { + "balance": "500000000000000000000" + }, + "1940dc9364a852165f47414e27f5002445a4f143": { + "balance": "10850000000000000000000" + }, + "e5b826196c0e1bc1119b021cf6d259a610c99670": { + "balance": "200000000000000000000" + }, + "82a15cef1d6c8260eaf159ea3f0180d8677dce1c": { + "balance": "2000000000000000000000" + }, + "da06044e293c652c467fe74146bf185b21338a1c": { + "balance": "1000000000000000000000" + }, + "f815c10a032d13c34b8976fa6e3bd2c9131a8ba9": { + "balance": "1337000000000000000000" + }, + "cd95fa423d6fc120274aacde19f4eeb766f10420": { + "balance": "200000000000000000000" + }, + "e3a4f83c39f85af9c8b1b312bfe5fc3423afa634": { + "balance": "28650000000000000000" + }, + "768ce0daa029b7ded022e5fc574d11cde3ecb517": { + "balance": "322000000000000000000" + }, + "e3ec18a74ed43855409a26ade7830de8e42685ef": { + "balance": "19700000000000000000" + }, + "b2bdbedf95908476d7148a370cc693743628057f": { + "balance": "4000000000000000000000" + }, + "bbb8ffe43f98de8eae184623ae5264e424d0b8d7": { + "balance": "107600000000000000000" + }, + "090cebef292c3eb081a05fd8aaf7d39bf07b89d4": { + "balance": "4000000000000000000000" + }, + "dd2a233adede66fe1126d6c16823b62a021feddb": { + "balance": "2000000000000000000000" + }, + "d8cd64e0284eec53aa4639afc4750810b97fab56": { + "balance": "20000000000000000000" + }, + "e5953fea497104ef9ad2d4e5841c271f073519c2": { + "balance": "704000000000000000000" + }, + "967d4142af770515dd7062af93498dbfdff29f20": { + "balance": "20200000000000000000" + }, + "fd191a35157d781373fb411bf9f25290047c5eef": { + "balance": "1000000000000000000000" + }, + "8967d7b9bdb7b4aed22e65a15dc803cb7a213f10": { + "balance": "400000000000000000000" + }, + "51e43fe0d25c782860af81ea89dd793c13f0cbb1": { + "balance": "60000000000000000000" + }, + "a38476691d34942eea6b2f76889223047db4617a": { + "balance": "2000000000000000000000" + }, + "1321ccf29739b974e5a516f18f3a843671e39642": { + "balance": "4000000000000000000000" + }, + "4d71a6eb3d7f327e1834278e280b039eddd31c2f": { + "balance": "6000000000000000000000" + }, + "dc2d15a69f6bb33b246aef40450751c2f6756ad2": { + "balance": "1996000000000000000000" + }, + "ec89f2b678a1a15b9134ec5eb70c6a62071fbaf9": { + "balance": "200000000000000000000" + }, + "27bf943c1633fe32f8bcccdb6302b407a5724e44": { + "balance": "940229000000000000000" + }, + "d0a6c6f9e9c4b383d716b31de78d56414de8fa91": { + "balance": "300000000000000000000" + }, + "7b6175ec9befc738249535ddde34688cd36edf25": { + "balance": "10000000000000000000000" + }, + "41ce79950935cff55bf78e4ccec2fe631785db95": { + "balance": "2000000000000000000000" + }, + "5598b3a79a48f32b1f5fc915b87b645d805d1afe": { + "balance": "500000000000000000000" + }, + "5c4881165cb42bb82e97396c8ef44adbf173fb99": { + "balance": "110600000000000000000" + }, + "25b0533b81d02a617b9229c7ec5d6f2f672e5b5a": { + "balance": "1000000000000000000000" + }, + "015f097d9acddcddafaf2a107eb93a40fc94b04c": { + "balance": "20000000000000000000000" + }, + "b84b53d0bb125656cddc52eb852ab71d7259f3d5": { + "balance": "16000000000000000000000" + }, + "1a79c7f4039c67a39d7513884cdc0e2c34222490": { + "balance": "20000000000000000000" + }, + "926209b7fda54e8ddb9d9e4d3d19ebdc8e88c29f": { + "balance": "2000000000000000000000" + }, + "c2fe7d75731f636dcd09dbda0671393ba0c82a7d": { + "balance": "2200000000000000000000" + }, + "30248d58e414b20fed3a6c482b59d9d8f5a4b7e2": { + "balance": "60000000000000000000" + }, + "d0e194f34b1db609288509ccd2e73b6131a2538b": { + "balance": "999972000000000000000" + }, + "e8f29969e75c65e01ce3d86154207d0a9e7c76f2": { + "balance": "2991807000000000000000" + }, + "cb93199b9c90bc4915bd859e3d42866dc8c18749": { + "balance": "231800000000000000000" + }, + "e6fe0afb9dcedd37b2e22c451ba6feab67348033": { + "balance": "10000000000000000000000" + }, + "82f854c9c2f087dffa985ac8201e626ca5467686": { + "balance": "100000000000000000000000" + }, + "63bb664f9117037628594da7e3c5089fd618b5b5": { + "balance": "20000000000000000000" + }, + "f8d17424c767bea31205739a2b57a7277214eebe": { + "balance": "42000000000000000000" + }, + "4ca8db4a5efefc80f4cd9bbcccb03265931332b6": { + "balance": "200000000000000000000" + }, + "c56e6b62ba6e40e52aab167d21df025d0055754b": { + "balance": "2000000000000000000000" + }, + "0d8c40a79e18994ff99ec251ee10d088c3912e80": { + "balance": "114600000000000000000" + }, + "40a331195b977325c2aa28fa2f42cb25ec3c253c": { + "balance": "2000000000000000000000" + }, + "a2c5854ff1599f98892c5725d262be1da98aadac": { + "balance": "314315000000000000000" + }, + "23ab09e73f87aa0f3be0139df0c8eb6be5634f95": { + "balance": "8000000000000000000000" + }, + "b8040536958d5998ce4bec0cfc9c2204989848e9": { + "balance": "24472420000000000000000" + }, + "42d6b263d9e9f4116c411424fc9955783c763030": { + "balance": "2000000000000000000000" + }, + "c496cbb0459a6a01600fc589a55a32b454217f9d": { + "balance": "274000000000000000000" + }, + "48302c311ef8e5dc664158dd583c81194d6e0d58": { + "balance": "3364760000000000000000" + }, + "d5b284040130abf7c1d163712371cc7e28ad66da": { + "balance": "1970000000000000000000" + }, + "d22f0ca4cd479e661775053bcc49e390f670dd8a": { + "balance": "1000000000000000000000" + }, + "e597f083a469c4591c3d2b1d2c772787befe27b2": { + "balance": "280000000000000000000" + }, + "668b6ba8ab08eace39c502ef672bd5ccb6a67a20": { + "balance": "31135320000000000000000" + }, + "a3bff1dfa9971668360c0d82828432e27bf54e67": { + "balance": "200000000000000000000" + }, + "ee655bb4ee0e8d5478526fb9f15e4064e09ff3dd": { + "balance": "200000000000000000000" + }, + "121f855b70149ac83473b9706fb44d47828b983b": { + "balance": "1400000000000000000000" + }, + "20a15256d50ce058bf0eac43aa533aa16ec9b380": { + "balance": "20000000000000000000" + }, + "69bcfc1d43b4ba19de7b274bdffb35139412d3d7": { + "balance": "985000000000000000000" + }, + "db288f80ffe232c2ba47cc94c763cf6fc9b82b0d": { + "balance": "85000000000000000000" + }, + "e1cb83ec5eb6f1eeb85e99b2fc63812fde957184": { + "balance": "20000000000000000000000" + }, + "a419a984142363267575566089340eea0ea20819": { + "balance": "1999944000000000000000" + }, + "8489f6ad1d9a94a297789156899db64154f1dbb5": { + "balance": "358849000000000000000" + }, + "d609bf4f146eea6b0dc8e06ddcf4448a1fccc9fa": { + "balance": "2000000000000000000000" + }, + "df1fa2e20e31985ebe2c0f0c93b54c0fb67a264b": { + "balance": "200000000000000000000" + }, + "efe8ff87fc260e0767638dd5d02fc4672e0ec06d": { + "balance": "2000000000000000000000" + }, + "eef1bbb1e5a83fde8248f88ee3018afa2d1332eb": { + "balance": "200000000000000000000" + }, + "4b3aab335ebbfaa870cc4d605e7d2e74c668369f": { + "balance": "60000000000000000000000" + }, + "8f4fb1aea7cd0f570ea5e61b40a4f4510b6264e4": { + "balance": "4000000000000000000000" + }, + "0b0b3862112aeec3a03492b1b05f440eca54256e": { + "balance": "4000000000000000000000" + }, + "dff4007931786593b229efe5959f3a4e219e51af": { + "balance": "4925000000000000000000" + }, + "fec14e5485de2b3eef5e74c46146db8e454e0335": { + "balance": "179000000000000000000" + }, + "ac21c1e5a3d7e0b50681679dd6c792dbca87decb": { + "balance": "100000000000000000000000" + }, + "796ebbf49b3e36d67694ad79f8ff36767ac6fab0": { + "balance": "60800000000000000000" + }, + "ae7739124ed153052503fc101410d1ffd8cd13b7": { + "balance": "999942000000000000000" + }, + "86026cad3fe4ea1ce7fca260d3d45eb09ea6a364": { + "balance": "200000000000000000000" + }, + "b2fc84a3e50a50af02f94da0383ed59f71ff01d7": { + "balance": "30000000000000000000000" + }, + "bbab000b0408ed015a37c04747bc461ab14e151b": { + "balance": "6000000000000000000000" + }, + "c4ff6fbb1f09bd9e102ba033d636ac1c4c0f5304": { + "balance": "1000000000000000000000" + }, + "cc606f511397a38fc7872bd3b0bd03c71bbd768b": { + "balance": "1000000000000000000000" + }, + "f346d7de92741c08fc58a64db55b062dde012d14": { + "balance": "295106000000000000000" + }, + "33f15223310d44de8b6636685f3a4c3d9c5655a5": { + "balance": "250500000000000000000" + }, + "3c860e2e663f46db53427b29fe3ea5e5bf62bbcc": { + "balance": "98500000000000000000" + }, + "acb94338554bc488cc88ae2d9d94080d6bdf8410": { + "balance": "1000000000000000000000" + }, + "9c5cc111092c122116f1a85f4ee31408741a7d2f": { + "balance": "492500000000000000000" + }, + "5f76f0a306269c78306b3d650dc3e9c37084db61": { + "balance": "2400000000000000000000" + }, + "2c0cc3f951482cc8a2925815684eb9f94e060200": { + "balance": "6000000000000000000000" + }, + "b74372dbfa181dc9242f39bf1d3731dffe2bdacf": { + "balance": "2000000000000000000000" + }, + "3bab4b01a7c84ba13feea9b0bb191b77a3aadca3": { + "balance": "200000000000000000000" + }, + "39aa05e56d7d32385421cf9336e90d3d15a9f859": { + "balance": "26000000000000000000" + }, + "4a52bad20357228faa1e996bed790c93674ba7d0": { + "balance": "1337000000000000000000" + }, + "ff128f4b355be1dc4a6f94fa510d7f15d53c2aff": { + "balance": "2720000000000000000000" + }, + "92793ac5b37268774a7130de2bbd330405661773": { + "balance": "40110000000000000000" + }, + "db19a3982230368f0177219cb10cb259cdb2257c": { + "balance": "2000000000000000000000" + }, + "8d1794da509cb297053661a14aa892333231e3c1": { + "balance": "199600000000000000000" + }, + "9b7c8810cc7cc89e804e6d3e38121850472877fe": { + "balance": "2000000000000000000000" + }, + "ed3cbc3782cebd67989b305c4133b2cde32211eb": { + "balance": "400000000000000000000" + }, + "8532490897bbb4ce8b7f6b837e4cba848fbe9976": { + "balance": "100000000000000000000" + }, + "c384ac6ee27c39e2f278c220bdfa5baed626d9d3": { + "balance": "600000000000000000000" + }, + "b1459285863ea2db3759e546ceb3fb3761f5909c": { + "balance": "1122309000000000000000" + }, + "634efc24371107b4cbf03f79a93dfd93e431d5fd": { + "balance": "1221341000000000000000" + }, + "ef9f59aeda418c1494682d941aab4924b5f4929a": { + "balance": "100000000000000000000000" + }, + "e7311c9533f0092c7248c9739b5b2c864a34b1ce": { + "balance": "2803436000000000000000" + }, + "e6e621eaab01f20ef0836b7cad47464cb5fd3c96": { + "balance": "316014000000000000000" + }, + "cd102cd6db3df14ad6af0f87c72479861bfc3d24": { + "balance": "2000000000000000000000" + }, + "005a9c03f69d17d66cbb8ad721008a9ebbb836fb": { + "balance": "2000000000000000000000" + }, + "a072cebe62a9e9f61cc3fbf88a9efbfe3e9a8d70": { + "balance": "400000000000000000000" + }, + "f2ab1161750244d0ecd048ee0d3e51abb143a2fd": { + "balance": "1235800000000000000000" + }, + "f686785b89720b61145fea80978d6acc8e0bc196": { + "balance": "4000000000000000000000" + }, + "0a2b4fc5d81ace67dc4bba03f7b455413d46fe3d": { + "balance": "197000000000000000000" + }, + "c32ec7e42ad16ce3e2555ad4c54306eda0b26758": { + "balance": "2000000000000000000000" + }, + "f3fa723552a5d0512e2b62f48dca7b2b8105305b": { + "balance": "137000000000000000000" + }, + "6dc3f92baa1d21dab7382b893261a0356fa7c187": { + "balance": "1730000000000000000000" + }, + "4627c606842671abde8295ee5dd94c7f549534f4": { + "balance": "286600000000000000000" + }, + "e39e46e15d22ce56e0c32f1877b7d1a264cf94f3": { + "balance": "20000000000000000000000" + }, + "d7d157e4c0a96437a6d285741dd23ec4361fa36b": { + "balance": "2000000000000000000000" + }, + "68f8f45155e98c5029a4ebc5b527a92e9fa83120": { + "balance": "4436101000000000000000" + }, + "9aba2b5e27ff78baaab5cdc988b7be855cebbdce": { + "balance": "9999000000000000000000" + }, + "66b39837cb3cac8a802afe3f12a258bbca62dacd": { + "balance": "400000000000000000000" + }, + "d39b7cbc94003fc948f0cde27b100db8ccd6e063": { + "balance": "400000000000000000000" + }, + "3db9ed7f024c7e26372feacf2b050803445e3810": { + "balance": "1285600000000000000000" + }, + "3fbc1e4518d73400c6d046359439fb68ea1a49f4": { + "balance": "16400000000000000000000" + }, + "e3da4f3240844c9b6323b4996921207122454399": { + "balance": "11539639000000000000000" + }, + "09afa73bc047ef46b977fd9763f87286a6be68c6": { + "balance": "501500000000000000000" + }, + "1dbe8e1c2b8a009f85f1ad3ce80d2e05350ee39c": { + "balance": "135400000000000000000" + }, + "2c5a2d0abda03bbe215781b4ff296c8c61bdbaf6": { + "balance": "30617000000000000000" + }, + "9a9d1dc0baa77d6e20c3d849c78862dd1c054c87": { + "balance": "880000000000000000000" + }, + "3ccef88679573947e94997798a1e327e08603a65": { + "balance": "807700000000000000000" + }, + "850b9db18ff84bf0c7da49ea3781d92090ad7e64": { + "balance": "2600000000000000000000" + }, + "361c75931696bc3d427d93e76c77fd13b241f6f4": { + "balance": "549212000000000000000" + }, + "c8f2b320e6dfd70906c597bad2f9501312c78259": { + "balance": "1504800000000000000000" + }, + "8dc1d5111d09af25fdfcac455c7cec283e6d6775": { + "balance": "2000000000000000000000" + }, + "cd7ece086b4b619b3b369352ee38b71ddb06439a": { + "balance": "200000000000000000000" + }, + "f607c2150d3e1b99f24fa1c7d540add35c4ebe1e": { + "balance": "3098020000000000000000" + }, + "32485c818728c197fea487fbb6e829159eba8370": { + "balance": "1053893000000000000000" + }, + "8e670815fb67aeaea57b86534edc00cdf564fee5": { + "balance": "3300000000000000000000" + }, + "10df681506e34930ac7a5c67a54c3e89ce92b981": { + "balance": "2153800000000000000000" + }, + "1cf2eb7a8ccac2adeaef0ee87347d535d3b94058": { + "balance": "2000000000000000000000" + }, + "f0dc43f205619127507b2b1c1cfdf32d28310920": { + "balance": "301973000000000000000" + }, + "f2c2904e9fa664a11ee25656d8fd2cc0d9a522a0": { + "balance": "13370000000000000000" + }, + "70670fbb05d33014444b8d1e8e7700258b8caa6d": { + "balance": "2000000000000000000000" + }, + "5160ed612e1b48e73f3fc15bc4321b8f23b8a24b": { + "balance": "562800000000000000000" + }, + "54a62bf9233e146ffec3876e45f20ee8414adeba": { + "balance": "10000000000000000000000" + }, + "26d4ec17d5ceb2c894bdc59d0a6a695dad2b43cc": { + "balance": "2935300000000000000000" + }, + "205fc843e19a4913d1881eb69b69c0fa3be5c50b": { + "balance": "9700000000000000000000" + }, + "e001aba77c02e172086c1950fffbcaa30b83488f": { + "balance": "1970000000000000000000" + }, + "21efbca09b3580b98e73f5b2f7f4dc0bf02c529c": { + "balance": "2000000000000000000000" + }, + "c4d916574e68c49f7ef9d3d82d1638b2b7ee0985": { + "balance": "1580000000000000000000" + }, + "cab0d32cf3767fa6b3537c84328baa9f50458136": { + "balance": "8960000000000000000000" + }, + "7ce4686446f1949ebed67215eb0d5a1dd72c11b8": { + "balance": "2217776000000000000000" + }, + "7837fcb876da00d1eb3b88feb3df3fa4042fac82": { + "balance": "1760000000000000000000" + }, + "71e38ff545f30fe14ca863d4f5297fd48c73a5ce": { + "balance": "3580000000000000000000" + }, + "e528a0e5a267d667e9393a6584e19b34dc9be973": { + "balance": "5600000000000000000000" + }, + "c5374928cdf193705443b14cc20da423473cd9cf": { + "balance": "138139000000000000000" + }, + "e406f5dd72cab66d8a6ecbd6bfb494a7b6b09afe": { + "balance": "100000000000000000000" + }, + "d7ef340e66b0d7afcce20a19cb7bfc81da33d94e": { + "balance": "3000000000000000000000" + }, + "e012db453827a58e16c1365608d36ed658720507": { + "balance": "2000000000000000000000" + }, + "d59638d3c5faa7711bf085745f9d5bdc23d498d8": { + "balance": "2000000000000000000000" + }, + "008fc7cbadffbd0d7fe44f8dfd60a79d721a1c9c": { + "balance": "1000000000000000000000" + }, + "8a3470282d5e2a2aefd7a75094c822c4f5aeef8a": { + "balance": "242743000000000000000" + }, + "38b3965c21fa893931079beacfffaf153678b6eb": { + "balance": "170374000000000000000" + }, + "57dd9471cbfa262709f5f486bcb774c5f527b8f8": { + "balance": "197000000000000000000" + }, + "5a60c924162873fc7ea4da7f972e350167376031": { + "balance": "83583000000000000000" + }, + "b9013c51bd078a098fae05bf2ace0849c6be17a5": { + "balance": "80000000000000000000" + }, + "dc23b260fcc26e7d10f4bd044af794579460d9da": { + "balance": "500038000000000000000" + }, + "45db03bccfd6a5f4d0266b82a22a368792c77d83": { + "balance": "8000000000000000000000" + }, + "3e0cbe6a6dcb61f110c45ba2aa361d7fcad3da73": { + "balance": "8022000000000000000000" + }, + "42d3a5a901f2f6bd9356f112a70180e5a1550b60": { + "balance": "925000000000000000000" + }, + "47219229e8cd56659a65c2a943e2dd9a8f4bfd89": { + "balance": "1520000000000000000000" + }, + "a20d071b1b003063497d7990e1249dabf36c35f7": { + "balance": "1000000000000000000000" + }, + "6835c8e8b74a2ca2ae3f4a8d0f6b954a3e2a8392": { + "balance": "60140000000000000000" + }, + "0c2d5c920538e953caaf24f0737f554cc6927742": { + "balance": "1000000000000000000000" + }, + "eedf6c4280e6eb05b934ace428e11d4231b5905b": { + "balance": "200000000000000000000" + }, + "ffa696ecbd787e66abae4fe87b635f07ca57d848": { + "balance": "1337000000000000000000" + }, + "3e81772175237eb4cbe0fe2dcafdadffeb6a1999": { + "balance": "8800000000000000000000" + }, + "b44783c8e57b480793cbd69a45d90c7b4f0c48ac": { + "balance": "20000000000000000000" + }, + "f84f090adf3f8db7e194b350fbb77500699f66fd": { + "balance": "1970000000000000000000" + }, + "2e9824b5c132111bca24ddfba7e575a5cd7296c1": { + "balance": "17201900000000000000000" + }, + "5cce72d068c7c3f55b1d2819545e77317cae8240": { + "balance": "1940000000000000000000" + }, + "d815e1d9f4e2b5e57e34826b7cfd8881b8546890": { + "balance": "17300000000000000000" + }, + "f901c00fc1db88b69c4bc3252b5ca70ea6ee5cf6": { + "balance": "400000000000000000000" + }, + "a960b1cadd3b5c1a8e6cb3abcaf52ee7c3d9fa88": { + "balance": "1522704000000000000000" + }, + "f7e45a12aa711c709acefe95f33b78612d2ad22a": { + "balance": "66230000000000000000000" + }, + "c332df50b13c013490a5d7c75dbfa366da87b6d6": { + "balance": "4000000000000000000000" + }, + "d467cf064c0871989b90d8b2eb14ccc63b360823": { + "balance": "200000000000000000000" + }, + "b9144b677c2dc614ceefdf50985f1183208ea64c": { + "balance": "2000000000000000000000" + }, + "ea7c4d6dc729cd6b157c03ad237ca19a209346c3": { + "balance": "2000000000000000000000" + }, + "9c9de44724a4054da0eaa605abcc802668778bea": { + "balance": "200020000000000000000" + }, + "d7140c8e5a4307fab0cc27badd9295018bf87970": { + "balance": "109600000000000000000" + }, + "c33acdb3ba1aab27507b86b15d67faf91ecf6293": { + "balance": "2000000000000000000000" + }, + "db2a0c9ab64df58ddfb1dbacf8ba0d89c85b31b4": { + "balance": "4000000000000000000000" + }, + "bfcb9730246304700da90b4153e71141622e1c41": { + "balance": "1000000000000000000000" + }, + "07dc8c8b927adbedfa8f5d639b4352351f2f36d2": { + "balance": "314382000000000000000" + }, + "2d5391e938b34858cf965b840531d5efda410b09": { + "balance": "1400000000000000000000" + }, + "0b5e2011ebc25a007f21362960498afb8af280fb": { + "balance": "2000000000000000000000" + }, + "ed9fb1f5af2fbf7ffc5029cee42b70ff5c275bf5": { + "balance": "280000000000000000000" + }, + "a3232d068d50064903c9ebc563b515acc8b7b097": { + "balance": "2002000000000000000000" + }, + "66274fea82cd30b6c29b23350e4f4f3d310a5899": { + "balance": "2070000000000000000000" + }, + "dbfb1bb464b8a58e500d2ed8de972c45f5f1c0fb": { + "balance": "1600000000000000000000" + }, + "a1f8d8bcf90e777f19b3a649759ad95027abdfc3": { + "balance": "200000000000000000000" + }, + "5bd23547477f6d09d7b2a005c5ee650c510c56d7": { + "balance": "10000000000000000000000" + }, + "ec3b8b58a12703e581ce5ffd7e21c57d1e5c663f": { + "balance": "1700000000000000000000" + }, + "54310b3aa88703a725dfa57de6e646935164802c": { + "balance": "1910000000000000000000" + }, + "8f41b1fbf54298f5d0bc2d122f4eb95da4e5cd3d": { + "balance": "354200000000000000000" + }, + "c80b36d1beafba5fcc644d60ac6e46ed2927e7dc": { + "balance": "13370000000000000000" + }, + "1ea492bce1ad107e337f4bd4a7ac9a7babcccdab": { + "balance": "100000000000000000000" + }, + "aaf023fef290a49bb78bb7abc95d669c50d528b0": { + "balance": "200000000000000000000" + }, + "80b79f338390d1ba1b3737a29a0257e5d91e0731": { + "balance": "20000000000000000000" + }, + "f382e4c20410b951089e19ba96a2fee3d91cce7e": { + "balance": "5054000000000000000000" + }, + "0748713145ef83c3f0ef4d31d823786f7e9cc689": { + "balance": "4500000000000000000000" + }, + "21e219c89ca8ac14ae4cba6130eeb77d9e6d3962": { + "balance": "789580000000000000000" + }, + "ca9a042a6a806ffc92179500d24429e8ab528117": { + "balance": "1100000000000000000000" + }, + "bcc9593b2da6df6a34d71b1aa38dacf876f95b88": { + "balance": "20000000000000000000" + }, + "d1438267231704fc7280d563adf4763844a80722": { + "balance": "200000000000000000000" + }, + "4989e1ab5e7cd00746b3938ef0f0d064a2025ba5": { + "balance": "2000000000000000000000" + }, + "bd4b60faec740a21e3071391f96aa534f7c1f44e": { + "balance": "182000000000000000000" + }, + "8c7cb4e48b25031aa1c4f92925d631a8c3edc761": { + "balance": "1000000000000000000000" + }, + "322788b5e29bf4f5f55ae1ddb32085fda91b8ebe": { + "balance": "200000000000000000000" + }, + "f15e182c4fbbad79bd93342242d4dccf2be58925": { + "balance": "1940000000000000000000" + }, + "1548b770a5118ede87dba2f690337f616de683ab": { + "balance": "527558000000000000000" + }, + "69c2d835f13ee90580408e6a3283c8cca6a434a2": { + "balance": "656000000000000000000" + }, + "a1e4380a3b1f749673e270229993ee55f35663b4": { + "balance": "2000000000000000000000" + }, + "c7675e5647b9d8daf4d3dff1e552f6b07154ac38": { + "balance": "180000000000000000000" + }, + "a02c1e34064f0475f7fa831ccb25014c3aa31ca2": { + "balance": "60000000000000000000" + }, + "517c75430de401c341032686112790f46d4d369e": { + "balance": "388000000000000000000" + }, + "29681d9912ddd07eaabb88d05d90f766e862417d": { + "balance": "1000000000000000000000" + }, + "544dda421dc1eb73bb24e3e56a248013b87c0f44": { + "balance": "1970000000000000000000" + }, + "2ab97e8d59eee648ab6caf8696f89937143864d6": { + "balance": "3820000000000000000000" + }, + "79c130c762b8765b19d2abc9a083ab8f3aad7940": { + "balance": "3940000000000000000000" + }, + "f9650d6989f199ab1cc479636ded30f241021f65": { + "balance": "850000000000000000000" + }, + "d1c96e70f05ae0e6cd6021b2083750a7717cde56": { + "balance": "500000000000000000000" + }, + "88106c27d20b74b4b98ca62b232bd5c97411171f": { + "balance": "197000000000000000000" + }, + "37ab66083a4fa23848b886f9e66d79cdc150cc70": { + "balance": "88510000000000000000000" + }, + "8e6156336be2cdbe32140df08a2ba55fd0a58463": { + "balance": "74480000000000000000" + }, + "2982d76a15f847dd41f1922af368fe678d0e681e": { + "balance": "100000000000000000000" + }, + "209e8e29d33beae8fb6baa783d133e1d9ec1bc0b": { + "balance": "835000000000000000000" + }, + "b325674c01e3f7290d5226339fbeac67d221279f": { + "balance": "2800000000000000000000" + }, + "f20c9a99b74759d782f25c1ceca802a27e0b436c": { + "balance": "1670000000000000000000" + }, + "61bf84d5ab026f58c873f86ff0dfca82b55733ae": { + "balance": "2000000000000000000000" + }, + "0734a0a81c9562f4d9e9e10a8503da15db46d76e": { + "balance": "18200000000000000000" + }, + "0521bc3a9f8711fecb10f50797d71083e341eb9d": { + "balance": "20000000000000000000" + }, + "3301d9ca2f3bfe026279cd6819f79a293d98156e": { + "balance": "50000000000000000000000" + }, + "549d51af29f724c967f59423b85b2681e7b15136": { + "balance": "3760000000000000000000" + }, + "2053ac97548a0c4e8b80bc72590cd6a098fe7516": { + "balance": "187000000000000000000" + }, + "aa321fdbd449180db8ddd34f0fe906ec18ee0914": { + "balance": "685000000000000000000" + }, + "697f55536bf85ada51841f0287623a9f0ed09a17": { + "balance": "10000000000000000000000" + }, + "df57353aaff2aadb0a04f9014e8da7884e86589c": { + "balance": "152800000000000000000" + }, + "6807ddc88db489b033e6b2f9a81553571ab3c805": { + "balance": "29944000000000000000" + }, + "90057af9aa66307ec9f033b29724d3b2f41eb6f9": { + "balance": "121930000000000000000000" + }, + "3ff836b6f57b901b440c30e4dbd065cf37d3d48c": { + "balance": "200000000000000000000" + }, + "91051764af6b808e4212c77e30a5572eaa317070": { + "balance": "1000000000000000000000" + }, + "7faa30c31519b584e97250ed2a3cf3385ed5fd50": { + "balance": "2000000000000000000000" + }, + "fb842ca2c5ef133917a236a0d4ac40690110b038": { + "balance": "306000000000000000000" + }, + "aa167026d39ab7a85635944ed9edb2bfeba11850": { + "balance": "8298000000000000000000" + }, + "57beea716cbd81700a73d67f9ff039529c2d9025": { + "balance": "200000000000000000000" + }, + "654b7e808799a83d7287c67706f2abf49a496404": { + "balance": "1970000000000000000000" + }, + "dde8f0c31b7415511dced1cd7d46323e4bd12232": { + "balance": "1610000000000000000000" + }, + "8667fa1155fed732cfb8dca5a0d765ce0d0705ed": { + "balance": "81770000000000000000" + }, + "905526568ac123afc0e84aa715124febe83dc87c": { + "balance": "17900000000000000000" + }, + "8e98766524b0cf2747c50dd43b9567594d9731de": { + "balance": "1997200000000000000000" + }, + "c6df2075ebd240d44869c2be6bdf82e63d4ef1f5": { + "balance": "20000000000000000000" + }, + "2ff5cab12c0d957fd333f382eeb75107a64cb8e8": { + "balance": "10000000000000000000000" + }, + "3055efd26029e0d11b930df4f53b162c8c3fd2ce": { + "balance": "499938000000000000000" + }, + "b2c53efa33fe4a3a1a80205c73ec3b1dbcad0602": { + "balance": "1918595000000000000000" + }, + "766b3759e8794e926dac473d913a8fb61ad0c2c9": { + "balance": "86500000000000000000" + }, + "882aa798bf41df179f85520130f15ccdf59b5e58": { + "balance": "2000000000000000000000" + }, + "80b23d380b825c46e0393899a85556462da0e18c": { + "balance": "2000000000000000000000" + }, + "51f4663ab44ff79345f427a0f6f8a6c8a53ff234": { + "balance": "20000000000000000000000" + }, + "8d5ef172bf77315ea64e85d0061986c794c6f519": { + "balance": "3940000000000000000000" + }, + "75ac547017134c04ae1e11d60e63ec04d18db4ef": { + "balance": "6000000000000000000000" + }, + "ce1b0cb46aaecfd79b880cad0f2dda8a8dedd0b1": { + "balance": "20000000000000000000" + }, + "21408b4d7a2c0e6eca4143f2cacdbbccba121bd8": { + "balance": "20000000000000000000000" + }, + "9c526a140683edf1431cfaa128a935e2b614d88b": { + "balance": "111000000000000000000" + }, + "599728a78618d1a17b9e34e0fed8e857d5c40622": { + "balance": "14000000000000000000000" + }, + "6ac4d4be2db0d99da3faaaf7525af282051d6a90": { + "balance": "80185000000000000000" + }, + "785c8ea774d73044a734fa790a1b1e743e77ed7c": { + "balance": "238750000000000000000" + }, + "ff2726294148b86c78a9372497e459898ed3fee3": { + "balance": "1970000000000000000000" + }, + "68a86c402388fddc59028fec7021e98cbf830eac": { + "balance": "19100000000000000000" + }, + "6121af398a5b2da69f65c6381aec88ce9cc6441f": { + "balance": "640000000000000000000" + }, + "5a6686b0f17e07edfc59b759c77d5bef164d3879": { + "balance": "1490000000000000000000" + }, + "a2d38de1c73906f6a7ca6efeb97cf6f69cc421be": { + "balance": "1000000000000000000000" + }, + "ae3f98a443efe00f3e711d525d9894dc9a61157b": { + "balance": "295500000000000000000" + }, + "5f1c8a04c90d735b8a152909aeae636fb0ce1665": { + "balance": "6999974000000000000000" + }, + "d687cec0059087fdc713d4d2d65e77daefedc15f": { + "balance": "60000000000000000000" + }, + "845203750f7148a9aa262921e86d43bf641974fd": { + "balance": "100000000000000000000" + }, + "64464a6805b462412a901d2db8174b06c22deea6": { + "balance": "475600000000000000000" + }, + "053471cd9a41925b3904a5a8ffca3659e034be23": { + "balance": "199600000000000000000" + }, + "911ff233e1a211c0172c92b46cf997030582c83a": { + "balance": "1970000000000000000000" + }, + "d930b27a78876485d0f48b70dd5336549679ca8f": { + "balance": "40000000000000000000" + }, + "6ba9b21b35106be159d1c1c2657ac56cd29ffd44": { + "balance": "4480000000000000000000" + }, + "ebac2b4408ef5431a13b8508e86250982114e145": { + "balance": "4000000000000000000000" + }, + "931df34d1225bcd4224e63680d5c4c09bce735a6": { + "balance": "68000000000000000000" + }, + "23eb6fd85671a9063ab7678ebe265a20f61a02b3": { + "balance": "2000000000000000000000" + }, + "b32af3d3e8d075344926546f2e32887bf93b16bd": { + "balance": "200000000000000000000" + }, + "8261fa230c901d43ff579f4780d399f31e6076bc": { + "balance": "2000000000000000000000" + }, + "84a74ceecff65cb93b2f949d773ef1ad7fb4a245": { + "balance": "92998000000000000000" + }, + "da982e9643ffece723075a40fe776e5ace04b29b": { + "balance": "160884000000000000000" + }, + "ba70e8b4759c0c3c82cc00ac4e9a94dd5bafb2b8": { + "balance": "890342000000000000000" + }, + "82f2e991fd324c5f5d17768e9f61335db6319d6c": { + "balance": "500000000000000000000" + }, + "3e84b35c5b2265507061d30b6f12da033fe6f8b9": { + "balance": "1790000000000000000000" + }, + "2895e80999d406ad592e2b262737d35f7db4b699": { + "balance": "1940000000000000000000" + }, + "65f534346d2ffb787fa9cf185d745ba42986bd6e": { + "balance": "500000000000000000000" + }, + "c7368b9709a5c1b51c0adf187a65df14e12b7dba": { + "balance": "9489681000000000000000" + }, + "ba176dbe3249e345cd4fa967c0ed13b24c47e586": { + "balance": "399990000000000000000" + }, + "cff6a6fe3e9a922a12f21faa038156918c4fcb9c": { + "balance": "78800000000000000000" + }, + "bcbd31252ec288f91e298cd812c92160e738331a": { + "balance": "1975802000000000000000" + }, + "5543dd6d169eec8a213bbf7a8af9ffd15d4ff759": { + "balance": "18200000000000000000" + }, + "b65bd780c7434115162027565223f44e5498ff8c": { + "balance": "19999800000000000000000" + }, + "4cadf573ce4ceec78b8e1b21b0ed78eb113b2c0e": { + "balance": "2000000000000000000000" + }, + "04aafc8ae5ce6f4903c89d7fac9cb19512224777": { + "balance": "500000000000000000000" + }, + "fdc4d4765a942f5bf96931a9e8cc7ab8b757ff4c": { + "balance": "87000000000000000000000" + }, + "38c7851f5ffd4cee98df30f3b25597af8a6ca263": { + "balance": "2631920000000000000000" + }, + "0e320219838e859b2f9f18b72e3d4073ca50b37d": { + "balance": "2000000000000000000000" + }, + "bbbf39b1b67995a42241504f9703d2a14a515696": { + "balance": "1580000000000000000000" + }, + "5b800bfd1b3ed4a57d875aed26d42f1a7708d72a": { + "balance": "6392000000000000000000" + }, + "5b85e60e2af0544f2f01c64e2032900ebd38a3c7": { + "balance": "2000000000000000000000" + }, + "c9ac01c3fb0929033f0ccc7e1acfeaaba7945d47": { + "balance": "12459235000000000000000" + }, + "f355d3ec0cfb907d8dbb1bf3464e458128190bac": { + "balance": "4925600000000000000000" + }, + "69c08d744754de709ce96e15ae0d1d395b3a2263": { + "balance": "1000000000000000000000" + }, + "cef77451dfa2c643e00b156d6c6ff84e2373eb66": { + "balance": "188000000000000000000" + }, + "f3034367f87d24d3077fa9a2e38a8b0ccb1104ef": { + "balance": "1000000000000000000000" + }, + "73473e72115110d0c3f11708f86e77be2bb0983c": { + "balance": "20000000000000000000" + }, + "761e6caec189c230a162ec006530193e67cf9d19": { + "balance": "2000000000000000000000" + }, + "e9caf827be9d607915b365c83f0d3b7ea8c79b50": { + "balance": "3000000000000000000000" + }, + "eda4b2fa59d684b27a810df8978a73df308a63c2": { + "balance": "4000000000000000000000" + }, + "065ff575fd9c16d3cb6fd68ffc8f483fc32ec835": { + "balance": "200000000000000000000" + }, + "a72ee666c4b35e82a506808b443cebd5c632c7dd": { + "balance": "800000000000000000000" + }, + "5b30608c678e1ac464a8994c3b33e5cdf3497112": { + "balance": "400000000000000000000" + }, + "b0c7ce4c0dc3c2bbb99cc1857b8a455f611711ce": { + "balance": "4000000000000000000000" + }, + "d7274d50804d9c77da93fa480156efe57ba501de": { + "balance": "1940000000000000000000" + }, + "a609c26dd350c235e44b2b9c1dddccd0a9d9f837": { + "balance": "1000000000000000000000" + }, + "bddfa34d0ebf1b04af53b99b82494a9e3d8aa100": { + "balance": "12000000000000000000000" + }, + "fd40242bb34a70855ef0fd90f3802dec2136b327": { + "balance": "1930600000000000000000" + }, + "58aed6674affd9f64233272a578dd9386b99c263": { + "balance": "3400000000000000000000" + }, + "24434a3e32e54ecf272fe3470b5f6f512f675520": { + "balance": "5910000000000000000000" + }, + "a379a5070c503d2fac89b8b3afa080fd45ed4bec": { + "balance": "19700000000000000000000" + }, + "37e169a93808d8035698f815c7235613c1e659f2": { + "balance": "1000000000000000000000" + }, + "849b116f596301c5d8bb62e0e97a8248126e39f3": { + "balance": "300000000000000000000" + }, + "fe7011b698bf3371132d7445b19eb5b094356aee": { + "balance": "2000000000000000000000" + }, + "f16de1891d8196461395f9b136265b3b9546f6ef": { + "balance": "31313000000000000000" + }, + "6c6564e5c9c24eaaa744c9c7c968c9e2c9f1fbae": { + "balance": "1357800000000000000000" + }, + "8bb0212f3295e029cab1d961b04133a1809e7b91": { + "balance": "2000000000000000000000" + }, + "408a69a40715e1b313e1354e600800a1e6dc02a5": { + "balance": "35144000000000000000" + }, + "ddf0cce1fe996d917635f00712f4052091dff9ea": { + "balance": "2000000000000000000000" + }, + "50fef296955588caae74c62ec32a23a454e09ab8": { + "balance": "1201200000000000000000" + }, + "d913f0771949753c4726acaa2bd3619c5c20ff77": { + "balance": "3000000000000000000000" + }, + "9d6ecfa03af2c6e144b7c4692a86951e902e9e1f": { + "balance": "3000310000000000000000" + }, + "ecbe5e1c9ad2b1dccf0a305fc9522f4669dd3ae7": { + "balance": "5000000000000000000000" + }, + "33e9b71823952e1f66958c278fc28b1196a6c5a4": { + "balance": "100000000000000000000" + }, + "9de20bc37e7f48a80ffd7ad84ffbf1a1abe1738c": { + "balance": "200000000000000000000" + }, + "16f313cf8ad000914a0a176dc6a4342b79ec2538": { + "balance": "2000000000000000000000" + }, + "991ac7ca7097115f26205eee0ef7d41eb4e311ae": { + "balance": "20000000000000000000" + }, + "ddfafdbc7c90f1320e54b98f374617fbd01d109f": { + "balance": "13370000000000000000" + }, + "26b11d066588ce74a572a85a6328739212aa8b40": { + "balance": "2000000000000000000000" + }, + "ef2c34bb487d3762c3cca782ccdd7a8fbb0a9931": { + "balance": "180000000000000000000" + }, + "a9be88ad1e518b0bbb024ab1d8f0e73f790e0c76": { + "balance": "2800000000000000000000" + }, + "4a7494cce44855cc80582842be958a0d1c0072ee": { + "balance": "2400000000000000000000" + }, + "23569542c97d566018c907acfcf391d14067e87e": { + "balance": "2000000000000000000000" + }, + "d252960b0bf6b2848fdead80136db5f507f8be02": { + "balance": "2000000000000000000000" + }, + "2c0f5b9df43625798e7e03c1a5fd6a6d091af82b": { + "balance": "31200000000000000000" + }, + "a7c9d388ebd873e66b1713448397d0f37f8bd3a8": { + "balance": "5000000000000000000000" + }, + "3259bd2fddfbbc6fbad3b6e874f0bbc02cda18b5": { + "balance": "11886645000000000000000" + }, + "f287ff52f461117adb3e1daa71932d1493c65f2e": { + "balance": "3640000000000000000000" + }, + "c852428d2b586497acd30c56aa13fb5582f84402": { + "balance": "945600000000000000000" + }, + "296f00de1dc3bb01d47a8ccd1e5d1dd9a1eb7791": { + "balance": "1000000000000000000000" + }, + "817493cd9bc623702a24a56f9f82e3fd48f3cd31": { + "balance": "2920000000000000000000" + }, + "7adfedb06d91f3cc7390450b85550270883c7bb7": { + "balance": "322312000000000000000" + }, + "8d544c32c07fd0842c761d53a897d6c950bb7599": { + "balance": "200000000000000000000" + }, + "86297d730fe0f7a9ee24e08fb1087b31adb306a7": { + "balance": "2000000000000000000000" + }, + "f64fe0939a8d1eea2a0ecd9a9730fd7958e33109": { + "balance": "20600000000000000000" + }, + "b06eab09a610c6a53d56a946b2c43487ac1d5b2d": { + "balance": "1000000000000000000000" + }, + "bae9b82f7299631408659dd74e891cb8f3860fe5": { + "balance": "1970000000000000000000" + }, + "0eda80f4ed074aea697aeddf283b63dbca3dc4da": { + "balance": "2000000000000000000000" + }, + "ea686c5057093c171c66db99e01b0ececb308683": { + "balance": "384907000000000000000" + }, + "425725c0f08f0811f5f006eec91c5c5c126b12ae": { + "balance": "150000000000000000000" + }, + "b18e67a5050a1dc9fb190919a33da838ef445014": { + "balance": "20000000000000000000" + }, + "8dd484ff8a307364eb66c525a571aac701c5c318": { + "balance": "4000000000000000000000" + }, + "6671b182c9f741a0cd3c356c73c23126d4f9e6f4": { + "balance": "200000000000000000000" + }, + "ba0249e01d945bef93ee5ec61925e03c5ca509fd": { + "balance": "4000000000000000000000" + }, + "b2968f7d35f208871631c6687b3f3daeabc6616c": { + "balance": "156060000000000000000" + }, + "a6f62b8a3d7f11220701ab9ffffcb327959a2785": { + "balance": "506000000000000000000" + }, + "c885a18aabf4541b7b7b7ecd30f6fae6869d9569": { + "balance": "2000000000000000000000" + }, + "33fb577a4d214fe010d32cca7c3eeda63f87ceef": { + "balance": "1000000000000000000000" + }, + "be86d0b0438419ceb1a038319237ba5206d72e46": { + "balance": "999942000000000000000" + }, + "466292f0e80d43a78774277590a9eb45961214f4": { + "balance": "970000000000000000000" + }, + "b33c0323fbf9c26c1d8ac44ef74391d0804696da": { + "balance": "20000000000000000000" + }, + "f7bc4c44910d5aedd66ed2355538a6b193c361ec": { + "balance": "96980000000000000000" + }, + "d0f04f52109aebec9a7b1e9332761e9fe2b97bb5": { + "balance": "4000000000000000000000" + }, + "cb4a914d2bb029f32e5fef5c234c4fec2d2dd577": { + "balance": "1800000000000000000000" + }, + "2e619f57abc1e987aa936ae3a2264962e7eb2d9a": { + "balance": "756000000000000000000" + }, + "166bf6dab22d841b486c38e7ba6ab33a1487ed8c": { + "balance": "20000000000000000000000" + }, + "c3a046e3d2b2bf681488826e32d9c061518cfe8c": { + "balance": "2600000000000000000000" + }, + "d082275f745a2cac0276fbdb02d4b2a3ab1711fe": { + "balance": "30000000000000000000" + }, + "a701df79f594901afe1444485e6b20c3bda2b9b3": { + "balance": "1000000000000000000000" + }, + "dec3eec2640a752c466e2b7e7ee685afe9ac41f4": { + "balance": "1324245000000000000000" + }, + "8134dd1c9df0d6c8a5812426bb55c761ca831f08": { + "balance": "122360000000000000000" + }, + "bfc57aa666fae28e9f107a49cb5089a4e22151dd": { + "balance": "1000000000000000000000" + }, + "c3c2297329a6fd99117e54fc6af379b4d556547e": { + "balance": "6000000000000000000000" + }, + "40585200683a403901372912a89834aadcb55fdb": { + "balance": "2000000000000000000000" + }, + "cd49bf185e70d04507999f92a4de4455312827d0": { + "balance": "1000000000000000000000" + }, + "9c6bc9a46b03ae5404f043dfcf21883e4110cc33": { + "balance": "200000000000000000000" + }, + "1f49b86d0d3945590698a6aaf1673c37755ca80d": { + "balance": "700000000000000000000" + }, + "efeb1997aad277cc33430e6111ed0943594048b8": { + "balance": "2000000000000000000000" + }, + "7c0883054c2d02bc7a852b1f86c42777d0d5c856": { + "balance": "500000000000000000000" + }, + "ff49a775814ec00051a795a875de24592ea400d4": { + "balance": "200000000000000000000000" + }, + "f039683d7b3d225bc7d8dfadef63163441be41e2": { + "balance": "34380000000000000000" + }, + "a3ba0d3a3617b1e31b4e422ce269e873828d5d69": { + "balance": "850000000000000000000" + }, + "d116f3dcd5db744bd008887687aa0ec9fd7292aa": { + "balance": "1000000000000000000000" + }, + "5719f49b720da68856f4b9e708f25645bdbc4b41": { + "balance": "640000000000000000000" + }, + "870796abc0db84af82da52a0ed68734de7e636f5": { + "balance": "300000000000000000000" + }, + "68b6854788a7c6496cdbf5f84b9ec5ef392b78bb": { + "balance": "19700000000000000000000" + }, + "8c2fbeee8eacc5c5d77c16abd462ee9c8145f34b": { + "balance": "1940000000000000000000" + }, + "421684baa9c0b4b5f55338e6f6e7c8e146d41cb7": { + "balance": "1500000000000000000000" + }, + "dd26b429fd43d84ec179825324bad5bfb916b360": { + "balance": "5142000000000000000000" + }, + "3821862493242c0aeb84b90de05d250c1e50c074": { + "balance": "322200000000000000000" + }, + "68a7425fe09eb28cf86eb1793e41b211e57bd68d": { + "balance": "668500000000000000000" + }, + "da875e4e2f3cabe4f37e0eaed7d1f6dcc6ffef43": { + "balance": "2000000000000000000000" + }, + "c2663f8145dbfec6c646fc5c49961345de1c9f11": { + "balance": "690000000000000000000" + }, + "e89c22f1a4e1d4746ecfaa59ed386fee12d51e37": { + "balance": "44932000000000000000" + }, + "eff86b5123bcdc17ed4ce8e05b7e12e51393a1f7": { + "balance": "500000000000000000000" + }, + "6c3d18704126aa99ee3342ce60f5d4c85f1867cd": { + "balance": "50000000000000000000" + }, + "b8d531a964bcea13829620c0ced72422dadb4cca": { + "balance": "169990000000000000000" + }, + "7c29d47d57a733f56b9b217063b513dc3b315923": { + "balance": "4000000000000000000000" + }, + "bc1e80c181616342ebb3fb3992072f1b28b802c6": { + "balance": "4000000000000000000000" + }, + "31313ffd635bf2f3324841a88c07ed146144ceeb": { + "balance": "1970000000000000000000" + }, + "cc4feb72df98ff35a138e01761d1203f9b7edf0a": { + "balance": "7000000000000000000000" + }, + "741693c30376508513082020cc2b63e9fa92131b": { + "balance": "1200000000000000000000" + }, + "aa3135cb54f102cbefe09e96103a1a796718ff54": { + "balance": "57800000000000000000" + }, + "ef61155ba009dcdebef10b28d9da3d1bc6c9ced4": { + "balance": "59100000000000000000" + }, + "b3c94811e7175b148b281c1a845bfc9bb6fbc115": { + "balance": "200000000000000000000" + }, + "96d9cca8f55eea0040ec6eb348a1774b95d93ef4": { + "balance": "4000000000000000000000" + }, + "ce62125adec3370ac52110953a4e760be9451e3b": { + "balance": "152000000000000000000" + }, + "aca1e6bc64cc3180f620e94dc5b1bcfd8158e45d": { + "balance": "2000000000000000000000" + }, + "bc237148d30c13836ffa2cad520ee4d2e5c4eeff": { + "balance": "1970000000000000000000" + }, + "0e024e7f029c6aaf3a8b910f5e080873b85795aa": { + "balance": "1000000000000000000000" + }, + "7283cd4675da58c496556151dafd80c7f995d318": { + "balance": "760000000000000000000" + }, + "39b299327490d72f9a9edff11b83afd0e9d3c450": { + "balance": "200000000000000000000" + }, + "5f333a3b2310765a0d1832b9be4c0a03704c1c09": { + "balance": "1000000000000000000000" + }, + "5aaf1c31254a6e005fba7f5ab0ec79d7fc2b630e": { + "balance": "5910000000000000000000" + }, + "833db42c14163c7be4cab86ac593e06266d699d5": { + "balance": "174212000000000000000000" + }, + "f32d25eb0ea2b8b3028a4c7a155dc1aae865784d": { + "balance": "5710684000000000000000" + }, + "1fa2319fed8c2d462adf2e17feec6a6f30516e95": { + "balance": "125300000000000000000" + }, + "c49cfaa967f3afbf55031061fc4cef88f85da584": { + "balance": "2000000000000000000000" + }, + "43db7ff95a086d28ebbfb82fb8fb5f230a5ebccd": { + "balance": "16100000000000000000" + }, + "cf3f9128b07203a3e10d7d5755c0c4abc6e2cac2": { + "balance": "5000000000000000000000" + }, + "8f4d1e7e4561284a34fef9673c0d34e12af4aa03": { + "balance": "2000000000000000000000" + }, + "934af21b7ebfa467e2ced65aa34edd3a0ec71332": { + "balance": "35420000000000000000000" + }, + "5d231a70c1dfeb360abd97f616e2d10d39f3cab5": { + "balance": "400000000000000000000" + }, + "2d5d7335acb0362b47dfa3a8a4d3f5949544d380": { + "balance": "200000000000000000000" + }, + "d1e1f2b9c16c309874dee7fac32675aff129c398": { + "balance": "72800000000000000000" + }, + "a43b6da6cb7aac571dff27f09d39f846f53769b1": { + "balance": "380000000000000000000" + }, + "779274bf1803a336e4d3b00ddd93f2d4f5f4a62e": { + "balance": "1000000000000000000000" + }, + "a644ed922cc237a3e5c4979a995477f36e50bc62": { + "balance": "583900000000000000000" + }, + "ee6c03429969ca1262cb3f0a4a54afa7d348d7f5": { + "balance": "256100000000000000000" + }, + "4f06246b8d4bd29661f43e93762201d286935ab1": { + "balance": "4818730000000000000000" + }, + "e04972a83ca4112bc871c72d4ae1616c2f0728db": { + "balance": "267606000000000000000" + }, + "df098f5e4e3dffa51af237bda8652c4f73ed9ca6": { + "balance": "502000000000000000000" + }, + "dfded2574b27d1613a7d98b715159b0d00baab28": { + "balance": "20000000000000000000000" + }, + "17d931d4c56294dcbe77c8655be4695f006d4a3c": { + "balance": "2000000000000000000000" + }, + "3ccb71aa6880cb0b84012d90e60740ec06acd78f": { + "balance": "2000000000000000000000" + }, + "e57d2995b0ebdf3f3ca6c015eb04260dbb98b7c6": { + "balance": "2000000000000000000000" + }, + "fb3860f4121c432ebdc8ec6a0331b1b709792e90": { + "balance": "600400000000000000000" + }, + "fa00c376e89c05e887817a9dd0748d96f341aa89": { + "balance": "300700000000000000000" + }, + "c7a018f0968a51d1f6603c5c49dc545bcb0ff293": { + "balance": "4000000000000000000000" + }, + "7d73863038ccca22f96affda10496e51e1e6cd48": { + "balance": "20000000000000000000" + }, + "38ea6f5b5a7b88417551b4123dc127dfe9342da6": { + "balance": "400000000000000000000" + }, + "014b7f67b14f5d983d87014f570c8b993b9872b5": { + "balance": "200000000000000000000" + }, + "8ac89bd9b8301e6b0677fa25fcf0f58f0cc7b611": { + "balance": "20000000000000000000" + }, + "7eb4b0185c92b6439a08e7322168cb353c8a774a": { + "balance": "10165988000000000000000" + }, + "d29dc08efbb3d72e263f78ab7610d0226de76b00": { + "balance": "12000000000000000000000" + }, + "72a8260826294726a75bf39cd9aa9e07a3ea14cd": { + "balance": "2000000000000000000000" + }, + "4cb5c6cd713ca447b848ae2f56b761ca14d7ad57": { + "balance": "267400000000000000000" + }, + "49185dd7c23632f46c759473ebae966008cd3598": { + "balance": "254030000000000000000" + }, + "13d67a7e25f2b12cdb85585009f8acc49b967301": { + "balance": "1999944000000000000000" + }, + "9d913b5d339c95d87745562563fea98b23c60cc4": { + "balance": "170718000000000000000" + }, + "abdc9f1bcf4d19ee96591030e772c334302f7d83": { + "balance": "40110000000000000000000" + }, + "e9a5ae3c9e05977dd1069e9fd9d3aefbae04b8df": { + "balance": "1970000000000000000000" + }, + "1fd296be03ad737c92f9c6869e8d80a71c5714aa": { + "balance": "13370000000000000000" + }, + "2f13657526b177cad547c3908c840eff647b45d9": { + "balance": "1170685000000000000000" + }, + "e69fcc26ed225f7b2e379834c524d70c1735e5bc": { + "balance": "2000000000000000000000" + }, + "bade43599e02f84f4c3014571c976b13a36c65ab": { + "balance": "4000000000000000000000" + }, + "184a4f0beb71ffd558a6b6e8f228b78796c4cf3e": { + "balance": "12000000000000000000000" + }, + "d1de5aad3a5fd803f1b1aeb6103cb8e14fe723b7": { + "balance": "20000000000000000000" + }, + "0bd67dbde07a856ebd893b5edc4f3a5be4202616": { + "balance": "2000000000000000000000" + }, + "6b30f1823910b86d3acb5a6afc9defb6f3a30bf8": { + "balance": "4200000000000000000000" + }, + "9a63d185a79129fdab19b58bb631ea36a420544e": { + "balance": "42000000000000000000" + }, + "df660a91dab9f730f6190d50c8390561500756ca": { + "balance": "2000000000000000000000" + }, + "a1a1f0fa6d20b50a794f02ef52085c9d036aa6ca": { + "balance": "1000000000000000000000" + }, + "4ec768295eeabafc42958415e22be216cde77618": { + "balance": "59600000000000000000" + }, + "c348fc5a461323b57be303cb89361b991913df28": { + "balance": "100000000000000000000000" + }, + "3a7db224acae17de7798797d82cdf8253017dfa8": { + "balance": "5000000000000000000000" + }, + "8bea40379347a5c891d59a6363315640f5a7e07a": { + "balance": "1999992000000000000000" + }, + "2257fca16a6e5c2a647c3c29f36ce229ab93b17e": { + "balance": "4000000000000000000000" + }, + "e492818aa684e5a676561b725d42f3cc56ae5198": { + "balance": "800000000000000000000" + }, + "c841884fa4785fb773b28e9715fae99a5134305d": { + "balance": "2000000000000000000000" + }, + "0d9443a79468a5bbf7c13c6e225d1de91aee07df": { + "balance": "70000000000000000000" + }, + "6d4008b4a888a826f248ee6a0b0dfde9f93210b9": { + "balance": "5460000000000000000000" + }, + "884980eb4565c1048317a8f47fdbb461965be481": { + "balance": "3999922000000000000000" + }, + "985d70d207892bed398590024e2421b1cc119359": { + "balance": "20000000000000000000000" + }, + "d9ec8fe69b7716c0865af888a11b2b12f720ed33": { + "balance": "4000000000000000000000" + }, + "49b74e169265f01a89ec4c9072c5a4cd72e4e835": { + "balance": "16100000000000000000000" + }, + "4c3e95cc3957d252ce0bf0c87d5b4f2234672e70": { + "balance": "2500000000000000000000" + }, + "d9ff115d01266c9f73b063c1c238ef3565e63b36": { + "balance": "680000000000000000000" + }, + "48c5c6970b9161bb1c7b7adfed9cdede8a1ba864": { + "balance": "4000000000000000000000" + }, + "ea6afe2cc928ac8391eb1e165fc40040e37421e7": { + "balance": "2997569000000000000000" + }, + "08ccda50e4b26a0ffc0ef92e9205310706bec2c7": { + "balance": "6077440000000000000000" + }, + "e6e9a39d750fe994394eb68286e5ea62a6997882": { + "balance": "600000000000000000000" + }, + "4b58101f44f7e389e12d471d1635b71614fdd605": { + "balance": "160000000000000000000" + }, + "8d93dac785f88f1a84bf927d53652b45a154ccdd": { + "balance": "158000000000000000000" + }, + "415d096ab06293183f3c033d25f6cf7178ac3bc7": { + "balance": "40000000000000000000" + }, + "c3e387b03ce95ccfd7fa51dd840183bc43532809": { + "balance": "2000000000000000000000" + }, + "da34b2eae30bafe8daeccde819a794cd89e09549": { + "balance": "2000000000000000000000" + }, + "fa279bfd8767f956bf7fa0bd5660168da75686bd": { + "balance": "2674000000000000000000" + }, + "b98ca31785ef06be49a1e47e864f60d076ca472e": { + "balance": "4000000000000000000000" + }, + "b768b5234eba3a9968b34d6ddb481c8419b3655d": { + "balance": "14974000000000000000" + }, + "31047d703f63b93424fbbd6e2f1f9e74de13e709": { + "balance": "2850123000000000000000" + }, + "9a24ce8d485cc4c86e49deb39022f92c7430e67e": { + "balance": "1300000000000000000000" + }, + "e62f9d7c64e8e2635aeb883dd73ba684ee7c1079": { + "balance": "8000000000000000000000" + }, + "f15d9d5a21b1929e790371a17f16d95f0c69655c": { + "balance": "2000000000000000000000" + }, + "285ae51b9500c58d541365d97569f14bb2a3709b": { + "balance": "2000000000000000000000" + }, + "09c177f1ae442411ddacf187d46db956148360e7": { + "balance": "8950000000000000000000" + }, + "12173074980153aeaa4b0dcbc7132eadcec21b64": { + "balance": "240000000000000000000" + }, + "351f16e5e0735af56751b0e225b2421171394090": { + "balance": "13370000000000000000000" + }, + "ac52b77e15664814f39e4f271be641308d91d6cc": { + "balance": "220000000000000000000" + }, + "99c883258546cc7e4e971f522e389918da5ea63a": { + "balance": "4000000000000000000000" + }, + "aa16269aac9c0d803068d82fc79151dadd334b66": { + "balance": "4000000000000000000000" + }, + "7c9a110cb11f2598b2b20e2ca400325e41e9db33": { + "balance": "26000000000000000000000" + }, + "583e83ba55e67e13e0e76f8392d873cd21fbf798": { + "balance": "20000000000000000000" + }, + "555ebe84daa42ba256ea789105cec4b693f12f18": { + "balance": "100000000000000000000" + }, + "978c430ce4359b06bc2cdf5c2985fc950e50d5c8": { + "balance": "480000000000000000000" + }, + "dc1eb9b6e64351f56424509645f83e79eee76cf4": { + "balance": "4000000000000000000000" + }, + "5b290c01967c812e4dc4c90b174c1b4015bae71e": { + "balance": "149946000000000000000" + }, + "e7d213947fcb904ad738480b1eed2f5c329f27e8": { + "balance": "18718000000000000000" + }, + "c517d0315c878813c717e18cafa1eab2654e01da": { + "balance": "10000000000000000000000" + }, + "7e972a8a7c2a44c93b21436c38d21b9252c345fe": { + "balance": "1790000000000000000000" + }, + "9cb28ac1a20a106f7f373692c5ce4c73f13732a1": { + "balance": "1000000000000000000000" + }, + "14ab164b3b524c82d6abfbc0de831126ae8d1375": { + "balance": "2000000000000000000000" + }, + "d46f8223452982a1eea019a8816efc2d6fc00768": { + "balance": "137000000000000000000" + }, + "5cdc4708f14f40dcc15a795f7dc8cb0b7faa9e6e": { + "balance": "537000000000000000000" + }, + "66fdc9fee351fa1538eb0d87d819fcf09e7c106a": { + "balance": "6016500000000000000000" + }, + "e7be82c6593c1eeddd2ae0b15001ff201ab57b2f": { + "balance": "19100000000000000000" + }, + "47d20e6ae4cad3f829eac07e5ac97b66fdd56cf5": { + "balance": "1000000000000000000000" + }, + "0f2d8daf04b5414a0261f549ff6477b80f2f1d07": { + "balance": "200000000000000000000000" + }, + "84bfcef0491a0ae0694b37ceac024584f2aa0467": { + "balance": "1999944000000000000000" + }, + "ec5feafe210c12bfc9a5d05925a123f1e73fbef8": { + "balance": "456000000000000000000000" + }, + "7023c70956e04a92d70025aad297b539af355869": { + "balance": "2000000000000000000000" + }, + "d66ddf1159cf22fd8c7a4bc8d5807756d433c43e": { + "balance": "2200000000000000000000" + }, + "d0638ea57189a6a699024ad78c71d939c1c2ff8c": { + "balance": "2632000000000000000000" + }, + "70d25ed2c8ada59c088cf70dd22bf2db93acc18a": { + "balance": "1056600000000000000000" + }, + "a4875928458ec2005dbb578c5cd33580f0cf1452": { + "balance": "1000000000000000000000" + }, + "b5ad5157dda921e6bafacd9086ae73ae1f611d3f": { + "balance": "2000000000000000000000" + }, + "c493489e56c3bdd829007dc2f956412906f76bfa": { + "balance": "48968000000000000000" + }, + "c57612de91110c482e6f505bcd23f3c5047d1d61": { + "balance": "3580000000000000000000" + }, + "9b18478655a4851cc906e660feac61f7f4c8bffc": { + "balance": "4174120000000000000000" + }, + "b21b7979bf7c5ca01fa82dd640b41c39e6c6bc75": { + "balance": "1999944000000000000000" + }, + "a9d4a2bcbe5b9e0869d70f0fe2e1d6aacd45edc5": { + "balance": "198800000000000000000" + }, + "6f29bb375be5ed34ed999bb830ee2957dde76d16": { + "balance": "2000000000000000000000" + }, + "a006268446643ec5e81e7acb3f17f1c351ee2ed9": { + "balance": "4000000000000000000000" + }, + "42ddd014dc52bfbcc555325a40b516f4866a1dd3": { + "balance": "2000000000000000000000" + }, + "d6d6776958ee23143a81adadeb08382009e996c2": { + "balance": "3000000000000000000000" + }, + "d34e03d36a2bd4d19a5fa16218d1d61e3ffa0b15": { + "balance": "320000000000000000000" + }, + "dac0c177f11c5c3e3e78f2efd663d13221488574": { + "balance": "1000000000000000000000" + }, + "814135da8f9811075783bf1ab67062af8d3e9f40": { + "balance": "20000000000000000000" + }, + "7c3eb713c4c9e0381cd8154c7c9a7db8645cde17": { + "balance": "200000000000000000000" + }, + "f49c47b3efd86b6e6a5bc9418d1f9fec814b69ef": { + "balance": "20000000000000000000000" + }, + "35f1da127b83376f1b88c82a3359f67a5e67dd50": { + "balance": "1910000000000000000000" + }, + "44dfba50b829becc5f4f14d1b04aab3320a295e5": { + "balance": "1000000000000000000000" + }, + "0b924df007e9c0878417cfe63b976ea1a382a897": { + "balance": "40000000000000000000" + }, + "82438fd2b32a9bdd674b49d8cc5fa2eff9781847": { + "balance": "20000000000000000000" + }, + "794529d09d017271359730027075b87ad83dae6e": { + "balance": "310000000000000000000" + }, + "f4b49100757772f33c177b9a76ba95226c8f3dd8": { + "balance": "6700000000000000000000" + }, + "8563c49361b625e768771c96151dbfbd1c906976": { + "balance": "2000000000000000000000" + }, + "0b9df80fbe232009dacf0aa8cac59376e2476203": { + "balance": "2000000000000000000000" + }, + "149b6dbde632c19f5af47cb493114bebd9b03c1f": { + "balance": "12000000000000000000000" + }, + "d7a1431ee453d1e49a0550d1256879b4f5d10201": { + "balance": "1670000000000000000000" + }, + "1d37616b793f94911838ac8e19ee9449df921ec4": { + "balance": "1500000000000000000000" + }, + "d6670c036df754be43dadd8f50feea289d061fd6": { + "balance": "5988459000000000000000" + }, + "02778e390fa17510a3428af2870c4273547d386c": { + "balance": "16163700000000000000000" + }, + "b89f4632df5909e58b2a9964f74feb9a3b01e0c5": { + "balance": "21406707000000000000000" + }, + "76c27535bcb59ce1fa2d8c919cabeb4a6bba01d1": { + "balance": "2000000000000000000000" + }, + "36bf43ff35df90908824336c9b31ce33067e2f50": { + "balance": "346837200000000000000000" + }, + "b53bcb174c2518348b818aece020364596466ba3": { + "balance": "2000000000000000000000" + }, + "b4dd460cd016725a64b22ea4f8e06e06674e033e": { + "balance": "5370000000000000000000" + }, + "cda1741109c0265b3fb2bf8d5ec9c2b8a3346b63": { + "balance": "20000000000000000000" + }, + "feb8b8e2af716ae41fc7c04bcf29540156461e6b": { + "balance": "1555396000000000000000" + }, + "a49f523aa51364cbc7d995163d34eb590ded2f08": { + "balance": "2659160000000000000000" + }, + "a7e74f0bdb278ff0a805a648618ec52b166ff1be": { + "balance": "100000000000000000000" + }, + "5ead29037a12896478b1296ab714e9cb95428c81": { + "balance": "71500000000000000000" + }, + "cdecf5675433cdb0c2e55a68db5d8bbe78419dd2": { + "balance": "20000000000000000000" + }, + "c24ccebc2344cce56417fb684cf81613f0f4b9bd": { + "balance": "1550000000000000000000" + }, + "5a70106f20d63f875265e48e0d35f00e17d02bc9": { + "balance": "20000000000000000000" + }, + "2606c3b3b4ca1b091498602cb1978bf3b95221c0": { + "balance": "400000000000000000000" + }, + "1ad4563ea5786be1159935abb0f1d5879c3e7372": { + "balance": "6000000000000000000000" + }, + "b782bfd1e2de70f467646f9bc09ea5b1fcf450af": { + "balance": "267400000000000000000" + }, + "649a2b9879cd8fb736e6703b0c7747849796f10f": { + "balance": "7358102000000000000000" + }, + "1cc1d3c14f0fb8640e36724dc43229d2ea7a1e48": { + "balance": "1700000000000000000000" + }, + "824b3c3c443e19295d7ef6faa7f374a4798486a8": { + "balance": "20000000000000000000" + }, + "a7758cecb60e8f614cce96137ef72b4fbd07774a": { + "balance": "500000000000000000000" + }, + "981f712775c0dad97518ffedcb47b9ad1d6c2762": { + "balance": "6685000000000000000000" + }, + "26e801b62c827191dd68d31a011990947fd0ebe0": { + "balance": "20000000000000000000" + }, + "95447046313b2f3a5e19b948fd3b8bedc82c717c": { + "balance": "500000000000000000000" + }, + "0b701101a4109f9cb360dc57b77442673d5e5983": { + "balance": "2000000000000000000000" + }, + "5b25cae86dcafa2a60e7723631fc5fa49c1ad87d": { + "balance": "2491200000000000000000" + }, + "f73ac46c203be1538111b151ec8220c786d84144": { + "balance": "294515000000000000000" + }, + "e8c3d3b0e17f97d1e756e684f94e1470f99c95a1": { + "balance": "400000000000000000000" + }, + "8c900a8236b08c2b65405d39d75f20062a7561fd": { + "balance": "1640000000000000000000" + }, + "43898c49a34d509bfed4f76041ee91caf3aa6aa5": { + "balance": "300000000000000000000" + }, + "c85325eab2a59b3ed863c86a5f2906a04229ffa9": { + "balance": "465600000000000000000" + }, + "4a430170152de5172633dd8262d107a0afd96a0f": { + "balance": "3160000000000000000000" + }, + "6e0ee70612c976287d499ddfa6c0dcc12c06deea": { + "balance": "129980000000000000000" + }, + "21c07380484f6cbc8724ad32bc864c3b5ad500b7": { + "balance": "1000000000000000000000" + }, + "ff5162f2354dc492c75fd6e3a107268660eecb47": { + "balance": "1700000000000000000000" + }, + "8845e9f90e96336bac3c616be9d88402683e004c": { + "balance": "2000000000000000000000" + }, + "f23c7b0cb8cd59b82bd890644a57daf40c85e278": { + "balance": "50038000000000000000" + }, + "1784948bf99848c89e445638504dd698271b5924": { + "balance": "6037580000000000000000" + }, + "b39f4c00b2630cab7db7295ef43d47d501e17fd7": { + "balance": "4000000000000000000000" + }, + "3fb7d197b3ba4fe045efc23d50a14585f558d9b2": { + "balance": "20000000000000000000" + }, + "bd043b67c63e60f841ccca15b129cdfe6590c8e3": { + "balance": "200000000000000000000" + }, + "86ca0145957e6b0dfe36875fbe7a0dec55e17a28": { + "balance": "10000000000000000000000" + }, + "dae7201eab8c063302930d693929d07f95e71962": { + "balance": "2687370000000000000000" + }, + "cc034985d3f28c2d39b1a34bced4d3b2b6ca234e": { + "balance": "182000000000000000000" + }, + "40e0dbf3efef9084ea1cd7e503f40b3b4a8443f6": { + "balance": "4000000000000000000000" + }, + "b1896a37e5d8825a2d01765ae5de629977de8352": { + "balance": "200000000000000000000" + }, + "d9f547f2c1de0ed98a53d161df57635dd21a00bd": { + "balance": "98500000000000000000" + }, + "2fea1b2f834f02fc54333f8a809f0438e5870aa9": { + "balance": "20200000000000000000" + }, + "68b31836a30a016ada157b638ac15da73f18cfde": { + "balance": "26000000000000000000" + }, + "bc967fe4418c18b99858966d870678dca2b88879": { + "balance": "8740000000000000000000" + }, + "16bae5d24eff91778cd98b4d3a1cc3162f44aa77": { + "balance": "401100000000000000000" + }, + "f476e1267f86247cc908816f2e7ad5388c952db0": { + "balance": "4000000000000000000000" + }, + "0203ae01d4c41cae1865e04b1f5b53cdfaecae31": { + "balance": "1006054000000000000000" + }, + "bd4bd5b122d8ef7b7c8f0667450320db2116142e": { + "balance": "600000000000000000000" + }, + "a394ad4fd9e6530e6f5c53faecbede81cb172da1": { + "balance": "5600000000000000000000" + }, + "3a9960266df6492063538a99f487c950a3a5ec9e": { + "balance": "24000000000000000000000" + }, + "d8069f84b521493f4715037f3226b25f33b60586": { + "balance": "1910000000000000000000" + }, + "136c834bf111326d207395295b2e583ea7f33572": { + "balance": "100000000000000000000" + }, + "c5c73d61cce7c8fe4c8fce29f39092cd193e0fff": { + "balance": "8000000000000000000000" + }, + "3cfbf066565970639e130df2a7d16b0e14d6091c": { + "balance": "1700000000000000000000" + }, + "61b905de663fc17386523b3a28e2f7d037a655cd": { + "balance": "500000000000000000000" + }, + "fda0ce15330707f10bce3201172d2018b9ddea74": { + "balance": "51900000000000000000" + }, + "f7fc45abf76f5088e2e5b5a8d132f28a4d4ec1c0": { + "balance": "2000000000000000000000" + }, + "c3db9fb6f46c480af34465d79753b4e2b74a67ce": { + "balance": "20000000000000000000000" + }, + "ebe46cc3c34c32f5add6c3195bb486c4713eb918": { + "balance": "1000000000000000000000" + }, + "91d2a9ee1a6db20f5317cca7fbe2313895db8ef8": { + "balance": "8499600000000000000000" + }, + "c4cc45a2b63c27c0b4429e58cd42da59be739bd6": { + "balance": "1000000000000000000000" + }, + "a43b81f99356c0af141a03010d77bd042c71c1ee": { + "balance": "2000000000000000000000" + }, + "4c45d4c9a725d11112bfcbca00bf31186ccaadb7": { + "balance": "400000000000000000000" + }, + "bf9f271f7a7e12e36dd2fe9facebf385fe6142bd": { + "balance": "62760000000000000000" + }, + "e0ce80a461b648a501fd0b824690c8868b0e4de8": { + "balance": "500000000000000000000" + }, + "a1f7dde1d738d8cd679ea1ee965bee224be7d04d": { + "balance": "1127000000000000000000" + }, + "7f1c81ee1697fc144b7c0be5493b5615ae7fddca": { + "balance": "500200000000000000000" + }, + "b508f987b2de34ae4cf193de85bff61389621f88": { + "balance": "6000000000000000000000" + }, + "5f26cf34599bc36ea67b9e7a9f9b4330c9d542a3": { + "balance": "1000000000000000000000" + }, + "d02108d2ae3cab10cbcf1657af223e027c8210f6": { + "balance": "2000140000000000000000" + }, + "952183cfd38e352e579d36decec5b18450f7fba0": { + "balance": "2000000000000000000000" + }, + "eb90c793b3539761e1c814a29671148692193eb4": { + "balance": "12000000000000000000000" + }, + "1076212d4f758c8ec7121c1c7d74254926459284": { + "balance": "35000056000000000000000" + }, + "f05ceeab65410564709951773c8445ad9f4ec797": { + "balance": "299982000000000000000" + }, + "05361d8eb6941d4e90fb7e1418a95a32d5257732": { + "balance": "20000000000000000000" + }, + "a5783bf33432ff82ac498985d7d460ae67ec3673": { + "balance": "1820000000000000000000" + }, + "b1cd4bdfd104489a026ec99d597307a04279f173": { + "balance": "20000000000000000000000" + }, + "876c3f218b4776df3ca9dbfb270de152d94ed252": { + "balance": "100000000000000000000" + }, + "8a36869ad478997cbf6d8924d20a3c8018e9855b": { + "balance": "20000000000000000000" + }, + "fb3fe09bb836861529d7518da27635f538505615": { + "balance": "1399904000000000000000" + }, + "d093e829819fd2e25b973800bb3d5841dd152d05": { + "balance": "4000000000000000000000" + }, + "126d91f7ad86debb0557c612ca276eb7f96d00a1": { + "balance": "100000000000000000000" + }, + "2a81d27cb6d4770ff4f3c4a3ba18e5e57f07517c": { + "balance": "2000000000000000000000" + }, + "c4f7b13ac6d4eb4db3d4e6a252af8a07bd5957da": { + "balance": "200000000000000000000" + }, + "305d26c10bdc103f6b9c21272eb7cb2d9108c47e": { + "balance": "500000000000000000000" + }, + "d0d0a2ad45f59a9dccc695d85f25ca46ed31a5a3": { + "balance": "840000000000000000000" + }, + "522323aad71dbc96d85af90f084b99c3f09decb7": { + "balance": "6000000000000000000000" + }, + "f43da3a4e3f5fab104ca9bc1a0f7f3bb4a56f351": { + "balance": "1999944000000000000000" + }, + "a2dc65ee256b59a5bd7929774f904b358df3ada1": { + "balance": "21319600000000000000000" + }, + "f382df583155d8548f3f93440cd5f68cb79d6026": { + "balance": "266619800000000000000000" + }, + "0c967e3061b87a753e84507eb60986782c8f3013": { + "balance": "100000000000000000000" + }, + "a3a262afd2936819230892fde84f2d5a594ab283": { + "balance": "1880000000000000000000" + }, + "93868ddb2a794d02ebda2fa4807c76e3609858dc": { + "balance": "2027851000000000000000" + }, + "cd35ff010ec501a721a1b2f07a9ca5877dfcf95a": { + "balance": "4011000000000000000000" + }, + "5824a7e22838277134308c5f4b50dab65e43bb31": { + "balance": "6000000000000000000000" + }, + "7f7a3a21b3f5a65d81e0fcb7d52dd00a1aa36dba": { + "balance": "100000000000000000000" + }, + "30513fca9f36fd788cfea7a340e86df98294a244": { + "balance": "447000000000000000000" + }, + "283e6252b4efcf4654391acb75f903c59b78c5fb": { + "balance": "12000000000000000000000" + }, + "eddbaafbc21be8f25562f1ed6d05d6afb58f02c2": { + "balance": "2000000000000000000000" + }, + "0dcfe837ea1cf28c65fccec3bef1f84e59d150c0": { + "balance": "200000000000000000000" + }, + "828ba651cb930ed9787156299a3de44cd08b7212": { + "balance": "1337000000000000000000" + }, + "cfd47493c9f89fe680bda5754dd7c9cfe7cb5bbe": { + "balance": "54508000000000000000" + }, + "0e89eddd3fa0d71d8ab0ff8da5580686e3d4f74f": { + "balance": "2000000000000000000000" + }, + "205f5166f12440d85762c967d3ae86184f8f4d98": { + "balance": "432500000000000000000" + }, + "25dad495a11a86b9eeece1eeec805e57f157faff": { + "balance": "16000000000000000000000" + }, + "6c84cba77c6db4f7f90ef13d5ee21e8cfc7f8314": { + "balance": "2000000000000000000000" + }, + "91a787bc5196f34857fe0c372f4df376aaa76613": { + "balance": "2000000000000000000000" + }, + "b0d3c9872b85056ea0c0e6d1ecf7a77e3ce6ab85": { + "balance": "4999711000000000000000" + }, + "6e4d2e39c8836629e5b487b1918a669aebdd9536": { + "balance": "1000000000000000000000" + }, + "dc703a5f3794c84d6cb3544918cae14a35c3bd4f": { + "balance": "1850000000000000000000" + }, + "47beb20f759100542aa93d41118b3211d664920e": { + "balance": "2000000000000000000000" + }, + "5a7735007d70b06844da9901cdfadb11a2582c2f": { + "balance": "6000000000000000000000" + }, + "aff107960b7ec34ed690b665024d60838c190f70": { + "balance": "500000000000000000000" + }, + "563a03ab9c56b600f6d25b660c21e16335517a75": { + "balance": "1000000000000000000000" + }, + "a106465bbd19e1b6bce50d1b1157dc59095a3630": { + "balance": "2000000000000000000000" + }, + "ca9dec02841adf5cc920576a5187edd2bd434a18": { + "balance": "500000000000000000000" + }, + "572ac1aba0de23ae41a7cae1dc0842d8abfc103b": { + "balance": "1910000000000000000000" + }, + "5f74ed0e24ff80d9b2c4a44baa9975428cd6b935": { + "balance": "2980000000000000000000" + }, + "f2049532fd458a83ca1bff2eebacb6d5ca63f4a4": { + "balance": "3625693000000000000000" + }, + "cee699c0707a7836252b292f047ce8ad289b2f55": { + "balance": "324700000000000000000" + }, + "8b3696f3c60de32432a2e4c395ef0303b7e81e75": { + "balance": "30000000000000000000000" + }, + "13dee03e3799952d0738843d4be8fc0a803fb20e": { + "balance": "2000000000000000000000" + }, + "c853215b9b9f2d2cd0741e585e987b5fb80c212e": { + "balance": "1550000000000000000000" + }, + "851c0d62be4635d4777e8035e37e4ba8517c6132": { + "balance": "500000000000000000000" + }, + "a76b743f981b693072a131b22ba510965c2fefd7": { + "balance": "18200000000000000000" + }, + "69bd25ade1a3346c59c4e930db2a9d715ef0a27a": { + "balance": "4000000000000000000000" + }, + "0fec4ee0d7ca180290b6bd20f9992342f60ff68d": { + "balance": "334383000000000000000" + }, + "ccfd725760a68823ff1e062f4cc97e1360e8d997": { + "balance": "399800000000000000000" + }, + "9f017706b830fb9c30efb0a09f506b9157457534": { + "balance": "2000000000000000000000" + }, + "420fb86e7d2b51401fc5e8c72015decb4ef8fc2e": { + "balance": "1000000000000000000000" + }, + "cb7d2b8089e9312cc9aeaa2773f35308ec6c2a7b": { + "balance": "10000000000000000000000" + }, + "6c822029218ac8e98a260c1e064029348839875b": { + "balance": "5010000000000000000000" + }, + "1c68a66138783a63c98cc675a9ec77af4598d35e": { + "balance": "50100000000000000000" + }, + "f270792576f05d514493ffd1f5e84bec4b2df810": { + "balance": "1000000000000000000000" + }, + "9191f94698210516cf6321a142070e20597674ed": { + "balance": "17194000000000000000" + }, + "c0ca3277942e7445874be31ceb902972714f1823": { + "balance": "250000000000000000000" + }, + "35e096120deaa5c1ecb1645e2ccb8b4edbd9299a": { + "balance": "500000000000000000000" + }, + "e2bbf84641e3541f6c33e6ed683a635a70bde2ec": { + "balance": "502763000000000000000" + }, + "d12d77ae01a92d35117bac705aacd982d02e74c1": { + "balance": "1000000000000000000000" + }, + "dabb0889fc042926b05ef57b2520910abc4b4149": { + "balance": "2000000000000000000000" + }, + "5a1a336962d6e0c63031cc83c6a5c6a6f4478ecb": { + "balance": "1000000000000000000000" + }, + "abd154903513b8da4f019f68284b0656a1d0169b": { + "balance": "1000000000000000000000" + }, + "ad377cd25eb53e83ae091a0a1d2b4516f484afde": { + "balance": "1940000000000000000000" + }, + "08c2f236ac4adcd3fda9fbc6e4532253f9da3bec": { + "balance": "20000000000000000000" + }, + "71135d8f05963c905a4a07922909235a896a52ea": { + "balance": "3000000000000000000000" + }, + "080546508a3d2682c8b9884f13637b8847b44db3": { + "balance": "2000000000000000000000" + }, + "2d61bfc56873923c2b00095dc3eaa0f590d8ae0f": { + "balance": "20760000000000000000000" + }, + "cbfa6af6c283b046e2772c6063b0b21553c40106": { + "balance": "2000000000000000000000" + }, + "ccabc6048a53464424fcf76eeb9e6e1801fa23d4": { + "balance": "49250000000000000000" + }, + "60cc3d445ebdf76a7d7ae571c6971dff68cc8585": { + "balance": "1000000000000000000000" + }, + "fff33a3bd36abdbd412707b8e310d6011454a7ae": { + "balance": "8000000000000000000000" + }, + "d2dbebe89b0357aea98bbe8e496338debb28e805": { + "balance": "4000000000000000000000" + }, + "5f521282e9b278dc8c034c72af53ee29e5443d78": { + "balance": "6520000000000000000000" + }, + "c5a48a8500f9b4e22f0eb16c6f4649687674267d": { + "balance": "812721000000000000000" + }, + "8cb3aa3fcd212854d7578fcc30fdede6742a312a": { + "balance": "300000000000000000000" + }, + "90d2809ae1d1ffd8f63eda01de49dd552df3d1bc": { + "balance": "3998000000000000000000" + }, + "96a55f00dff405dc4de5e58c57f6f6f0cac55d2f": { + "balance": "1962711000000000000000" + }, + "ae842e81858ecfedf6506c686dc204ac15bf8b24": { + "balance": "40000000000000000000" + }, + "0be6a09e4307fe48d412b8d1a1a8284dce486261": { + "balance": "19180000000000000000000" + }, + "c9c7ac0bdd9342b5ead4360923f68c72a6ba633a": { + "balance": "500000000000000000000" + }, + "ea8f30b6e4c5e65290fb9864259bc5990fa8ee8a": { + "balance": "20000000000000000000" + }, + "74d37a51747bf8b771bfbf43943933d100d21483": { + "balance": "1000000000000000000000" + }, + "1a04d5389eb006f9ce880c30d15353f8d11c4b31": { + "balance": "17072800000000000000000" + }, + "726a14c90e3f84144c765cffacba3e0df11b48be": { + "balance": "10000000000000000000000" + }, + "86b7bd563ceab686f96244f9ddc02ad7b0b14bc2": { + "balance": "10000000000000000000000" + }, + "2bbe672a1857508f630f2a5edb563d9e9de92815": { + "balance": "2000000000000000000000" + }, + "a17070c2e9c5a940a4ec0e4954c4d7d643be8f49": { + "balance": "1999965000000000000000" + }, + "f2d1b7357724ec4c03185b879b63f57e26589153": { + "balance": "6000000000000000000000" + }, + "d6a7ac4de7b510f0e8de519d973fa4c01ba83400": { + "balance": "1880000000000000000000" + }, + "593b45a1864ac5c7e8f0caaeba0d873cd5d113b2": { + "balance": "6000000000000000000000" + }, + "0837539b5f6a522a482cdcd3a9bb7043af39bdd2": { + "balance": "6000000000000000000000" + }, + "b927abd2d28aaaa24db31778d27419df8e1b04bb": { + "balance": "27531000000000000000" + }, + "b2e085fddd1468ba07415b274e734e11237fb2a9": { + "balance": "100000000000000000000" + }, + "970938522afb5e8f994873c9fbdc26e3b37e314c": { + "balance": "1000000000000000000000" + }, + "f3de5f26ef6aded6f06d3b911346ee70401da4a0": { + "balance": "354718000000000000000" + }, + "bffb6929241f788693273e7022e60e3eab1fe84f": { + "balance": "2000000000000000000000" + }, + "b56ad2aec6c8c3f19e1515bbb7dd91285256b639": { + "balance": "1000000000000000000000" + }, + "47730f5f8ebf89ac72ef80e46c12195038ecdc49": { + "balance": "3160000000000000000000" + }, + "f39a9d7aa3581df07ee4279ae6c312ef21033658": { + "balance": "4000000000000000000000" + }, + "36227cdfa0fd3b9d7e6a744685f5be9aa366a7f0": { + "balance": "198479000000000000000" + }, + "89e3b59a15864737d493c1d23cc53dbf8dcb1362": { + "balance": "4000000000000000000000" + }, + "bd08e0cddec097db7901ea819a3d1fd9de8951a2": { + "balance": "20000000000000000000" + }, + "533444584082eba654e1ad30e149735c6f7ba922": { + "balance": "1730000000000000000000" + }, + "6a8a4317c45faa0554ccdb482548183e295a24b9": { + "balance": "1000000000000000000000" + }, + "22ce349159eeb144ef06ff2636588aef79f62832": { + "balance": "188000000000000000000" + }, + "3cd1d9731bd548c1dd6fcea61beb75d91754f7d3": { + "balance": "5130285000000000000000" + }, + "8b7056f6abf3b118d026e944d5c073433ca451d7": { + "balance": "999999000000000000000" + }, + "15f1b352110d68901d8f67aac46a6cfafe031477": { + "balance": "200000000000000000000" + }, + "0f789e30397c53bf256fc364e6ef39f853504114": { + "balance": "3640000000000000000000" + }, + "750bbb8c06bbbf240843cc75782ee02f08a97453": { + "balance": "835000000000000000000" + }, + "fff7ac99c8e4feb60c9750054bdc14ce1857f181": { + "balance": "1000000000000000000000" + }, + "5c6f36af90ab1a656c6ec8c7d521512762bba3e1": { + "balance": "1999800000000000000000" + }, + "6811b54cd19663b11b94da1de2448285cd9f68d9": { + "balance": "1100000000000000000000" + }, + "6f50929777824c291a49c46dc854f379a6bea080": { + "balance": "360000000000000000000" + }, + "e83604e4ff6be7f96f6018d3ec3072ec525dff6b": { + "balance": "182000000000000000000" + }, + "d731bb6b5f3c37395e09ceaccd14a918a6060789": { + "balance": "3940000000000000000000" + }, + "372e453a6b629f27678cc8aeb5e57ce85ec0aef9": { + "balance": "200000000000000000000" + }, + "86924fb211aad23cf5ce600e0aae806396444087": { + "balance": "10000000000000000000000" + }, + "18c6723a6753299cb914477d04a3bd218df8c775": { + "balance": "1000000000000000000000" + }, + "e00484788db50fc6a48e379d123e508b0f6e5ab1": { + "balance": "1000000000000000000000" + }, + "150e3dbcbcfc84ccf89b73427763a565c23e60d0": { + "balance": "40000000000000000000" + }, + "8ffa062122ac307418821adb9311075a3703bfa3": { + "balance": "1000000000000000000000" + }, + "21206ce22ea480e85940d31314e0d64f4e4d3a04": { + "balance": "1000000000000000000000" + }, + "ac024f594f9558f04943618eb0e6b2ee501dc272": { + "balance": "2000000000000000000000" + }, + "b2b7cdb4ff4b61d5b7ce0b2270bbb5269743ec04": { + "balance": "2000000000000000000000" + }, + "abc74706964960dfe0dca3dca79e9216056f1cf4": { + "balance": "40000000000000000000000" + }, + "d7eb903162271c1afa35fe69e37322c8a4d29b11": { + "balance": "10000000000000000000000" + }, + "d7c6265dea11876c903b718e4cd8ab24fe265bde": { + "balance": "2000000000000000000000" + }, + "cba288cd3c1eb4d59ddb06a6421c14c345a47b24": { + "balance": "4000000000000000000000" + }, + "8c22426055b76f11f0a2de1a7f819a619685fe60": { + "balance": "1980000000000000000000" + }, + "f463a90cb3f13e1f0643423636beab84c123b06d": { + "balance": "40000000000000000000" + }, + "2b5ced9987c0765f900e49cf9da2d9f9c1138855": { + "balance": "400000000000000000000" + }, + "9bb760d5c289a3e1db18db095345ca413b9a43c2": { + "balance": "197000000000000000000" + }, + "d66ab79294074c8b627d842dab41e17dd70c5de5": { + "balance": "1000000000000000000000" + }, + "0bdd58b96e7c916dd2fb30356f2aebfaaf1d8630": { + "balance": "2000000000000000000000" + }, + "d612597bc31743c78633f633f239b1e9426bd925": { + "balance": "76000000000000000000000" + }, + "140518a3194bad1350b8949e650565debe6db315": { + "balance": "2000000000000000000000" + }, + "daedd4ad107b271e89486cbf80ebd621dd974578": { + "balance": "2000000000000000000000" + }, + "c36c0b63bfd75c2f8efb060883d868cccd6cbdb4": { + "balance": "3000000000000000000000" + }, + "e646665872e40b0d7aa2ff82729caaba5bc3e89e": { + "balance": "400000000000000000000" + }, + "b5fb7ea2ddc1598b667a9d57dd39e85a38f35d56": { + "balance": "500000000000000000000" + }, + "e51421f8ee2210c71ed870fe618276c8954afbe9": { + "balance": "1337000000000000000000" + }, + "08a9a44e1f41de3dbba7a363a3ab412c124cd15e": { + "balance": "200000000000000000000" + }, + "562bced38ab2ab6c080f3b0541b8456e70824b3f": { + "balance": "641760000000000000000" + }, + "1e484d0621f0f5331b35d5408d9aae4eb1acf21e": { + "balance": "20000000000000000000" + }, + "3a476bd2c9e664c63ab266aa4c6e4a4825f516c3": { + "balance": "200000000000000000000" + }, + "8d6df209484d7b94702b03a53e56b9fb0660f6f0": { + "balance": "2000000000000000000000" + }, + "5970fb1b144dd751e4ce2eca7caa20e363dc4da3": { + "balance": "10000000000000000000000" + }, + "d1dd79fb158160e5b4e8e23f312e6a907fbc4d4e": { + "balance": "500000000000000000000" + }, + "7ee5ca805dce23af89c2d444e7e40766c54c7404": { + "balance": "240660000000000000000" + }, + "93e0f37ecdfb0086e3e862a97034447b1e4dec1a": { + "balance": "30000000000000000000" + }, + "e10ac19c546fc2547c61c139f5d1f45a6666d5b0": { + "balance": "4775000000000000000000" + }, + "1c73d00b6e25d8eb9c1ff4ad827b6b9e9cf6d20c": { + "balance": "200000000000000000000" + }, + "d771d9e0ca8a08a113775731434eb3270599c40d": { + "balance": "20000000000000000000" + }, + "e69d1c378b771e0feff051db69d966ac6779f4ed": { + "balance": "553000000000000000000" + }, + "0ef85b49d08a75198692914eddb4b22cf5fa4450": { + "balance": "2004800000000000000000" + }, + "ed70a37cdd1cbda9746d939658ae2a6181288578": { + "balance": "9600000000000000000000" + }, + "eee761847e33fd61d99387ee14628694d1bfd525": { + "balance": "2000000000000000000000" + }, + "271d3d481cb88e7671ad216949b6365e06303de0": { + "balance": "4000000000000000000000" + }, + "5255dc69155a45b970c604d30047e2f530690e7f": { + "balance": "20000000000000000000" + }, + "cabab6274ed15089737e287be878b757934864e2": { + "balance": "20000000000000000000000" + }, + "9defe56a0ff1a1947dba0923f7dd258d8f12fa45": { + "balance": "26880000000000000000000" + }, + "b7a2c103728b7305b5ae6e961c94ee99c9fe8e2b": { + "balance": "50000000000000000000000" + }, + "b498bb0f520005b6216a4425b75aa9adc52d622b": { + "balance": "4000000000000000000000" + }, + "c1132878235c5ddba5d9f3228b5236e47020dc6f": { + "balance": "1000000000000000000000" + }, + "f81622e55757daea6675975dd93538da7d16991e": { + "balance": "2000000000000000000000" + }, + "ce2deab51c0a9ae09cd212c4fa4cc52b53cc0dec": { + "balance": "2000000000000000000000" + }, + "86a1eadeeb30461345d9ef6bd05216fa247c0d0c": { + "balance": "2000000000000000000000" + }, + "7b1fe1ab4dfd0088cdd7f60163ef59ec2aee06f5": { + "balance": "2000000000000000000000" + }, + "6bbc3f358a668dd1a11f0380f3f73108426abd4a": { + "balance": "4000000000000000000000" + }, + "b1e6e810c24ab0488de9e01e574837829f7c77d0": { + "balance": "400000000000000000000" + }, + "03eb3cb860f6028da554d344a2bb5a500ae8b86f": { + "balance": "2000000000000000000000" + }, + "e5481a7fed42b901bbed20789bd4ade50d5f83b9": { + "balance": "2000000000000000000000" + }, + "1f3da68fe87eaf43a829ab6d7ec5a6e009b204fb": { + "balance": "554988000000000000000" + }, + "30037988702671acbe892c03fe5788aa98af287a": { + "balance": "2800000000000000000000" + }, + "edb473353979a206879de144c10a3c51d7d7081a": { + "balance": "6000000000000000000000" + }, + "22bdffc240a88ff7431af3bff50e14da37d5183e": { + "balance": "1000000000000000000000" + }, + "9374869d4a9911ee1eaf558bc4c2b63ec63acfdd": { + "balance": "1000000000000000000000" + }, + "b756ad52f3bf74a7d24c67471e0887436936504c": { + "balance": "20000000000000000000000" + }, + "8bd0b65a50ef5cef84fec420be7b89ed1470ceb9": { + "balance": "11999000000000000000000" + }, + "af26f7c6bf453e2078f08953e4b28004a2c1e209": { + "balance": "100000000000000000000" + }, + "7c532db9e0c06c26fd40acc56ac55c1ee92d3c3a": { + "balance": "300000000000000000000000" + }, + "dde670d01639667576a22dd05d3246d61f06e083": { + "balance": "26740000000000000000" + }, + "5cf44e10540d65716423b1bcb542d21ff83a94cd": { + "balance": "10000000000000000000000" + }, + "f96b4c00766f53736a8574f822e6474c2f21da2d": { + "balance": "400000000000000000000" + }, + "8d89170b92b2be2c08d57c48a7b190a2f146720f": { + "balance": "19700000000000000000000" + }, + "142b87c5043ffb5a91df18c2e109ced6fe4a71db": { + "balance": "200000000000000000000" + }, + "42d34940edd2e7005d46e2188e4cfece8311d74d": { + "balance": "158000000000000000000" + }, + "562105e82b099735de49f62692cc87cd38a8edcd": { + "balance": "6000000000000000000000" + }, + "457bcef37dd3d60b2dd019e3fe61d46b3f1e7252": { + "balance": "20000000000000000000" + }, + "cf8882359c0fb23387f5674074d8b17ade512f98": { + "balance": "6000000000000000000000" + }, + "f0c081da52a9ae36642adf5e08205f05c54168a6": { + "balance": "111000000000000000000" + }, + "551e7784778ef8e048e495df49f2614f84a4f1dc": { + "balance": "600000000000000000000" + }, + "3c869c09696523ced824a070414605bb76231ff2": { + "balance": "1000000000000000000000" + }, + "7e7f18a02eccaa5d61ab8fbf030343c434a25ef7": { + "balance": "66850000000000000000" + }, + "9328d55ccb3fce531f199382339f0e576ee840a3": { + "balance": "4000000000000000000000" + }, + "9d0f347e826b7dceaad279060a35c0061ecf334b": { + "balance": "4000000000000000000000" + }, + "680640838bd07a447b168d6d923b90cf6c43cdca": { + "balance": "1730000000000000000000" + }, + "c951900c341abbb3bafbf7ee2029377071dbc36a": { + "balance": "327600000000000000000" + }, + "ddf5810a0eb2fb2e32323bb2c99509ab320f24ac": { + "balance": "17900000000000000000000" + }, + "2489ac126934d4d6a94df08743da7b7691e9798e": { + "balance": "1000000000000000000000" + }, + "f42f905231c770f0a406f2b768877fb49eee0f21": { + "balance": "197000000000000000000" + }, + "756f45e3fa69347a9a973a725e3c98bc4db0b5a0": { + "balance": "200000000000000000000" + } + } +} From 168c97c86ad6c939dcb100008907722e8e378ee3 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Thu, 30 Jan 2020 12:12:01 +0300 Subject: [PATCH 274/342] npm rebuild node-sass --- .circleci/config.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8ffa05c4d4..b76edbf94d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -63,6 +63,10 @@ jobs: command: npm install working_directory: "apps/block_scout_web/assets" + - run: + command: npm rebuild node-sass + working_directory: "apps/block_scout_web/assets" + - save_cache: key: v7-npm-install-{{ .Branch }}-{{ checksum "apps/block_scout_web/assets/package-lock.json" }} paths: "apps/block_scout_web/assets/node_modules" From ee99a3a9044ccb6cb88ebead07d1204b09d5a716 Mon Sep 17 00:00:00 2001 From: varasev <33550681+varasev@users.noreply.github.com> Date: Fri, 31 Jan 2020 08:59:25 +0300 Subject: [PATCH 275/342] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b13d14555e..e933805af6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#2918](https://github.com/poanetwork/blockscout/pull/2918) - Add tokenID for tokentx API action explicitly ### Fixes +- [#2950](https://github.com/poanetwork/blockscout/pull/2950) - Add `creationMethod` to `EthereumJSONRPC.Parity.Trace.Action.entry_to_elixir` - [#2934](https://github.com/poanetwork/blockscout/pull/2934) - RSK release 1.2.0 breaking changes support - [#2933](https://github.com/poanetwork/blockscout/pull/2933) - Get rid of deadlock in the query to address_current_token_balance table - [#2932](https://github.com/poanetwork/blockscout/pull/2932) - fix duplicate websocket connection From 0c1b4c8379442ef83dd6f39562c8cb40807995c9 Mon Sep 17 00:00:00 2001 From: varasev <33550681+varasev@users.noreply.github.com> Date: Fri, 31 Jan 2020 09:02:06 +0300 Subject: [PATCH 276/342] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b7140c59d..042dfac7a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Fixes - [#2989](https://github.com/poanetwork/blockscout/pull/2989) - Introduce API_PATH env var - [#2988](https://github.com/poanetwork/blockscout/pull/2988) - Fix web manifest accessibility +- [#2950](https://github.com/poanetwork/blockscout/pull/2950) - Add `creationMethod` to `EthereumJSONRPC.Parity.Trace.Action.entry_to_elixir` - [#2897](https://github.com/poanetwork/blockscout/pull/2897) - remove duplicate indexes ### Chore @@ -25,7 +26,6 @@ - [#2960](https://github.com/poanetwork/blockscout/pull/2960) - Add BLOCKSCOUT_HOST to docker setup - [#2956](https://github.com/poanetwork/blockscout/pull/2956) - Add support of 0.6.x version of compiler - [#2955](https://github.com/poanetwork/blockscout/pull/2955) - Move socket path to env -- [#2950](https://github.com/poanetwork/blockscout/pull/2950) - Add `creationMethod` to `EthereumJSONRPC.Parity.Trace.Action.entry_to_elixir` - [#2938](https://github.com/poanetwork/blockscout/pull/2938) - utf8 copy tx input tooltip - [#2934](https://github.com/poanetwork/blockscout/pull/2934) - RSK release 1.2.0 breaking changes support - [#2933](https://github.com/poanetwork/blockscout/pull/2933) - Get rid of deadlock in the query to address_current_token_balance table From 4219c71cb201b9029ec1706c720448bb4cb18007 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 31 Jan 2020 19:29:00 +0300 Subject: [PATCH 277/342] Fix path definition for contract verification endpoint --- CHANGELOG.md | 4 ++-- .../lib/block_scout_web/router.ex | 18 +++++++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 283fb93df2..800755e268 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,8 @@ ### Features ### Fixes - -- [#2897]( https://github.com/poanetwork/blockscout/pull/2897) - remove duplicate indexes +- [#2993](https://github.com/poanetwork/blockscout/pull/2993) - Fix path definition for contract verification endpoint +- [#2897](https://github.com/poanetwork/blockscout/pull/2897) - remove duplicate indexes ### Chore diff --git a/apps/block_scout_web/lib/block_scout_web/router.ex b/apps/block_scout_web/lib/block_scout_web/router.ex index e654e1729c..c8eb33f4ea 100644 --- a/apps/block_scout_web/lib/block_scout_web/router.ex +++ b/apps/block_scout_web/lib/block_scout_web/router.ex @@ -54,10 +54,22 @@ defmodule BlockScoutWeb.Router do get("/eth_rpc_api_docs", APIDocsController, :eth_rpc) end - scope "/verify_smart_contract" do - pipe_through(:api) + url_params = Application.get_env(:block_scout_web, BlockScoutWeb.Endpoint)[:url] + api_path = url_params[:api_path] + path = url_params[:path] - post("/contract_verifications", BlockScoutWeb.AddressContractVerificationController, :create) + if path != api_path do + scope to_string(api_path) <> "/verify_smart_contract" do + pipe_through(:api) + + post("/contract_verifications", BlockScoutWeb.AddressContractVerificationController, :create) + end + else + scope "/verify_smart_contract" do + pipe_through(:api) + + post("/contract_verifications", BlockScoutWeb.AddressContractVerificationController, :create) + end end if Application.get_env(:block_scout_web, WebRouter)[:enabled] do From 98beea02b584ec89c6f929ba462c306c1abab7f2 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Mon, 3 Feb 2020 14:37:49 +0300 Subject: [PATCH 278/342] Fix typo and support API_PATH env var --- CHANGELOG.md | 1 + docker/Makefile | 131 +++++++++++++++++++++++++----------------------- 2 files changed, 68 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9dda9f4a4d..57a0bf0833 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - [#2897](https://github.com/poanetwork/blockscout/pull/2897) - remove duplicate indexes ### Chore +- [#2995](https://github.com/poanetwork/blockscout/pull/2995) - Support API_PATH env var in Docker file ## 3.0.0-beta diff --git a/docker/Makefile b/docker/Makefile index 7f23069c15..7308adf75b 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -11,190 +11,193 @@ ifeq ($(SYSTEM), Linux) endif DB_URL = postgresql://postgres:@$(HOST):5432/explorer?ssl=false -BLOCKSCOUT_CONTAINNER_PARAMS = -e 'MIX_ENV=prod' \ +BLOCKSCOUT_CONTAINER_PARAMS = -e 'MIX_ENV=prod' \ -e 'DATABASE_URL=$(DB_URL)' ifeq ($(SYSTEM), Linux) - BLOCKSCOUT_CONTAINNER_PARAMS += --network=host + BLOCKSCOUT_CONTAINER_PARAMS += --network=host endif ifdef NETWORK - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'NETWORK=$(NETWORK)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'NETWORK=$(NETWORK)' endif ifdef SUBNETWORK - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SUBNETWORK=$(SUBNETWORK)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'SUBNETWORK=$(SUBNETWORK)' endif ifdef NETWORK_ICON - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'NETWORK_ICON=$(NETWORK_ICON)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'NETWORK_ICON=$(NETWORK_ICON)' endif ifdef LOGO - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'LOGO=$(LOGO)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'LOGO=$(LOGO)' endif ifdef LOGO_FOOTER - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'LOGO_FOOTER=$(LOGO_FOOTER)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'LOGO_FOOTER=$(LOGO_FOOTER)' endif ifdef ETHEREUM_JSONRPC_VARIANT - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_VARIANT=$(ETHEREUM_JSONRPC_VARIANT)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ETHEREUM_JSONRPC_VARIANT=$(ETHEREUM_JSONRPC_VARIANT)' endif ifdef ETHEREUM_JSONRPC_HTTP_URL - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_HTTP_URL=$(ETHEREUM_JSONRPC_HTTP_URL)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ETHEREUM_JSONRPC_HTTP_URL=$(ETHEREUM_JSONRPC_HTTP_URL)' endif ifdef ETHEREUM_JSONRPC_TRACE_URL - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_TRACE_URL=$(ETHEREUM_JSONRPC_TRACE_URL)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ETHEREUM_JSONRPC_TRACE_URL=$(ETHEREUM_JSONRPC_TRACE_URL)' endif ifdef ETHEREUM_JSONRPC_WS_URL - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_WS_URL=$(ETHEREUM_JSONRPC_WS_URL)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ETHEREUM_JSONRPC_WS_URL=$(ETHEREUM_JSONRPC_WS_URL)' endif ifdef ETHEREUM_JSONRPC_JSON_RPC_TRANSPORT - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ETHEREUM_JSONRPC_JSON_RPC_TRANSPORT=$(ETHEREUM_JSONRPC_JSON_RPC_TRANSPORT)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ETHEREUM_JSONRPC_JSON_RPC_TRANSPORT=$(ETHEREUM_JSONRPC_JSON_RPC_TRANSPORT)' endif ifdef IPC_PATH - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'IPC_PATH=$(IPC_PATH)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'IPC_PATH=$(IPC_PATH)' endif ifdef NETWORK_PATH - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'NETWORK_PATH=$(NETWORK_PATH)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'NETWORK_PATH=$(NETWORK_PATH)' endif ifdef CHECK_ORIGIN - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'CHECK_ORIGIN=$(CHECK_ORIGIN)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'CHECK_ORIGIN=$(CHECK_ORIGIN)' endif ifdef COIN - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'COIN=$(COIN)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'COIN=$(COIN)' endif ifdef METADATA_CONTRACT - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'METADATA_CONTRACT=$(METADATA_CONTRACT)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'METADATA_CONTRACT=$(METADATA_CONTRACT)' endif ifdef VALIDATORS_CONTRACT - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'VALIDATORS_CONTRACT=$(VALIDATORS_CONTRACT)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'VALIDATORS_CONTRACT=$(VALIDATORS_CONTRACT)' endif ifdef SUPPLY_MODULE - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SUPPLY_MODULE=$(SUPPLY_MODULE)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'SUPPLY_MODULE=$(SUPPLY_MODULE)' endif ifdef SOURCE_MODULE - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SOURCE_MODULE=$(SOURCE_MODULE)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'SOURCE_MODULE=$(SOURCE_MODULE)' endif ifdef POOL_SIZE - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'POOL_SIZE=$(POOL_SIZE)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'POOL_SIZE=$(POOL_SIZE)' endif ifdef ECTO_USE_SSL - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ECTO_USE_SSL=$(ECTO_USE_SSL)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ECTO_USE_SSL=$(ECTO_USE_SSL)' endif ifdef DATADOG_HOST - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DATADOG_HOST=$(DATADOG_HOST)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'DATADOG_HOST=$(DATADOG_HOST)' endif ifdef DATADOG_PORT - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DATADOG_PORT=$(DATADOG_PORT)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'DATADOG_PORT=$(DATADOG_PORT)' endif ifdef SPANDEX_BATCH_SIZE - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SPANDEX_BATCH_SIZE=$(SPANDEX_BATCH_SIZE)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'SPANDEX_BATCH_SIZE=$(SPANDEX_BATCH_SIZE)' endif ifdef SPANDEX_SYNC_THRESHOLD - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SPANDEX_SYNC_THRESHOLD=$(SPANDEX_SYNC_THRESHOLD)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'SPANDEX_SYNC_THRESHOLD=$(SPANDEX_SYNC_THRESHOLD)' endif ifdef HEART_BEAT_TIMEOUT - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'HEART_BEAT_TIMEOUT=$(HEART_BEAT_TIMEOUT)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'HEART_BEAT_TIMEOUT=$(HEART_BEAT_TIMEOUT)' endif ifdef HEART_COMMAND - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'HEART_COMMAND=$(HEART_COMMAND)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'HEART_COMMAND=$(HEART_COMMAND)' endif ifdef BLOCKSCOUT_VERSION - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCKSCOUT_VERSION=$(BLOCKSCOUT_VERSION)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'BLOCKSCOUT_VERSION=$(BLOCKSCOUT_VERSION)' endif ifdef RELEASE_LINK - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'RELEASE_LINK=$(RELEASE_LINK)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'RELEASE_LINK=$(RELEASE_LINK)' endif ifdef ELIXIR_VERSION - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ELIXIR_VERSION=$(ELIXIR_VERSION)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ELIXIR_VERSION=$(ELIXIR_VERSION)' endif ifdef BLOCK_TRANSFORMER - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCK_TRANSFORMER=$(BLOCK_TRANSFORMER)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'BLOCK_TRANSFORMER=$(BLOCK_TRANSFORMER)' endif ifdef GRAPHIQL_TRANSACTION - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'GRAPHIQL_TRANSACTION=$(GRAPHIQL_TRANSACTION)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'GRAPHIQL_TRANSACTION=$(GRAPHIQL_TRANSACTION)' endif ifdef FIRST_BLOCK - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'FIRST_BLOCK=$(FIRST_BLOCK)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'FIRST_BLOCK=$(FIRST_BLOCK)' endif ifdef LAST_BLOCK - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'LAST_BLOCK=$(LAST_BLOCK)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'LAST_BLOCK=$(LAST_BLOCK)' endif ifdef TXS_COUNT_CACHE_PERIOD - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'TXS_COUNT_CACHE_PERIOD=$(TXS_COUNT_CACHE_PERIOD)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'TXS_COUNT_CACHE_PERIOD=$(TXS_COUNT_CACHE_PERIOD)' endif ifdef ADDRESS_WITH_BALANCES_UPDATE_INTERVAL - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=$(ADDRESS_WITH_BALANCES_UPDATE_INTERVAL)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=$(ADDRESS_WITH_BALANCES_UPDATE_INTERVAL)' endif ifdef LINK_TO_OTHER_EXPLORERS - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'LINK_TO_OTHER_EXPLORERS=$(LINK_TO_OTHER_EXPLORERS)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'LINK_TO_OTHER_EXPLORERS=$(LINK_TO_OTHER_EXPLORERS)' endif ifdef COINMARKETCAP_PAGES - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'COINMARKETCAP_PAGES=$(COINMARKETCAP_PAGES)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'COINMARKETCAP_PAGES=$(COINMARKETCAP_PAGES)' endif ifdef SUPPORTED_CHAINS - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SUPPORTED_CHAINS=$(SUPPORTED_CHAINS)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'SUPPORTED_CHAINS=$(SUPPORTED_CHAINS)' endif ifdef BLOCK_COUNT_CACHE_PERIOD - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCK_COUNT_CACHE_PERIOD=$(BLOCK_COUNT_CACHE_PERIOD)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'BLOCK_COUNT_CACHE_PERIOD=$(BLOCK_COUNT_CACHE_PERIOD)' endif ifdef ADDRESS_SUM_CACHE_PERIOD - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ADDRESS_SUM_CACHE_PERIOD=$(ADDRESS_SUM_CACHE_PERIOD)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ADDRESS_SUM_CACHE_PERIOD=$(ADDRESS_SUM_CACHE_PERIOD)' endif ifdef ADDRESS_COUNT_CACHE_PERIOD - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ADDRESS_COUNT_CACHE_PERIOD=$(ADDRESS_COUNT_CACHE_PERIOD)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ADDRESS_COUNT_CACHE_PERIOD=$(ADDRESS_COUNT_CACHE_PERIOD)' endif ifdef ALLOWED_EVM_VERSIONS - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'ALLOWED_EVM_VERSIONS=$(ALLOWED_EVM_VERSIONS)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'ALLOWED_EVM_VERSIONS=$(ALLOWED_EVM_VERSIONS)' endif ifdef UNCLES_IN_AVERAGE_BLOCK_TIME - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'UNCLES_IN_AVERAGE_BLOCK_TIME=$(UNCLES_IN_AVERAGE_BLOCK_TIME)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'UNCLES_IN_AVERAGE_BLOCK_TIME=$(UNCLES_IN_AVERAGE_BLOCK_TIME)' endif ifdef AVERAGE_BLOCK_CACHE_PERIOD - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'AVERAGE_BLOCK_CACHE_PERIOD=$(AVERAGE_BLOCK_CACHE_PERIOD)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'AVERAGE_BLOCK_CACHE_PERIOD=$(AVERAGE_BLOCK_CACHE_PERIOD)' endif ifdef MARKET_HISTORY_CACHE_PERIOD - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'MARKET_HISTORY_CACHE_PERIOD=$(MARKET_HISTORY_CACHE_PERIOD)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'MARKET_HISTORY_CACHE_PERIOD=$(MARKET_HISTORY_CACHE_PERIOD)' endif ifdef DISABLE_WEBAPP - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DISABLE_WEBAPP=$(DISABLE_WEBAPP)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'DISABLE_WEBAPP=$(DISABLE_WEBAPP)' endif ifdef DISABLE_READ_API - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DISABLE_READ_API=$(DISABLE_READ_API)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'DISABLE_READ_API=$(DISABLE_READ_API)' endif ifdef DISABLE_WRITE_API - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DISABLE_WRITE_API=$(DISABLE_WRITE_API)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'DISABLE_WRITE_API=$(DISABLE_WRITE_API)' endif ifdef DISABLE_INDEXER - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DISABLE_INDEXER=$(DISABLE_INDEXER)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'DISABLE_INDEXER=$(DISABLE_INDEXER)' endif ifdef WEBAPP_URL - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'WEBAPP_URL=$(WEBAPP_URL)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'WEBAPP_URL=$(WEBAPP_URL)' endif ifdef API_URL - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'API_URL=$(API_URL)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'API_URL=$(API_URL)' endif ifdef CHAIN_SPEC_PATH - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'CHAIN_SPEC_PATH=$(CHAIN_SPEC_PATH)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'CHAIN_SPEC_PATH=$(CHAIN_SPEC_PATH)' endif ifdef COIN_GECKO_ID - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'COIN_GECKO_ID=$(COIN_GECKO_ID)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'COIN_GECKO_ID=$(COIN_GECKO_ID)' endif ifdef EMISSION_FORMAT - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'EMISSION_FORMAT=$(EMISSION_FORMAT)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'EMISSION_FORMAT=$(EMISSION_FORMAT)' endif ifdef REWARDS_CONTRACT_ADDRESS - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'REWARDS_CONTRACT_ADDRESS=$(REWARDS_CONTRACT_ADDRESS)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'REWARDS_CONTRACT_ADDRESS=$(REWARDS_CONTRACT_ADDRESS)' endif ifdef SHOW_ADDRESS_MARKETCAP_PERCENTAGE - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SHOW_ADDRESS_MARKETCAP_PERCENTAGE=$(SHOW_ADDRESS_MARKETCAP_PERCENTAGE)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'SHOW_ADDRESS_MARKETCAP_PERCENTAGE=$(SHOW_ADDRESS_MARKETCAP_PERCENTAGE)' endif ifdef BLOCKSCOUT_PROTOCOL - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCKSCOUT_PROTOCOL=$(BLOCKSCOUT_PROTOCOL)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'BLOCKSCOUT_PROTOCOL=$(BLOCKSCOUT_PROTOCOL)' endif ifdef BLOCKSCOUT_HOST - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'BLOCKSCOUT_HOST=$(BLOCKSCOUT_HOST)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'BLOCKSCOUT_HOST=$(BLOCKSCOUT_HOST)' endif ifdef DECOMPILED_SMART_CONTRACT_TOKEN - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'DECOMPILED_SMART_CONTRACT_TOKEN=$(DECOMPILED_SMART_CONTRACT_TOKEN)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'DECOMPILED_SMART_CONTRACT_TOKEN=$(DECOMPILED_SMART_CONTRACT_TOKEN)' endif ifdef SOCKET_ROOT - BLOCKSCOUT_CONTAINNER_PARAMS += -e 'SOCKET_ROOT=$(SOCKET_ROOT)' + BLOCKSCOUT_CONTAINER_PARAMS += -e 'SOCKET_ROOT=$(SOCKET_ROOT)' +endif +ifdef API_PATH + BLOCKSCOUT_CONTAINER_PARAMS += -e 'API_PATH=$(API_PATH)' endif HAS_BLOCKSCOUT_IMAGE := $(shell docker images | grep ${DOCKER_IMAGE}) @@ -210,7 +213,7 @@ endif migrate: build postgres @echo "==> Running migrations" @docker run --rm \ - $(BLOCKSCOUT_CONTAINNER_PARAMS) \ + $(BLOCKSCOUT_CONTAINER_PARAMS) \ $(DOCKER_IMAGE) /bin/sh -c "echo $$MIX_ENV && mix do ecto.create, ecto.migrate" @@ -239,7 +242,7 @@ endif start: build postgres @echo "==> Starting blockscout" @docker run --rm --name $(BS_CONTAINER_NAME) \ - $(BLOCKSCOUT_CONTAINNER_PARAMS) \ + $(BLOCKSCOUT_CONTAINER_PARAMS) \ -p 4000:4000 \ $(DOCKER_IMAGE) /bin/sh -c "mix phx.server" From f1aa422e7791e0ff3176af3f20b04fc710583fe5 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Tue, 4 Feb 2020 13:28:00 +0300 Subject: [PATCH 279/342] Fix awesomplete lib loading in Firefox --- CHANGELOG.md | 3 ++- .../lib/block_scout_web/templates/layout/_topnav.html.eex | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da845d7372..681c0ce435 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### Features ### Fixes +- [#2996](https://github.com/poanetwork/blockscout/pull/2996) - Fix awesomplete lib loading in Firefox - [#2990](https://github.com/poanetwork/blockscout/pull/2990) - Fix import of Parity spec file - [#2989](https://github.com/poanetwork/blockscout/pull/2989) - Introduce API_PATH env var - [#2988](https://github.com/poanetwork/blockscout/pull/2988) - Fix web manifest accessibility @@ -37,7 +38,7 @@ - [#2924](https://github.com/poanetwork/blockscout/pull/2924) - Speedup address to logs query - [#2915](https://github.com/poanetwork/blockscout/pull/2915) - Speedup of blocks_without_reward_query - [#2914](https://github.com/poanetwork/blockscout/pull/2914) - Reduce execution time of stream_unfetched_token_instances query -- [2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table +- [#2910](https://github.com/poanetwork/blockscout/pull/2910) - Reorganize queries and indexes for internal_transactions table - [#2908](https://github.com/poanetwork/blockscout/pull/2908) - Fix performance of address page - [#2906](https://github.com/poanetwork/blockscout/pull/2906) - fix address sum cache - [#2902](https://github.com/poanetwork/blockscout/pull/2902) - Offset in blocks retrieval for average block time diff --git a/apps/block_scout_web/lib/block_scout_web/templates/layout/_topnav.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/layout/_topnav.html.eex index 61e28903d0..ce01098d43 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/layout/_topnav.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/layout/_topnav.html.eex @@ -1,5 +1,5 @@ " as="style" onload="this.rel='stylesheet'"> - +">
- diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_contract/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_contract/index.html.eex index f246349de6..8401a73937 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_contract/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_contract/index.html.eex @@ -128,4 +128,5 @@ <% end %> + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex index 485617f1aa..ae10a1edb6 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex @@ -36,6 +36,6 @@ - + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex index 17fdeefcdd..fdfee270c6 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_token_transfer/index.html.eex @@ -74,6 +74,6 @@ - + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex index ab47c4ec00..ebfb7b23ce 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex @@ -64,7 +64,25 @@ <%= render BlockScoutWeb.LayoutView, "_footer.html", assigns %> - <%= if @view_module != Elixir.BlockScoutWeb.ChainView do %> + <%= if ( + @view_module != Elixir.BlockScoutWeb.ChainView && + @view_module != Elixir.BlockScoutWeb.BlockView && + @view_module != Elixir.BlockScoutWeb.TransactionView && + @view_module != Elixir.BlockScoutWeb.PendingTransactionView && + @view_module != Elixir.BlockScoutWeb.TransactionInternalTransactionView && + @view_module != Elixir.BlockScoutWeb.TransactionLogView && + @view_module != Elixir.BlockScoutWeb.TransactionRawTraceView && + @view_module != Elixir.BlockScoutWeb.TransactionTokenTransferView && + @view_module != Elixir.BlockScoutWeb.AddressTransactionView && + @view_module != Elixir.BlockScoutWeb.AddressTokenTransferView && + @view_module != Elixir.BlockScoutWeb.AddressTokenView && + @view_module != Elixir.BlockScoutWeb.AddressInternalTransactionView && + @view_module != Elixir.BlockScoutWeb.AddressCoinBalanceView && + @view_module != Elixir.BlockScoutWeb.AddressLogsView && + @view_module != Elixir.BlockScoutWeb.AddressValidationView && + @view_module != Elixir.BlockScoutWeb.AddressContractView && + @view_module != Elixir.BlockScoutWeb.AddressContractVerificationView + ) do %> <% end %> <%= render_existing(@view_module, "scripts.html", assigns) %> From 706de850f472794beb1857f47a676a59d0ef2edc Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Wed, 12 Feb 2020 15:24:25 +0300 Subject: [PATCH 288/342] more scripts optimization --- .../assets/js/lib/async_listing_load.js | 1 + .../assets/js/lib/smart_contract/index.js | 1 + apps/block_scout_web/assets/js/lib/try_api.js | 1 + .../block_scout_web/assets/js/lib/try_eth_api.js | 1 + .../assets/js/pages/admin/tasks.js | 1 + .../assets/js/pages/read_token_contract.js | 2 ++ .../assets/js/pages/token_counters.js | 1 + apps/block_scout_web/assets/webpack.config.js | 1 + .../templates/api_docs/eth_rpc.html.eex | 1 - .../templates/layout/app.html.eex | 16 +++++++++++++++- .../templates/tokens/holder/index.html.eex | 1 + .../tokens/instance/overview/_details.html.eex | 1 + .../templates/tokens/inventory/index.html.eex | 1 + .../templates/tokens/overview/_details.html.eex | 1 - .../tokens/read_contract/index.html.eex | 2 +- .../templates/tokens/transfer/index.html.eex | 1 + 16 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 apps/block_scout_web/assets/js/pages/read_token_contract.js diff --git a/apps/block_scout_web/assets/js/lib/async_listing_load.js b/apps/block_scout_web/assets/js/lib/async_listing_load.js index 30450c6dde..0d215f21c9 100644 --- a/apps/block_scout_web/assets/js/lib/async_listing_load.js +++ b/apps/block_scout_web/assets/js/lib/async_listing_load.js @@ -6,6 +6,7 @@ import humps from 'humps' import listMorph from '../lib/list_morph' import reduceReducers from 'reduce-reducers' import { createStore, connectElements } from '../lib/redux_helpers.js' +import '../app' /** * This is a generic lib to add pagination with asynchronous page loading. There are two ways of diff --git a/apps/block_scout_web/assets/js/lib/smart_contract/index.js b/apps/block_scout_web/assets/js/lib/smart_contract/index.js index 5b0e93547e..7f04bb00d6 100644 --- a/apps/block_scout_web/assets/js/lib/smart_contract/index.js +++ b/apps/block_scout_web/assets/js/lib/smart_contract/index.js @@ -1,2 +1,3 @@ import './read_only_functions' import './wei_ether_converter' +import '../../app' diff --git a/apps/block_scout_web/assets/js/lib/try_api.js b/apps/block_scout_web/assets/js/lib/try_api.js index e6460f6c6b..35aa1c1772 100644 --- a/apps/block_scout_web/assets/js/lib/try_api.js +++ b/apps/block_scout_web/assets/js/lib/try_api.js @@ -1,4 +1,5 @@ import $ from 'jquery' +import '../app' // This file adds event handlers responsible for the 'Try it out' UI in the // Etherscan-compatible API documentation page. diff --git a/apps/block_scout_web/assets/js/lib/try_eth_api.js b/apps/block_scout_web/assets/js/lib/try_eth_api.js index 30299431be..08877e467e 100644 --- a/apps/block_scout_web/assets/js/lib/try_eth_api.js +++ b/apps/block_scout_web/assets/js/lib/try_eth_api.js @@ -1,4 +1,5 @@ import $ from 'jquery' +import './try_api' function composeCurlCommand (data) { const url = $('[data-endpoint-url]').attr('data-endpoint-url') diff --git a/apps/block_scout_web/assets/js/pages/admin/tasks.js b/apps/block_scout_web/assets/js/pages/admin/tasks.js index 7eb7cf1801..602e81c8b4 100644 --- a/apps/block_scout_web/assets/js/pages/admin/tasks.js +++ b/apps/block_scout_web/assets/js/pages/admin/tasks.js @@ -1,4 +1,5 @@ import $ from 'jquery' +import '../../app' const runTask = (event) => { const element = event.currentTarget diff --git a/apps/block_scout_web/assets/js/pages/read_token_contract.js b/apps/block_scout_web/assets/js/pages/read_token_contract.js new file mode 100644 index 0000000000..e539decd4a --- /dev/null +++ b/apps/block_scout_web/assets/js/pages/read_token_contract.js @@ -0,0 +1,2 @@ +import '../lib/smart_contract/index' +import './token_counters' diff --git a/apps/block_scout_web/assets/js/pages/token_counters.js b/apps/block_scout_web/assets/js/pages/token_counters.js index a21fc82ab0..40fd24d95b 100644 --- a/apps/block_scout_web/assets/js/pages/token_counters.js +++ b/apps/block_scout_web/assets/js/pages/token_counters.js @@ -3,6 +3,7 @@ import omit from 'lodash/omit' import humps from 'humps' import { createStore, connectElements } from '../lib/redux_helpers.js' import '../lib/async_listing_load' +import '../app' export const initialState = { channelDisconnected: false, diff --git a/apps/block_scout_web/assets/webpack.config.js b/apps/block_scout_web/assets/webpack.config.js index da6a5af046..24f81c00e3 100644 --- a/apps/block_scout_web/assets/webpack.config.js +++ b/apps/block_scout_web/assets/webpack.config.js @@ -87,6 +87,7 @@ const appJs = 'verification-form': './js/pages/verification_form.js', 'token-counters': './js/pages/token_counters.js', 'admin-tasks': './js/pages/admin/tasks.js', + 'read-token-contract': './js/pages/read_token_contract.js', 'smart-contract-helpers': './js/lib/smart_contract/index.js', 'token-transfers-toggle': './js/lib/token_transfers_toggle.js', 'try-api': './js/lib/try_api.js', diff --git a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex index 5d665131fe..ac80b13597 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/api_docs/eth_rpc.html.eex @@ -21,6 +21,5 @@ <%= render "_eth_rpc_item.html", action: method, info: info %> <% end %> - diff --git a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex index ebfb7b23ce..c5479eb362 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex @@ -67,6 +67,8 @@ <%= if ( @view_module != Elixir.BlockScoutWeb.ChainView && @view_module != Elixir.BlockScoutWeb.BlockView && + @view_module != Elixir.BlockScoutWeb.BlockTransactionView && + @view_module != Elixir.BlockScoutWeb.AddressView && @view_module != Elixir.BlockScoutWeb.TransactionView && @view_module != Elixir.BlockScoutWeb.PendingTransactionView && @view_module != Elixir.BlockScoutWeb.TransactionInternalTransactionView && @@ -81,7 +83,19 @@ @view_module != Elixir.BlockScoutWeb.AddressLogsView && @view_module != Elixir.BlockScoutWeb.AddressValidationView && @view_module != Elixir.BlockScoutWeb.AddressContractView && - @view_module != Elixir.BlockScoutWeb.AddressContractVerificationView + @view_module != Elixir.BlockScoutWeb.AddressContractVerificationView && + @view_module != Elixir.BlockScoutWeb.AddressReadContractView && + @view_module != Elixir.BlockScoutWeb.Tokens.TransferView && + @view_module != Elixir.BlockScoutWeb.Tokens.ReadContractView && + @view_module != Elixir.BlockScoutWeb.Tokens.HolderView && + @view_module != Elixir.BlockScoutWeb.Tokens.InventoryView && + @view_module != Elixir.BlockScoutWeb.Tokens.InstanceView && + @view_module != Elixir.BlockScoutWeb.Tokens.Instance.MetadataView && + @view_module != Elixir.BlockScoutWeb.Tokens.Instance.OverviewView && + @view_module != Elixir.BlockScoutWeb.Tokens.Instance.TransferView && + @view_module != Elixir.BlockScoutWeb.Admin.DashboardView && + @view_module != Elixir.BlockScoutWeb.APIDocsView && + @view_module != Elixir.BlockScoutWeb.Admin.DashboardView ) do %> <% end %> diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/holder/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/holder/index.html.eex index b29b78cca7..7fd9abc944 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/holder/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/holder/index.html.eex @@ -36,4 +36,5 @@ + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex index 991c8e13f6..b766b9642e 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex @@ -84,6 +84,7 @@ + + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex index c005db9a12..d46dbb25ac 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex @@ -96,7 +96,6 @@ <% end %> - - + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/transfer/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/transfer/index.html.eex index 0f7176bb93..652ae0e89b 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/transfer/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/transfer/index.html.eex @@ -34,4 +34,5 @@ + From 567802df6e75ac2585c560cd3f5d975076e94734 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Wed, 12 Feb 2020 15:25:25 +0300 Subject: [PATCH 289/342] fix internalization --- apps/block_scout_web/priv/gettext/default.pot | 18 +++++++++--------- .../priv/gettext/en/LC_MESSAGES/default.po | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 397819bd85..e95a9bfab5 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -1176,11 +1176,11 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:132 +#: lib/block_scout_web/templates/address/overview.html.eex:131 #: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:51 -#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:93 +#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:94 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 msgid "QR Code" msgstr "" @@ -1718,12 +1718,12 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/overview.html.eex:133 -#: lib/block_scout_web/templates/address/overview.html.eex:141 -#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:94 -#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:102 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:107 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:115 +#: lib/block_scout_web/templates/address/overview.html.eex:132 +#: lib/block_scout_web/templates/address/overview.html.eex:140 +#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:95 +#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:103 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" msgstr "" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 397819bd85..e95a9bfab5 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -1176,11 +1176,11 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:132 +#: lib/block_scout_web/templates/address/overview.html.eex:131 #: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:51 -#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:93 +#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:94 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 msgid "QR Code" msgstr "" @@ -1718,12 +1718,12 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/overview.html.eex:133 -#: lib/block_scout_web/templates/address/overview.html.eex:141 -#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:94 -#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:102 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:107 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:115 +#: lib/block_scout_web/templates/address/overview.html.eex:132 +#: lib/block_scout_web/templates/address/overview.html.eex:140 +#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:95 +#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:103 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" msgstr "" From e92c128e3d27b480ddfce4b0843db010cafc091b Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Wed, 12 Feb 2020 15:39:32 +0300 Subject: [PATCH 290/342] delete duplicate --- .../lib/block_scout_web/templates/layout/app.html.eex | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex index c5479eb362..59e0e3f2ac 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex @@ -93,7 +93,6 @@ @view_module != Elixir.BlockScoutWeb.Tokens.Instance.MetadataView && @view_module != Elixir.BlockScoutWeb.Tokens.Instance.OverviewView && @view_module != Elixir.BlockScoutWeb.Tokens.Instance.TransferView && - @view_module != Elixir.BlockScoutWeb.Admin.DashboardView && @view_module != Elixir.BlockScoutWeb.APIDocsView && @view_module != Elixir.BlockScoutWeb.Admin.DashboardView ) do %> From 3c6f500051208e44f8e72a0c41a3ba82dbb852b6 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 7 Feb 2020 17:31:52 +0300 Subject: [PATCH 291/342] Get rid of internal transactions for simple transactions --- CHANGELOG.md | 1 + .../import/runner/internal_transactions.ex | 156 +++++++++---- .../runner/internal_transactions_test.exs | 106 +++++++++ .../test/explorer/chain/import_test.exs | 220 +++++++++++++++++- apps/explorer/test/explorer/chain_test.exs | 2 +- 5 files changed, 433 insertions(+), 52 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 047c569051..038cc1055e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## Current ### Features +- [#3000](https://github.com/poanetwork/blockscout/pull/3000) - Get rid of storing of internal transactions for simple coin transfers - [#2875](https://github.com/poanetwork/blockscout/pull/2875) - Save contract code from Parity genesis file - [#2834](https://github.com/poanetwork/blockscout/pull/2834) - always redirect to checksummed hash diff --git a/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex b/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex index 69899f7584..bc14b7ba15 100644 --- a/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex +++ b/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex @@ -43,6 +43,16 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do |> Map.put_new(:timeout, @timeout) |> Map.put(:timestamps, timestamps) + changes_list_without_first_traces_of_trivial_transactions = + Enum.reject(changes_list, fn changes -> + changes[:index] == 0 && changes[:input] == %Explorer.Chain.Data{bytes: ""} + end) + + all_first_traces = + Enum.filter(changes_list, fn changes -> + changes[:index] == 0 + end) + transactions_timeout = options[Runner.Transactions.option_key()][:timeout] || Runner.Transactions.timeout() update_transactions_options = %{timeout: transactions_timeout, timestamps: timestamps} @@ -50,6 +60,10 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do # filter out params with just `block_number` (indicating blocks without internal transactions) internal_transactions_params = Enum.filter(changes_list, &Map.has_key?(&1, :type)) + # internal transactions for update + internal_transactions_for_update_transactions_params = + Enum.filter(changes_list_without_first_traces_of_trivial_transactions, &Map.has_key?(&1, :type)) + # Enforce ShareLocks tables order (see docs: sharelocks.md) multi |> Multi.run(:acquire_blocks, fn repo, _ -> @@ -64,22 +78,43 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do |> Multi.run(:invalid_block_numbers, fn _, %{acquire_transactions: transactions} -> invalid_block_numbers(transactions, internal_transactions_params) end) + |> Multi.run(:valid_internal_transactions_without_first_traces_of_trivial_transactions, fn _, + %{ + acquire_transactions: + transactions, + invalid_block_numbers: + invalid_block_numbers + } -> + valid_internal_transactions( + transactions, + internal_transactions_for_update_transactions_params, + invalid_block_numbers + ) + end) |> Multi.run(:valid_internal_transactions, fn _, %{ acquire_transactions: transactions, invalid_block_numbers: invalid_block_numbers } -> - valid_internal_transactions(transactions, internal_transactions_params, invalid_block_numbers) + valid_internal_transactions( + transactions, + internal_transactions_params, + invalid_block_numbers + ) end) |> Multi.run(:remove_left_over_internal_transactions, fn repo, %{valid_internal_transactions: valid_internal_transactions} -> remove_left_over_internal_transactions(repo, valid_internal_transactions) end) - |> Multi.run(:internal_transactions, fn repo, %{valid_internal_transactions: valid_internal_transactions} -> - insert(repo, valid_internal_transactions, insert_options) + |> Multi.run(:internal_transactions, fn repo, + %{ + valid_internal_transactions_without_first_traces_of_trivial_transactions: + valid_internal_transactions_without_first_traces_of_trivial_transactions + } -> + insert(repo, valid_internal_transactions_without_first_traces_of_trivial_transactions, insert_options) end) |> Multi.run(:update_transactions, fn repo, %{valid_internal_transactions: valid_internal_transactions} -> - update_transactions(repo, valid_internal_transactions, update_transactions_options) + update_transactions(repo, valid_internal_transactions, all_first_traces, update_transactions_options) end) |> Multi.run(:remove_consensus_of_invalid_blocks, fn repo, %{invalid_block_numbers: invalid_block_numbers} -> remove_consensus_of_invalid_blocks(repo, invalid_block_numbers) @@ -297,7 +332,7 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do or_where(acc, [it], it.block_hash == ^block_hash and it.block_index > ^max_index) end) - # removes old recoreds with the same primary key (transaction hash, transaction index) + # removes old records with the same primary key (transaction hash, transaction index) delete_query = valid_internal_transactions |> Enum.map(fn params -> {params.transaction_hash, params.index} end) @@ -315,52 +350,81 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do end end - defp update_transactions(repo, valid_internal_transactions, %{ + defp update_transactions(repo, valid_internal_transactions, first_traces, %{ timeout: timeout, timestamps: timestamps - }) - when is_list(valid_internal_transactions) do - transaction_hashes = - valid_internal_transactions - |> MapSet.new(& &1.transaction_hash) - |> MapSet.to_list() + }) do + valid_internal_transactions_count = Enum.count(valid_internal_transactions) + + if valid_internal_transactions_count == 0 do + {:ok, nil} + else + params = + Enum.map(first_traces, fn first_trace -> + %{ + transaction_hash: Map.get(first_trace, :transaction_hash), + created_contract_address_hash: Map.get(first_trace, :created_contract_address_hash), + error: Map.get(first_trace, :error), + status: if(is_nil(Map.get(first_trace, :error)), do: :ok, else: :error) + } + end) - update_query = - from( - t in Transaction, - where: t.hash in ^transaction_hashes, - # ShareLocks order already enforced by `acquire_transactions` (see docs: sharelocks.md) - update: [ - set: [ - created_contract_address_hash: - fragment( - "(SELECT it.created_contract_address_hash FROM internal_transactions AS it WHERE it.transaction_hash = ? ORDER BY it.index ASC LIMIT 1)", - t.hash - ), - error: - fragment( - "(SELECT it.error FROM internal_transactions AS it WHERE it.transaction_hash = ? ORDER BY it.index ASC LIMIT 1)", - t.hash - ), - status: - fragment( - "CASE WHEN (SELECT it.error FROM internal_transactions AS it WHERE it.transaction_hash = ? ORDER BY it.index ASC LIMIT 1) IS NULL THEN ? ELSE ? END", - t.hash, - type(^:ok, t.status), - type(^:error, t.status) - ), - updated_at: ^timestamps.updated_at - ] - ] - ) + transaction_hashes = + valid_internal_transactions + |> Enum.map(fn valid_internal_transaction -> + Map.get(valid_internal_transaction, :transaction_hash) + end) + |> Enum.filter(fn hash -> hash != nil end) - try do - {_transaction_count, result} = repo.update_all(update_query, [], timeout: timeout) + transaction_hashes_count = Enum.count(transaction_hashes) - {:ok, result} - rescue - postgrex_error in Postgrex.Error -> - {:error, %{exception: postgrex_error, transaction_hashes: transaction_hashes}} + result = + Enum.reduce_while(transaction_hashes, 0, fn transaction_hash, transaction_hashes_iterator -> + first_trace_params = + params + |> Enum.filter(fn first_trace -> + first_trace.transaction_hash == transaction_hash + end) + |> Enum.at(0) + + update_query = + from( + t in Transaction, + where: t.hash == ^transaction_hash, + # ShareLocks order already enforced by `acquire_transactions` (see docs: sharelocks.md) + update: [ + set: [ + created_contract_address_hash: ^first_trace_params.created_contract_address_hash, + error: ^first_trace_params.error, + status: ^first_trace_params.status, + updated_at: ^timestamps.updated_at + ] + ] + ) + + transaction_hashes_iterator = transaction_hashes_iterator + 1 + + try do + {_transaction_count, result} = repo.update_all(update_query, [], timeout: timeout) + + if transaction_hashes_count == transaction_hashes_iterator do + {:halt, result} + else + {:cont, transaction_hashes_iterator} + end + rescue + postgrex_error in Postgrex.Error -> + {:halt, %{exception: postgrex_error, transaction_hashes: transaction_hashes}} + end + end) + + case result do + %{exception: _} -> + {:error, result} + + _ -> + {:ok, result} + end end end diff --git a/apps/explorer/test/explorer/chain/import/runner/internal_transactions_test.exs b/apps/explorer/test/explorer/chain/import/runner/internal_transactions_test.exs index bb4ecc1ac1..ac344a20fe 100644 --- a/apps/explorer/test/explorer/chain/import/runner/internal_transactions_test.exs +++ b/apps/explorer/test/explorer/chain/import/runner/internal_transactions_test.exs @@ -22,6 +22,88 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactionsTest do assert :error == Repo.get(Transaction, transaction.hash).status end + test "simple coin transfer's status becomes :error when its internal_transaction has an error" do + transaction = insert(:transaction) |> with_block(status: :ok) + insert(:pending_block_operation, block_hash: transaction.block_hash, fetch_internal_transactions: true) + + assert :ok == transaction.status + + index = 0 + error = "Out of gas" + + internal_transaction_changes = + make_internal_transaction_changes_for_simple_coin_transfers(transaction, index, error) + + assert {:ok, _} = run_internal_transactions([internal_transaction_changes]) + + assert :error == Repo.get(Transaction, transaction.hash).status + end + + test "for block with 2 simple coin transfer's statuses become :error when its both internal_transactions has an error" do + a_block = insert(:block, number: 1000) + transaction1 = insert(:transaction) |> with_block(a_block, status: :ok) + transaction2 = insert(:transaction) |> with_block(a_block, status: :ok) + + insert(:pending_block_operation, block_hash: a_block.hash, fetch_internal_transactions: true) + + assert :ok == transaction1.status + assert :ok == transaction2.status + + index = 0 + error = "Out of gas" + + internal_transaction_changes_1 = + make_internal_transaction_changes_for_simple_coin_transfers(transaction1, index, error) + + internal_transaction_changes_2 = + make_internal_transaction_changes_for_simple_coin_transfers(transaction2, index, error) + + assert {:ok, _} = run_internal_transactions([internal_transaction_changes_1, internal_transaction_changes_2]) + + assert :error == Repo.get(Transaction, transaction1.hash).status + assert :error == Repo.get(Transaction, transaction2.hash).status + end + + test "for block with 2 simple coin transfer's only status become :error for tx where internal_transactions has an error" do + a_block = insert(:block, number: 1000) + transaction1 = insert(:transaction) |> with_block(a_block, status: :ok) + transaction2 = insert(:transaction) |> with_block(a_block, status: :ok) + insert(:pending_block_operation, block_hash: a_block.hash, fetch_internal_transactions: true) + + assert :ok == transaction1.status + assert :ok == transaction2.status + + index = 0 + error = "Out of gas" + + internal_transaction_changes_1 = + make_internal_transaction_changes_for_simple_coin_transfers(transaction1, index, error) + + internal_transaction_changes_2 = + make_internal_transaction_changes_for_simple_coin_transfers(transaction2, index, nil) + + assert {:ok, _} = run_internal_transactions([internal_transaction_changes_1, internal_transaction_changes_2]) + + assert :error == Repo.get(Transaction, transaction1.hash).status + assert :ok == Repo.get(Transaction, transaction2.hash).status + end + + test "simple coin transfer has no internal transaction inserted" do + transaction = insert(:transaction) |> with_block(status: :ok) + insert(:pending_block_operation, block_hash: transaction.block_hash, fetch_internal_transactions: true) + + assert :ok == transaction.status + + index = 0 + + internal_transaction_changes = + make_internal_transaction_changes_for_simple_coin_transfers(transaction, index, nil) + + assert {:ok, _} = run_internal_transactions([internal_transaction_changes]) + + assert !Repo.exists?(from(i in InternalTransaction, where: i.transaction_hash == ^transaction.hash)) + end + test "pending transactions don't get updated not its internal_transactions inserted" do transaction = insert(:transaction) |> with_block(status: :ok) pending = insert(:transaction) @@ -199,4 +281,28 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactionsTest do block_number: transaction.block_number } end + + defp make_internal_transaction_changes_for_simple_coin_transfers(transaction, index, error) do + %{ + from_address_hash: insert(:address).hash, + to_address_hash: insert(:address).hash, + call_type: :call, + gas: 0, + gas_used: nil, + input: %Data{bytes: <<>>}, + output: + if is_nil(error) do + %Data{bytes: <<0>>} + else + nil + end, + index: index, + trace_address: [], + transaction_hash: transaction.hash, + type: :call, + value: Wei.from(Decimal.new(1), :wei), + error: error, + block_number: transaction.block_number + } + end end diff --git a/apps/explorer/test/explorer/chain/import_test.exs b/apps/explorer/test/explorer/chain/import_test.exs index 7a06fa2779..30e8a08e57 100644 --- a/apps/explorer/test/explorer/chain/import_test.exs +++ b/apps/explorer/test/explorer/chain/import_test.exs @@ -61,7 +61,7 @@ defmodule Explorer.Chain.ImportTest do to_address_hash: "0x8bf38d4764929064f2d4d3a56520a76ab3df415b", gas: 4_677_320, gas_used: 27770, - input: "0x", + input: "0x10855269000000000000000000000000862d67cb0773ee3f8ce7ea89b328ffea861ab3ef", output: "0x", value: 0 }, @@ -77,7 +77,7 @@ defmodule Explorer.Chain.ImportTest do to_address_hash: "0x8bf38d4764929064f2d4d3a56520a76ab3df415b", gas: 4_677_320, gas_used: 27770, - input: "0x", + input: "0x10855269000000000000000000000000862d67cb0773ee3f8ce7ea89b328ffea861ab3ef", output: "0x", value: 0 } @@ -612,7 +612,8 @@ defmodule Explorer.Chain.ImportTest do gas_used: 269_607, hash: transaction_hash, index: 0, - input: "0x", + input: + "0x6060604052341561000f57600080fd5b7fb94ae47ec9f4248692e2ecf9740b67ab493f3dcc8452bedc7d9cd911c28d1ca5426040518082815260200191505060405180910390a1609e806100546000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063557ed1ba146044575b600080fd5b3415604e57600080fd5b6054606a565b6040518082815260200191505060405180910390f35b6000429050905600a165627a7a7230582053883c0c39da080adc15a91094921659c200b3bb60aed9e49b79b0274da3f4010029", nonce: 0, r: 0, s: 0, @@ -639,6 +640,96 @@ defmodule Explorer.Chain.ImportTest do to_address_hash: to_address_hash, gas: 4_677_320, gas_used: 27770, + input: + "0x6060604052341561000f57600080fd5b7fb94ae47ec9f4248692e2ecf9740b67ab493f3dcc8452bedc7d9cd911c28d1ca5426040518082815260200191505060405180910390a1609e806100546000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063557ed1ba146044575b600080fd5b3415604e57600080fd5b6054606a565b6040518082815260200191505060405180910390f35b6000429050905600a165627a7a7230582053883c0c39da080adc15a91094921659c200b3bb60aed9e49b79b0274da3f4010029", + output: "0x", + value: 0 + } + ], + with: :blockless_changeset + } + } + + assert {:ok, _} = Import.all(options) + + assert [block_hash] = Explorer.Repo.all(PendingBlockOperation.block_hashes(:fetch_internal_transactions)) + + assert {:ok, _} = Import.all(internal_txs_options) + + assert [] == Explorer.Repo.all(PendingBlockOperation.block_hashes(:fetch_internal_transactions)) + end + + test "blocks with simple coin transfers updates PendingBlockOperation status" do + block_hash = "0xe69314b702f403e00ec89cd63d5870182ed334d9d461bd042cdd6609fd6b7c17" + block_number = 13_255_416 + miner_hash = from_address_hash = "0xe2ac1c6843A33f81aE4935E5EF1277a392990381" + to_address_hash = "0xDC1772b72d828ea9b7D4ded22dbef0f082578B8B" + transaction_hash = "0x8f20a5b3b79199db857323af7a5077d2dae7867368fef6f4e8cd8b14b88a9c6a" + + options = %{ + addresses: %{ + params: [ + %{hash: from_address_hash}, + %{hash: to_address_hash} + ] + }, + blocks: %{ + params: [ + %{ + consensus: true, + difficulty: 340_282_366_920_938_463_463_374_607_400_000_000_000, + gas_limit: 9_999_991, + gas_used: 21_000, + hash: block_hash, + miner_hash: miner_hash, + nonce: 0, + number: block_number, + parent_hash: "0x4c4505527d99e07dbcd6274ffaac629099ae6d4e1f2bc2bd3cc48d3f5a511d6f", + size: 703, + timestamp: Timex.parse!("2020-02-12 10:48:21Z", "{ISO:Extended:Z}"), + total_difficulty: 4_510_584_331_001_678_443_607_831_185_000_000_000_000_000_000 + } + ] + }, + transactions: %{ + params: [ + %{ + block_hash: block_hash, + block_number: block_number, + cumulative_gas_used: 21_000, + from_address_hash: from_address_hash, + gas: 21_000, + gas_price: 1, + gas_used: 21_000, + hash: transaction_hash, + index: 0, + input: "0x", + nonce: 0, + r: 0, + s: 0, + status: :ok, + v: 0, + value: 0 + } + ] + } + } + + internal_txs_options = %{ + internal_transactions: %{ + params: [ + %{ + block_number: block_number, + transaction_index: 0, + transaction_hash: transaction_hash, + index: 0, + trace_address: [], + type: "call", + call_type: "call", + from_address_hash: from_address_hash, + to_address_hash: to_address_hash, + gas: 21_000, + gas_used: 21000, input: "0x", output: "0x", value: 0 @@ -1709,7 +1800,7 @@ defmodule Explorer.Chain.ImportTest do end # https://github.com/poanetwork/blockscout/issues/868 regression test - test "errored transactions can be forked" do + test "errored simple coin transfer can be forked" do block_number = 0 miner_hash_before = address_hash() @@ -1771,6 +1862,125 @@ defmodule Explorer.Chain.ImportTest do status: :error } ] + } + }) + + %Block{consensus: true, number: ^block_number} = Repo.get(Block, block_hash_before) + transaction_before = Repo.get!(Transaction, transaction_hash) + + refute transaction_before.block_hash == nil + refute transaction_before.block_number == nil + refute transaction_before.gas_used == nil + refute transaction_before.cumulative_gas_used == nil + refute transaction_before.index == nil + refute transaction_before.status == nil + + miner_hash_after = address_hash() + from_address_hash_after = address_hash() + block_hash_after = block_hash() + + assert {:ok, _} = + Import.all(%{ + addresses: %{ + params: [ + %{hash: miner_hash_after}, + %{hash: from_address_hash_after} + ] + }, + blocks: %{ + params: [ + %{ + consensus: true, + difficulty: 1, + gas_limit: 1, + gas_used: 1, + hash: block_hash_after, + miner_hash: miner_hash_after, + nonce: 1, + number: block_number, + parent_hash: block_hash(), + size: 1, + timestamp: Timex.parse!("2019-01-01T02:00:00Z", "{ISO:Extended:Z}"), + total_difficulty: 1 + } + ] + } + }) + + transaction_after = Repo.get!(Transaction, transaction_hash) + + assert transaction_after.block_hash == nil + assert transaction_after.block_number == nil + assert transaction_after.gas_used == nil + assert transaction_after.cumulative_gas_used == nil + assert transaction_after.index == nil + assert transaction_after.error == nil + assert transaction_after.status == nil + end + + # https://github.com/poanetwork/blockscout/issues/868 regression test + test "errored other transactions can be forked" do + block_number = 0 + + miner_hash_before = address_hash() + from_address_hash_before = address_hash() + to_address_hash_before = address_hash() + block_hash_before = block_hash() + index_before = 0 + error = "Reverted" + + transaction_hash = transaction_hash() + + assert {:ok, _} = + Import.all(%{ + addresses: %{ + params: [ + %{hash: miner_hash_before}, + %{hash: from_address_hash_before}, + %{hash: to_address_hash_before} + ] + }, + blocks: %{ + params: [ + %{ + consensus: true, + difficulty: 0, + gas_limit: 0, + gas_used: 0, + hash: block_hash_before, + miner_hash: miner_hash_before, + nonce: 0, + number: block_number, + parent_hash: block_hash(), + size: 0, + timestamp: Timex.parse!("2019-01-01T01:00:00Z", "{ISO:Extended:Z}"), + total_difficulty: 0 + } + ] + }, + transactions: %{ + params: [ + %{ + block_hash: block_hash_before, + block_number: block_number, + error: error, + from_address_hash: from_address_hash_before, + to_address_hash: to_address_hash_before, + gas: 666_000, + gas_price: 1, + gas_used: 555_000, + cumulative_gas_used: 555_000, + hash: transaction_hash, + index: index_before, + input: "0x0102", + nonce: 0, + r: 0, + s: 0, + v: 0, + value: 0, + status: :error + } + ] }, internal_transactions: %{ params: [ @@ -1784,7 +1994,7 @@ defmodule Explorer.Chain.ImportTest do to_address_hash: to_address_hash_before, trace_address: [], value: 0, - input: "0x", + input: "0x0102", error: error, block_number: block_number, transaction_index: 0 diff --git a/apps/explorer/test/explorer/chain_test.exs b/apps/explorer/test/explorer/chain_test.exs index b37edbc36e..81a7fd35d8 100644 --- a/apps/explorer/test/explorer/chain_test.exs +++ b/apps/explorer/test/explorer/chain_test.exs @@ -1393,7 +1393,7 @@ defmodule Explorer.ChainTest do to_address_hash: "0x8bf38d4764929064f2d4d3a56520a76ab3df415b", gas: 4_677_320, gas_used: 27770, - input: "0x", + input: "0x10855269000000000000000000000000862d67cb0773ee3f8ce7ea89b328ffea861ab3ef", output: "0x", value: 0 } From dd1bb18fd8bb6930a847973bd56d7621a993ba08 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Thu, 13 Feb 2020 16:08:04 +0300 Subject: [PATCH 292/342] Revert "Contract verification fix" --- CHANGELOG.md | 2 +- apps/block_scout_web/lib/block_scout_web/router.ex | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86132e290a..047c569051 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ ### Fixes - [#2996](https://github.com/poanetwork/blockscout/pull/2996) - Fix awesomplete lib loading in Firefox -- [#2993](https://github.com/poanetwork/blockscout/pull/2993), [#2999](https://github.com/poanetwork/blockscout/pull/2999) - Fix path definition for contract verification endpoint +- [#2993](https://github.com/poanetwork/blockscout/pull/2993) - Fix path definition for contract verification endpoint - [#2990](https://github.com/poanetwork/blockscout/pull/2990) - Fix import of Parity spec file - [#2989](https://github.com/poanetwork/blockscout/pull/2989) - Introduce API_PATH env var - [#2988](https://github.com/poanetwork/blockscout/pull/2988) - Fix web manifest accessibility diff --git a/apps/block_scout_web/lib/block_scout_web/router.ex b/apps/block_scout_web/lib/block_scout_web/router.ex index e6350113ca..c8eb33f4ea 100644 --- a/apps/block_scout_web/lib/block_scout_web/router.ex +++ b/apps/block_scout_web/lib/block_scout_web/router.ex @@ -64,12 +64,12 @@ defmodule BlockScoutWeb.Router do post("/contract_verifications", BlockScoutWeb.AddressContractVerificationController, :create) end - end - - scope "/verify_smart_contract" do - pipe_through(:api) + else + scope "/verify_smart_contract" do + pipe_through(:api) - post("/contract_verifications", BlockScoutWeb.AddressContractVerificationController, :create) + post("/contract_verifications", BlockScoutWeb.AddressContractVerificationController, :create) + end end if Application.get_env(:block_scout_web, WebRouter)[:enabled] do From af77979bfb24a869446d8c6f9615df4bbb9c9dd7 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 14 Feb 2020 12:28:30 +0300 Subject: [PATCH 293/342] Upgrade node-sass version to fix low vulnerability --- apps/block_scout_web/assets/package-lock.json | 122 ++++++------------ apps/block_scout_web/assets/package.json | 2 +- 2 files changed, 41 insertions(+), 83 deletions(-) diff --git a/apps/block_scout_web/assets/package-lock.json b/apps/block_scout_web/assets/package-lock.json index 5cdcd178fd..cdc1ff45bd 100644 --- a/apps/block_scout_web/assets/package-lock.json +++ b/apps/block_scout_web/assets/package-lock.json @@ -5671,26 +5671,6 @@ "wide-align": "^1.1.0" }, "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -5852,13 +5832,13 @@ } }, "globule": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", - "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", + "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.10", + "lodash": "~4.17.12", "minimatch": "~3.0.2" } }, @@ -6535,13 +6515,10 @@ "dev": true }, "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -7244,9 +7221,9 @@ "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==" }, "js-base64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", - "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", + "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", "dev": true }, "js-levenshtein": { @@ -8153,9 +8130,9 @@ } }, "node-sass": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.0.tgz", - "integrity": "sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA==", + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", + "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -11220,15 +11197,6 @@ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -11307,17 +11275,6 @@ "read-pkg": "^1.0.0" } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -11958,13 +11915,34 @@ } }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "string.prototype.trimleft": { @@ -13601,26 +13579,6 @@ "strip-ansi": "^3.0.1" }, "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", diff --git a/apps/block_scout_web/assets/package.json b/apps/block_scout_web/assets/package.json index ec3192a2a4..2f5b8f84d0 100644 --- a/apps/block_scout_web/assets/package.json +++ b/apps/block_scout_web/assets/package.json @@ -58,7 +58,7 @@ "file-loader": "^4.2.0", "jest": "^24.9.0", "mini-css-extract-plugin": "^0.8.0", - "node-sass": "^4.12.0", + "node-sass": "^4.13.1", "optimize-css-assets-webpack-plugin": "^5.0.3", "postcss-loader": "^3.0.0", "sass-loader": "^8.0.0", From dd880bca8c7ad6272878c61103bf1388db839787 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 14 Feb 2020 12:33:48 +0300 Subject: [PATCH 294/342] Upgrade Node version in circleCI config: 12.14.1 -> 12.15.0 --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b76edbf94d..59a27286c0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -233,7 +233,7 @@ jobs: eslint: docker: # Ensure .tool-versions matches - - image: circleci/node:12.14.1-browsers-legacy + - image: circleci/node:12.15.0-browsers-legacy working_directory: ~/app @@ -275,7 +275,7 @@ jobs: jest: docker: # Ensure .tool-versions matches - - image: circleci/node:12.14.1-browsers-legacy + - image: circleci/node:12.15.0-browsers-legacy working_directory: ~/app From 16c7826ceb6ec1dea919885e4b615487dd87ee4a Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 14 Feb 2020 12:45:03 +0300 Subject: [PATCH 295/342] Fix copy UTF8 tx input action --- CHANGELOG.md | 1 + .../lib/block_scout_web/templates/transaction/overview.html.eex | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86132e290a..958e77dd47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - [#2834](https://github.com/poanetwork/blockscout/pull/2834) - always redirect to checksummed hash ### Fixes +- [#3007](https://github.com/poanetwork/blockscout/pull/3007) - Fix copy UTF8 tx input action - [#2996](https://github.com/poanetwork/blockscout/pull/2996) - Fix awesomplete lib loading in Firefox - [#2993](https://github.com/poanetwork/blockscout/pull/2993), [#2999](https://github.com/poanetwork/blockscout/pull/2999) - Fix path definition for contract verification endpoint - [#2990](https://github.com/poanetwork/blockscout/pull/2990) - Fix import of Parity spec file diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex index d2ed2c8339..c81ea92818 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex @@ -141,7 +141,7 @@ Date: Fri, 14 Feb 2020 18:47:07 +0300 Subject: [PATCH 296/342] Fix redirect to checksummed address --- CHANGELOG.md | 1 + .../templates/address_transaction/index.html.eex | 2 +- .../lib/block_scout_web/views/address_transaction_view.ex | 2 ++ apps/block_scout_web/priv/gettext/default.pot | 6 +++--- apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po | 6 +++--- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f645387f6..de3fb1fa3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - [#2834](https://github.com/poanetwork/blockscout/pull/2834) - always redirect to checksummed hash ### Fixes +- [#3009](https://github.com/poanetwork/blockscout/pull/3009) - Fix broken export to CSV - [#3007](https://github.com/poanetwork/blockscout/pull/3007) - Fix copy UTF8 tx input action - [#2996](https://github.com/poanetwork/blockscout/pull/2996) - Fix awesomplete lib loading in Firefox - [#2993](https://github.com/poanetwork/blockscout/pull/2993) - Fix path definition for contract verification endpoint diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_transaction/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_transaction/index.html.eex index 83c5454627..fb09f1071b 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_transaction/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_transaction/index.html.eex @@ -71,7 +71,7 @@
- Download to_string(@address.hash)}) %>><%= gettext("CSV") %> + Download Address.checksum(@address.hash)}) %>><%= gettext("CSV") %> diff --git a/apps/block_scout_web/lib/block_scout_web/views/address_transaction_view.ex b/apps/block_scout_web/lib/block_scout_web/views/address_transaction_view.ex index 279053d5c9..70a7d01400 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/address_transaction_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/address_transaction_view.ex @@ -1,6 +1,8 @@ defmodule BlockScoutWeb.AddressTransactionView do use BlockScoutWeb, :view + alias Explorer.Chain.{Address} + def format_current_filter(filter) do case filter do "to" -> gettext("To") diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 06aa11986a..d6a156da84 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -140,7 +140,7 @@ msgstr "" #: lib/block_scout_web/templates/layout/_network_selector.html.eex:21 #: lib/block_scout_web/views/address_internal_transaction_view.ex:8 #: lib/block_scout_web/views/address_token_transfer_view.ex:8 -#: lib/block_scout_web/views/address_transaction_view.ex:8 +#: lib/block_scout_web/views/address_transaction_view.ex:10 msgid "All" msgstr "" @@ -712,7 +712,7 @@ msgstr "" #: lib/block_scout_web/templates/address_transaction/index.html.eex:40 #: lib/block_scout_web/views/address_internal_transaction_view.ex:7 #: lib/block_scout_web/views/address_token_transfer_view.ex:7 -#: lib/block_scout_web/views/address_transaction_view.ex:7 +#: lib/block_scout_web/views/address_transaction_view.ex:9 msgid "From" msgstr "" @@ -855,7 +855,7 @@ msgstr "" #: lib/block_scout_web/templates/address_transaction/index.html.eex:29 #: lib/block_scout_web/views/address_internal_transaction_view.ex:6 #: lib/block_scout_web/views/address_token_transfer_view.ex:6 -#: lib/block_scout_web/views/address_transaction_view.ex:6 +#: lib/block_scout_web/views/address_transaction_view.ex:8 msgid "To" msgstr "" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 06aa11986a..d6a156da84 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -140,7 +140,7 @@ msgstr "" #: lib/block_scout_web/templates/layout/_network_selector.html.eex:21 #: lib/block_scout_web/views/address_internal_transaction_view.ex:8 #: lib/block_scout_web/views/address_token_transfer_view.ex:8 -#: lib/block_scout_web/views/address_transaction_view.ex:8 +#: lib/block_scout_web/views/address_transaction_view.ex:10 msgid "All" msgstr "" @@ -712,7 +712,7 @@ msgstr "" #: lib/block_scout_web/templates/address_transaction/index.html.eex:40 #: lib/block_scout_web/views/address_internal_transaction_view.ex:7 #: lib/block_scout_web/views/address_token_transfer_view.ex:7 -#: lib/block_scout_web/views/address_transaction_view.ex:7 +#: lib/block_scout_web/views/address_transaction_view.ex:9 msgid "From" msgstr "" @@ -855,7 +855,7 @@ msgstr "" #: lib/block_scout_web/templates/address_transaction/index.html.eex:29 #: lib/block_scout_web/views/address_internal_transaction_view.ex:6 #: lib/block_scout_web/views/address_token_transfer_view.ex:6 -#: lib/block_scout_web/views/address_transaction_view.ex:6 +#: lib/block_scout_web/views/address_transaction_view.ex:8 msgid "To" msgstr "" From fb7d09e67d30004316b1c68787cadacbc88e3eef Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Sat, 15 Feb 2020 18:01:43 +0300 Subject: [PATCH 297/342] fix checksum redirect tests --- apps/block_scout_web/config/test.exs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/block_scout_web/config/test.exs b/apps/block_scout_web/config/test.exs index 98d143fe78..2ef3c93cab 100644 --- a/apps/block_scout_web/config/test.exs +++ b/apps/block_scout_web/config/test.exs @@ -8,7 +8,8 @@ config :block_scout_web, BlockScoutWeb.Endpoint, http: [port: 4002], secret_key_base: "27Swe6KtEtmN37WyEYRjKWyxYULNtrxlkCEKur4qoV+Lwtk8lafsR16ifz1XBBYj", server: true, - pubsub: [name: BlockScoutWeb.PubSub] + pubsub: [name: BlockScoutWeb.PubSub], + checksum_address_hashes: true config :block_scout_web, BlockScoutWeb.Tracer, disabled?: false From 9267d75ca1feefb974d95b931daec3626dfbd573 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Thu, 13 Feb 2020 15:59:39 +0300 Subject: [PATCH 298/342] Refactoring --- .../import/runner/internal_transactions.ex | 81 +++++++++---------- .../runner/internal_transactions_test.exs | 32 ++++++++ 2 files changed, 71 insertions(+), 42 deletions(-) diff --git a/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex b/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex index bc14b7ba15..6b6301b2f9 100644 --- a/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex +++ b/apps/explorer/lib/explorer/chain/import/runner/internal_transactions.ex @@ -43,16 +43,6 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do |> Map.put_new(:timeout, @timeout) |> Map.put(:timestamps, timestamps) - changes_list_without_first_traces_of_trivial_transactions = - Enum.reject(changes_list, fn changes -> - changes[:index] == 0 && changes[:input] == %Explorer.Chain.Data{bytes: ""} - end) - - all_first_traces = - Enum.filter(changes_list, fn changes -> - changes[:index] == 0 - end) - transactions_timeout = options[Runner.Transactions.option_key()][:timeout] || Runner.Transactions.timeout() update_transactions_options = %{timeout: transactions_timeout, timestamps: timestamps} @@ -60,10 +50,6 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do # filter out params with just `block_number` (indicating blocks without internal transactions) internal_transactions_params = Enum.filter(changes_list, &Map.has_key?(&1, :type)) - # internal transactions for update - internal_transactions_for_update_transactions_params = - Enum.filter(changes_list_without_first_traces_of_trivial_transactions, &Map.has_key?(&1, :type)) - # Enforce ShareLocks tables order (see docs: sharelocks.md) multi |> Multi.run(:acquire_blocks, fn repo, _ -> @@ -85,9 +71,9 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do invalid_block_numbers: invalid_block_numbers } -> - valid_internal_transactions( + valid_internal_transactions_without_first_trace( transactions, - internal_transactions_for_update_transactions_params, + internal_transactions_params, invalid_block_numbers ) end) @@ -114,7 +100,7 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do insert(repo, valid_internal_transactions_without_first_traces_of_trivial_transactions, insert_options) end) |> Multi.run(:update_transactions, fn repo, %{valid_internal_transactions: valid_internal_transactions} -> - update_transactions(repo, valid_internal_transactions, all_first_traces, update_transactions_options) + update_transactions(repo, valid_internal_transactions, update_transactions_options) end) |> Multi.run(:remove_consensus_of_invalid_blocks, fn repo, %{invalid_block_numbers: invalid_block_numbers} -> remove_consensus_of_invalid_blocks(repo, invalid_block_numbers) @@ -306,6 +292,23 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do {:ok, valid_internal_txs} end + defp valid_internal_transactions_without_first_trace( + transactions, + internal_transactions_params, + invalid_block_numbers + ) do + with {:ok, valid_internal_txs} <- + valid_internal_transactions(transactions, internal_transactions_params, invalid_block_numbers) do + valid_internal_txs_without_first_trace = + valid_internal_txs + |> Enum.reject(fn trace -> + trace[:index] == 0 && trace[:input] == %Explorer.Chain.Data{bytes: ""} + end) + + {:ok, valid_internal_txs_without_first_trace} + end + end + def defer_internal_transactions_primary_key(repo) do # Allows internal_transactions primary key to not be checked during the # DB transactions and instead be checked only at the end of it. @@ -350,7 +353,7 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do end end - defp update_transactions(repo, valid_internal_transactions, first_traces, %{ + defp update_transactions(repo, valid_internal_transactions, %{ timeout: timeout, timestamps: timestamps }) do @@ -360,43 +363,37 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do {:ok, nil} else params = - Enum.map(first_traces, fn first_trace -> + valid_internal_transactions + |> Enum.filter(fn internal_tx -> + internal_tx[:index] == 0 + end) + |> Enum.map(fn trace -> %{ - transaction_hash: Map.get(first_trace, :transaction_hash), - created_contract_address_hash: Map.get(first_trace, :created_contract_address_hash), - error: Map.get(first_trace, :error), - status: if(is_nil(Map.get(first_trace, :error)), do: :ok, else: :error) + transaction_hash: Map.get(trace, :transaction_hash), + created_contract_address_hash: Map.get(trace, :created_contract_address_hash), + error: Map.get(trace, :error), + status: if(is_nil(Map.get(trace, :error)), do: :ok, else: :error) } end) + |> Enum.filter(fn transaction_hash -> transaction_hash != nil end) transaction_hashes = valid_internal_transactions - |> Enum.map(fn valid_internal_transaction -> - Map.get(valid_internal_transaction, :transaction_hash) - end) - |> Enum.filter(fn hash -> hash != nil end) - - transaction_hashes_count = Enum.count(transaction_hashes) + |> MapSet.new(& &1.transaction_hash) + |> MapSet.to_list() result = - Enum.reduce_while(transaction_hashes, 0, fn transaction_hash, transaction_hashes_iterator -> - first_trace_params = - params - |> Enum.filter(fn first_trace -> - first_trace.transaction_hash == transaction_hash - end) - |> Enum.at(0) - + Enum.reduce_while(params, 0, fn first_trace, transaction_hashes_iterator -> update_query = from( t in Transaction, - where: t.hash == ^transaction_hash, + where: t.hash == ^first_trace.transaction_hash, # ShareLocks order already enforced by `acquire_transactions` (see docs: sharelocks.md) update: [ set: [ - created_contract_address_hash: ^first_trace_params.created_contract_address_hash, - error: ^first_trace_params.error, - status: ^first_trace_params.status, + created_contract_address_hash: ^first_trace.created_contract_address_hash, + error: ^first_trace.error, + status: ^first_trace.status, updated_at: ^timestamps.updated_at ] ] @@ -407,7 +404,7 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactions do try do {_transaction_count, result} = repo.update_all(update_query, [], timeout: timeout) - if transaction_hashes_count == transaction_hashes_iterator do + if valid_internal_transactions_count == transaction_hashes_iterator do {:halt, result} else {:cont, transaction_hashes_iterator} diff --git a/apps/explorer/test/explorer/chain/import/runner/internal_transactions_test.exs b/apps/explorer/test/explorer/chain/import/runner/internal_transactions_test.exs index ac344a20fe..f2c890850d 100644 --- a/apps/explorer/test/explorer/chain/import/runner/internal_transactions_test.exs +++ b/apps/explorer/test/explorer/chain/import/runner/internal_transactions_test.exs @@ -88,6 +88,38 @@ defmodule Explorer.Chain.Import.Runner.InternalTransactionsTest do assert :ok == Repo.get(Transaction, transaction2.hash).status end + test "for block with simple coin transfer and method calls, method calls internal txs have correct block_index" do + a_block = insert(:block, number: 1000) + transaction0 = insert(:transaction) |> with_block(a_block, status: :ok) + transaction1 = insert(:transaction) |> with_block(a_block, status: :ok) + transaction2 = insert(:transaction) |> with_block(a_block, status: :ok) + insert(:pending_block_operation, block_hash: a_block.hash, fetch_internal_transactions: true) + + assert :ok == transaction0.status + assert :ok == transaction1.status + assert :ok == transaction2.status + + index = 0 + + internal_transaction_changes_0 = make_internal_transaction_changes(transaction0, index, nil) + + internal_transaction_changes_1 = + make_internal_transaction_changes_for_simple_coin_transfers(transaction1, index, nil) + + internal_transaction_changes_2 = make_internal_transaction_changes(transaction2, index, nil) + + assert {:ok, _} = + run_internal_transactions([ + internal_transaction_changes_0, + internal_transaction_changes_1, + internal_transaction_changes_2 + ]) + + assert 0 == Repo.get_by!(InternalTransaction, transaction_hash: transaction0.hash).block_index + assert from(i in InternalTransaction, where: i.transaction_hash == ^transaction1.hash) |> Repo.one() |> is_nil() + assert 2 == Repo.get_by!(InternalTransaction, transaction_hash: transaction2.hash).block_index + end + test "simple coin transfer has no internal transaction inserted" do transaction = insert(:transaction) |> with_block(status: :ok) insert(:pending_block_operation, block_hash: transaction.block_hash, fetch_internal_transactions: true) From f8cf0d194b1a87150b43d6a364b9aad7f4a15a01 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Tue, 18 Feb 2020 00:27:59 +0300 Subject: [PATCH 299/342] Revert realtime fetcher small skips feature --- apps/indexer/config/config.exs | 9 +-- .../lib/indexer/block/catchup/fetcher.ex | 30 ++++---- .../lib/indexer/block/realtime/fetcher.ex | 68 ++++++------------- .../bound_interval_supervisor_test.exs | 5 -- .../indexer/block/catchup/fetcher_test.exs | 5 -- .../indexer/block/realtime/fetcher_test.exs | 52 -------------- 6 files changed, 34 insertions(+), 135 deletions(-) diff --git a/apps/indexer/config/config.exs b/apps/indexer/config/config.exs index 1eb4d1a16f..071f741a74 100644 --- a/apps/indexer/config/config.exs +++ b/apps/indexer/config/config.exs @@ -28,12 +28,6 @@ block_transformer = transformer end -max_skipping_distance = - case Integer.parse(System.get_env("MAX_SKIPPING_DISTANCE", "")) do - {num, ""} -> num - _ -> 5 - end - config :indexer, block_transformer: block_transformer, ecto_repos: [Explorer.Repo], @@ -42,8 +36,7 @@ config :indexer, # bytes memory_limit: 1 <<< 30, first_block: System.get_env("FIRST_BLOCK") || "0", - last_block: System.get_env("LAST_BLOCK") || "", - max_skipping_distance: max_skipping_distance + last_block: System.get_env("LAST_BLOCK") || "" # config :indexer, Indexer.Fetcher.ReplacedTransaction.Supervisor, disabled?: true # config :indexer, Indexer.Fetcher.BlockReward.Supervisor, disabled?: true diff --git a/apps/indexer/lib/indexer/block/catchup/fetcher.ex b/apps/indexer/lib/indexer/block/catchup/fetcher.ex index d15d887351..16dc05b979 100644 --- a/apps/indexer/lib/indexer/block/catchup/fetcher.ex +++ b/apps/indexer/lib/indexer/block/catchup/fetcher.ex @@ -73,12 +73,21 @@ defmodule Indexer.Block.Catchup.Fetcher do ) do Logger.metadata(fetcher: :block_catchup) - case latest_block(json_rpc_named_arguments) do + {:ok, latest_block_number} = + case latest_block() do + nil -> + EthereumJSONRPC.fetch_block_number_by_tag("latest", json_rpc_named_arguments) + + number -> + {:ok, number} + end + + case latest_block_number do # let realtime indexer get the genesis block 0 -> %{first_block_number: 0, missing_block_count: 0, last_block_number: 0, shrunk: false} - latest_block_number -> + _ -> # realtime indexer gets the current latest block first = latest_block_number - 1 last = last_block() @@ -336,23 +345,12 @@ defmodule Indexer.Block.Catchup.Fetcher do end end - defp latest_block(json_rpc_named_arguments) do + defp latest_block do string_value = Application.get_env(:indexer, :last_block) case Integer.parse(string_value) do - {integer, ""} -> - integer - - _ -> - {:ok, number} = EthereumJSONRPC.fetch_block_number_by_tag("latest", json_rpc_named_arguments) - # leave to realtime indexer the blocks in the skipping window - skipping_distance = Application.get_env(:indexer, :max_skipping_distance) - - if number > skipping_distance do - number - skipping_distance - else - 0 - end + {integer, ""} -> integer + _ -> nil end end end diff --git a/apps/indexer/lib/indexer/block/realtime/fetcher.ex b/apps/indexer/lib/indexer/block/realtime/fetcher.ex index 572eee7dc7..e60dcc255b 100644 --- a/apps/indexer/lib/indexer/block/realtime/fetcher.ex +++ b/apps/indexer/lib/indexer/block/realtime/fetcher.ex @@ -88,16 +88,9 @@ defmodule Indexer.Block.Realtime.Fetcher do number = quantity_to_integer(quantity) # Subscriptions don't support getting all the blocks and transactions data, # so we need to go back and get the full block - {new_previous_number, new_max_number} = - case start_fetch_and_import(number, block_fetcher, previous_number, max_number_seen) do - # The number may have not been inserted if it was part of a small skip - :skip -> - Logger.debug(["#{inspect(number)} was skipped"]) - {previous_number, max_number_seen} + start_fetch_and_import(number, block_fetcher, previous_number, max_number_seen) - _ -> - {number, new_max_number(number, max_number_seen)} - end + new_max_number = new_max_number(number, max_number_seen) Process.cancel_timer(timer) new_timer = schedule_polling() @@ -105,7 +98,7 @@ defmodule Indexer.Block.Realtime.Fetcher do {:noreply, %{ state - | previous_number: new_previous_number, + | previous_number: number, max_number_seen: new_max_number, timer: new_timer }} @@ -123,14 +116,7 @@ defmodule Indexer.Block.Realtime.Fetcher do {number, new_max_number} = case EthereumJSONRPC.fetch_block_number_by_tag("latest", json_rpc_named_arguments) do {:ok, number} when is_nil(max_number_seen) or number > max_number_seen -> - # in case of polling the realtime fetcher should take care of all the - # blocks in the skipping window, because the cathup fetcher wont - max_skipping_distance = Application.get_env(:indexer, :max_skipping_distance) - - last_catchup_number = max(0, 10 - max_skipping_distance - 1) - starting_number = max(previous_number, last_catchup_number) || last_catchup_number - - start_fetch_and_import(number, block_fetcher, starting_number, nil) + start_fetch_and_import(number, block_fetcher, previous_number, number) {max_number_seen, number} @@ -225,35 +211,27 @@ defmodule Indexer.Block.Realtime.Fetcher do end defp start_fetch_and_import(number, block_fetcher, previous_number, max_number_seen) do - fetching_action = determine_fetching_action(number, previous_number, max_number_seen) + start_at = determine_start_at(number, previous_number, max_number_seen) - if fetching_action != :skip do - for block_number_to_fetch <- fetching_action do - args = [block_number_to_fetch, block_fetcher, reorg?(number, max_number_seen)] - Task.Supervisor.start_child(TaskSupervisor, __MODULE__, :fetch_and_import_block, args) - end + for block_number_to_fetch <- start_at..number do + args = [block_number_to_fetch, block_fetcher, reorg?(number, max_number_seen)] + Task.Supervisor.start_child(TaskSupervisor, __MODULE__, :fetch_and_import_block, args) end - - fetching_action end - def determine_fetching_action(number, previous_number, max_number_seen) do - cond do - reorg?(number, max_number_seen) -> - [number] + defp determine_start_at(number, nil, nil), do: number - can_be_skipped?(number, max_number_seen) -> - :skip - - is_nil(previous_number) -> - [number] + defp determine_start_at(number, nil, max_number_seen) do + determine_start_at(number, number - 1, max_number_seen) + end - true -> - if number - previous_number - 1 > 10 do - (number - 10)..number - else - (previous_number + 1)..number - end + defp determine_start_at(number, previous_number, max_number_seen) do + if reorg?(number, max_number_seen) do + # set start_at to NOT fill in skipped numbers + number + else + # set start_at to fill in skipped numbers, if any + previous_number + 1 end end @@ -263,14 +241,6 @@ defmodule Indexer.Block.Realtime.Fetcher do defp reorg?(_, _), do: false - defp can_be_skipped?(number, max_number_seen) when is_integer(max_number_seen) and number > max_number_seen + 1 do - max_skipping_distance = Application.get_env(:indexer, :max_skipping_distance) - - max_skipping_distance > 1 and number <= max_number_seen + max_skipping_distance - end - - defp can_be_skipped?(_, _), do: false - @reorg_delay 5_000 @decorate trace(name: "fetch", resource: "Indexer.Block.Realtime.Fetcher.fetch_and_import_block/3", tracer: Tracer) diff --git a/apps/indexer/test/indexer/block/catchup/bound_interval_supervisor_test.exs b/apps/indexer/test/indexer/block/catchup/bound_interval_supervisor_test.exs index 73134306a6..556abf69bd 100644 --- a/apps/indexer/test/indexer/block/catchup/bound_interval_supervisor_test.exs +++ b/apps/indexer/test/indexer/block/catchup/bound_interval_supervisor_test.exs @@ -28,11 +28,6 @@ defmodule Indexer.Block.Catchup.BoundIntervalSupervisorTest do setup :verify_on_exit! - # run the tests without the skipping window - setup do - Application.put_env(:indexer, :max_skipping_distance, 0) - end - describe "start_link/1" do # See https://github.com/poanetwork/blockscout/issues/597 @tag :no_geth diff --git a/apps/indexer/test/indexer/block/catchup/fetcher_test.exs b/apps/indexer/test/indexer/block/catchup/fetcher_test.exs index c2bcc9dd3b..6230552c3f 100644 --- a/apps/indexer/test/indexer/block/catchup/fetcher_test.exs +++ b/apps/indexer/test/indexer/block/catchup/fetcher_test.exs @@ -32,11 +32,6 @@ defmodule Indexer.Block.Catchup.FetcherTest do } end - setup do - # run the tests without the skipping window - Application.put_env(:indexer, :max_skipping_distance, 0) - end - describe "import/1" do test "fetches uncles asynchronously", %{json_rpc_named_arguments: json_rpc_named_arguments} do CoinBalance.Supervisor.Case.start_supervised!(json_rpc_named_arguments: json_rpc_named_arguments) diff --git a/apps/indexer/test/indexer/block/realtime/fetcher_test.exs b/apps/indexer/test/indexer/block/realtime/fetcher_test.exs index bfa005101f..f222805d26 100644 --- a/apps/indexer/test/indexer/block/realtime/fetcher_test.exs +++ b/apps/indexer/test/indexer/block/realtime/fetcher_test.exs @@ -40,11 +40,6 @@ defmodule Indexer.Block.Realtime.FetcherTest do %{block_fetcher: block_fetcher, json_rpc_named_arguments: core_json_rpc_named_arguments} end - setup do - # run the tests with a realistic skipping window - Application.put_env(:indexer, :max_skipping_distance, 3) - end - describe "Indexer.Block.Fetcher.fetch_and_import_range/1" do @tag :no_geth test "in range with internal transactions", %{ @@ -429,51 +424,4 @@ defmodule Indexer.Block.Realtime.FetcherTest do }} = Indexer.Block.Fetcher.fetch_and_import_range(block_fetcher, 3_946_079..3_946_080) end end - - describe "determine_fetching_action/4" do - test "when everything (except number) is nil results in fetching only the number" do - assert [14] == Realtime.Fetcher.determine_fetching_action(14, nil, nil) - end - - test "when number is also max_number_seen results in fetching only the number" do - number = 23 - assert [number] == Realtime.Fetcher.determine_fetching_action(number, nil, number) - assert [number] == Realtime.Fetcher.determine_fetching_action(number, 21, number) - end - - test "when max_number_seen is nil, fetching will start from previous_number" do - # note: this is a way to force this behavior, used by `poll_latest_block_number` - number = 156 - previous_number = 150 - old_number = 94 - - assert (previous_number + 1)..number == Realtime.Fetcher.determine_fetching_action(number, previous_number, nil) - assert (number - 10)..number == Realtime.Fetcher.determine_fetching_action(number, old_number, nil) - end - - test "when number immediately follows the previous_number it is fetched" do - max_number_seen = 26 - number = 27 - - assert [number] == Realtime.Fetcher.determine_fetching_action(number, nil, max_number_seen) - end - - test "when number is inside the allowed skipping window nothing is fetched" do - max_number_seen = 26 - - assert :skip == Realtime.Fetcher.determine_fetching_action(28, nil, max_number_seen) - assert :skip == Realtime.Fetcher.determine_fetching_action(29, nil, max_number_seen) - end - - test "when number is over the allowed skipping window all the values since the previous_number will be fetched" do - max_number_seen = 390 - previous_number = 381 - max_skipping_distance = Application.get_env(:indexer, :max_skipping_distance) - - number = max_number_seen + max_skipping_distance + 1 - - assert (number - 10)..number == - Realtime.Fetcher.determine_fetching_action(number, previous_number, max_number_seen) - end - end end From 11c6b3ad94ede461897e3bb8aaac96e58e31f313 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Tue, 18 Feb 2020 00:46:31 +0300 Subject: [PATCH 300/342] Add CHANGELOG entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index de3fb1fa3d..915556933b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - [#2834](https://github.com/poanetwork/blockscout/pull/2834) - always redirect to checksummed hash ### Fixes +- [#3011](https://github.com/poanetwork/blockscout/pull/3011) - Revert realtime fetcher small skips feature - [#3009](https://github.com/poanetwork/blockscout/pull/3009) - Fix broken export to CSV - [#3007](https://github.com/poanetwork/blockscout/pull/3007) - Fix copy UTF8 tx input action - [#2996](https://github.com/poanetwork/blockscout/pull/2996) - Fix awesomplete lib loading in Firefox From 21ca08b8994e56f1b329900e79d9927ee52d9351 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Tue, 18 Feb 2020 13:05:29 +0300 Subject: [PATCH 301/342] Speedup token transfers list query --- CHANGELOG.md | 1 + apps/explorer/lib/explorer/etherscan.ex | 65 +++++++++++++++++-------- 2 files changed, 45 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de3fb1fa3d..3d520d4677 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - [#2834](https://github.com/poanetwork/blockscout/pull/2834) - always redirect to checksummed hash ### Fixes +- [#3012](https://github.com/poanetwork/blockscout/pull/3012) - Speedup token transfers list query - [#3009](https://github.com/poanetwork/blockscout/pull/3009) - Fix broken export to CSV - [#3007](https://github.com/poanetwork/blockscout/pull/3007) - Fix copy UTF8 tx input action - [#2996](https://github.com/poanetwork/blockscout/pull/2996) - Fix awesomplete lib loading in Firefox diff --git a/apps/explorer/lib/explorer/etherscan.ex b/apps/explorer/lib/explorer/etherscan.ex index 14bd208db5..1caf9f7e64 100644 --- a/apps/explorer/lib/explorer/etherscan.ex +++ b/apps/explorer/lib/explorer/etherscan.ex @@ -3,7 +3,7 @@ defmodule Explorer.Etherscan do The etherscan context. """ - import Ecto.Query, only: [from: 2, where: 3, or_where: 3, union: 2] + import Ecto.Query, only: [from: 2, where: 3, or_where: 3, union: 2, subquery: 1] alias Explorer.Etherscan.Logs alias Explorer.{Chain, Repo} @@ -374,6 +374,8 @@ defmodule Explorer.Etherscan do end @token_transfer_fields ~w( + block_number + block_hash token_contract_address_hash transaction_hash from_address_hash @@ -382,31 +384,17 @@ defmodule Explorer.Etherscan do )a defp list_token_transfers(address_hash, contract_address_hash, block_height, options) do - query = + tt_query = from( - t in Transaction, - inner_join: tt in TokenTransfer, - on: tt.transaction_hash == t.hash and tt.block_number == t.block_number and tt.block_hash == t.block_hash, + tt in TokenTransfer, inner_join: tkn in assoc(tt, :token), - inner_join: b in assoc(t, :block), where: tt.from_address_hash == ^address_hash, or_where: tt.to_address_hash == ^address_hash, - order_by: [{^options.order_by_direction, t.block_number}], + order_by: [{^options.order_by_direction, tt.block_number}, {^options.order_by_direction, tt.log_index}], limit: ^options.page_size, offset: ^offset(options), select: merge(map(tt, ^@token_transfer_fields), %{ - transaction_nonce: t.nonce, - transaction_index: t.index, - transaction_gas: t.gas, - transaction_gas_price: t.gas_price, - transaction_gas_used: t.gas_used, - transaction_cumulative_gas_used: t.cumulative_gas_used, - transaction_input: t.input, - block_hash: b.hash, - block_number: b.number, - block_timestamp: b.timestamp, - confirmations: fragment("? - ?", ^block_height, t.block_number), token_id: tt.token_id, token_name: tkn.name, token_symbol: tkn.symbol, @@ -416,10 +404,45 @@ defmodule Explorer.Etherscan do }) ) - query + tt_specific_token_query = + tt_query + |> where_contract_address_match(contract_address_hash) + + wrapped_query = + from( + tt in subquery(tt_specific_token_query), + inner_join: t in Transaction, + on: tt.transaction_hash == t.hash and tt.block_number == t.block_number and tt.block_hash == t.block_hash, + inner_join: b in assoc(t, :block), + select: %{ + token_contract_address_hash: tt.token_contract_address_hash, + transaction_hash: tt.transaction_hash, + from_address_hash: tt.from_address_hash, + to_address_hash: tt.to_address_hash, + amount: tt.amount, + transaction_nonce: t.nonce, + transaction_index: t.index, + transaction_gas: t.gas, + transaction_gas_price: t.gas_price, + transaction_gas_used: t.gas_used, + transaction_cumulative_gas_used: t.cumulative_gas_used, + transaction_input: t.input, + block_hash: b.hash, + block_number: b.number, + block_timestamp: b.timestamp, + confirmations: fragment("? - ?", ^block_height, t.block_number), + token_id: tt.token_id, + token_name: tt.token_name, + token_symbol: tt.token_symbol, + token_decimals: tt.token_decimals, + token_type: tt.token_type, + token_log_index: tt.token_log_index + } + ) + + wrapped_query |> where_start_block_match(options) |> where_end_block_match(options) - |> where_contract_address_match(contract_address_hash) |> Repo.all() end @@ -450,7 +473,7 @@ defmodule Explorer.Etherscan do defp where_contract_address_match(query, nil), do: query defp where_contract_address_match(query, contract_address_hash) do - where(query, [_, tt], tt.token_contract_address_hash == ^contract_address_hash) + where(query, [tt, _], tt.token_contract_address_hash == ^contract_address_hash) end defp offset(options), do: (options.page_number - 1) * options.page_size From b9702b02049bd94ff33458cfba458c9e24d44f42 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Tue, 18 Feb 2020 13:55:55 +0300 Subject: [PATCH 302/342] Fix gettext --- apps/block_scout_web/priv/gettext/default.pot | 4 ++-- apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 1fa0376187..c4f34553fe 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -1722,8 +1722,8 @@ msgstr "" #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 #: lib/block_scout_web/templates/address/overview.html.eex:134 #: lib/block_scout_web/templates/address/overview.html.eex:142 -#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:94 -#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:102 +#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:95 +#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:103 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index 1fa0376187..c4f34553fe 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -1722,8 +1722,8 @@ msgstr "" #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 #: lib/block_scout_web/templates/address/overview.html.eex:134 #: lib/block_scout_web/templates/address/overview.html.eex:142 -#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:94 -#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:102 +#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:95 +#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:103 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" From 28b25fb96cfac4363abe627ac387fe7ca3b8d2fe Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Wed, 19 Feb 2020 17:03:29 +0300 Subject: [PATCH 303/342] Fix token instance QR code data --- CHANGELOG.md | 1 + .../lib/block_scout_web/views/api_docs_view.ex | 10 ++++++---- .../views/tokens/instance/overview_view.ex | 5 +++-- apps/block_scout_web/priv/gettext/default.pot | 4 ++-- .../priv/gettext/en/LC_MESSAGES/default.po | 4 ++-- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16869df2f8..3323bd479c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - [#2834](https://github.com/poanetwork/blockscout/pull/2834) - always redirect to checksummed hash ### Fixes +- [#3016](https://github.com/poanetwork/blockscout/pull/3016) - Fix token instance QR code data - [#3012](https://github.com/poanetwork/blockscout/pull/3012) - Speedup token transfers list query - [#3011](https://github.com/poanetwork/blockscout/pull/3011) - Revert realtime fetcher small skips feature - [#3009](https://github.com/poanetwork/blockscout/pull/3009) - Fix broken export to CSV diff --git a/apps/block_scout_web/lib/block_scout_web/views/api_docs_view.ex b/apps/block_scout_web/lib/block_scout_web/views/api_docs_view.ex index 08ccab4256..4ac79494e5 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/api_docs_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/api_docs_view.ex @@ -34,7 +34,7 @@ defmodule BlockScoutWeb.APIDocsView do end) end - def blockscout_url(is_api) do + def blockscout_url(is_api, set_path) do url_params = Application.get_env(:block_scout_web, BlockScoutWeb.Endpoint)[:url] host = url_params[:host] @@ -48,7 +48,7 @@ defmodule BlockScoutWeb.APIDocsView do scheme = Keyword.get(url_params, :scheme, "http") if host != "localhost" do - "#{scheme}://#{host}#{path}" + if set_path, do: "#{scheme}://#{host}#{path}", else: "#{scheme}://#{host}" else port = Application.get_env(:block_scout_web, BlockScoutWeb.Endpoint)[:http][:port] "#{scheme}://#{host}:#{to_string(port)}" @@ -57,17 +57,19 @@ defmodule BlockScoutWeb.APIDocsView do def api_url do is_api = true + set_path = true is_api - |> blockscout_url() + |> blockscout_url(set_path) |> Path.join("api") end def eth_rpc_api_url do is_api = true + set_path = true is_api - |> blockscout_url() + |> blockscout_url(set_path) |> Path.join("api/eth_rpc") end end diff --git a/apps/block_scout_web/lib/block_scout_web/views/tokens/instance/overview_view.ex b/apps/block_scout_web/lib/block_scout_web/views/tokens/instance/overview_view.ex index 3ad44bfcd5..35fc32ee43 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/tokens/instance/overview_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/tokens/instance/overview_view.ex @@ -4,7 +4,7 @@ defmodule BlockScoutWeb.Tokens.Instance.OverviewView do alias BlockScoutWeb.CurrencyHelpers alias Explorer.Chain.{Address, SmartContract, Token} - import BlockScoutWeb.APIDocsView, only: [blockscout_url: 1] + import BlockScoutWeb.APIDocsView, only: [blockscout_url: 2] @tabs ["token_transfers", "metadata"] @@ -56,7 +56,8 @@ defmodule BlockScoutWeb.Tokens.Instance.OverviewView do token_instance_path = token_instance_path(conn, :show, to_string(hash), to_string(token_id)) is_api = false - url = Path.join(blockscout_url(is_api), token_instance_path) + set_path = false + url = Path.join(blockscout_url(is_api, set_path), token_instance_path) url |> QRCode.to_png() diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index d6a156da84..6e87c32ef3 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -898,7 +898,7 @@ msgstr "" #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/views/address_view.ex:308 -#: lib/block_scout_web/views/tokens/instance/overview_view.ex:72 +#: lib/block_scout_web/views/tokens/instance/overview_view.ex:73 #: lib/block_scout_web/views/tokens/overview_view.ex:35 #: lib/block_scout_web/views/transaction_view.ex:314 msgid "Token Transfers" @@ -1774,7 +1774,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/instance/metadata/index.html.eex:18 #: lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex:10 -#: lib/block_scout_web/views/tokens/instance/overview_view.ex:73 +#: lib/block_scout_web/views/tokens/instance/overview_view.ex:74 msgid "Metadata" msgstr "" diff --git a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po index d6a156da84..6e87c32ef3 100644 --- a/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po +++ b/apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po @@ -898,7 +898,7 @@ msgstr "" #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/views/address_view.ex:308 -#: lib/block_scout_web/views/tokens/instance/overview_view.ex:72 +#: lib/block_scout_web/views/tokens/instance/overview_view.ex:73 #: lib/block_scout_web/views/tokens/overview_view.ex:35 #: lib/block_scout_web/views/transaction_view.ex:314 msgid "Token Transfers" @@ -1774,7 +1774,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/instance/metadata/index.html.eex:18 #: lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex:10 -#: lib/block_scout_web/views/tokens/instance/overview_view.ex:73 +#: lib/block_scout_web/views/tokens/instance/overview_view.ex:74 msgid "Metadata" msgstr "" From 82d01b8c4dc34848129a90de1a54bcc9020d521f Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Wed, 19 Feb 2020 12:32:29 +0300 Subject: [PATCH 304/342] Fix checksum address on token/instance pages --- CHANGELOG.md | 1 + .../controllers/tokens/holder_controller.ex | 3 ++- .../controllers/tokens/instance/transfer_controller.ex | 3 ++- .../controllers/tokens/inventory_controller.ex | 6 +++--- .../controllers/tokens/read_contract_controller.ex | 3 ++- .../controllers/tokens/transfer_controller.ex | 10 ++++++++-- .../tokens/instance/overview/_details.html.eex | 2 +- .../templates/tokens/instance/overview/_tabs.html.eex | 2 +- .../templates/tokens/overview/_details.html.eex | 8 ++++---- .../templates/tokens/overview/_metatags.html.eex | 2 +- .../templates/tokens/overview/_tabs.html.eex | 6 +++--- .../templates/tokens/read_contract/index.html.eex | 2 +- .../templates/tokens/transfer/_token_transfer.html.eex | 6 +++--- .../block_scout_web/views/tokens/read_contract_view.ex | 1 + .../lib/block_scout_web/views/tokens/transfer_view.ex | 1 + 15 files changed, 34 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16869df2f8..39277b553b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - [#2834](https://github.com/poanetwork/blockscout/pull/2834) - always redirect to checksummed hash ### Fixes +- [#3014](https://github.com/poanetwork/blockscout/pull/3014) - Fix checksum address feature for tokens pages - [#3012](https://github.com/poanetwork/blockscout/pull/3012) - Speedup token transfers list query - [#3011](https://github.com/poanetwork/blockscout/pull/3011) - Revert realtime fetcher small skips feature - [#3009](https://github.com/poanetwork/blockscout/pull/3009) - Fix broken export to CSV diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/holder_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/holder_controller.ex index db24acb2b9..078aac9e56 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/holder_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/holder_controller.ex @@ -3,6 +3,7 @@ defmodule BlockScoutWeb.Tokens.HolderController do alias BlockScoutWeb.Tokens.HolderView alias Explorer.{Chain, Market} + alias Explorer.Chain.Address alias Phoenix.View import BlockScoutWeb.Chain, @@ -52,7 +53,7 @@ defmodule BlockScoutWeb.Tokens.HolderController do "index.html", current_path: current_path(conn), token: Market.add_price(token), - counters_path: token_path(conn, :token_counters, %{"id" => to_string(address_hash)}) + counters_path: token_path(conn, :token_counters, %{"id" => Address.checksum(address_hash)}) ) else :error -> diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/instance/transfer_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/instance/transfer_controller.ex index 4ea0bd2d76..e05b49cd47 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/instance/transfer_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/instance/transfer_controller.ex @@ -3,6 +3,7 @@ defmodule BlockScoutWeb.Tokens.Instance.TransferController do alias BlockScoutWeb.Tokens.TransferView alias Explorer.{Chain, Market} + alias Explorer.Chain.Address alias Phoenix.View import BlockScoutWeb.Chain, only: [split_list_by_page: 1, paging_options: 1, next_page_params: 3] @@ -24,7 +25,7 @@ defmodule BlockScoutWeb.Tokens.Instance.TransferController do conn, :index, token_id, - token.contract_address_hash, + Address.checksum(token.contract_address_hash), Map.delete(next_page_params, "type") ) end diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/inventory_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/inventory_controller.ex index 112117662e..f257334a07 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/inventory_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/inventory_controller.ex @@ -3,7 +3,7 @@ defmodule BlockScoutWeb.Tokens.InventoryController do alias BlockScoutWeb.Tokens.InventoryView alias Explorer.{Chain, Market} - alias Explorer.Chain.TokenTransfer + alias Explorer.Chain.{Address, TokenTransfer} alias Phoenix.View import BlockScoutWeb.Chain, only: [split_list_by_page: 1, default_paging_options: 0] @@ -28,7 +28,7 @@ defmodule BlockScoutWeb.Tokens.InventoryController do token_inventory_path( conn, :index, - address_hash_string, + Address.checksum(address_hash_string), Map.delete(next_page_params, "type") ) end @@ -71,7 +71,7 @@ defmodule BlockScoutWeb.Tokens.InventoryController do "index.html", current_path: current_path(conn), token: Market.add_price(token), - counters_path: token_path(conn, :token_counters, %{"id" => to_string(address_hash)}) + counters_path: token_path(conn, :token_counters, %{"id" => Address.checksum(address_hash)}) ) else :error -> diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/read_contract_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/read_contract_controller.ex index 9d14b42e5f..b1ff0fcfed 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/read_contract_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/read_contract_controller.ex @@ -2,6 +2,7 @@ defmodule BlockScoutWeb.Tokens.ReadContractController do use BlockScoutWeb, :controller alias Explorer.{Chain, Market} + alias Explorer.Chain.Address def index(conn, %{"token_id" => address_hash_string}) do options = [necessity_by_association: %{[contract_address: :smart_contract] => :optional}] @@ -13,7 +14,7 @@ defmodule BlockScoutWeb.Tokens.ReadContractController do conn, "index.html", token: Market.add_price(token), - counters_path: token_path(conn, :token_counters, %{"id" => to_string(address_hash)}) + counters_path: token_path(conn, :token_counters, %{"id" => Address.checksum(address_hash)}) ) else :not_found -> diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/transfer_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/transfer_controller.ex index 30a69ff806..b3b523926f 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/transfer_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/transfer_controller.ex @@ -3,6 +3,7 @@ defmodule BlockScoutWeb.Tokens.TransferController do alias BlockScoutWeb.Tokens.TransferView alias Explorer.{Chain, Market} + alias Explorer.Chain.Address alias Phoenix.View import BlockScoutWeb.Chain, only: [split_list_by_page: 1, paging_options: 1, next_page_params: 3] @@ -19,7 +20,12 @@ defmodule BlockScoutWeb.Tokens.TransferController do nil next_page_params -> - token_transfer_path(conn, :index, token.contract_address_hash, Map.delete(next_page_params, "type")) + token_transfer_path( + conn, + :index, + Address.checksum(token.contract_address_hash), + Map.delete(next_page_params, "type") + ) end transfers_json = @@ -51,7 +57,7 @@ defmodule BlockScoutWeb.Tokens.TransferController do render( conn, "index.html", - counters_path: token_path(conn, :token_counters, %{"id" => to_string(address_hash)}), + counters_path: token_path(conn, :token_counters, %{"id" => Address.checksum(address_hash)}), current_path: current_path(conn), token: Market.add_price(token) ) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex index 991c8e13f6..4f363b3347 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex @@ -18,7 +18,7 @@ data-placement="top" data-toggle="tooltip" title='<%= gettext("View Contract") %>' - onclick='<%= "location='#{address_path(@conn, :show, @token.contract_address_hash)}'" %>' + onclick='<%= "location='#{address_path(@conn, :show, Address.checksum(@token.contract_address_hash))}'" %>' > diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex index fe0eb5c0e9..a4e299b2bf 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_tabs.html.eex @@ -8,7 +8,7 @@ <%= if @token_instance.instance do %> <%= link( gettext("Metadata"), - to: token_instance_metadata_path(@conn, :index, @token.contract_address_hash, to_string(@token_instance.token_id)), + to: token_instance_metadata_path(@conn, :index, Address.checksum(@token.contract_address_hash), to_string(@token_instance.token_id)), class: "card-tab #{tab_status("metadata", @conn.request_path)}") %> <% end %> diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex index d46dbb25ac..4fd8e88b8f 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex @@ -11,7 +11,7 @@ <% end %> - + -

<%= to_string(@token.contract_address_hash) %>

+

<%= Address.checksum(@token.contract_address_hash) %>

<%= link to: - address_path(@conn, :show, @token.contract_address_hash), + address_path(@conn, :show, Address.checksum(@token.contract_address_hash)), "data-test": "token_contract_address" do %> <%= gettext "View Contract" %> @@ -108,7 +108,7 @@