@aztec/end-to-end 0.0.0-test.0 → 0.0.1-commit.001888fc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bench/client_flows/benchmark.d.ts +62 -0
- package/dest/bench/client_flows/benchmark.d.ts.map +1 -0
- package/dest/bench/client_flows/benchmark.js +281 -0
- package/dest/bench/client_flows/client_flows_benchmark.d.ts +79 -0
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -0
- package/dest/bench/client_flows/client_flows_benchmark.js +329 -0
- package/dest/bench/client_flows/config.d.ts +14 -0
- package/dest/bench/client_flows/config.d.ts.map +1 -0
- package/dest/bench/client_flows/config.js +124 -0
- package/dest/bench/client_flows/data_extractor.d.ts +2 -0
- package/dest/bench/client_flows/data_extractor.d.ts.map +1 -0
- package/dest/bench/client_flows/data_extractor.js +79 -0
- package/dest/bench/utils.d.ts +16 -41
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +44 -72
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +28 -19
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +125 -103
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +32 -32
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +105 -104
- package/dest/e2e_deploy_contract/deploy_test.d.ts +19 -10
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_deploy_contract/deploy_test.js +26 -27
- package/dest/e2e_epochs/epochs_test.d.ts +75 -24
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +290 -58
- package/dest/e2e_fees/bridging_race.notest.d.ts +2 -0
- package/dest/e2e_fees/bridging_race.notest.d.ts.map +1 -0
- package/dest/e2e_fees/bridging_race.notest.js +61 -0
- package/dest/e2e_fees/fees_test.d.ts +38 -23
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +169 -183
- package/dest/e2e_l1_publisher/write_json.d.ts +11 -0
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -0
- package/dest/e2e_l1_publisher/write_json.js +56 -0
- package/dest/e2e_multi_validator/utils.d.ts +12 -0
- package/dest/e2e_multi_validator/utils.d.ts.map +1 -0
- package/dest/e2e_multi_validator/utils.js +214 -0
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +15 -15
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +36 -42
- package/dest/e2e_p2p/inactivity_slash_test.d.ts +31 -0
- package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -0
- package/dest/e2e_p2p/inactivity_slash_test.js +136 -0
- package/dest/e2e_p2p/p2p_network.d.ts +282 -27
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +255 -176
- package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
- package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
- package/dest/e2e_p2p/reqresp/utils.js +190 -0
- package/dest/e2e_p2p/shared.d.ts +64 -8
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +200 -27
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
- package/dest/e2e_token_contract/token_contract_test.d.ts +29 -14
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +107 -75
- package/dest/fixtures/authwit_proxy.d.ts +15 -0
- package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
- package/dest/fixtures/authwit_proxy.js +30 -0
- package/dest/fixtures/e2e_prover_test.d.ts +55 -0
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -0
- package/dest/fixtures/e2e_prover_test.js +271 -0
- package/dest/fixtures/elu_monitor.d.ts +21 -0
- package/dest/fixtures/elu_monitor.d.ts.map +1 -0
- package/dest/fixtures/elu_monitor.js +102 -0
- package/dest/fixtures/fixtures.d.ts +10 -8
- package/dest/fixtures/fixtures.d.ts.map +1 -1
- package/dest/fixtures/fixtures.js +11 -5
- package/dest/fixtures/get_acvm_config.d.ts +2 -2
- package/dest/fixtures/get_acvm_config.d.ts.map +1 -1
- package/dest/fixtures/get_acvm_config.js +3 -15
- package/dest/fixtures/get_bb_config.d.ts +2 -2
- package/dest/fixtures/get_bb_config.d.ts.map +1 -1
- package/dest/fixtures/get_bb_config.js +10 -17
- package/dest/fixtures/ha_setup.d.ts +71 -0
- package/dest/fixtures/ha_setup.d.ts.map +1 -0
- package/dest/fixtures/ha_setup.js +116 -0
- package/dest/fixtures/index.d.ts +2 -1
- package/dest/fixtures/index.d.ts.map +1 -1
- package/dest/fixtures/index.js +1 -0
- package/dest/fixtures/l1_to_l2_messaging.d.ts +11 -7
- package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
- package/dest/fixtures/l1_to_l2_messaging.js +45 -19
- package/dest/fixtures/logging.d.ts +1 -1
- package/dest/fixtures/setup.d.ts +239 -0
- package/dest/fixtures/setup.d.ts.map +1 -0
- package/dest/fixtures/setup.js +606 -0
- package/dest/fixtures/setup_p2p_test.d.ts +23 -15
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +102 -31
- package/dest/fixtures/token_utils.d.ts +10 -4
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +33 -13
- package/dest/fixtures/utils.d.ts +5 -153
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +4 -552
- package/dest/fixtures/web3signer.d.ts +5 -0
- package/dest/fixtures/web3signer.d.ts.map +1 -0
- package/dest/fixtures/web3signer.js +53 -0
- package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
- package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
- package/dest/fixtures/with_telemetry_utils.js +2 -2
- package/dest/index.d.ts +1 -1
- package/dest/quality_of_service/grafana_client.d.ts +41 -0
- package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
- package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
- package/dest/quality_of_service/prometheus_client.d.ts +38 -0
- package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
- package/dest/quality_of_service/prometheus_client.js +67 -0
- package/dest/shared/cross_chain_test_harness.d.ts +44 -27
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +107 -53
- package/dest/shared/gas_portal_test_harness.d.ts +33 -25
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +51 -30
- package/dest/shared/index.d.ts +3 -2
- package/dest/shared/index.d.ts.map +1 -1
- package/dest/shared/index.js +1 -0
- package/dest/shared/jest_setup.d.ts +1 -1
- package/dest/shared/jest_setup.js +42 -2
- package/dest/shared/mock_state_view.d.ts +86 -0
- package/dest/shared/mock_state_view.d.ts.map +1 -0
- package/dest/shared/mock_state_view.js +186 -0
- package/dest/shared/submit-transactions.d.ts +6 -4
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/submit-transactions.js +15 -16
- package/dest/shared/uniswap_l1_l2.d.ts +3 -25
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +175 -126
- package/dest/simulators/index.d.ts +1 -1
- package/dest/simulators/lending_simulator.d.ts +7 -7
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +17 -18
- package/dest/simulators/token_simulator.d.ts +6 -3
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/simulators/token_simulator.js +12 -30
- package/dest/spartan/setup_test_wallets.d.ts +36 -11
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +276 -62
- package/dest/spartan/tx_metrics.d.ts +88 -0
- package/dest/spartan/tx_metrics.d.ts.map +1 -0
- package/dest/spartan/tx_metrics.js +422 -0
- package/dest/spartan/utils/bot.d.ts +28 -0
- package/dest/spartan/utils/bot.d.ts.map +1 -0
- package/dest/spartan/utils/bot.js +142 -0
- package/dest/spartan/utils/chaos.d.ts +79 -0
- package/dest/spartan/utils/chaos.d.ts.map +1 -0
- package/dest/spartan/utils/chaos.js +142 -0
- package/dest/spartan/utils/clients.d.ts +39 -0
- package/dest/spartan/utils/clients.d.ts.map +1 -0
- package/dest/spartan/utils/clients.js +90 -0
- package/dest/spartan/utils/config.d.ts +45 -0
- package/dest/spartan/utils/config.d.ts.map +1 -0
- package/dest/spartan/utils/config.js +23 -0
- package/dest/spartan/utils/health.d.ts +63 -0
- package/dest/spartan/utils/health.d.ts.map +1 -0
- package/dest/spartan/utils/health.js +202 -0
- package/dest/spartan/utils/helm.d.ts +15 -0
- package/dest/spartan/utils/helm.d.ts.map +1 -0
- package/dest/spartan/utils/helm.js +47 -0
- package/dest/spartan/utils/index.d.ts +11 -0
- package/dest/spartan/utils/index.d.ts.map +1 -0
- package/dest/spartan/utils/index.js +22 -0
- package/dest/spartan/utils/k8s.d.ts +128 -0
- package/dest/spartan/utils/k8s.d.ts.map +1 -0
- package/dest/spartan/utils/k8s.js +381 -0
- package/dest/spartan/utils/nodes.d.ts +40 -0
- package/dest/spartan/utils/nodes.d.ts.map +1 -0
- package/dest/spartan/utils/nodes.js +461 -0
- package/dest/spartan/utils/pod_logs.d.ts +25 -0
- package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
- package/dest/spartan/utils/pod_logs.js +74 -0
- package/dest/spartan/utils/scripts.d.ts +30 -0
- package/dest/spartan/utils/scripts.d.ts.map +1 -0
- package/dest/spartan/utils/scripts.js +81 -0
- package/dest/spartan/utils.d.ts +2 -415
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +1 -445
- package/dest/test-wallet/test_wallet.d.ts +83 -0
- package/dest/test-wallet/test_wallet.d.ts.map +1 -0
- package/dest/test-wallet/test_wallet.js +214 -0
- package/dest/test-wallet/utils.d.ts +41 -0
- package/dest/test-wallet/utils.d.ts.map +1 -0
- package/dest/test-wallet/utils.js +71 -0
- package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
- package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
- package/dest/test-wallet/wallet_worker_script.js +48 -0
- package/dest/test-wallet/worker_wallet.d.ts +52 -0
- package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
- package/dest/test-wallet/worker_wallet.js +151 -0
- package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
- package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
- package/dest/test-wallet/worker_wallet_schema.js +10 -0
- package/package.json +72 -62
- package/src/bench/client_flows/benchmark.ts +363 -0
- package/src/bench/client_flows/client_flows_benchmark.ts +388 -0
- package/src/bench/client_flows/config.ts +69 -0
- package/src/bench/client_flows/data_extractor.ts +89 -0
- package/src/bench/utils.ts +47 -86
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +149 -171
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +155 -182
- package/src/e2e_deploy_contract/deploy_test.ts +40 -48
- package/src/e2e_epochs/epochs_test.ts +364 -93
- package/src/e2e_fees/bridging_race.notest.ts +74 -0
- package/src/e2e_fees/fees_test.ts +213 -259
- package/src/e2e_l1_publisher/write_json.ts +77 -0
- package/src/e2e_multi_validator/utils.ts +258 -0
- package/src/e2e_nested_contract/nested_contract_test.ts +48 -59
- package/src/e2e_p2p/inactivity_slash_test.ts +179 -0
- package/src/e2e_p2p/p2p_network.ts +367 -234
- package/src/e2e_p2p/reqresp/utils.ts +256 -0
- package/src/e2e_p2p/shared.ts +315 -39
- package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
- package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
- package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
- package/src/e2e_token_contract/token_contract_test.ts +132 -126
- package/src/fixtures/authwit_proxy.ts +50 -0
- package/src/fixtures/dumps/epoch_proof_result.json +1 -1
- package/src/fixtures/e2e_prover_test.ts +332 -0
- package/src/fixtures/elu_monitor.ts +126 -0
- package/src/fixtures/fixtures.ts +15 -7
- package/src/fixtures/get_acvm_config.ts +4 -12
- package/src/fixtures/get_bb_config.ts +18 -13
- package/src/fixtures/ha_setup.ts +186 -0
- package/src/fixtures/index.ts +1 -0
- package/src/fixtures/l1_to_l2_messaging.ts +56 -24
- package/src/fixtures/setup.ts +903 -0
- package/src/fixtures/setup_p2p_test.ts +134 -50
- package/src/fixtures/token_utils.ts +37 -16
- package/src/fixtures/utils.ts +27 -820
- package/src/fixtures/web3signer.ts +63 -0
- package/src/fixtures/with_telemetry_utils.ts +2 -2
- package/src/guides/up_quick_start.sh +9 -17
- package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +2 -2
- package/src/quality_of_service/prometheus_client.ts +113 -0
- package/src/shared/cross_chain_test_harness.ts +110 -94
- package/src/shared/gas_portal_test_harness.ts +59 -50
- package/src/shared/index.ts +2 -1
- package/src/shared/jest_setup.ts +52 -2
- package/src/shared/mock_state_view.ts +188 -0
- package/src/shared/submit-transactions.ts +19 -20
- package/src/shared/uniswap_l1_l2.ts +207 -226
- package/src/simulators/lending_simulator.ts +18 -17
- package/src/simulators/token_simulator.ts +18 -34
- package/src/spartan/DEVELOP.md +128 -0
- package/src/spartan/setup_test_wallets.ts +393 -95
- package/src/spartan/tx_metrics.ts +376 -0
- package/src/spartan/utils/bot.ts +188 -0
- package/src/spartan/utils/chaos.ts +253 -0
- package/src/spartan/utils/clients.ts +100 -0
- package/src/spartan/utils/config.ts +29 -0
- package/src/spartan/utils/health.ts +255 -0
- package/src/spartan/utils/helm.ts +84 -0
- package/src/spartan/utils/index.ts +71 -0
- package/src/spartan/utils/k8s.ts +535 -0
- package/src/spartan/utils/nodes.ts +543 -0
- package/src/spartan/utils/pod_logs.ts +99 -0
- package/src/spartan/utils/scripts.ts +99 -0
- package/src/spartan/utils.ts +1 -582
- package/src/test-wallet/test_wallet.ts +306 -0
- package/src/test-wallet/utils.ts +112 -0
- package/src/test-wallet/wallet_worker_script.ts +60 -0
- package/src/test-wallet/worker_wallet.ts +213 -0
- package/src/test-wallet/worker_wallet_schema.ts +13 -0
- package/dest/e2e_prover/e2e_prover_test.d.ts +0 -56
- package/dest/e2e_prover/e2e_prover_test.d.ts.map +0 -1
- package/dest/e2e_prover/e2e_prover_test.js +0 -291
- package/dest/fixtures/setup_l1_contracts.d.ts +0 -6
- package/dest/fixtures/setup_l1_contracts.d.ts.map +0 -1
- package/dest/fixtures/setup_l1_contracts.js +0 -17
- package/dest/fixtures/snapshot_manager.d.ts +0 -87
- package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
- package/dest/fixtures/snapshot_manager.js +0 -479
- package/dest/quality_of_service/alert_checker.d.ts +0 -41
- package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
- package/dest/sample-dapp/connect.js +0 -12
- package/dest/sample-dapp/contracts.js +0 -10
- package/dest/sample-dapp/deploy.js +0 -35
- package/dest/sample-dapp/index.js +0 -98
- package/src/e2e_prover/e2e_prover_test.ts +0 -418
- package/src/fixtures/setup_l1_contracts.ts +0 -27
- package/src/fixtures/snapshot_manager.ts +0 -617
- package/src/sample-dapp/connect.mjs +0 -16
- package/src/sample-dapp/contracts.mjs +0 -14
- package/src/sample-dapp/deploy.mjs +0 -40
- package/src/sample-dapp/index.mjs +0 -128
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ContractFunctionInteraction,
|
|
3
|
+
SendInteractionOptions,
|
|
4
|
+
SimulateInteractionOptions,
|
|
5
|
+
} from '@aztec/aztec.js/contracts';
|
|
6
|
+
import type { GenericProxyContract } from '@aztec/noir-test-contracts.js/GenericProxy';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Builds a proxy forwarding call from an action, selecting the right forward_private_N method.
|
|
10
|
+
*/
|
|
11
|
+
async function buildProxyCall(proxy: GenericProxyContract, action: ContractFunctionInteraction) {
|
|
12
|
+
const call = await action.getFunctionCall();
|
|
13
|
+
const argCount = call.args.length;
|
|
14
|
+
if (argCount === 2) {
|
|
15
|
+
return proxy.methods.forward_private_2(call.to, call.selector, call.args);
|
|
16
|
+
} else if (argCount === 3) {
|
|
17
|
+
return proxy.methods.forward_private_3(call.to, call.selector, call.args);
|
|
18
|
+
} else if (argCount === 4) {
|
|
19
|
+
return proxy.methods.forward_private_4(call.to, call.selector, call.args);
|
|
20
|
+
}
|
|
21
|
+
throw new Error(`No forward_private_${argCount} method on proxy`);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Sends a contract call through the authwit proxy.
|
|
26
|
+
* The proxy becomes msg_sender in the target (triggering authwit validation),
|
|
27
|
+
* while the actual tx sender retains their keys in scope.
|
|
28
|
+
*/
|
|
29
|
+
export async function sendThroughAuthwitProxy(
|
|
30
|
+
proxy: GenericProxyContract,
|
|
31
|
+
action: ContractFunctionInteraction,
|
|
32
|
+
options: SendInteractionOptions,
|
|
33
|
+
) {
|
|
34
|
+
const proxyCall = await buildProxyCall(proxy, action);
|
|
35
|
+
return proxyCall.send(options);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Simulates a contract call through the authwit proxy.
|
|
40
|
+
* The proxy becomes msg_sender in the target (triggering authwit validation),
|
|
41
|
+
* while the actual tx sender retains their keys in scope.
|
|
42
|
+
*/
|
|
43
|
+
export async function simulateThroughAuthwitProxy(
|
|
44
|
+
proxy: GenericProxyContract,
|
|
45
|
+
action: ContractFunctionInteraction,
|
|
46
|
+
options: SimulateInteractionOptions,
|
|
47
|
+
) {
|
|
48
|
+
const proxyCall = await buildProxyCall(proxy, action);
|
|
49
|
+
return proxyCall.simulate(options);
|
|
50
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"proof":"0x0000b2e400000597000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000003dc00000000000000000000000000000000000000000000000000000000000000010237797d6a2c04d20d4fa06b74482bd970ccd51a43d9b05b57e9b91fa1ae1cae00000000000000000000000000000000000000000000000000000000000000010d479a9973afca679d8246d894b92f79675c4ebe01db6d6f1b20e98368a4129500000000000000000000000000000000000000000000000000000000000000032da55666630fdf8594065c377958c827dc1c130dac91f17c6699b53dce60ef7506d1612daf507b160ff518e5f0df28014966c7a498e474e1e88ab9813389fe0e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020007638bb56b6dda2b64b8f76841114ac3a87a1820030e2e16772c4d294879c3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183a8619af9f5968db6aef510e527aae5927e5df6092d9498f183f4bc2afc5b115c4ba754a1c246494577702f41a1f2f87b62dd22356c3e52e041870e8b1ebfc00000000000000000000000000000000000000000000000000000000000000000ac4f3ee53aedc4865073ae7fb664e7401d10eadbe3bbcc266c35059f14826bb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac4f3ee53aedc4865073ae7fb664e7401d10eadbe3bbcc266c35059f14826bb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000103d54df615ab5d910000000000000000000000000000000000000000000000010c09879420f63ed50000000000000000000000000000000000000000000000067b948ec6de78969a00000000000000000000000000000000000000000000000000002fb9983cc784000000000000000000000000000000000000000000000004d25138948fa1019900000000000000000000000000000000000000000000000cc0c2e95f2338bd20000000000000000000000000000000000000000000000001bd2764d36be817ac0000000000000000000000000000000000000000000000000002896033c7c1ea00000000000000000000000000000000000000000000000e1327bcb74ac3c5380000000000000000000000000000000000000000000000091fbbaa38ae5f649f00000000000000000000000000000000000000000000000df26374cda4a95f5f00000000000000000000000000000000000000000000000000017b91fe4fa5cd00000000000000000000000000000000000000000000000298d35be6962d2c0300000000000000000000000000000000000000000000000f04c15652d7c8d78700000000000000000000000000000000000000000000000d7139f74133c70f060000000000000000000000000000000000000000000000000001f80f2550fd16000000000000000000000000000000f3a0d88e7ec5bdbd558467d44c604fa1c70000000000000000000000000000000000027234bba8ff5b1fbc7a7259ecae1e0000000000000000000000000000006f121e44201caef92676331ccbe126fd3a00000000000000000000000000000000001ff94ff7f6a76697a3fe6c88f8df23000000000000000000000000000000cc0a86849036d3bfdf173a1977895e6868000000000000000000000000000000000024b4df4038efbbfa3561acb4b0f7cf0000000000000000000000000000008653353a8bf37fcfa8ef191f95ebe1be1200000000000000000000000000000000000369029059e2ec172985d5a4344cf3000000000000000000000000000000e76f96061889807a8885b9d3fcce7917a100000000000000000000000000000000001b50ec5afeffc2323eaa9e58e23fe80000000000000000000000000000005aaee50c39a4e5ac4e59384c9b0e061ba50000000000000000000000000000000000133f81c5f7fb90777f564135f1beee000000000000000000000000000000d3af96f7ffa8abbae7efea472c417513f800000000000000000000000000000000001a64a2596a31f148377ad9b94a644100000000000000000000000000000081ab6d2572f482b5efc4f9754903dfb14f0000000000000000000000000000000000153e2f313789115c69c2aeadcfa3c300000000000000000000000000000097657e195a4e3494202383635b31df178e00000000000000000000000000000000001b753e0748a93a4d9dee8c5dc8152a000000000000000000000000000000f379dca46ae12dc4496557888113a926cc000000000000000000000000000000000019e91e77e1d76d2936dd5def9ca9f50000000000000000000000000000009087a51f512664a95a453c948e7b8f875900000000000000000000000000000000002e84370013eccb907961c07fe8071e000000000000000000000000000000df1bc58c1ad4630ab2a840e3a1780fa45200000000000000000000000000000000001e81a7b42a827bc15c994701e38e020000000000000000000000000000001bf9cbfc47f90da995d226e46c81ad669700000000000000000000000000000000000bc5e01203ec6d731651f3eb0c589c000000000000000000000000000000b2ff23c9d981a6c25c68ac2e5f0cc6bd900000000000000000000000000000000000016c16d05be5e24bcb536bc3aa4bc1000000000000000000000000000000e6c44f35b0f63707ec12ec52527ae824c200000000000000000000000000000000001ed76bdf2366bb5a33019a08015848000000000000000000000000000000a4f9c8448ad94ef0937bf334d9024c3c700000000000000000000000000000000000051b0c9f6302338a8d63e201c529600299c879db9ec2ba9cb1928d3eb03d92357367559812d5c4f7e396716bdf59f22dca85f90592dd6f1b9eb32942d11acaf2c080f2e1a69acc4bfe5f228420a60f2745f44c1814c1f1454b275b6f1493d0e109dd4bdd7dd386a7f9b59838f940a61d74997beee67b90f66e6a31381f906bff582b7feb4d6cdd65ccdbbc8d40f3860aeda2fd86c39d1f48e6e889f8ffbb7cd795c41cc464cccba9c0d959eab24bf42a1c0807c3a8b910e5a48b926228224ed66ff2bbe970d6489517f71f8a0f7dd623b45bbae596c958958b35ae60548a5fba085836d69701129f6935f4d6781ce61ab55ac57392e2d98f2d9073a9be81b0c7cf2ec19020aab1706944f6b4d80a2e1d65e474b556cfbac652280976d920c22901559d9a790711cdda7cc31b2c01c3252e809b26d3b53728ce6d05ce2c198bb676362ff266244cfc1e13d4f8abb227051e4fab89494f2826a0bbf4b653194f3f29bd73f8306f89aa319476ff0178fd08306955bca7ccecca7c9b0c2341c22bb80c69910797f54b8392f000587f55f818ac5405744a3731264379df2bc6e085de863c5afdc225373badf91b676e7faf19ca8bf73629f445091b09bbd2e1b3a37ce35876b72c52dc7c54e1708804acca1f9ccf3cf5a9f65742474c3c02d87f177335fd0b814ce4001c4a9dae9d652c08215de4bbfb2c5e26f1f237a72aa4388b3abe4bfe1c4c1a0a97b218cb8d176bb220d40a1981b0d7683d2d2ad63c1a25062db5d0ec78cb26b858788a202496e05e0cf7e41ebc37e520be3ae7afd48eeaf75c9e27f1374b4fee8d8f1718521354ab1c57e481b8cd5105c3c96ddb2021e4f356726ad9da1804271a262f14eeb5e28e0db9353c3ddb4b8e7990c7a99fff8b67c97b9c1b6fe9ce5a42ed04f866aba27c01a7bc21e8846ec1f70caa8ddff6f3a794c0a08cd449b3796fd30ec3a8861db015e6b9c4e79ed2da189f9df2a66e716ce6a8127311e43836eea2802efea6eefa1ab083b9eeef8720a6c5f3477c710261418513666e8d8508c9c6608b6b1600b804ca146d540353a5b9541c75761321ac62e3208d6e18e76d7fe512feb0ca34fb2d1446e8fdf919173cfc1fc7ca76e4592bb9db5e25a899ab45c71625a68152d10887febad3615ebb4c17a14c595ee2e180fc01474aa2f3b36c959951776c64672050a13b5eaefe8373a57751523f18a15192bdafab61b98f318bc19aa9fcbfd3097e843f2bf44fb5f1c51348590f022b26f109b22962eba48e85cac3f6aa091f0b12f9d193924765059e2ab3edda9d56aefabd245b73b4fa1cabd9fdfcc921421ee04202d1bc52273bc2d890acad650101b5cbd56d56cce5d19f57494d2a274501fe3e9e123de9560b4c6414847f6ee50acb969e5424875bae8c25fee31369d7074e6cb608a69f65390fbc9b51256777f1c53cea8008f1455204108f90c21bc20f6c5567d36ed014fe3891fabed1ef3d0b2c1b6b0f0d5b2df74889348268189522ddc933cd5d88ae258df1705f887f1b616899721ebbe1f048c75d133cdfc17411784c82ac62fa8d31064f317e0780fbfb5dd9850129acb60dfee095d7eb7e1f0f7a5b95c242593f264deaf26aaa4e6177adb5187ac869e95a60a5f03f8df00f00f04cfa660723d649204409ca6ef4e8809caafa4305d0c43110237edc4f30e90dd3cd0805a1139d2c8fb7c4fefc46dcff43e5f3aa9595b76fae6e155f1e816f1038c2493e22ce030f2c0a2fc3942429d2a34bccaf63a7197b160546dd579bf21bfd3cc2896e372a38b2d6c6e3886a53b6c2ad1de53a7afe90411f370f0d27c717551ad492d348276ebf621d59f1e86e8b100ef74e536fa6711ba2887d1dddae047dc117979906809a82e8992e0d309753174975693d2ba0ea6bbbd245fef33d2b61cf146223cf02310e9cfe9a383b709f6885d291aa67168d5b69e3aaac6ff205e9a395fcf21e31cf4e4deb878a40449e8b6d1a8d7b98517ef96e33b17ad2c402292880c98a44963fcba3d38e401a087182f3632ab971d4b38d032876857e4808d4581bcd2061e73b4fc9a0d8222612981d94c05cc50e0ce3fab3d586cfa4492c9c1a259046d197e63702bf280d953d607acb17a2f5eac438d008c57f312eff2c9b063ba79751a18d4ecb3d31d592e426219f28f8757662eb0afc8650c3fed41c2c7a64fdc08163b7e6fd63a21d6e86260a876cfb638356a37e07ec158264b40729189e109e2278a94340f1cf3c658e72fb636f14d9ed2dc5360fd9ac0af73d13b76b101f6e0e6af4bce452e5b1b432c6cf24894957a1225bc9046e5dcfef820a422e67741056e0f73cf54b74f8ebba229fc589dfdc72bbea5ff9655b7a693a15e4c10a9c062f550bf37715bbaaf2bcdd39644cc9b1ae9d504c558766ee270a076ece08cf9af15097445fd703f50d4db7e49920c4dd8db907aeb22b8e094a061eb9e6a7dc3fe24d953684d4ef5efd23877e2d7573bff2e17a4561c5fc865aa215d9905c46abaf5dd7ad8a5c7ff3346e64adaf75b2ee6a0d3877df9facf080761f98298b968ac81aed1fb0281f4325f98cc9f2f80fee39068b4191f82234ceab0c52ef9eeaf0ec9f130cdea2415df5a4db8e8ca6729f2962e82fb2762a391029153cf4d928364c69699557ac4d10868509f6e91d96c3193d595be31b3db812422972de89582881bb0b775cec2adb14a9d87be40aa13d445ae2768b34b110e1ea05dc9661028af33976bda4c5812db12d88b16a0f5a060302078af6c721e2c01e2efd4df3b9e681bb2d5457e1bc69151e17d783fd194ea1212367a4ae6dddaa1900b5e6a52f653e9fa60ffac084839514d0bb409e9482ac3f23fff55e1fde9bda035d4ed446a6abba751a270a28e776a81cf6e1bcbde92cf7e55a99bf01defa6d264be2422675914dc70228fabd19b3e71b083b773899051ddf7eaeaba00b1d3d0d04d63751b4784591bb5dbfc33554ef156f0abb6b03048b416a4f63166ac5a118bcef044b7cfd12270a467029f8a8457e3e0cb86523f2dba11fadc5f4b2d0b5004e2c8bd8ed741e4c46e01269287c1b44ac20f1d55854fe7e4f88c35ae3ac3410637a17200d51f70132bf22199f3c89344edadef31e0a45c4385cdb8fafd11000c040945970e3a00fd119c68adbc6e9b5317b9bd62a3aaaeacaaa1b9cbf51611f509c77d094c62878ba8c7e7f872ba5d51206aef7cc90eca1f4e33038a01f840af3f0d4707fc2221433646d1918f597401704bd443cc1bcb6c05a2b92c9623f0bcd52a6d63fe77ded2ff85d4a992322cdba11f8556b3dc970ffca988ed82f2a201ab4b3bfb9391c57b4ec2342990853fcdc7264a307723af3e0938d793a5c21133b0084fdf9966cddf81e18365cbf5eb0a28f4e6887f27c432535f370fa862c213046b4fcdc11a9f7568d643d398d019bfd0a7fd6584566e67a5638c28f379728e89dc45eaac68bfe44a344f43438bb6981ecbf4474d5eb6629b6ca7745d74b2898685067780347ea9ba1ba2449c07a985bcb20398eb3e99805e6fd256607270952922a2732a3ceb602c53fc91db24ec25fcdfc1f5ec05b8b2102ec9b36b8be2cf4108bb4e1912ba789c4d896359d0c3c55053014926576f8c7bf72df48c4351ad15875a71fc2f418352a69a81ed4467ea65aa72561e76939f7a70ac82fe3a810615a74716353179317244796d2e4bd82ff042dc68167eb74ae59fdac153fa82e7edcba4785e6e0594e24c48031413c3fc7fd74e8ebb501ee06e71ac2b4e0c61d78ba82758ed5a47e223994496af8a1a9761e2905714cd9020deb2d47a0a12a1aa42667a8aeeba9f58601c422802400cee240046f1c3300853b83907f600d452170c56e2eb04c1e5ca9538751e4cc2095c56357b6efde0807128f339a8ddb002b547a831f72918bd7e0105c895d07ad67a61012a22837e5790f37ecb84d0824130af0e2b030e81c4cca3160a11a90f1eaa273a7da480b1ae853557cdbab08b71bcd2a8d8821eaec376264679714c81687024717628a00d4de5e96d065af301418eeafac9f1197dafca3548f94a8d3fecfa2042607969c980ba1d15150efb5301a579389f23c3ef5516f3bdfd0ffa79adc72c8fdb5dabd5584435a87633c995e12817217bbb9883a35162a130a0bf9baed871cf94b950c6096a5df05f4b3d0cd0202bb79c069c14d7f4cf226801f3499f7cb2cce99cb60868cb627c4fee22ec410718e6c273f1b2536cd3dd36ca270f7ce1884f1f1c8f7987877aaaa4f82023c15b01f300b3fc357110db12413718abb27cae5e923b00c4c1ed7d2650d29c3ff0a80c91c580160701de5490b8e71378e5bc8f743d5d0db13dbeb1a18dc78d4a215747b0a69e603cc0ef06c6bc20f79779774fea435eb83af49ded3b413e4cba51ace881e3c00e953182c436af0b4582e7d1550f5366cf6f7f911d3e21901114b1aea1887cf20c1d343dec00fbed08f641bec0db9ce64e7b3e6ebf482baaf7edb1d96791ba51f9a160c268fed8dd3034796954566639dcf311cacac3d27aa4e372fb0fd900b212b8569bb99ae815a17a78c0ca0c5991e9ea17243c673460ec35a1f09fdd396a3790f792492acb6a96ec5219ca128a3fd45a083e122861bb2a07f19ec73050d3f02e65df6472cd4bc93ab2be89fb689c70bee939237027d843bb51db7b1231f9e873dc038b86d0a346172d9ea9aeecd81e0f548f13e63b03ec6e22ef97d00f6bffec7c1c1724ca18f6358157e7c24b3c630f0b17ca104e7e789a325ecd79251e1760cca1798a50e3f3750b9be59906369396bed1b61a7cc56cd161691c34fb4006a0b1959861a41db3c67cffd4daa61d0c6240e43880a5f0ecf2714fe3e854f7f1c4f229206284a2a503b9672efd27e0c56145b920cf83c7671e62f3087233dd48644a18c3c07ebb8463fd8ff1c59dbcef9a3c5e54935bfdd9f9e105a737ba5250f4fc1b4a4c661bc48f371f15fbb27955dcaa7c80bc9d2eabb490318dd831c8023d15612c73bcdbe0c7f2db70b15bf2b881877c403d1b191722326d96f93b7aefabca028bfe27270ce00a2c9b9636f2ef5287932d3e2e96330b3030e0fe71624bf79ec2953c8e9df8c0e8a7451b3ca197393399ccc98d8e3367a2b7cfaa2cb7e2e60d1f5c3df941ff37466dc3bef116158565d17ebb56df48d6a015088ef17d0500e39c49262cf7e27cd276beedf3d71a1c69159271a196e590b162d5cf704ba3c96b42b6afaed9f51c6d08f0747799db81f080067b744f55320014cca7f94ba25589f829e9c99fa9f867f12095c65ded85a119eaaf1bf41deec2a5e6d5afb2c7ba77452e5137c6167e91c0204cd6a927118874bf7115d0d118c245d552ed8088bc7ec231142580eb354c893da6f3fda136e9657f439bde9bcd612ff07816a9cafc8924de0c82c67ad7bed598a9a7412f322468ef92907407654086440dbe1c58404ce4f5baea0be4b45bd1449269466ba85b8093e153e6e40950c1243f39744f4b84c31be6f6633d87e44d55ce8896ec264589b569dc754ea2b2ba4f7abf2ffa5d67a7d6b667c88db5ffa8658cecbc77ba8f36d2c6b900cfe81076784263be3237e2a4859585876955208744a155b99d318bd52cd08a058ea9a1de48ccef2475868cee8f79fa4a733267fe2ff2993d875ca3bd1c1ad8b96cacc28398347aa78bc154636b9979622c9631e072f8ef34e7f50325702ce2098d1951138ac09a826fcb73c80d6be13ef6c1be749cec155f535a2c35e497ab3046fe514e91cf90fe22b6cb50b374bb85a7b792e8698884aefd1bf62b4188e543b43a622ab3050c3db9282b8e412a5d51aa91e008e624c44cdae0e603ba04ac574549f075f78bd156c9cf93d7cf0e519ca3b3655b507ad4525de78c10c3abfd403fab62a955e29e7c985a641a00dea541ac49435f418276abd510f24ebcdc81fc3513c1fdb77173a32f66561525ca3367e5a4e140ffe19f6250204736a5d8e91e69806106f27fe6fb0ec3d214112dc66c0b2352b7051a92d8444668c087eb9a04299c011715c683f17b8a04064dafd5cd15ce77e3af576be8437f76df94053128a967f2b2c8be3aeef482b78af22298b7c7bfe73e475ea6e4e37c90e2080058a0737ee0b3258e7820630b9d421ec8902a79749eaac0a0a8bd7e818e5717e549ef62f8e033a2ae78e13309a176f4f00dea74e3c5f5311f1ada44bed1e716bafc13a904f09a50684604db24fa643a895ba51aef5d5d482ebaf8baf0248d07ea058a881f6011ed3270d7235b8b88a605cfb1c766ba18bc68186862bed5711c4c4cfca74cf11d356cb15e22217c4ad3f1ddaff93257f2490a0ee4d730e37a38dada7dd969e296bfaa0b4938fef11784b578c4e791102ddde57bf777ae47cb592702b8945150c98be0bc52571a272ab82ed03338f3af48f9514c17fec916dac1eaf3c06949420f587f3c385d4880fca802d69b59970f8c83543eb9cd1c34844faaa1d306ef606996526f2bc007b028093cd4c3439f0eb49951a3c8503f519fab76ab39e493e079564d61db64d48db49b554d12568f27dc165c22431fa5436cebe6123cf5f281e7ebfaf723db9210f87a72023bda9038be386ae6d3bb6c77d9c17ca8fdc8bc52fb3cf0aa51093606246ef27d8a0145ab2973cbd6d618b90cea988c24692945328bb5b8a78bb5baeb18291d8ebd4ceb8a33fcd1ff15ca17ef8b4d3b4dc2516850d76a840392f7fe4babb905b7117dd4bb97c6ab67d0be93a3135dc4b52ace1540da742ab6d03796949d082678bb5719e1035c6dc68284690c6816599650322f91e6f276c1e9cd8f6222a7bdb9d715c9b006fc664dc55b74bb9b06fb3feb2c53906dd58850c209ff3a50972bc04dac4a766e66eb5356e35a16338ef7c2de97cb618df0f1bbd10f9a777d6bc924a229be77bb22ae03618b4e9486d4b999272611e05168e828b0130118c7cec7b5edb9b2c3289854911380a09e7a147a6c17c05570a49f32ed8b35b4fc578c6d3105d809d199134617a865ed5282cb03e3f74b286097a9312daeeeb30a338de3f491d351877c5f29c8c9fbd0ba4398f77d278ab7d00b32747e45034390c34677ce1f9a62d059748c583c8cf46e843e6c293de6d340c5522b6067f6b13f03cd8af586c429e5d9b43e0a6bd2e75f9a43468d8075ac528e6054f318bf63e2dabb7152b45390615a24b1cf43be957084dd7ff0b5f78841bb9ed3b7524ec5394871b656a89b6326b4380f2a623759d00f2fdf0666e335405b557dd780e33c163b7dd6a2d2213b898bbdf06694612d007ab978598d2de501ceee4c7f0e22f6639b032feefefdea63da01198dedf226db7709e2bf70948fe0a6a6dbcde55519d07d7b8fa940de560d2447f3622009630789c7c2c0a65369f1ede770636f3bfd2c7e91a257c3d864f662f27f574ca69afa9ea466406697f3400c1b9eca76176d201c04fc3525e4ff9eb66e19ffa574e05ee1d53d025b80b65016ffdf253493075d3a3c5ac0adc75e609bab166bc4cfa32f4f48defa657d41e2972bf4da3f4ac8d355ac1f6c74c870425b1c0a72897c0b2dce92ef8728dcf621212836cd12e02c87e2b482204a282cc2326bd320a235fcf2cc6305c04cff58e285dc0dc77888f20bab7afb1ac435bcdea0dd02b47222c422d85ed8f1ae25d922c22bac11a84143610f3b961d980edd9a039b58092d17a5c7f1a479033c8317d022ea9a80f5f3a9de355fde6e97b747a5aea3012ec53f230cc9ac182cdca924709d704b4578b0c0d179279df667e84eb9be4b79498a5abcd0a0416d030cea04827d5c669485512da16d3419c1051b2391d02c944a09dd7760c7e6bf78bcda2a5064a469399199e1ad88a8ea378dc15c99e0bfa9a5ee83251fcbcf8f604f46f7a077039074ef3e6e9e57867fe20a3dffa4d123d5f71539c124b24f396bc6afd32066641db5aaff0cf6119ea6c4764badca9e5125e484be9cc4eb4e4a61840e772149dfec9eef43b3cd53194d1b21e018f97a553b25583fa8ca3c15912aa0079a9108fa124c923fee2fdef0cb6afd51d1a6975c3aa82bdf5b1ebb2bdc3e74b22002394a8bfaaf0d471a836691a7b3d31a80e2e672ee89f20a97be25fb3f09b9bf815f2c579b0486d6a6716374aceef869dba050f24b5a99027c8153c53ac72c5171a14cb383e5dea8edebe8d91f7887821cb285804592dc8a7d000047cf276496f2ca62b1bdc1237c667bdd419f7d9aac2d45ee6835bbb78e1f70d2e07fe18f7801e98022a4a1e6066d7faffd2e7e8a3b2a2b49e86d784b7fdaf642bcbea89cea711f10096e17e6d54b77c19a678bf28c0bc17612a87924b38c1fae0bb8cb15e872273285c7d9249ee0305e299d71e21bc5e94c0d7c184ca89995b81f2263442a52da4dc3b5a3bb45ab7004d0850a3dc66cbe64150f05ffdc3a1a67e94f357f6f6170d37b97cc457708123feaf3c28b211d2a6ea2f3b95e50f9ac89f74a5afe7c9071400acb078f6e3c924a3e63b57394ea803f52a14e837e329d31858aed0e6960c7326bc6108c5d5fc9751d7bd43ca5a949709efbb6a17f78b925f9d0ea4439c25040a1f40c4c9664ea6a592a0f8db63ceca0f97b1cf982a98853991c3bec137086c5edcb9b267101bcb290af3957ff3896214734a6fcf98807fafd4f9a5534307d7f7485c7bc369e76886b3766222ed0464f9abb28dc4418d88aa151ebc8769000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ddbc11522fdb37cd54d66ff0d031224c534fa1d99035f3a76e1c851eb98abf11683a6e8603dc51d00fa6ab5460727b4164079075cefcb9b73be96c560d96d8d0bfab78d21f72b9b9ba69ec56a4e3984d0a4f0adbdc1b631d8cec4e45fac6f7a2b68f4f799bd6dd8e98a75e7bb5359120cd031659754cd7a43e14c69b7b7a4ca02f607c7e95907fb1a303c11ff8d559462243b5a32e5c69d74675687d927c4010543237165fb042e777b14b7c8b7b8d0dc9dd68684401bf0f192c6bb076a9a912fce5c2a4cf11181087641da559972c4b35b31a1993718bfca40c9a8693ea372001f08c21298463a9e00d48291b81d296a37902e3476b531a9e41b611d627b4523be885842b6a96910d0fdd0f3bf3939e1a9a5217e332455392112139b1f55420d768328c6bbe2d917c39a94e76423a02df8f0a8593b35d9b29679adc519b51c0a3fed47b7d6bb0072bde12e48a412f8a98c3ca43a385095337c055b6800680d01018f80508e71f91230a165e3d6c96af799b4b1a8b384ce34eb2413346df1d0258d88c0e73cfc4f0933b2eaa8d5ae54ef83c5e99539e4dd5976e5c935bad92a163ba68768fe12f7eca3f21916dd679633457cf392bd07d1f9785599b9285f2409296c76caa4014273e98d36e8c5fe622cf294031d04600d67d54f3e33953ffb119cdcc5a1543f792caead9cbb4689973e43ee745db52a4c6532e108ee3c32dd243a2728e468044612ac3b88b6d2abee33bccc89664928c2b626e108f1df458a090e891bcd6ccca7af5dac51c8884d91ec4c7a28b96c66924bfad57fe53f91bc27aad909837eae75448b9b006decc64b880beb9a5acfbd7db42c95a4f81c188a0cde069d2ca358498603edf1a393a5370003978a74568aa7245e4ac08e66af9507e0c7752b5c4349c734afff0ab4e15dac077453a448249b5d4c4d707f74e54410fa5fbd682c4c067a845bfdb234805f2960e72c4141371dd78b2ac9e78206dc21f7b8beee045d462dcce3e861bd832822290ca1d44fd3210ac2d823b18300970acd8f5af1fc6288526609e3e7158fc3e862910f33b49c30d5bd7c0061ab0a2606a4d894bd6bba7db8a91460442e656f130e0920c6b8dfee2af159b08debb0ce2bff3feb549bf676c2c23b1d303c7c787fec3af98868e7107bc339f2a0421f0529d1a64e7f51301082ed283722bec32fc4058a7b6d89836618c5a861a3de1e95250df0ac0d913887e33eb5b4d6c028cec45804f2e735e7927ef56e85557f03a60b863ea6d1123a4167f0fe78403d246cc3ae226d209eabded6c94dc8ae27b14e0467892da92ff4333e3dab741135cd7a3d322962594b1a5babb279a14d7c994307a53022df0fd582387b05f51be1417c9eebbd258c1996d5ae7cec960914c6c70fda04a512d10d1cef63c589416e38c3959545e317bfd131e6af034f4e722899244a4395fdc1142f327eeafb131869f590fb6ae3c6d5163cec626944ea346936263479b13287b25f41c366d557921da4f311979033f8b949f01028e7984b000302ef578d87bd0f1279bb67c0338e8401d0c3dcb03850183c82eb91293ee4313d018b3c7b802c5fec69ce923fc17c7de8e188edbcb3656229a20b958a5b417f5513244866b7e29af836249e5e621116c00c48f688e3b70866b47d338f0ae1da48031c0f1c3a33155686f7691aab538e8cd7d80a45f492f792e5e21d751a06bf880c5612ac1da3c2cf3783d8b81c3ae4045ef6dcfd4ef34a74659f3029a3e1d212261a1b47e19f579c1ce48c3707d5ec61436bb435c6d1ccf129d88f3153f4aa4a00000000000000000000000000000063d9d8d71404157eb9145a961a7f7859160000000000000000000000000000000000143ce09bdfc295fa61945d0e28c5f1000000000000000000000000000000264b9ab8900bc11d63ead0c03f7e903d400000000000000000000000000000000000297e7593e99062c7b0df616d482e930000000000000000000000000000002e93628d47b15a68952fcb4057be835db20000000000000000000000000000000000006b39f99b64b03c67b4db8fce3da6000000000000000000000000000000ac62d6f017b91f88f52e75b90c74862a9400000000000000000000000000000000001643b7bc26a819053b1333ed82cb7800000000000000000000000000000091bd70369e88869e490bdafb5cb26bdc9000000000000000000000000000000000000dd9123ca345150cff84b58034fd2400000000000000000000000000000037dd34ffc38a8368227472182605c9d8040000000000000000000000000000000000027a9a93a8911854d836f4b2e02dc10000000000000000000000000000000e1cda90bc884b5895a4399c2b4f97608b00000000000000000000000000000000001c0edb8bb62c8d5fc150c1da4a5cf60000000000000000000000000000001f0cc784165acfbf64e74c8d60d52cdb850000000000000000000000000000000000054116be84b9259d5af02a7a708fe30000000000000000000000000000005ef69f1d29233660bcdbe7632b8952b3d8000000000000000000000000000000000030058df00b1633a6dbea05c433384500000000000000000000000000000073a789e69e9035b40f5f5bfc9649e46ce800000000000000000000000000000000001d7d2d9774ee5799bf12fa0df396c9000000000000000000000000000000b54830c5de8e14fd8e325a99dc4c46b32b0000000000000000000000000000000000192d72e1c3df08f68c61748d838dcc00000000000000000000000000000014c077826c347323b56ec87d3765a40501000000000000000000000000000000000000918e90c42e1b4241c6deffd4a375000000000000000000000000000000f0b2edfa65e0315734c9eb0b2fc624de790000000000000000000000000000000000296ae7f79f9bc2b560a363c223e8a0000000000000000000000000000000eb4cb0bcdc7a5a3385ed80a3af61c4ae8b00000000000000000000000000000000002b6ee3130739a352a20e891e512bd3000000000000000000000000000000350cedd0e109c80a7077e852e8e0e1c71b0000000000000000000000000000000000212fca72dcd4b411fee680b9a7f56300000000000000000000000000000094e3b7945e503766aa63a39bc82124def80000000000000000000000000000000000155b4e636cbc620ba1aefbf88764c7000000000000000000000000000000aae845f1261b00814adb5d08243e7b9d75000000000000000000000000000000000012f0f42d54a5195c0da148bce2ff4b0000000000000000000000000000006100b564556553256275a80b73f791559f000000000000000000000000000000000018a90133159d272596287bc01348ef000000000000000000000000000000fb680cac0c832d4d327daf11220e2c507e00000000000000000000000000000000001ef2676b31e934d25616343c8aa9740000000000000000000000000000008a23167c62e6e2015b83e77cc711b1bbf90000000000000000000000000000000000192f767a29cbcb17e080f0d71a417e0000000000000000000000000000003f6f84c1a27f75bfbbe336c99f6e2ec7e100000000000000000000000000000000000b68a0f1287299b94a59150d2362bd000000000000000000000000000000dc80e22cc0525b96d070992d75101dfa9500000000000000000000000000000000000d47dc1ad7ba36c3ae6f4c4c6cf7b0000000000000000000000000000000225a7fb811e266f22189b5247f4e521119000000000000000000000000000000000025203813115395e05262fa62dd3dee0000000000000000000000000000006610313efe88407bad338e07a33b0b4ecf000000000000000000000000000000000007d64baa3c9e9d19af7d978fb9218d00000000000000000000000000000094f54aadd2c3f51f446b8a2e28d93ad20300000000000000000000000000000000002153b035beb4ef431f68e93dfbc81a0000000000000000000000000000009f6da8fb227b9b0287e50d1f46bfb9d7f20000000000000000000000000000000000271fb22a92fe7a00136d2734dc5e6b000000000000000000000000000000638e64589bd2b7fe9baf56b2662d2986b600000000000000000000000000000000001bdfd01817faf3fa096e04782685ea000000000000000000000000000000a88b2944a3a0a1e3e22b97c51f202afecb00000000000000000000000000000000001bed22f73c9b520966edcfa9c60d7b0000000000000000000000000000008fa49b75512dc93e0073b2144105d68201000000000000000000000000000000000004bbd2fd6dbd1bf0679c6d5cd2df450000000000000000000000000000008eaa9861f96071db670cafe2358625da310000000000000000000000000000000000125605f8f3bf8e21c117bb5352f1940000000000000000000000000000008bc5264cc4d3838d7f5cc1d9574d4ce70700000000000000000000000000000000002e3a86246ff868491c0970d330cdae0000000000000000000000000000005f8b8885efc5e108f1aa47ec365bd1d47f000000000000000000000000000000000010d5dc1de8641f633d54c8cfc5a6620000000000000000000000000000009adfd18ab035ac2279aace684cb18f9e3400000000000000000000000000000000001c260c7bf92861c3bba0907e3e08ce0000000000000000000000000000007b4fd3e0780107c48f90d2b5e4f25479bf00000000000000000000000000000000002f4da73ff082a27f7b11e49f55b6b40000000000000000000000000000000719161d5d9945e36b02dd8b82921764590000000000000000000000000000000000207a360fb08fb7a07079c25581c7890000000000000000000000000000006e0a3066ef6eb7c3937a8dc08afaf7afdb000000000000000000000000000000000029f16a68711855d03610851717b9690000000000000000000000000000009b3ea8848e6946845a36584f01fa51c12a00000000000000000000000000000000001752bf5bd5738574672d65f9e63e4b000000000000000000000000000000ab13b9df79c94a0ba64782867f564365b80000000000000000000000000000000000151658ee2dbae3cd6896c2a1c371e10000000000000000000000000000003df28e172f8a09cbd2c32b0b90ab9773bd000000000000000000000000000000000025407a46eb0ce63b0997710d341b56000000000000000000000000000000030499d339f2b44828c2119a7faf3af29a00000000000000000000000000000000002c89ca055d19cb31d25d682322a582000000000000000000000000000000d006f8c62844d76cd0ff4031a630e9756900000000000000000000000000000000001c93ee64fe493f10a1bca911c3a8f00000000000000000000000000000004e429bb69f358a436f088cdc4c5fb590a00000000000000000000000000000000000175effb7e02a137d4a6c93624854a7000000000000000000000000000000eb66098683f97503a5633f638e8f58cbff00000000000000000000000000000000000b97da3690b016024cec5d4d6757a2000000000000000000000000000000aafa700deb31dfcca7586bb94c81f5410c0000000000000000000000000000000000137b0d6a57667d7e00fced77f5fb99000000000000000000000000000000b6568c6d6ab2f999a87eafd44ab9c1571b000000000000000000000000000000000004baef934661960e6412fd1fe7e8dd0000000000000000000000000000003991d0f8f06f12b42a3c179bdd51a81d75000000000000000000000000000000000030306b57f8fb480a16f5bc379a7a6800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001d9c325d0ee6e2871c065558150baf04ead6494bada4611783f9c8e3ed835cb31734beaed64130c9a7792dcf8ac95baab35c43ed3fca3a625ac9ac64049cf3571c296b7d7856db80c8eaeb95990b033406fdd76d860af32e194e0d818fcffc95112b154f783d955fa15376b8a3396b2090dd6d765a83439b421f7206596f592c282415fffab3c36a04016a5e8f1b4393f722fba5212cbefe0706b5fad0e2d8442da92db3ba11940fc1357d77ff8862b2c14d41e57e1dda083076af1bd4b8cf1f06302abce23c2ea7f1a6e1f54e2ceddf944626f52e9dc512f8e4ef15c26df46d1724cbcc9da2848b9f190fa3115510c27492ef53536377d544cd345e29fe476d219a8a92dab1e0d9287c6a531bb35001512ffea3d322f5235496dd0ed512ba752b133b0a39866586a0e6480c71786edbcdbd2f8a603eae732aa1734ce71935f9019a3f7466556ecc363edb3e8764050cbf16e5d9434dc94c346eaea473cb605409720f05c0939a0299afcb87747120fe1b1583bbafc86b6dc7433cf98d499f5118b2b2571cfee1a2cc661e5b460cbc5064c33605a1802af9735efd195b6cd1931b18a257e9028b58b349ba4935ee4ad903a2d665d872d9e56ccdaa2d3330a1d40a99c40dd893e083e38506ab13a952750ae7fe37975673850ffc9f2c912374b613e83a461ffecc9bcb2ce4d2aa8d246913be050f9ab114b15967a305a3f4486123c2d060781f7bbde5139f76e161ea4306bd1d495451d724324e15ac8e29eb772e042ce8cfbd59d137bd0f7e42c46595f8c0ec7763b88d215dee681456d1e17722df43a1c2a29aba785493351a14e8ea167e50f6e4fbed3a70c8386407a5222e198ba1e4658cde8e823be818aa2c01d1cb12a2e1aa8cab906d71ca642dc93ac72c4caf79b03d04276bf63c5fd87a35ee834f1930f348c55bc764f224d960031a1b200cdda403cb070a0bc2da551594477a5a54a0f337e39dc89e58fac5d302621de40a99fe4c01ecf1d04b1eac102e340b3e5243db938ca247bc087d9bc234452dc1842c5c1c7857c5e920dd1ef5a5f79309bf440017c098e8587b7052a43b220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f361e5a37efd4aa4075bf015903c3487d00000000000000000000000000000000000032b2054a1ff4c126ad4ec5e29b9d3000000000000000000000000000000876adbd07f9f901d08177ac6324681d1450000000000000000000000000000000000255574deb2c3d5304e587fcce71573000000000000000000000000000000d7b73474106c95250ec9c74d11adf96bd50000000000000000000000000000000000181995a8e81d6a488a3ae7a0eb9c0a00000000000000000000000000000017402103869df1f8aef9325bd12154318f00000000000000000000000000000000000304f0967ee8e5284d63977b14d66e000003dc","publicInputs":"0x0237797d6a2c04d20d4fa06b74482bd970ccd51a43d9b05b57e9b91fa1ae1cae000000010d479a9973afca679d8246d894b92f79675c4ebe01db6d6f1b20e98368a41295000000032da55666630fdf8594065c377958c827dc1c130dac91f17c6699b53dce60ef7506d1612daf507b160ff518e5f0df28014966c7a498e474e1e88ab9813389fe0e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020007638bb56b6dda2b64b8f76841114ac3a87a1820030e2e16772c4d294879c3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183a8619af9f5968db6aef510e527aae5927e5df6092d9498f183f4bc2afc5b115c4ba754a1c246494577702f41a1f2f87b62dd22356c3e52e041870e8b1ebfc00000000000000000000000000000000000000000000000000000000000000000ac4f3ee53aedc4865073ae7fb664e7401d10eadbe3bbcc266c35059f14826bb000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac4f3ee53aedc4865073ae7fb664e7401d10eadbe3bbcc266c35059f14826bb000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}
|
|
1
|
+
{"proof":"0x000037401d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4047fbe8e6ab5633664ebd80615a60c25b32093ef31ccb533d403ce748075fe5b00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af0930053eeeca2750c390a6b05c04c3eaf7148eaa37fc7f4677b1ea5c58207d438d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac0000000000000000000000000000000000000000000000000000000000000000009d5ebb50ae6bb050adcc9b3cf872968e1aa337634853aafcce8e9818e94c25011df24633b43c3d7346227c4b84b70d3fb6c9fa5b2cbb698f5d500d60456adb00000000000000000000000000000000000d82c97ccbb9dfb5a09d0a47efd9de0000000000000000000000000000000000bd18f88e1691544daea4ab46e1cfac0000000000000000000000000000000000000000000000000000000000004e300096c6f7ce44c2b7c5d983b6d5b05c9ef1be47c4f5e93a2f99c3a04536c503fc000000000000000000000000000000967b0d22683d31e5b17e35426a3d6734a7000000000000000000000000000000847ef028539261225473627ddd0f8d18cf000000000000000000000000000000000001216ceaa8b5174d1cf9735d7cac060000000000000000000000000000001b55a7b492f10c0956c2b057f45069ab67000000000000000000000000000000000028a596b117f20bf5fe81a3fe27928900000000000000000000000000000021f20a78cb627a4ad3791652f224adff3b0000000000000000000000000000000000166403a92b86cf8b3786c6d6689bc900000000000000000000000000000054aee4df1be0aab6836278b2e07b6253f500000000000000000000000000000000000bc879c8af743bf9fe8cdb9edf641b1230f3240709381e84dcaef98cfbf65d781b584d8ccbfe86c67ade9d01f0d1d62349c9fe3dee70a5deffc982e456f2e08452c9cb24086d2051d6d3a31dcb5feb06a80455cdc287b36e71f3e7cba51872aa6c8956c82691053f96e283cba283101e6b727abb948ffe5dd37332abf949c841a3579018009e22f6843853710e133017603933ba8842f87aed9446150dc346d51ba93b3fec225511b924cbca4122800aff736906500019bd563c31f395a941de6666bd00f954484288f6283f2f6f7f193782db7b347fe2cd790ec1909d637cd360611d4ac4098134b48c576ba9d68115282242fa373432e29e5434049fcf9a19e6f6d19713297e90ac2ea20c3248852274438d5e01f4cc60bfcfd214d48dc18f59bdb6a7ed3f5f4ad6ef326dfd1db51e997e94591c00c715af82249a35d5420f1aaa2bb1372e6eba18c7a6224d8b5b014cb5dfc1ec646156de9d04768fd6a2a5b7e1a020f879c08f173f1ee3a9d1b32fef96cdab484f2f77d87efdd805afec744e88a06892d542f25f940e2039c9a4216d888dec263852e9a12c298ef408f500f571bdd79b46e3a49a4ef7492ffa3b093d108f129bc8fabc56f1bd2f848a51a29a8499cf8151d4e214ece3c00b7a710e80b0a039c8ed59e60e692cf8947b4cb3b67dafc6c7599349e11dea41f953251e4576ab418a0762c51b94b8b726c0191b9a9fe8deaafa19a763172704b9c741197aebb65892636d263b557f12f352eec433d9e52b9f0360ad000c95507f7dd016e962bc889f3cbc9214f0376e8e056e64000e634e1a6d3096e1e8fe9f8082312e21e6d94f1d49a7228756a0b48c87fc8e0a9024a18220db9aa3bf5bcb0883192f5f8fa9c51f62b15af530f829a3ea8438eddb110db79ea7c319bab353a44f532e18769d01b08b50430744dd274abba184186d0bfd3c1b6283144bfae15c1f5330635e714739208da837a09cc6548bf49ef8c062586d248cd1463fd86b0917b00424441ccc83e278ab68e9dfbc2d3b886cfbc42faabf52a2604e9dcd8596bff41636bbec86f259b2bd67479ead9b4aba8a93357a5c8060e949190d49e27adb980b76d2117206f8a5ecd1b102c7b51d63a7b40617228d75fc4823087485568f2a2cdae7da65634e3b4b0fd5dc25bb70823f701c85d2b5e91d640b654a6b06a3ab103648e577a38aa655e57020109e7e58745728bcfccbd21bc9d92332d81af9e706725153301904f2f2f89b51d46d2c41c89d4cc7e2cf4754bdc53b48232ba09f0695bfd151f1f8a0dd25e0bc5166e0a2ea6c7aa9f46ed8fb66a4609b385cbf47189b9a278d4b181ffc40bb8dc3d04b6c27d85480ad74d4f41f3681f992d04bc504fb15ba4f248e0ac1663b5c21e90a0850ebcc6f6890c5241c91860a6d65c2ed080975eefbf10b40ee825a3b1ebea01e4fd3765c41ef376cc517daa33374c13011b483f96780d7b35f09339eea08ce1d1745d4f02c2b307d9a7dd15c22079fff05ea1b17bb0699f34ac1665e73a08fb4102d9f619e889234104501a7dc81fe10270e8eb26dcfe587d05ea86e1bd2cf7f473d16f5c86017d990fd2ea9bc26f4140bd0cfbe16eb960adbb463e4189316cd4b050dc98d8c429b27b6946c3e36b80c0750e4c6c12da827c39aa8629e9a00ebfe52fe8cff2903c900c94894d83801d821ca58e309cdda4c02298081f66f63986c907cdd945ee8e38b36657e629809331fb9b317be60419780a8863930401073817d8bea66f9965a8c1fea2aed5e3a9a2c71d074e1be8cddd55fb3e7c4542bd4cdcebb4bca1a918f08724b8a5d7837c425bda7eefdc26da5e2e276006a0e3bde51244b367b91345d07dcdf075d920eb504f9e3d87b7cf7af3a1fe71704ccd3cd1649fe0225699b5b52139ebeff6c356109f38d1d029cb870c992752805364c021ae170758e1e9095df679aebb8d900aa1e2d347f767481387a099fa34d17b826c2a811e5e8278f10bd6226d8325c04a4182fae94aae2b8a35356b9216fda7a97435704c0d75b2d8de462467e2e56be9305e40a0e57bea2ba7ce90153e456f2b973dd3570c0c3013b49473b7a4642c226273b0974f765ccafec8213c12d5d6fd61c58a3c27540bbf2b9e727ce8cfc1a3114d0561768c28b8130e5e838f1a2f010a00e2e4ffebab8764089ac794c73a0fc0138fe5273e80d6ee57fed97cfcb8b2a6c728aadd1e979a00dffde8b57f7b5fe05f87ced5cdc0e75820cb49b37e2ca1f97dba23c23237f8161234668379d2e511c6546f086f2758e0df88d03f820f1802ecb2da684859b179ecb35fc21054c9605b094220562896abe675b9ff1678e66f2213e202dbc7198471f8c17f984897e2f9c66027cd8a8bfa36246747ce6d0cd5db6a053f79f8157802823e33d4d43ca179d24555a9d788b681f091697992bbd20c1f34fa5f7fef61a5c47bf770379881ef5a4c6a1dc7c15962ffdbe9ed0eae175d472ab0b631baf01b20eb24950fa7a14c7ab41a9d06d3c867997c64a37e29365db762c2e8298cb2f3eb6695205cb512f74e148268134083e82bc60287af30a3e33935523f74c6c3ae553a9448ad66f1249977a6c25eda4a5395d1aac5c7d5d3e9adf60e7fcdfd66aa46a656fed8bc204ec6ad59f9c88f9ef6f8b44fab34cdb5f48ce14a71e355877a265c59e84f70f1577bd08165a24abc5d89ffd9b31eedd510374639003ce5d6bf0179c2a58e7a10a30764f62bc9e9106a7bd2638054e45b2b77c81c205f614ba4334c11420bcab1f96dce8aa24acbb6c5aae9ae7863a52d7e7956b4e22b7003c18fc1afbdf96c02a67f8588cbf1486118b8428310187b584295ecfb280441d7e01fa2b0326930300b4665c2194cb0103f3e46a8c1dcc0d7dd448c47dfc0f5b2e3dc88ffbfcc7ec23bf76b3f5f6bf44bbf311cc41594db63544b93d14bf7f3c65fc6b86cfd4e65013c7c987f174a180ee17209cf420e790612a74f2ac356f674ca54f4ca0b8334324f6bdaac0c9377beb80138d20e17b7a1e2222ad37a0f416cc9b8bbba4f0c9ea2573ff282b6b9b64a4f808ff6aa5317ec987ca06f5c600699bde6ede4608293322a0b8d9d72b49c53a0de6993e301310f7b7ba8b92a7e5b5c07cb00cacb1dc6f034c39b454ba40df58f09545fe26864cf6cf65f8e59ca32456f4cbe9053c950c2c83d5c830d7c636c0d3d5fd0387a6c23bc0b4f22517d1ac35a8df9794d4dd000041dee56b9e0031f77b25ca46a884ae6df09decf0aed625832f97b3ed970e06128b10229a3b7f38aa50792bc52b7fef704a8d0464ceec284d5a5a272963960326eb718dcf1f03c08f271ad563680064f975381ce54dcd60b11b4232a723c77d02c3654c4cf8eb3f5f98dabe1ce91fe51fb585f66400b76ef886ec214d3d4e1e0322681bfd626f3f994153923af9f6aa279bf8b5917ccee77a2091366b8112a20d6408ae20fb63fcb64a1b1f96e749088801384caaa3830bca35d714e917192527667c80833a84ed70b3bff2abcd9b74e1d9e2f420b30f8c400016024faa696e18e740514afb42f9e98877aacec29aadb819ecf70b5c56c8261593c66957faea05b0c746cd36940c78e330d949827586976213306e50ea6b57c7a0f34cfe02b322b5d053ccfdb77b07b61ec65a33cb204c2aa9ec425d936a4ed11f709930db681569f38f6d04e66fb12e579aeba8fa1e4c6d00ba09100818053a7021ce6f81aa11fc375d0800714e30050cbe3ee25939c3949ead3ec9d8642769e0e5811731931e8f39b443e9e34d398a0dcd7871c1b54c1065cd66635702c5c7c3dc334d5d171f84b3c5f7faf0c57b0151193638465707a88e6b54fe235297da592540913f562778c2e80a201d144b27d8da7ca08ae99114c6a342cc93c4d941998106b89d0124aa6c77734f5ff4ab381453d934e7915ad634c5dd113248db818d9506e3136113496a219b7e1b1d92c1e34fc780f4b87e3b8c5e765b6efe6f2832cd304a6757030c05cdb6bf6f0ef20373baefeb765d5778fdbb5e090cfbc48a8d80c123f09d06f9d083a8fa4a99f47c6a2c54ab9372bf9862625c1df946081f9d367f884528305b15dccd93a85fe4ca37b3ae066d21435dcb4af0cdbcc73608f0fa5ad8ab1a05bf5bbb7c9927f31f03fdf729ec3084f162065cef6b225d223dd0807ce45cca1fbd66c2fe4629404099b8d781bd30e747ff602912ac0d2def73c734657c59531e2d7c3a9f9838022a499570fbe7c86adf0dc54d3f2ef1fd2e59e1d7ff70d2d4154fb270fbb70fb71c0a7b077befde6719b3e662505bfc37b424f6e1b8f0633707445b04fca697d2b9e029c8be3e6535967cae209d1957d4f3bf93e44989d1ab04531aa2a2feaa2bc724675123d1dad0fa2411261528f9ef91782c22874359722d54b62174f2cf4fff40a0aaca3ca3ef4e44a77f66d862d739344a921c7de1fc00a2ea2597b2e29a0bee5fdc657683ca7d1b5321979ed7f39c71c9fc1d9735db10895a10746389aa7e8edd78ec20bbb119248babe90986653acfe640f8d1c4920937eb32f6292d3c0b3e7d2817718dfa934f44f7c269d9673b7254e4ce8ef6562a98ac753ae9bcde69d6713862bce21bdad75e7ed259f93872f895994dfaa79a0363c5363d78f373455a8c0f4475157bb5fa469fcaebb22139e76030f75e2487278071ee51810df76484c3e5488185a33ef4fc2bf59836e567380928c02eb32c29dac2bc2f2d13ebe865a01e8689f9da4f0a08c0ab617a1406ae0c5f04999a001390dd0a2751f743eb8bd4d33eaef53131c8fd4fee098d20cdc00695a2396b5322cb1738ae736216f1b114db99e990dd5a2bb76705c6bccd139fc870b61cd610145451f46ce92691259b6892392d3ba0aab9726d396de2c4bea7cf6b1450eda9160955b7649d7036438a4126d5833d623be71374d649edcd468d666f7bf1846b2a161e6b99ac0d07d99b036bfc8d4080c864056fb4e38495bffb08e7a8049c1d28c63ee84b975624c39955ad785b0ce816d90ed66528553652db5e2da27897d822b26bb9c76b3e415e61dd145c2affee307fb4592784e248945b5e0057252ab61b2d4a7e39e47c1816c336df6bb00bd1dbf412fda941a817ca218019c2c449110415d5fd33c28b8c7edd9bc9b2d3b743698d251c79f09c5cc33a628c8ad4d9350d4132dc90c9c9e95b4003c6692c738905383ef21317541ac6964f45dd7a53482b79be7a28ed7eb33ce70cb76810c0b763a8bfb3b8125d33722a8861e977490700dd3a818ddf8822c9531dacfebed6a473a599287a7846fe6154aad3da7592300bad6bb710bc2e6a04fcba27ca9d6a77f565b8403f117bd5a28f9e1b453cb2a51443280aae14725582505c72784ff8a9689a94098869271031b97d84d8b2f45f2e7a8ee41b264085329471deea8da611900eb1f55043c5d5d36a5a8f4e4e40541e7b59a4f5b57e0f7c96241cec698512ff5ecaad61162bec7dbbaa4a0c629745195941175be77f726454231baf6c6d7725951add6fddc080256846033c9556c91a197b65c54f04245aa9356fcec2a69787a79a435bdcc98a29cc00d20624a2d11eb235ae6fdfb2c34d9c8593b0120ff100f9743b27a109fe3bd273bc67dbb7770661ec2c1d931aa1deee676924473a9d369a705944422aeec57db6f3a1ce24e82c60152e5a3308d97151ba03175d333dfd2d9b2eab6e0fef340a07b453b185312facefb814a5e4120e89dea1986c15118389298ec9787570f515a8141635d9660dfbc4f36157c4930c2da472e0193600adfb35d52675d99e3dd3d85bc9257ed7195031479ac64a93edf1f538a263c9a77332cfcb2179740f551cadcfb6061a8d1da6fd89ee8a09c2a1bb07db0a7ed7b927f7c0dfe51af6b0c1dac1d9d3e7bb5c1f58314ff3eddea73c992d2ed7a45ef6117f08a08908b70932b05c72b211b84d19fbec2a4fc61f00a1b509f43347bab0dab36075bdbcb1d6879e5a5e44f2e36c1b6f2df69b90302334b46ee6b4e347defc48efa97e51a0173b13507513cb0d6d1f29f62ae5733e7ea55f71d3e55cf54ff5a82d36cb43d639e4b9143512f018e516b5026876b79528e8f1eb42cbc6b381b50eb74154150a055a1283969878a375173fd1b1c62731daf637535a290b1717d9f58c77b2785beb51e297b4011a5cdc12c6e4e1570f6de5e964d4bedc21bbf440d17ced5b30e4bfe30b17a4ac013a320e87c9ce9358d6846c62f84f620a033b9c5fe48322f0e3de41c6d95350a873490371320681b5d82f7394bcb22113ea3c69b7057b7821b491147f945c7301b4472af1d0661c4ad1713ceaf1543c46e66ab6fcb8a8738b9051567ceb56b2efc0471a74bd19f7c2254cec6a2f10d94853b2bb0d9328f00dca76854f5b1991b851691e50e90b380f8a8842d8939ca5cd5cbb9f1733c533184d206ca54fe766e08427197573d439b29a48e284766d99e59dedd2fd15ad933b22ac10f777d90e081ace08a1132012eff9c7a621f3a509e82c0ba3f33e906cbbc494b83125f9d06650b518ec4edb63b193031084723e98adfaa4cbbb27c93d7b35ea51405317a54b5f481eaac5d4dd11a08e296c86673346757684c5caf3f01fe726d74b7ff532fde7b402e60b0e87d4bcb00bda5813294b5fccd6583104c15b7cef983f5e50510f4ac4134934b05bd150a742244457f7f4315a86cbface176db18cf863931d993bdac31481d871b9ebc4fbf0519e13731e3752238ae7c218cd8a94fd12341609fabe5d2581866e4a7498a33b7ddb54be930050c84c65caee1d7ff803053529f4bbbe732947d73d5abf41824f7bb103d45fc32b34c8c49ccc0958b87074e6c2b7d2b7310dda03396186e4e9694b9b7eb2c07dd6d4a78cf90ec480d5451f6456c2531fb81713d7e73ce5b65e9e9832e13a9f17c9dadca98fcc91c6c98f6ef2f5e480a16d04951ca7bde9bc1aa9ffd13013c4567e2decc5fbb3781af953b4ac1e7934203604e498b26fd15fae48951496307b306fbd413e0fc0999df3c50e41e81e4d16a32fce06e6a58a9a591d7ff2d4b6c12749d61dbf251a56ca0d973d1838f6cc32de226d4b0d20f985cf8983d9360011402eaf888b6ff0ddbea2c9492928b78e35e003e3b54833b8d0d456187c89dbcace080ae7e0b43aa01166b0545d4374ad490318a5d7a39faf93b890e73f3d56f7e1a157ba5bdd1020cf842f33305f40ad3fd420f3d67e4121d7f92f00bb6a2c01087a5560ac2d79489bf1e342d401f8f34dc12f852072b635384e6ac1c76a924f72ffc74a30abb68c79a2c7cbb012d4c6438902539b67d9c93cec8e0bcdf9865d195b7eece823e918814c65213851fc7d1cb42c54f20771c6adebaebe1e10f047fbc64bf0190b5960aaa9c32c32d68221e6c001bc9298f33c51f0a4ae2e1c1ad94f03566aa814ba1d0487c0072a3037381bd907988c3cffa0b252a9e72b677a6b64956e1c3ccdfeb22201ce22f134144ec63519b89e29b8776018eb8d2b7552930505eccc7d7eefd5c015b5e2c925a2bf332c17fa59aad8bb54fb28a03af550d2226f3df5535bc4f1307184b2f3eef1cb9f0c1bcfd9fe92c11f0cead04c3082770666346c66c406f8f924509e8f588789f7e103a0042da54e90d798eee38370fe5e6f32ff8f5863fcc656cf6cbf5d211768880430d1606f1d3c959186790269c8c619cf203ee69271a570d932a75f7dd90ca51506f2dceb63751cdbd75e9b9923deed45fe705aacbc0322ad09065a332f45d5113adaacb5855e823be6851a42fc65a450e3207e7fb8933c043b7acfe8141e22294db301a0bdb309b263e452f45b76ce7e51033232626e7b9bcc781f34a1ad891a7863c5e21470084e2a46695ae3e7211b2c69b717ccebc5ae03d44f6eb48b551a06ec9aac1734b47e22b9b79a55cd50f3326094514e79204b92256e5a33ca520679613333f74b7c147b2af2ccd2093e4d58dddb06129ad1f5a02af3c44b324a1d908d0b1bcaaa5a72c0195a9ef8f98280861bcd1b58e05c3871307b77f92e151248b8ac6063e0f8839a77a7d98606106988ff12870041d5c562dd077fce999b2e764223c913522f4be6986d1853091cd61cb80baaaff0f7c649cbf4f8f079fb1e850a548c9ca1120092178bbc5390a35b6a85cb627b6ac30ca8bef76cf24b6122b85885ba19e48b21b9eb56f70734abae2c7431d995898586bfce75dda17aff250e6968b574b21610b4835b34303b3246541215c71d219fc2e36211e316fbe722e3303b22d73d33ab2f351e8fbb0c2aaf702d53df5f97873128c29cc7d275bd20898a9803b56329bee77ab0d05f9981b4e7e54177ff2999db00b8c9f201834200303ec7d0955b5f395aa53b8cbe126b9b352d50514b34688223f03c17b00b501c8762e1c44344325fc5a1ec11ba7593fd06a3db105c97608c51dd42b2a8cae2074d2c7886df4ef332c5362c07e1c6f8006bf661cca91aab99418668fc5180f91f8d38680952f286b84e1e474e1e638144f385db37c6b6516d69aa8abe09ae6e2f098127f71dc9354f80091c9686f6f03099d409954522684da024d8b14d57270ebae3aa7255a3d3e0b568e0269e41886819fc89bc5002366f36c43a2ca269202378b89d398099553c09c98195a44003919252ec98b922bbfcea7f56d5cea0c90ec41550fa9e57e2a1112480ec41d51d46d16da89809c30044e710c20335cef8304a4c50425b1ff0c04510594222e1f88009b9bd3bd29d50cbcefc76f19bb20b16981bcf821cdc4a5fa276f6735c7d7c19932a757ea7a929849a03da50d7dee81522b3c346f098d9b7a0687000a0b19c9b25215a97d8ffa26c64f9f69bf9dc422c2d13ae924c9830523f113d6f6b74cbf578ebf9387643a98a04705e2c58107913deecac5f62013746f5a7bce6c05e2ee82e2797cc09e494c1f5559c726c7eb324ef72f32baedd84d92f44424609f41a0417f3b82695f65a7f9135ec5ea377a821624a1badea514b298f4b6216cebe76e7e6976e90678041e7a15c823883e2481386a9b070b0a081e5beb3fa2a7fbcac9a0de04c1261528ad8796bdde20891ec20352ad5523b8e808220fa16254a3daf7a72b6db2ab247c8dde97ac3db8d24d71bae4ebfd0a1e3037176913c8be42a1fcb123aa50799d28c421801a14425612d2c2634dde04c6f955e793db42b36767bb438bd35e419194137b9b7c4c261aa1018397c930334511e764f80c51bc6e79f0b4462de39a23b4db71f8e1eb0904b341dbfa71e50f9adea17d8d2a331a66275123faa18af436ca773b936bbb0e63c080ad5059e6b3d284013d1e3c15af021bc94aac1a6e7697abb88edffb6113d82ae18d6ba390dbbd58531c1f099d6c2a91c2ccf4626a140121930eeae06b13a296b2e1a80702d7efd08afb2818e28e2310d2315d9bea60605735321df837577b7081764a3989cc367c1b316c76777f8714759c8d8ae497274d0781312073e600b521d718762bce44836bbea72a38054cc7e75242b6eca88091d8d46fb04e28454430c08fd25f2857a1f3bd2f5677993bbcd470d6763cba2fc6529ca40e1d96752be033796304b5b95e2a75b7080446dd476faa6b3d5dd959b2a76ea04e0eab9a4f11295ef502e9dd29830d129d31d09e6a856587d36694641f7136578192fc573de0e50ffbbc8d4f0f0bf574344165b95f4c1c6f3362e6ff3610a23ee5daf8bacb21014126ffcf166e5a1c9ad60e3a82223f2ad09794818aa7ce26cb347873fe27d0ffcf63fe400ff70dd51e7233cad2a4d41451e258f0165494fb7d61c7bd574330846048901f46b492670fd05b2ad3816ff57cb9d9e1f6ff921ec06c93763e31f2d51687fa9ded4f81462933e455ad73f7c4787847e7e77c3cb8cbe720121ad0a2240cad647b8c1b429c25b22b90d889dd76570b53562bed0f5f530f3e28d62f020515889858729c101eb18b2c3300f8b5dd3d97628b828bac9783dadf7f3657a2029ff686851d8077f3ee87258a65073c3d63120bd355885347768b371dca45618353bdad01c3bde20d5b493271d06da4ca959689c8df11ea1b1c99cf26d90b8066fd2b03540cda23167f7eea76fb631e86ff305192371a0da4fd9fd331d97e307390316a7f296f64d945c1ad30edf4317ad680f2913213707e8ac1ae138c4f91a371a5e43d5848ee4c47681fa0443b6c21b1340b8cf5da35b64c7508b61c69d06a2ad9ac09742306975eb8b7af69f957a9debaf826cd58e28fa1004d7bbd6e60d847ad494dc8e0cd3579bff0e137fb087c143b70823a5fcc7a93f766055acaf1960558271a9f215d584fcd142113cc7dff6d7008fc27ad5005ad70174789bba1674102f8dafb55e53215eb637c6f52fda2bf9079b1e16402e13ff06261f54e71131fe16f0d4cabaa3ab95dfb593c1ac46b009aa7ffeb71fb843d57ff74908db1d64cab3080aca8ac059208f489a3b9c0abc83cf22e0526df38165ac201be12d13f2b581bd680df45a4ab2b69d16b97193ded7b829232174abf2b57b0d0634f306cd52b44e0514365fe138adc09a9797b7f962b7a7d5c4ed2088d4711ab983dc0eb0f10cba67009c1487dd4a178ac2477fc8f06efac26b22486494d53174b5a507ee53b96bacde952282fc7cf40fec74f7b2c8714d003734454eae18193d5b011bfbf713887ac271705dbbf52f60b798aab781e2e0a9fc18d95090da3604142a2ebce2d5f2cd7a57b7d271d6fea3045a5134a7587e79c5533eddffd290347b8c198132af43c7255b2e3c57b50cf087c2517d33ff84e72bfc3c34c3fd0b4a0cc01b1b0ed73d26eb9eb95cf650963371db6a35efb08f1654b464cfa0b9f0cd34581a67939eaa7b9a87b5b502b3ccb836f009eb5da5ff71db980ba9a9db2852071f3031d0007a6721f14fb3c74f535510d77046fa59e8a13a9f333737cfa8cbf0b805443687a8678321e80ba8c4a77a671770af4112ba8e39fdf475ee35d44e708703dda51b5c4c74fcdf54ec9c3b49464f575875a10f36c4e6c13203efecfab1391488a4a88eca9ad20d99405eec8aecd8a0c13c2454ef58a6efd94123780545360945c2ad36da244a07d55f4879edf37a113ab04ce5497c796ce07391a6e0a8a200d866e9083b19625828fd093f17f19966608756af95f330cca23084c49eee3d1feccf20c6c8285d537fde29e6f63ddcfffe7d3771ea8e0f709bc6b5b14198811be0985d0de150b9148d71422a5fd35623ca1cd8f93a20257e9d5779a505a89e01483712fe6f4d547a8b799763f0d3bde623f7484f69d22df5ba1586b955c44328daf70c164ce963f1276c7e24a0350405a9f2d54d60494c57d6959228ca64f3232158736227bcd1d79d18da4c0cacd4bb5c53957b3f1032a56a98ba00ec555507c9438105f9d9ad8b33f42f6fbf22c9ab3a84fd2e7fafe5525fc8e50ec0498a303ef9a74e7a0eb4ae1a53e132705d4bc208be2636689c2998577ce8bb51c3441f671a537fbf9abceaee7e35ccd96ee07ced7d2bc701900638e424227181e69c2bb7dc0a249fee4c9f98f70d6596491652ccea30e160d58096b0afc3e52e3c2616c62bb1714bd91a9c6f067feda66a9b5f908937c49a431aca4c4955c3c0598f2d932c84ea2bca2fd8b61f36ead421675b5ef3a167f49b7abdff33ae0e5bad421d2892726a75557ced30eda4664c666823c80dc865b1a95f83fcaa826f70036e0f2f7d8cf457863c345b08d528e77a9257f83caa6c04149f669254d3db77c67a0720e9a75d57691708f36591d2185d1a1ca61d2c2b3f47ebc5b6cdb78d7b4eb62fedc57fd72deb59150eb40ddc4bf5d29b055f6d268d9fc9c13a65225f44c704108e1fd52cf5d81af773ae9f2a23eb6177446344032da5e60f67aadffe281bce1985a46fb23f587de1d00cc981cf892f8d32a4221a8d8c0749121bd43b6946b81b1380b588db51f32a9d09e7f2189b06ca68d0e69545aac503adfd83a29bea9505fc3afeb9e11d0b9c618151163dd979bf6a32ae403598edcf68dc49ad7061061f63e90dc541625362963b76fc4b3bf9760b5652a4e78668ff02d83fa40461b02ae7728202beafdbeb841703f467e0d83dfd909f3ecd8be5b1b07901b1a062e100a4b405d0f8b75a1dfa0ff99310d4da652cd13131013f7dc765b6a8e9d45ec816bd712d321ddf8b167bb515ae04433acfd143d993b6fdbcd5364668add4b0d51b0c9a9040babcfffdd0add341551392856f335b913218d88b0febd958ee965717fa8876913b46960863ec32ad62cfdc1eae3770c76831fbd6febb4afbbb1424006c806b45c000d89396bf2a4dbb46f22708bc4d65cdc68d28fa7589ea6463bf1c8742d186eaba1d0ce77f8fc6e56cb297bdfd14f476eebbd4d7ff496a90f66508cbcfb0d0e332c591342db760578687090867fa35e58940d02148b31c6521900b01f00dc72389a9a05893c6dc10473e244a2fcb0590fb8fa6dc65bde2bd2e1d1b8c8546c6d65aed1f2cdb0bbc20bdfe2c9f9dcbd469a1fefdf4ebc21b40e62618b8333b7988aff9ebf25802e4192a698c396c091c9dbd4e594f3e852b40230e2d12ddbbdc7bbe0dcc785f0308036aa3b6ef339d346516ca1ec3d8e155f8be6d08a1ca67b2358f2a8b758f47783f4f34f974deea124920b941068340602efed12f7cb373868484322b652a77bc82f8b2ca3ccc67610294dc83aa9a9c04eedb701d7e4a736dc29b687c119b55b14611670921a946fddac0a9ab699de77632aaae07ed5403f182e4e202051fd4ae3481a221319cdc9e6958f0ea147443de3ab25222b405289e0d05addc5ff61ae69b4cbc069b9ef27a9e3ff37db6b9a4a118c7f5109a0ec73359a8bb6deb507b98ac8da6bc7e1f12b48b4d4f5246eed25140c2dc00279899805474826336b1be018b04de37f82bd5a088dafdf7808141749ccdf002b5e4cb9a33758415cfe2d15a5660dfcc18b1aa4e54ca184557bf30aa29e9cc14946eaef239d83fb7bebc340078e94b57cc1648d78853ce51aeed5a8bbc18102fdcccee178f1c8da645b121e778e5c8f1fc8a233daabbf5bea172cbd88df97b1001dc0612a38c7159acd4c8a3b75a383461520772cc716cb4f65234be05d65c1f1becb411fe5519cb8c9b022b6158177bdf24d65aa778ad0893b1628574610301767d14bec7bf8ad62b4e3340733cc005a444a934b65954de178e59a1c1f11d1cb3f177b7611fc98a0e07dd6e121ef2079c123523b70f976ef5c695c2a798440b9d458bc50fd2745afcac4f5a6958c7ae814dbb4587494b7494b98719507cac0bfb54d3c82395746c616e7a25e63005cd5948fcfbbe3fd8aa9b21ada39223b12d40dc8bb25832445122349e3cf9ed7795f942c34c44282f81d40a9bfa1df4991fee2598345f996ef808adf1b0ec72ccbe17ce688b520fdb3e84bea8c57699482b5d90c534d4c0945fae2deb0310b36c721c490c3536ec93d79aba399967addb1bcca91827b54cf3479b14fa93d70995c94006bbe9b0af7601eab7830612c50218eedfd48b3a229ad3d345552f320120c3e24d9659f423bad70a9be3aa3ce5e00b22b2de41404d37c2ac7424f13526e37ad4042d640c31cabc57b24f72d878f800e2321600093ac31a503ca1c6090c767af78e3c26cb3651d9d49d33c7a8008f0a7ea8c1963dbbc53d145130339a98a79d839b35fdf84eca22619e9327006912196203b3e22a91c62e181baaf86a771d1c39f0c3d0a6c4d2014280971ec22845064bfe5d8d67cae71f725ea8c84f87a127d7a1178ce290e2040270bc41f9ffb71473351ea395808ac920200fd04d484b7e502b6616ee0cfd96c3ddfd6c1cfff316f4a75ea09c94a3ac11d378a7598dab2bc76e8ac09c9a82a2ec47df3b0bcb572c25b106bc37cb71ee911bc841d489f2a0b6d4a9a1fde23d8061800447c0306c18c109f10c4fb3dcd9f091426b1756a8ec97e7c1ac79dfd4fc2b3f89b47bd68a13ceabce414bc9bfc357474d300e4a28bbe77566ac14f45cf07bcfcc9c5d6cb01082800db45568f8f11a59e79eee0b6680d35854cf0cfba4a362593396adf2b008260c014f79f3204f63e0a3f479c38c014f3121056f12133c73b662602f497117fc6eebe870a9cfe3f7f2ef654a6eeb473b8cab1c9010ffc2f1b62ecdd779200bff45b80e8575f5dc4e9bd8ad5b90561fbe2613575753ba6d898612895bd5d628ebb7970d821248fe62e1150175ecd0dd008360aa2df3ecd508ce56f4d738a3206867693760649d25b5e8443dd1eb6d805ebd783fc013fe6679f7af5ed6b2f22b7e66648b897aac615564c70cc97dd10c15c5f40864272a5a9468efda9fa89215dd201087439719ca9c03d69e7c8e289e608d099bc7e1b42406a949528854a603fac705ac5ede99fa6695dc1bf6a08205d92b9a8a768dfb3dc95e2bf73bbb16266cb44d88254c241c0a335f5b0c90f49eb6103dfc6184539d67aacad913a9b12d28f5b9a39430fc5a7bf54c8b12fcadf2f639d01d3559090681727d7aaab1600e6de0adf471a573d03b40b9c1b28e3df2dace28324398453527b8ca9c79b5850037087a896d4319291b0dd22eebd0cae462d8669cb4dfaa864a35c9df0f356109645a8a5a633e0da0b88e0686ab470d03b26f95b0dc8bf6987fc721f6fd440500000077","publicInputs":"0x1d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4047fbe8e6ab5633664ebd80615a60c25b32093ef31ccb533d403ce748075fe5b00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af0930053eeeca2750c390a6b05c04c3eaf7148eaa37fc7f4677b1ea5c58207d438d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac0000000000000000000000000000000000000000000000000000000000000000009d5ebb50ae6bb050adcc9b3cf872968e1aa337634853aafcce8e9818e94c25011df24633b43c3d7346227c4b84b70d3fb6c9fa5b2cbb698f5d500d60456adb4e30bd18f88e1691544daea4ab46e1cfac0d82c97ccbb9dfb5a09d0a47efd9de16c6f7ce44c2b7c5d983b6d5b05c9ef1be47c4f5e93a2f99c3a04536c503fc967b0d22683d31e5b17e35426a3d6734a706df32e687ab5239d9f94c6f781ec93788f5335299e7824d699b722d99f94c8ed3a09014fba85c2a284d5019e3bc749d"}
|