diff --git a/contracts/near/eth2-utility/src/consensus.rs b/contracts/near/eth2-utility/src/consensus.rs index 3a3ec4aa4..32b8c8c8e 100644 --- a/contracts/near/eth2-utility/src/consensus.rs +++ b/contracts/near/eth2-utility/src/consensus.rs @@ -21,14 +21,17 @@ pub struct ProofSize { pub execution_proof_size: usize, } +#[derive(Debug)] pub struct GeneralizedIndex { pub finality_tree_depth: u32, pub finality_tree_index: u32, + pub current_sync_committee_tree_depth: u32, + pub current_sync_committee_tree_index: u32, pub sync_committee_tree_depth: u32, pub sync_committee_tree_index: u32, } -#[derive(PartialEq, BorshSerialize, BorshDeserialize, BorshSchema)] +#[derive(PartialEq, BorshSerialize, BorshDeserialize, BorshSchema, Debug)] pub enum Network { Mainnet, Goerli, @@ -157,9 +160,14 @@ impl NetworkConfig { } pub const fn get_generalized_index_constants(&self, slot: Slot) -> GeneralizedIndex { + // Altair pub const FINALIZED_ROOT_INDEX: u32 = 105; + pub const CURRENT_SYNC_COMMITTEE_INDEX: u32 = 55; pub const NEXT_SYNC_COMMITTEE_INDEX: u32 = 55; + + // Electra pub const FINALIZED_ROOT_INDEX_ELECTRA: u32 = 169; + pub const CURRENT_SYNC_COMMITTEE_INDEX_ELECTRA: u32 = 86; pub const NEXT_SYNC_COMMITTEE_INDEX_ELECTRA: u32 = 87; let epoch = compute_epoch_at_slot(slot); @@ -168,6 +176,10 @@ impl NetworkConfig { GeneralizedIndex { finality_tree_depth: floorlog2(FINALIZED_ROOT_INDEX_ELECTRA), finality_tree_index: get_subtree_index(FINALIZED_ROOT_INDEX_ELECTRA), + current_sync_committee_tree_depth: floorlog2(CURRENT_SYNC_COMMITTEE_INDEX_ELECTRA), + current_sync_committee_tree_index: get_subtree_index( + CURRENT_SYNC_COMMITTEE_INDEX_ELECTRA, + ), sync_committee_tree_depth: floorlog2(NEXT_SYNC_COMMITTEE_INDEX_ELECTRA), sync_committee_tree_index: get_subtree_index(NEXT_SYNC_COMMITTEE_INDEX_ELECTRA), } @@ -175,6 +187,8 @@ impl NetworkConfig { GeneralizedIndex { finality_tree_depth: floorlog2(FINALIZED_ROOT_INDEX), finality_tree_index: get_subtree_index(FINALIZED_ROOT_INDEX), + current_sync_committee_tree_depth: floorlog2(CURRENT_SYNC_COMMITTEE_INDEX), + current_sync_committee_tree_index: get_subtree_index(CURRENT_SYNC_COMMITTEE_INDEX), sync_committee_tree_depth: floorlog2(NEXT_SYNC_COMMITTEE_INDEX), sync_committee_tree_index: get_subtree_index(NEXT_SYNC_COMMITTEE_INDEX), } diff --git a/eth2near/Cargo.lock b/eth2near/Cargo.lock index cf141ca32..6895aeaec 100644 --- a/eth2near/Cargo.lock +++ b/eth2near/Cargo.lock @@ -7,6 +7,10 @@ name = "Inflector" version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] [[package]] name = "addr2line" @@ -29,11 +33,22 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if 1.0.0", + "cipher", + "cpufeatures", +] + [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if 1.0.0", "once_cell", @@ -58,9 +73,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-primitives" -version = "0.8.22" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c66bb6715b7499ea755bde4c96223ae8eb74e05c014ab38b9db602879ffb825" +checksum = "8c77490fe91a0ce933a1f219029521f20fc28c2c0ca95d53fa4da9c00b8d9d4e" dependencies = [ "alloy-rlp", "arbitrary", @@ -70,16 +85,16 @@ dependencies = [ "derive_arbitrary", "derive_more 2.0.1", "foldhash", - "getrandom 0.2.15", - "hashbrown 0.15.2", - "indexmap 2.7.1", + "getrandom 0.2.16", + "hashbrown 0.15.3", + "indexmap 2.9.0", "itoa", "k256", "keccak-asm", "paste", "proptest", "proptest-derive", - "rand", + "rand 0.8.5", "ruint", "rustc-hash", "serde", @@ -106,7 +121,7 @@ checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -126,9 +141,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.97" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "arbitrary" @@ -259,7 +274,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -269,7 +284,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -303,14 +318,15 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" +checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" dependencies = [ "async-task", "concurrent-queue", "fastrand", "futures-lite", + "pin-project-lite", "slab", ] @@ -361,9 +377,9 @@ dependencies = [ [[package]] name = "async-std" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" +checksum = "730294c1c08c2e0f85759590518f6333f0d5a0a766a27d519c1b244c3dfd8a24" dependencies = [ "async-channel 1.9.0", "async-global-executor", @@ -391,6 +407,17 @@ version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" +[[package]] +name = "async-trait" +version = "0.1.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "atomic-waker" version = "1.1.2" @@ -416,13 +443,13 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -433,9 +460,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if 1.0.0", @@ -443,7 +470,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -466,9 +493,27 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" + +[[package]] +name = "binary-install" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "93bff426ff93f3610dd2b946f3eb8cb2d1285ca8682834d43be531a3f93db2ff" +dependencies = [ + "anyhow", + "dirs-next", + "flate2", + "fs2", + "hex", + "is_executable", + "siphasher", + "tar", + "ureq", + "zip", +] [[package]] name = "bit-set" @@ -553,7 +598,7 @@ dependencies = [ "ethereum_ssz", "fixed_bytes", "hex", - "rand", + "rand 0.8.5", "safe_arith", "serde", "tree_hash", @@ -583,7 +628,7 @@ dependencies = [ "ff", "group", "pairing", - "rand_core", + "rand_core 0.6.4", "serde", "subtle", ] @@ -608,7 +653,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -655,13 +700,33 @@ dependencies = [ [[package]] name = "bytesize" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2c12f985c78475a6b8d629afd0c360260ef34cfef52efccdcfd31972f81c2e" +checksum = "2e93abca9e28e0a1b9877922aacb20576e05d4679ffa78c3d6dc22a26a216659" dependencies = [ "serde", ] +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.13+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" +dependencies = [ + "cc", + "pkg-config", +] + [[package]] name = "c-kzg" version = "1.0.3" @@ -677,9 +742,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.16" +version = "1.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" +checksum = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1" dependencies = [ "jobserver", "libc", @@ -706,17 +771,29 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", + "js-sys", "num-traits", "serde", + "wasm-bindgen", "windows-link", ] +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + [[package]] name = "cita_trie" version = "5.0.1" @@ -832,6 +909,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + [[package]] name = "contract_wrapper" version = "0.3.0" @@ -848,6 +931,7 @@ dependencies = [ "near-jsonrpc-primitives", "near-primitives", "near-sdk", + "near-workspaces", "reqwest", "serde", "serde_json", @@ -860,6 +944,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +[[package]] +name = "convert_case" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb4a24b1aaf0fd0ce8b45161144d6f42cd91677fd5940fd431183eb023b3a2b8" + [[package]] name = "core-foundation" version = "0.9.4" @@ -984,7 +1074,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -1023,7 +1113,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -1038,12 +1128,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", + "darling_core 0.20.11", + "darling_macro 0.20.11", ] [[package]] @@ -1062,16 +1152,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -1087,26 +1177,26 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.20.10", + "darling_core 0.20.11", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] name = "data-encoding" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "zeroize", @@ -1114,9 +1204,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", "serde", @@ -1141,20 +1231,20 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] name = "derive_more" -version = "0.99.19" +version = "0.99.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" dependencies = [ - "convert_case", + "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -1183,7 +1273,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -1194,7 +1284,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", "unicode-xid", ] @@ -1219,6 +1309,27 @@ dependencies = [ "subtle", ] +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if 1.0.0", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -1227,7 +1338,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -1236,6 +1347,12 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" +[[package]] +name = "dyn-clone" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" + [[package]] name = "easy-ext" version = "0.2.9" @@ -1273,7 +1390,7 @@ checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek", "ed25519", - "rand_core", + "rand_core 0.6.4", "sha2", "subtle", ] @@ -1297,7 +1414,7 @@ dependencies = [ "generic-array", "group", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", "subtle", "zeroize", @@ -1329,7 +1446,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -1362,9 +1479,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" dependencies = [ "libc", "windows-sys 0.59.0", @@ -1375,7 +1492,7 @@ name = "eth-types" version = "0.2.0" dependencies = [ "borsh", - "derive_more 0.99.19", + "derive_more 0.99.20", "ethereum-types", "ethereum_serde_utils", "ethereum_ssz", @@ -1406,6 +1523,7 @@ dependencies = [ "log", "near-primitives", "near-sdk", + "near-workspaces", "reqwest", "serde", "serde_json", @@ -1473,6 +1591,7 @@ dependencies = [ "near-jsonrpc-primitives", "near-primitives", "near-sdk", + "near-workspaces", "primitive-types 0.12.2", "prometheus", "reqwest", @@ -1596,10 +1715,10 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3deae99c8e74829a00ba7a92d49055732b3c1f093f2ccfa3cbc621679b6fa91" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -1621,9 +1740,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ "event-listener 5.4.0", "pin-project-lite", @@ -1671,12 +1790,12 @@ dependencies = [ [[package]] name = "ff" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ "bitvec", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -1686,6 +1805,18 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +[[package]] +name = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "libredox", + "windows-sys 0.59.0", +] + [[package]] name = "finality-update-verify" version = "0.1.0" @@ -1718,7 +1849,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -1732,6 +1863,25 @@ dependencies = [ "safe_arith", ] +[[package]] +name = "flate2" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fluent-uri" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17c704e9dbe1ddd863da1e6ff3567795087b1eb201ce80d8fa81162e1516500d" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "fnv" version = "1.0.7" @@ -1740,9 +1890,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "foreign-types" @@ -1768,6 +1918,16 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "funty" version = "2.0.0" @@ -1843,7 +2003,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -1889,9 +2049,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if 1.0.0", "libc", @@ -1900,14 +2060,14 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if 1.0.0", "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", ] [[package]] @@ -1941,8 +2101,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", "rand_xorshift", "subtle", ] @@ -1959,7 +2119,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.7.1", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -1968,17 +2128,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" +checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.2.0", - "indexmap 2.7.1", + "http 1.3.1", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -2003,9 +2163,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" dependencies = [ "allocator-api2", "equivalent", @@ -2106,6 +2266,15 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "http" version = "0.2.12" @@ -2119,9 +2288,9 @@ dependencies = [ [[package]] name = "http" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", @@ -2146,18 +2315,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.2.0", + "http 1.3.1", ] [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", - "http 1.2.0", + "futures-core", + "http 1.3.1", "http-body 1.0.1", "pin-project-lite", ] @@ -2176,15 +2345,15 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", @@ -2213,8 +2382,8 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.8", - "http 1.2.0", + "h2 0.4.10", + "http 1.3.1", "http-body 1.0.1", "httparse", "itoa", @@ -2231,7 +2400,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", - "http 1.2.0", + "http 1.3.1", "hyper 1.6.0", "hyper-util", "rustls", @@ -2259,16 +2428,17 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", "hyper 1.6.0", + "libc", "pin-project-lite", "socket2", "tokio", @@ -2278,14 +2448,15 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.61" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -2301,21 +2472,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -2324,31 +2496,11 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -2356,67 +2508,54 @@ dependencies = [ "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.99", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -2436,9 +2575,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -2479,7 +2618,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -2495,16 +2634,25 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "arbitrary", "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.3", "serde", ] +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array", +] + [[package]] name = "int_to_bytes" version = "0.2.0" @@ -2519,6 +2667,15 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "is_executable" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "302d553b8abc8187beb7d663e34c065ac4570b273bc9511a50e940e99409c577" +dependencies = [ + "winapi", +] + [[package]] name = "itertools" version = "0.10.5" @@ -2554,10 +2711,11 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jobserver" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ + "getrandom 0.3.3", "libc", ] @@ -2571,12 +2729,35 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "json-patch" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b1fb8864823fad91877e6caea0baca82e49e8db50f8e5c9f9a453e27d3330fc" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror 1.0.69", +] + [[package]] name = "json_comments" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbbfed4e59ba9750e15ba154fdfd9329cee16ff3df539c2666b70f58cc32105" +[[package]] +name = "jsonptr" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c6e529149475ca0b2820835d3dce8fcc41c6b943ca608d32f35b449255e4627" +dependencies = [ + "fluent-uri", + "serde", + "serde_json", +] + [[package]] name = "k256" version = "0.13.4" @@ -2648,9 +2829,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.170" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libflate" @@ -2674,9 +2855,20 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.11" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "libredox" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.9.0", + "libc", + "redox_syscall", +] [[package]] name = "libsqlite3-sys" @@ -2697,15 +2889,15 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9c683daf087dc577b7506e9695b3d556a9f3849903fa28186283afd6809e9" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" @@ -2719,9 +2911,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.26" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" dependencies = [ "serde", "value-bag", @@ -2733,7 +2925,7 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.3", ] [[package]] @@ -2829,9 +3021,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" dependencies = [ "adler2", ] @@ -2883,44 +3075,96 @@ dependencies = [ ] [[package]] -name = "near-account-id" -version = "1.0.0" +name = "near-abi" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35cbb989542587b47205e608324ddd391f0cee1c22b4b64ae49f458334b95907" +checksum = "7c49593c9e94454a2368a4c0a511bf4bf1413aff4d23f16e1d8f4e64b5215351" dependencies = [ "borsh", + "schemars", + "semver 1.0.26", "serde", ] [[package]] -name = "near-chain-configs" -version = "0.29.1" +name = "near-abi-client" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fbc0ca140fff8cee481a158b4c8fb6941cc32bf17f69548067bcd6c61e3e41" +checksum = "879ac02b2e8d6498294adce1de7a2424a5474b35a73e9262c851be39c89d7f92" dependencies = [ "anyhow", - "bytesize", - "chrono", - "derive_more 1.0.0", - "near-config-utils", - "near-crypto", - "near-parameters", - "near-primitives", - "near-time", - "num-rational", - "serde", - "serde_json", - "sha2", - "smart-default", - "time", - "tracing", + "convert_case 0.5.0", + "near-abi-client-impl", + "near-abi-client-macros", + "prettyplease", + "quote", + "syn 1.0.109", ] [[package]] -name = "near-config-utils" -version = "0.29.1" +name = "near-abi-client-impl" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1139e8a6f60fd8ed1c53c700b67bcecbf6deb4b1f47bbe9a9d5eea760d8a8e91" +dependencies = [ + "anyhow", + "near-abi", + "near_schemafy_lib", + "proc-macro2", + "quote", + "schemars", + "serde_json", +] + +[[package]] +name = "near-abi-client-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebaf2aae80086b310bf96e657bbee0c599c3452afd35e72999f8d6764d6b1899" +dependencies = [ + "near-abi-client-impl", + "syn 1.0.109", +] + +[[package]] +name = "near-account-id" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ed69d94899cfdfba16182bd681ad9e6b7f888e29532b04c56da9ae05a4c5bc4" +dependencies = [ + "borsh", + "serde", +] + +[[package]] +name = "near-chain-configs" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18f9b46b53fb224e1cd770c6d25f0158f7fb56f76155bf3376a3f87df2d8821a" +checksum = "82d98e77d25ba905d16e91179a33e215da3226d62fadf73c471ef88a9b9d58c2" +dependencies = [ + "anyhow", + "bytesize", + "chrono", + "derive_more 1.0.0", + "near-config-utils", + "near-crypto", + "near-parameters", + "near-primitives", + "near-time", + "num-rational", + "serde", + "serde_json", + "sha2", + "smart-default", + "time", + "tracing", +] + +[[package]] +name = "near-config-utils" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b992cca8d3b00f34b37f638c9632a97b734656151294e7a29b60b93b8a92948" dependencies = [ "anyhow", "json_comments", @@ -2930,9 +3174,9 @@ dependencies = [ [[package]] name = "near-crypto" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8c1f2937cf0aa0d345cb1c66946d4cb3b6367d0a97063152200ca1573c10ef0" +checksum = "938773caf4ce15aa435d422fd5823e5302a260c93dbd070281eecae74f1a2559" dependencies = [ "blake2", "borsh", @@ -2946,7 +3190,7 @@ dependencies = [ "near-schema-checker-lib", "near-stdx", "primitive-types 0.10.1", - "rand", + "rand 0.8.5", "secp256k1", "serde", "serde_json", @@ -2956,9 +3200,9 @@ dependencies = [ [[package]] name = "near-fmt" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "913b8f3d375cad633cf609bdeecedbd51711ca6243e478afc57915b427386020" +checksum = "0599477a38b5596c283212d4db8eb11c6cc33fb43d02002db9cd3f141ba735f1" dependencies = [ "near-primitives-core", ] @@ -2970,14 +3214,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180edcc7dc2fac41f93570d0c7b759c1b6d492f6ad093d749d644a40b4310a97" dependencies = [ "borsh", + "schemars", "serde", ] [[package]] name = "near-jsonrpc-client" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e1b675cc4b1515472621d81d4ab724bd5d3d3b9974c575cdef2b7a477c5baff" +checksum = "752aa5d0080f6c3bad8ba349046069a406e7536ab101d6cfc7db3e157144b921" dependencies = [ "borsh", "lazy_static", @@ -2994,9 +3239,9 @@ dependencies = [ [[package]] name = "near-jsonrpc-primitives" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21da8cfb88828b88ffb45d54c4dfff7882c9d310437103c6904a4ecce0ea6ba1" +checksum = "6f003113d08e1f0ab9e6335efb1f7167662954804274653904ef57a9b5f8e687" dependencies = [ "arbitrary", "near-chain-configs", @@ -3011,9 +3256,9 @@ dependencies = [ [[package]] name = "near-parameters" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3de756a75428855c490aa311a4bdd949e0c1a3a4ce7b52b1259243f31b5ffcda" +checksum = "fbfe696b28e2406001d4d5be14414a32c91f9c7202ae631367a6b22288ccad8d" dependencies = [ "borsh", "enum-map", @@ -3030,9 +3275,9 @@ dependencies = [ [[package]] name = "near-primitives" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ce9c175be8d84580f90d0230cb6d4b3717b455983e0b20f88b0a927ff88820" +checksum = "bd5009712faf116cdadda4c1636daf04f0f53a5537555f38ded2736f2d9e0cac" dependencies = [ "arbitrary", "base64 0.21.7", @@ -3057,8 +3302,8 @@ dependencies = [ "num-rational", "ordered-float", "primitive-types 0.10.1", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "serde", "serde_json", "serde_with", @@ -3067,14 +3312,14 @@ dependencies = [ "strum 0.24.1", "thiserror 2.0.12", "tracing", - "zstd", + "zstd 0.13.3", ] [[package]] name = "near-primitives-core" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84e870e229a74dcc989321cacb96a79d57919d2995c81ae729d1dde3bf5f1b13" +checksum = "afc441b97a25a22b2344944962dba34bea9bfc732c6ce3a23728593e82166ae6" dependencies = [ "arbitrary", "base64 0.21.7", @@ -3091,17 +3336,30 @@ dependencies = [ "thiserror 2.0.12", ] +[[package]] +name = "near-sandbox-utils" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65921a949220d53f4e346694f7ecae018320003d88582d4bbe45da26c5c35aa7" +dependencies = [ + "anyhow", + "binary-install", + "fs2", + "home", + "tokio", +] + [[package]] name = "near-schema-checker-core" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943ce3e4f7e8bf6ccd757dd4eb2bfa7de0fba198c4f53db86a5f4e03e807be7e" +checksum = "00d54cd2888814fc2398316ec6d870754d7dd08704233bda770a75360afc8a7b" [[package]] name = "near-schema-checker-lib" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cded00cc174e6d70d8503784ac46a947ecb8eb06b1a75653fc46a15f4bdfc73" +checksum = "311745157f685c26e05ca8532efbfcc09f63ab9fc7d94b824b2c75946ef37197" dependencies = [ "near-schema-checker-core", "near-schema-checker-macro", @@ -3109,15 +3367,15 @@ dependencies = [ [[package]] name = "near-schema-checker-macro" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0906c4a3962bc31e9737da0884e3595065b37eb3117848c6d73be3746cc734b" +checksum = "515c63689e1e7940ac34629ad9d16ba8fd6bea58ad8ddbd4acf705d6149f3c77" [[package]] name = "near-sdk" -version = "5.12.0" +version = "5.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2b4af278678db8704302aac59ddb250474efb9fbb6e65bca4aa2387c634c25" +checksum = "ad9bb847fb4458b00b64e28c4a7adac5d0658603d988c4b4d12eb18104767b80" dependencies = [ "base64 0.22.1", "borsh", @@ -3140,38 +3398,38 @@ dependencies = [ [[package]] name = "near-sdk-macros" -version = "5.12.0" +version = "5.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b4e49ae82d7c1f1dd500239996fd19012054db31057f5aae6a5ab52ed5b843" +checksum = "c0562cf707a41f2f71976f2baa48989369175a96e75b65a4297c815f49327bde" dependencies = [ "Inflector", - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", "serde", "serde_json", "strum 0.26.3", "strum_macros 0.26.4", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] name = "near-stdx" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9259168eb4953dddd96a27aafdeabae2c3909658ea66f60f6836859662cfdf2f" +checksum = "0bf9306662fe8ced267a85aa1d3fc9205f1968d88b9ddbb9a03c657da8457533" [[package]] name = "near-sys" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf4ca5c805cb78700e10e43484902d8da05f25788db277999d209568aaf4c8e" +checksum = "6ee6acd2229cde1f13daabca434022900ab371d2c19de6be6a5a0497dc942ef7" [[package]] name = "near-time" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed079661e2bd03c60d858ba2b2991adb59749b971c36bce0758dffedb59315df" +checksum = "40a8ffbee0028f08220c46d864d81ac780f2805ab3156b044ee04a927005a84f" dependencies = [ "serde", "time", @@ -3189,9 +3447,9 @@ dependencies = [ [[package]] name = "near-vm-runner" -version = "0.29.1" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61e5cfc84d4eb78971469c50bf3e9e93719d2aec2403eb13b7fdf8c4332057b" +checksum = "fca3f18ed6a87b334b93b53e4c2c98cf185fd1fde5a4b538980508fb7e51b147" dependencies = [ "blst", "borsh", @@ -3219,6 +3477,68 @@ dependencies = [ "zeropool-bn", ] +[[package]] +name = "near-workspaces" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43e44fc77e3491076daaec62c9be3a1b4d63c299702569b5eca3dd2057f8330" +dependencies = [ + "async-trait", + "base64 0.22.1", + "bs58 0.5.1", + "chrono", + "fs2", + "json-patch", + "libc", + "near-abi-client", + "near-account-id", + "near-crypto", + "near-gas", + "near-jsonrpc-client", + "near-jsonrpc-primitives", + "near-primitives", + "near-sandbox-utils", + "near-token", + "rand 0.8.5", + "reqwest", + "serde", + "serde_json", + "sha2", + "tempfile", + "thiserror 1.0.69", + "tokio", + "tokio-retry", + "tracing", + "url", +] + +[[package]] +name = "near_schemafy_core" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d7a1f809a319578773329389529dbf8c8f0abfbb05a429b37f437105f7caf6" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "near_schemafy_lib" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c39ccae55df51adaa1a4e567b7a79ab4380826a695121cebf41f518076d8c3dd" +dependencies = [ + "Inflector", + "near_schemafy_core", + "proc-macro2", + "quote", + "serde", + "serde_derive", + "serde_json", + "syn 1.0.109", + "uriparse", +] + [[package]] name = "num-bigint" version = "0.3.3" @@ -3299,15 +3619,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.3" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "openssl" -version = "0.10.71" +version = "0.10.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" +checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" dependencies = [ "bitflags 2.9.0", "cfg-if 1.0.0", @@ -3326,7 +3646,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -3337,9 +3657,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.106" +version = "0.9.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd" +checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" dependencies = [ "cc", "libc", @@ -3355,7 +3675,7 @@ checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" dependencies = [ "borsh", "num-traits", - "rand", + "rand 0.8.5", "serde", ] @@ -3399,7 +3719,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -3428,7 +3748,18 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "password-hash" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", ] [[package]] @@ -3437,6 +3768,18 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.7", + "hmac", + "password-hash", + "sha2", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -3445,9 +3788,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.15" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" +checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" dependencies = [ "memchr", "thiserror 2.0.12", @@ -3471,7 +3814,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -3528,6 +3871,15 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -3536,13 +3888,23 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] +[[package]] +name = "prettyplease" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +dependencies = [ + "proc-macro2", + "syn 1.0.109", +] + [[package]] name = "primitive-types" version = "0.10.1" @@ -3601,9 +3963,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -3649,8 +4011,8 @@ dependencies = [ "bitflags 2.9.0", "lazy_static", "num-traits", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "rand_xorshift", "regex-syntax", "rusty-fork", @@ -3666,7 +4028,7 @@ checksum = "4ee1c9ac207483d5e7db4940700de86a9aae46ef90c48b57f99fe7edb8345e49" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -3683,13 +4045,19 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quote" -version = "1.0.39" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -3703,11 +4071,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "serde", ] +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -3715,7 +4093,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -3724,17 +4112,26 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "serde", ] +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", +] + [[package]] name = "rand_xorshift" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -3759,13 +4156,24 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.10" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ "bitflags 2.9.0", ] +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.16", + "libredox", + "thiserror 1.0.69", +] + [[package]] name = "regex" version = "1.11.1" @@ -3797,9 +4205,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.12" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" +checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" dependencies = [ "base64 0.22.1", "bytes", @@ -3807,8 +4215,8 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.8", - "http 1.2.0", + "h2 0.4.10", + "http 1.3.1", "http-body 1.0.1", "http-body-util", "hyper 1.6.0", @@ -3852,13 +4260,13 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.13" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ac5d832aa16abd7d1def883a8545280c20a60f523a370aa3a9617c2b8550ee" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if 1.0.0", - "getrandom 0.2.15", + "getrandom 0.2.16", "libc", "untrusted", "windows-sys 0.52.0", @@ -3911,9 +4319,9 @@ dependencies = [ [[package]] name = "ruint" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "825df406ec217a8116bd7b06897c6cc8f65ffefc15d030ae2c9540acc9ed50b6" +checksum = "78a46eb779843b2c4f21fac5773e25d6d5b7c8f0922876c91541790d2ca27eef" dependencies = [ "alloy-rlp", "arbitrary", @@ -3928,7 +4336,8 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.12.2", "proptest", - "rand", + "rand 0.8.5", + "rand 0.9.1", "rlp", "ruint-macro", "serde", @@ -4021,24 +4430,26 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.0" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f8dcd64f141950290e45c99f7710ede1b600297c91818bb30b3667c0f45dc0" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ "bitflags 2.9.0", "errno", "libc", - "linux-raw-sys 0.9.2", + "linux-raw-sys 0.9.4", "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.23.23" +version = "0.23.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" +checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" dependencies = [ + "log", "once_cell", + "ring", "rustls-pki-types", "rustls-webpki", "subtle", @@ -4056,15 +4467,18 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "zeroize", +] [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "ring", "rustls-pki-types", @@ -4109,6 +4523,30 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.101", +] + [[package]] name = "scoped-tls" version = "1.0.1" @@ -4141,7 +4579,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ - "rand", + "rand 0.8.5", "secp256k1-sys", ] @@ -4203,9 +4641,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.218" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -4221,13 +4659,24 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.218" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] @@ -4250,7 +4699,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -4275,7 +4724,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.7.1", + "indexmap 2.9.0", "serde", "serde_derive", "serde_json", @@ -4289,10 +4738,10 @@ version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -4301,7 +4750,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.7.1", + "indexmap 2.9.0", "itoa", "ryu", "serde", @@ -4321,9 +4770,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -4358,9 +4807,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] @@ -4372,9 +4821,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + [[package]] name = "slab" version = "0.4.9" @@ -4395,9 +4850,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" dependencies = [ "arbitrary", ] @@ -4410,14 +4865,14 @@ checksum = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" dependencies = [ "libc", "windows-sys 0.52.0", @@ -4525,7 +4980,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -4571,9 +5026,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.99" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e02e925281e18ffd9d640e234264753c43edc62d64b2d4cf898f1bc5e75f3fc2" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -4591,13 +5046,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -4627,17 +5082,27 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "tar" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" +dependencies = [ + "filetime", + "libc", + "xattr", +] + [[package]] name = "tempfile" -version = "3.18.0" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c317e0a526ee6120d8dabad239c8dadca62b24b6f168914bbbc8e2fb1f0e567" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ - "cfg-if 1.0.0", "fastrand", - "getrandom 0.3.1", + "getrandom 0.3.3", "once_cell", - "rustix 1.0.0", + "rustix 1.0.7", "windows-sys 0.59.0", ] @@ -4691,7 +5156,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -4702,7 +5167,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -4716,9 +5181,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.39" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad298b01a40a23aac4580b67e3dbedb7cc8402f3592d7f49469de2ea4aecdd8" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -4731,15 +5196,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765c97a5b985b7c11d7bc27fa927dc4fe6af3a6dfb021d28deb60d3bf51e76ef" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.20" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8093bc3e81c3bc5f7879de09619d06c9a5a5e45ca44dfeeb7225bae38005c5c" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", @@ -4756,9 +5221,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -4781,9 +5246,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.43.0" +version = "1.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" +checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" dependencies = [ "backtrace", "bytes", @@ -4805,7 +5270,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -4818,6 +5283,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-retry" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +dependencies = [ + "pin-project", + "rand 0.8.5", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.26.2" @@ -4842,16 +5318,15 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.3" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] @@ -4865,17 +5340,17 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" [[package]] name = "toml_edit" -version = "0.22.24" +version = "0.22.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" dependencies = [ - "indexmap 2.7.1", + "indexmap 2.9.0", "toml_datetime", "winnow", ] @@ -4927,7 +5402,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -4956,10 +5431,10 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0857056ca4eb5de8c417309be42bcff6017b47e86fbaddde609b4633f66061e" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -4987,10 +5462,10 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.2.0", + "http 1.3.1", "httparse", "log", - "rand", + "rand 0.8.5", "sha1", "thiserror 1.0.69", "url", @@ -5031,7 +5506,7 @@ dependencies = [ "metastruct", "milhouse", "parking_lot", - "rand", + "rand 0.8.5", "rand_xorshift", "rayon", "regex", @@ -5106,6 +5581,32 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +[[package]] +name = "ureq" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d" +dependencies = [ + "base64 0.22.1", + "flate2", + "log", + "once_cell", + "rustls", + "rustls-pki-types", + "url", + "webpki-roots 0.26.11", +] + +[[package]] +name = "uriparse" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0200d0fc04d809396c2ad43f3c95da3582a2556eba8d453c1087f4120ee352ff" +dependencies = [ + "fnv", + "lazy_static", +] + [[package]] name = "url" version = "2.5.4" @@ -5115,6 +5616,7 @@ dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -5123,12 +5625,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -5157,9 +5653,9 @@ checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "value-bag" -version = "1.10.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" +checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" [[package]] name = "vcpkg" @@ -5208,7 +5704,7 @@ dependencies = [ "futures-util", "headers", "http 0.2.12", - "hyper 0.14.29", + "hyper 0.14.32", "log", "mime", "mime_guess", @@ -5234,9 +5730,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasi" -version = "0.13.3+wasi-0.2.2" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" dependencies = [ "wit-bindgen-rt", ] @@ -5263,7 +5759,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", "wasm-bindgen-shared", ] @@ -5298,7 +5794,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5322,6 +5818,24 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-roots" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.0", +] + +[[package]] +name = "webpki-roots" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "wee_alloc" version = "0.4.5" @@ -5367,47 +5881,81 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.61.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" dependencies = [ - "windows-targets", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings 0.4.0", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] name = "windows-link" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" [[package]] name = "windows-registry" -version = "0.2.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" dependencies = [ "windows-result", - "windows-strings", - "windows-targets", + "windows-strings 0.3.1", + "windows-targets 0.53.0", ] [[package]] name = "windows-result" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" dependencies = [ - "windows-targets", + "windows-link", ] [[package]] name = "windows-strings" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" dependencies = [ - "windows-result", - "windows-targets", + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +dependencies = [ + "windows-link", ] [[package]] @@ -5416,7 +5964,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -5425,7 +5973,7 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -5434,14 +5982,30 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", ] [[package]] @@ -5450,77 +6014,119 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" -version = "0.7.3" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7f4ea97f6f78012141bcdb6a216b2609f0979ada50b20ca5b52dde2eac2bb1" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" dependencies = [ "memchr", ] [[package]] name = "wit-bindgen-rt" -version = "0.33.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ "bitflags 2.9.0", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "wyz" @@ -5531,11 +6137,21 @@ dependencies = [ "tap", ] +[[package]] +name = "xattr" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e" +dependencies = [ + "libc", + "rustix 1.0.7", +] + [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -5545,35 +6161,34 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", "synstructure", ] [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ - "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -5593,7 +6208,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", "synstructure", ] @@ -5615,7 +6230,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", ] [[package]] @@ -5627,15 +6242,26 @@ dependencies = [ "byteorder", "crunchy", "lazy_static", - "rand", + "rand 0.8.5", "rustc-hex", ] +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -5644,13 +6270,42 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.99", + "syn 2.0.101", +] + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "aes", + "byteorder", + "bzip2", + "constant_time_eq", + "crc32fast", + "crossbeam-utils", + "flate2", + "hmac", + "pbkdf2", + "sha1", + "time", + "zstd 0.11.2+zstd.1.5.2", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe 5.0.2+zstd.1.5.2", ] [[package]] @@ -5659,23 +6314,33 @@ version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ - "zstd-safe", + "zstd-safe 7.2.4", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", ] [[package]] name = "zstd-safe" -version = "7.2.3" +version = "7.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3051792fbdc2e1e143244dc28c60f73d8470e93f3f9cbd0ead44da5ed802722" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.14+zstd.1.5.7" +version = "2.0.15+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb060d4926e4ac3a3ad15d864e99ceb5f343c6b34f5bd6d81ae6ed417311be5" +checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" dependencies = [ "cc", "pkg-config", diff --git a/eth2near/contract_wrapper/Cargo.toml b/eth2near/contract_wrapper/Cargo.toml index 17d886e89..f9a59fa23 100644 --- a/eth2near/contract_wrapper/Cargo.toml +++ b/eth2near/contract_wrapper/Cargo.toml @@ -18,7 +18,12 @@ serde_json = "1.0.74" serde = { version = "1.0", features = ["derive"] } eth-types = { path = "../../contracts/near/eth-types/" } eth2-utility = { path = "../../contracts/near/eth2-utility/" } +near-workspaces = "0.18" [dev-dependencies] futures = "0.3.21" anyhow = "1.0" + +[features] +default = [] +sandbox = [] \ No newline at end of file diff --git a/eth2near/contract_wrapper/src/dao_contract.rs b/eth2near/contract_wrapper/src/dao_contract.rs index af8558d27..354baa5fc 100644 --- a/eth2near/contract_wrapper/src/dao_contract.rs +++ b/eth2near/contract_wrapper/src/dao_contract.rs @@ -2,6 +2,7 @@ use crate::contract_wrapper_trait::ContractWrapper; use crate::dao_types; use crate::utils::status_as_success_decoded; use eth_types::eth2::LightClientUpdate; +use near_primitives::types::Balance; use near_primitives::views::FinalExecutionOutcomeView; use near_sdk::json_types::Base64VecU8; use near_sdk::{AccountId, Gas}; @@ -138,7 +139,7 @@ mod tests { SyncAggregate, SyncCommitteeBits, }; use near_crypto::{KeyType, PublicKey}; - use near_primitives::types::AccountId; + use near_primitives::types::{AccountId, Balance}; use near_primitives::views::{ ExecutionOutcomeView, ExecutionOutcomeWithIdView, ExecutionStatusView, FinalExecutionOutcomeView, FinalExecutionStatus, SignedTransactionView, diff --git a/eth2near/contract_wrapper/src/dao_eth_client_contract.rs b/eth2near/contract_wrapper/src/dao_eth_client_contract.rs index cebe21e1c..e39d80d4a 100644 --- a/eth2near/contract_wrapper/src/dao_eth_client_contract.rs +++ b/eth2near/contract_wrapper/src/dao_eth_client_contract.rs @@ -150,7 +150,9 @@ mod tests { let rt = Runtime::new().unwrap(); - let worker = rt.block_on(workspaces::testnet()).unwrap(); + let worker = rt + .block_on(async { near_workspaces::testnet().await }) + .unwrap(); let signer = rt.block_on(worker.dev_create_account()).unwrap(); let signer_private_key: String = utils::trim_quotes(serde_json::to_string(&signer.secret_key()).unwrap()); diff --git a/eth2near/contract_wrapper/src/eth_client_contract.rs b/eth2near/contract_wrapper/src/eth_client_contract.rs index 150e340ee..6902118ff 100644 --- a/eth2near/contract_wrapper/src/eth_client_contract.rs +++ b/eth2near/contract_wrapper/src/eth_client_contract.rs @@ -193,10 +193,13 @@ mod tests { use crate::eth_client_contract; use crate::eth_client_contract::EthClientContract; use crate::eth_client_contract_trait::EthClientContractTrait; + use crate::sandbox_contract_wrapper::SandboxContractWrapper; + use eth_types::eth2::{ExtendedBeaconBlockHeader, LightClientUpdate, SyncCommittee}; use eth_types::BlockHeader; use near_primitives::types::AccountId; + use near_sdk::NearToken; use tokio::runtime::Runtime; // TODO: use a more clean approach to include binary @@ -260,10 +263,12 @@ mod tests { } } - fn create_contract() -> (workspaces::Account, workspaces::Contract) { + fn create_contract() -> (near_workspaces::Account, near_workspaces::Contract) { let rt = Runtime::new().unwrap(); - let worker = rt.block_on(workspaces::sandbox()).unwrap(); + let worker = rt + .block_on(async { near_workspaces::sandbox().await }) + .unwrap(); let wasm = std::fs::read(WASM_FILEPATH).unwrap(); // create accounts @@ -272,7 +277,7 @@ mod tests { .block_on( owner .create_subaccount("relay_account") - .initial_balance(30 * near_sdk::ONE_NEAR) + .initial_balance(NearToken::from_near(30)) .transact(), ) .unwrap() diff --git a/eth2near/contract_wrapper/src/lib.rs b/eth2near/contract_wrapper/src/lib.rs index edec0a0a0..98e672198 100644 --- a/eth2near/contract_wrapper/src/lib.rs +++ b/eth2near/contract_wrapper/src/lib.rs @@ -10,6 +10,5 @@ pub mod file_eth_client_contract; pub mod near_contract_wrapper; pub mod near_network; pub mod near_rpc_client; -#[cfg(feature = "sandbox")] pub mod sandbox_contract_wrapper; pub mod utils; diff --git a/eth2near/contract_wrapper/src/sandbox_contract_wrapper.rs b/eth2near/contract_wrapper/src/sandbox_contract_wrapper.rs index 1de99b31f..ec99e7e50 100644 --- a/eth2near/contract_wrapper/src/sandbox_contract_wrapper.rs +++ b/eth2near/contract_wrapper/src/sandbox_contract_wrapper.rs @@ -3,17 +3,18 @@ use near_crypto::KeyType::ED25519; use near_crypto::PublicKey; use near_primitives::errors::{ActionError, ActionErrorKind, TxExecutionError}; use near_primitives::types::AccountId; +use near_primitives::types::Balance; use near_primitives::views::{ ExecutionOutcomeView, ExecutionOutcomeWithIdView, ExecutionStatusView, FinalExecutionOutcomeView, FinalExecutionStatus, SignedTransactionView, }; -use near_sdk::{Balance, Gas}; +use near_sdk::{Gas, NearToken}; +use near_workspaces::{Account, Contract}; use std::error::Error; use std::future::IntoFuture; use tokio::runtime::Runtime; -use workspaces::{Account, Contract}; -pub const MAX_GAS: Gas = Gas(Gas::ONE_TERA.0 * 300); +pub const MAX_GAS: Gas = Gas::from_tgas(300); /// Implementation for interaction with NEAR contract in Sandbox emulator for testing purposes. /// Implemented using https://github.com/near/workspaces-rs @@ -35,7 +36,7 @@ impl SandboxContractWrapper { } fn get_final_execution_outcome_view_from_call_execution_details( - call_execution_details: workspaces::result::ExecutionFinalResult, + call_execution_details: near_workspaces::result::ExecutionFinalResult, ) -> FinalExecutionOutcomeView { let status = match call_execution_details.is_success() { true => FinalExecutionStatus::SuccessValue("".into()), @@ -59,6 +60,7 @@ impl SandboxContractWrapper { actions: vec![], signature: Default::default(), hash: Default::default(), + priority_fee: Default::default(), }, transaction_outcome: ExecutionOutcomeWithIdView { proof: vec![], @@ -67,9 +69,9 @@ impl SandboxContractWrapper { outcome: ExecutionOutcomeView { logs: outcome.clone().logs, receipt_ids: vec![], - gas_burnt: outcome.gas_burnt, - tokens_burnt: outcome.tokens_burnt, - executor_id: outcome.executor_id.parse().unwrap(), + gas_burnt: outcome.gas_burnt.as_gas(), + tokens_burnt: outcome.tokens_burnt.as_near(), + executor_id: outcome.executor_id.clone(), status: ExecutionStatusView::Unknown, metadata: Default::default(), }, @@ -81,11 +83,11 @@ impl SandboxContractWrapper { impl ContractWrapper for SandboxContractWrapper { fn get_account_id(&self) -> AccountId { - self.contract.id().parse().unwrap() + self.contract.id().clone() } fn get_signer_account_id(&self) -> AccountId { - self.signer_account.id().to_string().parse().unwrap() + self.signer_account.id().clone() } fn call_view_function( @@ -141,12 +143,12 @@ impl ContractWrapper for SandboxContractWrapper { self.signer_account .call(self.contract.id(), &method_name) .deposit(match deposit { - Some(deposit) => deposit, - None => 0, + Some(deposit) => NearToken::from_yoctonear(deposit), + None => NearToken::from_yoctonear(0), }) .gas(match gas { - Some(gas) => gas.0, - None => MAX_GAS.0, + Some(gas) => gas, + None => MAX_GAS, }) .args(args) .transact(), diff --git a/eth2near/eth2-contract-init/Cargo.toml b/eth2near/eth2-contract-init/Cargo.toml index 5860b6644..1e2618028 100644 --- a/eth2near/eth2-contract-init/Cargo.toml +++ b/eth2near/eth2-contract-init/Cargo.toml @@ -24,4 +24,5 @@ dotenv = "0.15.0" [dev-dependencies] tokio.workspace = true +near-workspaces = "0.18" contract_wrapper = { path = "../contract_wrapper" } diff --git a/eth2near/eth2-contract-init/config_for_tests.toml b/eth2near/eth2-contract-init/config_for_tests.toml index 3ca997f80..3065fd47f 100644 --- a/eth2near/eth2-contract-init/config_for_tests.toml +++ b/eth2near/eth2-contract-init/config_for_tests.toml @@ -1,4 +1,4 @@ -beacon_endpoint = "https://lodestar-goerli.chainsafe.io" -eth1_endpoint = "https://goerli.infura.io/v3/ETH1_INFURA_API_KEY" -network_name = "Goerli" +beacon_endpoint = "http://unstable.sepolia.beacon-api.nimbus.team" +eth1_endpoint = "https://sepolia.infura.io/v3/ETH1_INFURA_API_KEY" +network_name = "Sepolia" wasm_filepath = "../../contracts/near/res/eth2_client.wasm" \ No newline at end of file diff --git a/eth2near/eth2-contract-init/src/init_contract.rs b/eth2near/eth2-contract-init/src/init_contract.rs index a84894d3e..c3f4cecc5 100644 --- a/eth2near/eth2-contract-init/src/init_contract.rs +++ b/eth2near/eth2-contract-init/src/init_contract.rs @@ -2,24 +2,22 @@ use crate::config::Config; use contract_wrapper::eth_client_contract::EthClientContract; use contract_wrapper::near_network::NearNetwork; use eth2_utility::consensus; +use eth2_utility::consensus::{Network, NetworkConfig}; use eth_rpc_client::beacon_rpc_client::BeaconRPCClient; use eth_rpc_client::eth1_rpc_client::Eth1RPCClient; use eth_rpc_client::light_client_snapshot_with_proof::LightClientSnapshotWithProof; use eth_types::eth2::ExtendedBeaconBlockHeader; use eth_types::BlockHeader; use log::info; +use std::str::FromStr; use std::{thread, time}; use tree_hash::TreeHash; use types::{ExecutionPayload, MainnetEthSpec}; -const CURRENT_SYNC_COMMITTEE_INDEX: u32 = 54; -const CURRENT_SYNC_COMMITTEE_TREE_DEPTH: u32 = consensus::floorlog2(CURRENT_SYNC_COMMITTEE_INDEX); -const CURRENT_SYNC_COMMITTEE_TREE_INDEX: u32 = - consensus::get_subtree_index(CURRENT_SYNC_COMMITTEE_INDEX); - pub fn verify_light_client_snapshot( block_root: String, light_client_snapshot: &LightClientSnapshotWithProof, + network: &Network, ) -> bool { let expected_block_root = format!( "{:#x}", @@ -30,6 +28,11 @@ pub fn verify_light_client_snapshot( return false; } + // Get the correct indices based on the slot + let network_config = NetworkConfig::new(network); + let slot = light_client_snapshot.beacon_header.slot; + let indices = network_config.get_generalized_index_constants(slot); + consensus::verify_merkle_proof( eth_types::H256( light_client_snapshot @@ -39,8 +42,14 @@ pub fn verify_light_client_snapshot( .into(), ), &light_client_snapshot.current_sync_committee_branch, - CURRENT_SYNC_COMMITTEE_TREE_DEPTH.try_into().unwrap(), - CURRENT_SYNC_COMMITTEE_TREE_INDEX.try_into().unwrap(), + indices + .current_sync_committee_tree_depth + .try_into() + .unwrap(), + indices + .current_sync_committee_tree_index + .try_into() + .unwrap(), light_client_snapshot.beacon_header.state_root, ) } @@ -58,6 +67,7 @@ pub fn init_contract( ); assert!(config.verify_bls_signature.unwrap_or(false) || config.trusted_signer_account_id.is_some(), "The client can't be executed in the trustless mode without BLS sigs verification on Mainnet"); } + let eth_network = Network::from_str(&config.ethereum_network.to_string())?; let beacon_rpc_client = BeaconRPCClient::new( &config.beacon_endpoint, @@ -127,7 +137,7 @@ pub fn init_contract( panic!("Period for init_block_root different from current period. Please use snapshot for current period"); } - if !verify_light_client_snapshot(init_block_root, &light_client_snapshot) { + if !verify_light_client_snapshot(init_block_root, &light_client_snapshot, ð_network) { return Err("Invalid light client snapshot".into()); } @@ -165,14 +175,16 @@ mod tests { use contract_wrapper::near_network::NearNetwork; use contract_wrapper::sandbox_contract_wrapper::SandboxContractWrapper; use eth_rpc_client::beacon_rpc_client::{BeaconRPCClient, BeaconRPCVersion}; + use near_workspaces::{Account, Contract}; use tokio::runtime::Runtime; - use workspaces::{Account, Contract}; const ONE_EPOCH_IN_SLOTS: u64 = 32; fn create_contract(config_for_test: &ConfigForTests) -> (Account, Contract) { let rt = Runtime::new().unwrap(); - let worker = rt.block_on(workspaces::sandbox()).unwrap(); + let worker = rt + .block_on(async { near_workspaces::sandbox().await }) + .unwrap(); // create accounts let owner: Account = worker.root_account().unwrap(); diff --git a/eth2near/eth2near-block-relay-rs/Cargo.toml b/eth2near/eth2near-block-relay-rs/Cargo.toml index 42f6f6ad2..03d71958d 100644 --- a/eth2near/eth2near-block-relay-rs/Cargo.toml +++ b/eth2near/eth2near-block-relay-rs/Cargo.toml @@ -50,3 +50,4 @@ dotenv = "0.15.0" [dev-dependencies] eth2-contract-init = { path = "../eth2-contract-init" } contract_wrapper = { path = "../contract_wrapper" } +near-workspaces = "0.18" diff --git a/eth2near/eth2near-block-relay-rs/src/eth2near_relay.rs b/eth2near/eth2near-block-relay-rs/src/eth2near_relay.rs index c7ddeb47d..e0d3b8802 100644 --- a/eth2near/eth2near-block-relay-rs/src/eth2near_relay.rs +++ b/eth2near/eth2near-block-relay-rs/src/eth2near_relay.rs @@ -1,3 +1,4 @@ +//eth2near/eth2near-block-relay-rs/src/eth2near_relay.rs use crate::config::Config; use crate::prometheus_metrics; use crate::prometheus_metrics::{ @@ -16,6 +17,8 @@ use eth_rpc_client::hand_made_finality_light_client_update::HandMadeFinalityLigh use eth_types::eth2::LightClientUpdate; use eth_types::BlockHeader; use log::{debug, info, trace, warn}; +use types::Hash256; + use near_primitives::views::FinalExecutionStatus; use std::cmp::max; use std::error::Error; @@ -707,6 +710,7 @@ mod tests { use eth_types::BlockHeader; use std::error::Error; use tree_hash::TreeHash; + use types::Hash256; fn get_test_config() -> ConfigForTests { ConfigForTests::load_from_toml("config_for_tests.toml".try_into().unwrap()) @@ -804,12 +808,13 @@ mod tests { .get_light_client_update(last_period) .unwrap(); - let branch: Vec = light_client_update + let branch: Vec = light_client_update .finality_update .finality_branch .iter() - .map(|h| h.0) + .map(|h| Hash256::from_slice(h.0.as_bytes())) .collect(); + assert!( merkle_proof::verify_merkle_proof( light_client_update @@ -820,19 +825,26 @@ mod tests { branch.as_slice(), TREE_FINALITY_DEPTH, TREE_FINALITY_INDEX, - light_client_update.attested_beacon_header.state_root.0 + Hash256::from_slice( + light_client_update + .attested_beacon_header + .state_root + .0 + .as_bytes() + ) ), "Incorrect proof of inclusion the finality checkpoint to attested beacon state" ); - let branch = light_client_update + let branch: Vec = light_client_update .sync_committee_update .as_ref() .unwrap() .next_sync_committee_branch .iter() - .map(|h| h.0) - .collect::>(); + .map(|h| Hash256::from_slice(h.0.as_bytes())) + .collect(); + assert!( merkle_proof::verify_merkle_proof( light_client_update @@ -844,7 +856,13 @@ mod tests { branch.as_slice(), TREE_NEXT_SYNC_COMMITTEE_DEPTH, TREE_NEXT_SYNC_COMMITTEE_INDEX, - light_client_update.attested_beacon_header.state_root.0 + Hash256::from_slice( + light_client_update + .attested_beacon_header + .state_root + .0 + .as_bytes() + ) ), "Incorrect proof of inclusion the next sync committee to finality beacon state" ); diff --git a/eth2near/eth2near-block-relay-rs/src/test_utils.rs b/eth2near/eth2near-block-relay-rs/src/test_utils.rs index b8428d0c2..13d2a913d 100644 --- a/eth2near/eth2near-block-relay-rs/src/test_utils.rs +++ b/eth2near/eth2near-block-relay-rs/src/test_utils.rs @@ -12,11 +12,11 @@ use eth_rpc_client::beacon_rpc_client::{BeaconRPCClient, BeaconRPCVersion}; use eth_rpc_client::eth1_rpc_client::Eth1RPCClient; use eth_types::eth2::{ExtendedBeaconBlockHeader, LightClientUpdate, SyncCommittee}; use eth_types::BlockHeader; +use near_workspaces::{Account, Contract}; use std::{thread, time}; use tokio::runtime::Runtime; use tree_hash::TreeHash; use types::{ExecutionPayload, MainnetEthSpec}; -use workspaces::{Account, Contract}; pub fn read_json_file_from_data_dir(file_name: &str) -> std::string::String { let mut json_file_path = std::env::current_exe().unwrap(); @@ -119,12 +119,12 @@ pub fn init_contract_from_specific_slot( .get_beacon_block_header_for_block_id(&format!("{}", finality_slot)) .unwrap(); - let finality_header = eth_types::eth2::BeaconBlockHeader { + let finality_header: eth_types::eth2::BeaconBlockHeader = eth_types::eth2::BeaconBlockHeader { slot: finality_header.slot.as_u64(), proposer_index: finality_header.proposer_index, - parent_root: finality_header.parent_root.into(), - state_root: finality_header.state_root.into(), - body_root: finality_header.body_root.into(), + parent_root: finality_header.parent_root.0.into(), + state_root: finality_header.state_root.0.into(), + body_root: finality_header.body_root.0.into(), }; let finalized_body = beacon_rpc_client @@ -135,8 +135,8 @@ pub fn init_contract_from_specific_slot( finalized_body.execution_payload().unwrap().into(); let finalized_beacon_header = ExtendedBeaconBlockHeader { header: finality_header.clone(), - beacon_block_root: eth_types::H256(finality_header.tree_hash_root()), - execution_block_hash: execution_payload.block_hash().into_root().into(), + beacon_block_root: eth_types::H256(finality_header.tree_hash_root().0.into()), + execution_block_hash: execution_payload.block_hash().into_root().0.into(), }; let finalized_execution_header: BlockHeader = eth1_rpc_client @@ -160,7 +160,9 @@ pub fn init_contract_from_specific_slot( fn create_contract(config_for_test: &ConfigForTests) -> (Account, Contract) { let rt = Runtime::new().unwrap(); - let worker = rt.block_on(workspaces::sandbox()).unwrap(); + let worker = rt + .block_on(async { near_workspaces::sandbox().await }) + .unwrap(); // create accounts let owner = worker.root_account().unwrap(); diff --git a/eth2near/eth_rpc_client/config_for_tests.toml b/eth2near/eth_rpc_client/config_for_tests.toml index 2a7f4b465..542fca9ba 100644 --- a/eth2near/eth_rpc_client/config_for_tests.toml +++ b/eth2near/eth_rpc_client/config_for_tests.toml @@ -1,9 +1,9 @@ -beacon_endpoint = "https://lodestar-sepolia.chainsafe.io" +beacon_endpoint = "http://unstable.sepolia.beacon-api.nimbus.team" eth1_endpoint = "https://sepolia.infura.io/v3/API_KEY" path_to_attested_state_for_period = "./data/beacon_state_goerli_slot_5243067.json" path_to_light_client_update_for_attested_slot = "./data/beacon_light_client_update_goerli_slot_5243067.json" -first_slot = 3885632 +first_slot = 7585792 eth1_number = 0x77D17F -path_to_block = "./data/beacon_block_goerli_slot_3885632.json" -path_to_header = "./data/beacon_header_goerli_slot_3885632.json" -path_to_light_client_update = "./data/beacon_light_client_update_goerli_period_640.json" +path_to_block = "./data/beacon_block_sepolia_slot_7585792.json" +path_to_header = "./data/beacon_header_sepolia_slot_7585792.json" +path_to_light_client_update = "./data/beacon_light_client_update_sepolia_period_926.json" diff --git a/eth2near/eth_rpc_client/data/beacon_block_sepolia_slot_7585792.json b/eth2near/eth_rpc_client/data/beacon_block_sepolia_slot_7585792.json new file mode 100644 index 000000000..a285cc446 --- /dev/null +++ b/eth2near/eth_rpc_client/data/beacon_block_sepolia_slot_7585792.json @@ -0,0 +1,326 @@ +{ + "version": "electra", + "execution_optimistic": false, + "finalized": true, + "data": { + "message": { + "slot": "7585792", + "proposer_index": "1654", + "parent_root": "0x0e702737dd72c94917ec8237c65718bf58b54112138741477da6eabc2cdc9458", + "state_root": "0x4f69d75006c7112f956c81ee638f6e249aebdc72560a4c25c58740557a49c855", + "body": { + "randao_reveal": "0xb24c7d8b1890fce573777f4018563110291751deafe602dab1a71a507878ca3f509c064b87bcdee836adfd0ee3800ca9048e25bf46d9137b2bf3eb0a6b623ff257f30121dcde2e2967b34a054bc4d67c1554695cb6503925ec76f8fa0d5f3c80", + "eth1_data": { + "deposit_root": "0xec912358887b0111331726b5a71253af46a12f0ece15c67768b0a9edce8a61f8", + "deposit_count": "410", + "block_hash": "0xeece2eb2562b2f4572236cf5c6bf3251ed7629985557def971485a659109f12c" + }, + "graffiti": "0x7373762e6e6574776f726b000000000000000000000000000000000000000000", + "proposer_slashings": [], + "attester_slashings": [], + "attestations": [ + { + "aggregation_bits": "0xffffffffffffff01", + "data": { + "slot": "7585791", + "index": "0", + "beacon_block_root": "0x0e702737dd72c94917ec8237c65718bf58b54112138741477da6eabc2cdc9458", + "source": { + "epoch": "237054", + "root": "0x50cde620e78c430d03958b5cf9babbadc8041c766a52e39ddf9a4a8c69eefa61" + }, + "target": { + "epoch": "237055", + "root": "0x2df460e2c8b4781449c23345c5b982071509903c35c92f9cde6f280f7c98a2d5" + } + }, + "signature": "0xa178e2ab768f90f9348880ff2ce2555fdb2c2d8e18604e6a301bdd1e0149a5a534877920b30cb637f7d0001d15e80557041cd9bf8d145ecd5424c775c53eb8e010f0e4289a64ccfb7479a800a9102111054e44571137d25f14e8bb7acede8a43", + "committee_bits": "0x0100000000000000" + } + ], + "deposits": [], + "voluntary_exits": [], + "sync_aggregate": { + "sync_committee_bits": "0xfff5fdffffffffff7ffffff7ffbffff7ffffffffbfffffbffffffdfff7ff7ffffffff9fffffffff7fff7ffffffffffffffffffffffffffff7fffffffffefbfff", + "sync_committee_signature": "0x82a56a28e0c93ce50fb03cce39b19e93f7e713db1c660f0402ed30bb3e7a4b7aa41fe17c6cf9534fde6307a7525dd5951128dc5aa64c80d46467de5f47845eaf5d2daa9a26eface95698a91e009181ed406df1d4dc217965f62d27189e0ac4f5" + }, + "execution_payload": { + "parent_hash": "0x2930b7c9292c69ce9b6f7061ab77076c271590f922d6f51dcbd68cd84c3b25e9", + "fee_recipient": "0x5cc0dde14e7256340cc820415a6022a7d1c93a35", + "state_root": "0xf1131828f5f659111fb5faacc3f7acec2247ef814850dd7653485dc9130e79dc", + "receipts_root": "0xe3548d4e05f2d4ee772b499310fbe85422ad78e568c4129fc92445cd38001d7d", + "logs_bloom": "0x12a60056933c252ab0a6840420919c45f07e15602b246e3659a967f6c10f2281238b76c0b0d0214c38551085382f1121ab401051dfbea3f1c0b0daa24c657c03301c332104aae908106e71a92949c1010d698608a947c20b79831a21d296264afd6e048e279b141a82cf85a20f384a5281488f466908268ad0e0a414229c0be5009026389294b72c614a308b0744e9b4530ae000d4208400c2d58236944e0cb06a584e43c112a11a5454d44df2280daa144c000070d29892e8055bb7748e108ce9032836554d40ce205f8431f9434800695608bcc089806d003cd1462189f84304b82c90eda02eb9cd3a3803b07c26ae6802212529f26310c29a81a830ab5320", + "prev_randao": "0x761589dc0906b36fb3762e9febacfd9d0a020f6069455d95001c0cf6bd249e46", + "block_number": "8286935", + "gas_limit": "54063901", + "gas_used": "21517363", + "timestamp": "1746763104", + "extra_data": "0xd883010f06846765746888676f312e32342e31856c696e7578", + "base_fee_per_gas": "884772", + "block_hash": "0x8c22224db6280dee943fa957ce4394f0ce2652ab8e43d96e3d86759aa55de2a0", + "transactions": [ + "0xf8890885746a528800830493e094f739d03e98e23a7b65940848aba8921ff3bac4b280a04fc8ba4b4326dd474d69ad457cdce62117d90c8554ecb4a4a72b1a3a640870b08401546d72a007029acd8d9e9802750b5b8036b237d118596df04ed1742b6e358d5539d49247a003b799ecd285cfe84f110553b5ad2632f47d83f014a3ade7be95119cbd83a5f9", + "0xf8890985746a528800830493e094f739d03e98e23a7b65940848aba8921ff3bac4b280a04fc8ba4b4326dd474d69ad457cdce62117d90c8554ecb4a4a72b1a3a640870b08401546d71a00fe217449c2e88232b6c6ec97bacd1a40d59143a65d1ba06e9f077a20982b096a037febf3dfe5c36d1a9431ba31e697917809b80f2573c9adfc3030fe9e97bbc41", + "0x02f8f783aa36a782102d8506fc23ac00850ba43b740083030d409466421074dff85e27ca294c11aa0eacf79330d01880b884285a30320000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000030da3d1fc87d6ea7405732555af4a9700db14137c080a04778ab159fbf05ce42795f400b385853cf52ae742a5a925f6dcc7b2458863948a041734aae7ab2ebcdb89a73b3fe1b53e874a700b9015da8e0264f7d2fceafce1b", + "0xf86c298502540be40083030d4094a7f3c68f32b2f5e6c1b11c26258ff015631b2cd187038d7ea4c68000801ba07b974bf125a6b41bae3feb2a1a56333f83680258e644823fb366f0715043a6dca02af8d189dd2abc2ecde7092477da3844da31ce97699d57a612e317b4bfa5932c", + "0x02f8dc83aa36a72f85012a05f20085012a05f200830186a094b74d5dba3081bcadb5d4e1cc77cc4807e1c4ecf8870221b262dd8000b864ce0b63ce0000000000000000000000009c5e033c03f8d1863850c7d616229b4380c70ded000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000002ba7def3000c001a00b0b393e399d14efebe7e51541bf25940fb476212c0ffa8d4d519722cd436f58a06cd07e73d7263163df1af88c8032daef7aee6b890df150a6c0d90a8181d7b663", + "0x02f8dc83aa36a74885012a05f20085012a05f200830186a094b74d5dba3081bcadb5d4e1cc77cc4807e1c4ecf8870110d9316ec000b864ce0b63ce000000000000000000000000427ad9beba541f2415454890390fe6d342e6b4fc000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000002ba7def3000c001a010d342e728796520dd6d9e4a367bdfa832d69319381952086f90f459fe9e95b2a057b7830284015ca6b21d7d73c704143f058d3a886e9b4017cde639296cd20aa7", + "0x02f906b683aa36a782313c84ee6b280084ee83650283e4e1c094fd4559b473fbceabc0f68631646d6ceadf7b704080b9064498f81962000000000000000000000000000000000000000000000000000000000000107d000000000000000000000000000000000000000000000000000000000000313d000000000000000000000000000000000000000000000000000000000000313d0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000058100000000000000000000000000000000000000000000000000000000000000313c47db4a12bbc33fc034cd7c0b6cbe20be2b97df7cc65c979d5573e83bebf15bfd00000000000000000000000000000000000000000000000000000000001b86b20000000000000000000000000000000000000000000000000000000000000000c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708d56896bedac9564aa68c3a4aa870d945088f678a92cba6e03a40a4052ffa17b00000000000000000000000000000000000000000000000000000000681d7cccec0d4aca4cec7773ae72f17248724992fbe2b6ff681d2cb86a6e7082f4eb45f5000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000313d00000000000000000000000000000000000000000000000000000000681d7d0a00000000000000000000000000000000000000000000000000000000001b8736319c157080db555cb4e89d8aa3cf3f4cebbabe761535295474a4fafca473dcd40000000000000000000000000000000000000000000000000000000000000000c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470ade3c53fb1d4ebee67e511c80c6fa3b0a52855cffa3835c2043c627207b6e96c27281d303e64c94fdefb3600d9bf8b83f3331607c8efbc3258577808f2364664000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000026800000000000000000000000000000000000000000000800b000000000000000000000000000000000000000000000000000000000000000447db4a12bbc33fc034cd7c0b6cbe20be2b97df7cc65c979d5573e83bebf15bfd00000028000000000000000000000000000000000000800b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000681d7d0a000000000000000000000000681d7d460001002800000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000002c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4700001002800000000000000000000000000000000000080010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000010028000000000000000000000000000000000000800800000000000000000000000000000000000000000000000000000000000000008d56896bedac9564aa68c3a4aa870d945088f678a92cba6e03a40a4052ffa17b0001002800000000000000000000000000000000000080080000000000000000000000000000000000000000000000000000000000000006000000000000000000000000fa30eae30351a83809657299f6cad9557c232e8c000100280000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f2a4ed9555fa1962ee813789881fbb1c91db8c90f8939e60eb44777a092fd69400000000000000000000000000000000000000000000000000000000000000c001a0e7432a0b695c372e18c77b735fa0a9b5ffffeadca834b78f372d27dbc32abf35a039adbaafe6b77be2f9113408fcf32ded0be5a7ce77804f5f1bde7cd9d0c4ef19", + "0x02f952f683aa36a78208e684b2d05e0084b2e7448e834ffd1c948d1cc702453fa889f137dbd5734cdb7ee96b6ba080b952840319561d00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000007cd60000000000000000000000000000000000000000000000000000000000007cef04d799f1af0651cb32133c95095c441d340ea0d6332e6b316eaa96b2e9183d2624bbd484407c3317d068265272dbd71d74b8db4627612a3b41157370b3d87d4726064290bf23124cb75ad7a2fed5f2a454d86cfe3a4aab675eca362097d4f3fb24a55435bc38d37abeb87ac45ddb1b89b66a3305da216292fa1a4af37b524ac400000000000000000000000000000000000000000000000000000000681d7a30008df45fdb33a629eb0a03d7742d0814dc000156f252d2aca01e8f1ec12af8f9000000000000000000000000f507e78e7ccc05fd83d2e57e13ac4cc9f3e021f800000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000da0000000000000000000000000000000000000000000000000000000000000194000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b19e0c800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064cd4d080000000000000000000000003ab0d28693ecebb1872ba97937baa2c84112147800000000000000000000000000000000000000000000000000000000c8672d4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000078e7e1a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000424234380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007d5145280000000000000000000000003ab0d28693ecebb1872ba97937baa2c8411214780000000000000000000000000000000000000000000000000000000059e598640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f9f8280000000000000000000000000acb4e27b527dbbd6a9d87cdb65f391454249386f0000000000000000000000000000000000000000000000000000000073188a44000000000000000000000000ef215fb8146df8a1f230fb5f284649897b5adcbd000000000000000000000000000000000000000000000000000000003870b970000000000000000000000000c425a109e331c83f2e46261cd5505aaac8da9a4a000000000000000000000000000000000000000000000000000000006765234200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073f030d4000000000000000000000000913183e1948a277f8531c508a1a7827c8d1a3aa300000000000000000000000000000000000000000000000000000000480428fe0000000000000000000000008a5461ce9d9ea4cb389e2e955c537c9ac43e76f3000000000000000000000000000000000000000000000000000000007f44d76e000000000000000000000000ef215fb8146df8a1f230fb5f284649897b5adcbd000000000000000000000000000000000000000000000000000000008374ddd400000000000000000000000052ad8d1f0e7270de2dccb1d610cddc1e889b1e7b000000000000000000000000000000000000000000000000000000005b76b668000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000978d9cb60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a43064c000000000000000000000000fee4287ee5d3a88daa09c728e67f72908e979dfa00000000000000000000000000000000000000000000000000000000665c1bf4000000000000000000000000fee4287ee5d3a88daa09c728e67f72908e979dfa00000000000000000000000000000000000000000000000000000000497ad20000000000000000000000000017b841bf60c6baa08acf0eeefec91f8f28ebcc150000000000000000000000000000000000000000000000000000000033bee12c000000000000000000000000913183e1948a277f8531c508a1a7827c8d1a3aa3000000000000000000000000000000000000000000000000000000006392e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004df6be7a0000000000000000000000008a5461ce9d9ea4cb389e2e955c537c9ac43e76f3000000000000000000000000000000000000000000000000000000004ac4a9c4000000000000000000000000bc530a6da4acb2414bc288b9f0a3cf1d487fe8cc0000000000000000000000000000000000000000000000000000000043c6e22c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000356fbbcc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b7a010fb2b84098859981c62f10f929329b4fcb1e025108e2325b7e40bad9ad5655020487b5920025c2b633d3262d49ba104bf6130b19eab7c986af7cb9a74401a905b30a8b841eb7e3fec533d39d5b69f5e11dcb715f0e5274da4657b3de4bb6c0a4d7c48731fa8c35c1c608ef2d15954b0f011da19b8cbdbfa87ab66002fbc0ca4f2c82d5fad7156284fd7f15468ac2a7066b01826ecf2b0adf1d84251c5a160fb4866c3623af91c6411801048ab6848c33828127ad83874ebcfa31a2abba0658871dde6626f2fd6f50dcbfafd4d551f0ab0ad8fe91c6be4d312a6b0a52244611c1dc01276fedf0e820f5976c25db10eedf562789019afb047f21cc7191e79cafdea8c743ae3cb23623d148c1b9d52f620ab2c3af41402d2a98317841174ceb293e13f285b12cd6b2e834d22f093efe2ef423417fb9fd0e81728df3e5c7802273be99801f282b3a2745f19824d61d600dc95a8d012aced8eac103f758684bcda5c36c970fdad0a7c3427e9b5c51262a69a2a4a8725ab4a4cda8ec356ee23cd48a81e9b8428c14a61679aee3bcdfc8dd2c298cd3d5b9a9f9bcbbd1066f68b92f580af0be9b6c322dfc06dd704d7b85134cf11754966456b929423ad9fa3f8f30adb9d75d54010b63cd4e0b4f2a0ba4284449f8cf2a520f1ca1c4f746f8c7fcda0206b5eb23e06c36076ce62cc0c417a8383a86bc4dbeaafe09a689e2aa9c3d0e75deb6da86dbacf59293ab61c8ff897ce43d586d28045caf2db58be4966ca458112f0d9465bfa4767fb6f01502410e36b137a646665d010ca796a9923a5389c884ba56e64aeba48cde1c26dd711d05dd0c5475b23bf31312bfce5515b948d24bef6979848381e03a5dbaa1bd6752bf70bf95f3786958fc955ba7931608909982da627f863655ec83d5db5a6a67c3d4730c2d41cd2ff327cb2e1f9aab492f31f0cf8b72e6f3685301243d9df178fbe17f88058b3dddc077cd3c553cc3bb015017c6d81ec593b61899166a7805452fdd5ecccda370331829c17686afff54f2538c66c5778517127d78b649c980af8a5a556b8d04b7362656bc3f065b16826d5c81ab1c41f6ba565fe05025510b5a7f6a64d7fad267cb8b5b7e01070e7d6e7545d430f1d95d4bc02683fba3c3ecb659eb17686ac282fa9a7f46cb5ee3e2fc0a7828110c99a9aa455fc96e783905790ac5f2f4f628efb8c7d5caa1807e904824d7a4d5b628f6f59dc70a5ed776b442ee6a1267323d604a924aabe8cf927601276d00e56bad884bebfed6290102bacd4b9356d292d42f0922366126a29eacb86a4b19b84c810dcd700d3cfbce1b67e799701f1c131b6c2358afb03c02969326e72cdb779f6dc0468711b35e07a9e6eea253aadaae287b08255130d009f795753cc05cdb0c76e693b9340ad397b05c181999b5b474f16127c35018b4bd011a6449b86d031f69e80152057de109e2f04991c5cb2c1c83d207a0d8d4569ac23711b51042e83ae84f6b24518ffcf9e76cee362a5849eea76d5de2d1d23dffaf8552a4b953fe71adf3a479e8709d6b203a159bcf2fa939cbb935545daa3fc0ab1e1de9abe713f3dff3a86d5ccab6fa4b0109f4e4319b48cf6746658fab39ad7f919597f23c2682d41380c02f373f62e76d57b66f56eae0edf6ff7316386cd57de275b3f8f57230ac21af2c6f35ebea488b851322d64bad977959abdf9363c0982ec93e813dfa39be3c1ec46e5f8c5c7bfcb6a3f29d96e9ffc4c679db7ddeadfabd0118f80ab1fdda28e490c18ffaec64301b261c0c3e06aecc7135bdd5daddb0a97d32d9e216d540e44841206945c09be43f226f8e0a9b4ca69f9e836cffb374c3a2b804e8c768869c50e1afc48b1cc2ff3bc4c3f046a6e306e2c30d087720b1d5701e57f819c68106b13c8a847a990ae233012522587c81b13cc331bd4f6114f13e875f79a19267bb88b51e1ade49e2d6153b4e9447424c0e68c6776ccf8ac6e454c706616fcd2c9188d38adff3f53ad262b292032e80614a79380d9a54c4bbd8a9152963940888016c48c59c43860c166c1a4564a3141b29fd2f0397e7cc77309187010d346f9b6040b0396a4da3ba22c84687c7e152b94bcf48bda98ef0cbecbeb32707c572174e51ba6d3c63a4483f59db927153defbc202a725380c98c2feffcf4ea938878f5b5c6106a9dd062e07d9b07c1c0816aa4d9e93e7a3d29a8835e1473c1fb678d63dc1fcb57cc994b3895ced0c0107885faf0cfdeaad68985ed26df401e5cb7982c5f3858e27ab83e9dc6dacc6480b3be55f62dbe93360dda8026bdfe46a9f9121ebab2b90a88624233367ed3292a8f6da0d1a994b253b299677eb062fcbf67d74688b72efe9669e8d35fe70f586b96a93facdda67afc61b1bd3274435c3010c7a62fdd44177bf7f9bdb583d05cff8494a2e60d987714f94c0999c21174fd3285ec1849c5a3cd8ceb3e18dfee5560169bc046495e2be31a03d89f1fffa261b8691f3ab546520a6f6ac52a60f709c7b78eddc60ac845d6ed7686f6e71921fb898fe29dc98aeba8110f55a41a6f353bc011179abe06bc9b0af7dc7e97f6d06c28c278f44ef98105cbe99c028feb5329b6a09447ca0852978526010bdd75b26b864d10ba637fa4c3c89d60f980c2c3cdfe8a20c0b55dcced1fd4b505a328c3a0201b330e3a213ffb4a2ec029732d4388ac86be878c337652f5b5037557026a641480101fc059e13c911b37c7d7277618676367dc3f83dc8e7cc82b58f87b68f3a87a821066f92159bf53f676416bde7a16edcb9bbfbf920257a57e164f5290f36c1c192183ad6e5d2681a32562fed681b9cd436113f34aeb9c246c9d6177dabdcf8d473edd6847a566c593b736ec7f257ed88010674090a6575c245cc9a96a7cbc6e5628e55bff1ac82b622a7a88b0f26aecbc0001d17163993027f341acb35950a22d3eedfc52fafdf00b6552d76f5a7423dae9338077634d1508265229196c466af3b14f804c1e8fe31fe64eb68c9b615b65ea0ad20a616761d797c8428b63ea5ea6f011e4adb850b46a13fd2732aa180325fd799e3ccb1251e6bf805b408e933a9dd030b76039869c0f34f70d4ebcabdb4ccf0ca37ea78de7fd47f2825694736afcc48acc02be6912187443c0e9f3e8a2625da112bbd56f23008477b73f08c981151855335480561fb55361241e41b2360d551010a415361c68ac145b2c96d68e83a3a2a114b8f4c54690e13f0356db9579b52be643a7b0c02f30b61593c0e93929d6e362009bd7fd0891b67697ece7d43f1bae48fa824eeb5d4f5ee6791da48a414f52d3fbb08d469fcd09a62782baed8fbe447446b58330e66f7cccdf7697e6bac2dba010104aa435040bfe4f93943d2312db319cd9ce547208619c9888b32064a45036a0e20acdb68cd35ca107775b465873a2a58957780763e0bfadbc99fca60acd188b0abd8dcc71d6bb614f6ae4f0368ae7f978c4d8d0672bd84c87bde80a502f3139a5ab536f7aec8ca5095e8e09ab657b10118b6d14263571d6cb334997e3a2238c1c33708a12c443442ec259dbae3a17a5919bf97a83881c1d4973acab50ad590752e960f34424deea6894269f19e407cde9806d86d36cf3093c711c5a27351cb3e2ac3e450b2fe5fe5bacaa6bcf264293215cdbbc98329eb8facdd9e1d8ce14d2e01080a8be8a0b89842f050e885d491bc0cfcd9e9059acb696ddc0d04bf463d17af0b6f2181cbd424afeb2de09fbaeb57f451b262c0ac3b5f27a87d06038a24c25c8a2f7c7418351a206c0a97db3e715a95cf573620b280fb227d90fbff6774129ceca370c9408c033bc4daf9c2f00e5acd0111fee33d7285605aeec9aa7aaabe77116eec2364bab5900fefd5bf24554fcb5b6bf23e5181aa79d84ac10c558884ac5c9c23103565879e36330fb856f3978f96a850d0c3957350460a1f5bc0342c7fbd2ed326d5d9d3f8959fd310b5f0a543ce960c1cb08dee6e04dc6e10f1826cec13012e53d1290e25ccebe849a5d3707c812707bbf5bccdc20ad87e84fa0b3d9cad4e37d41873901f392660e6b489df8ea4d687bacbf9ef4f87bc7a9e4db85ac7ace2af729a00600f048e52cd719ef7ced382668389c9ada9093b04fc04d1dd21e2f8e762c908068425dfeada4bf710a56d0a00000000000000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000000082203573d35d6a556000000000000000000000000000000000000000000000009d9770f69b7e4232500000000000000000000000000000000000000000000000de577a8db1e64d8860000000000000000000000000000000000000000000000000002118038e7f81e000000000000000000000000000000000000000000000007a10a368dd977148d00000000000000000000000000000000000000000000000543b2d484690809290000000000000000000000000000000000000000000000027bb2c3a7a2ab395600000000000000000000000000000000000000000000000000015b43dd11d7e30000000000000000000000000000000000000000000000043744b0357b716240000000000000000000000000000000000000000000000008eb11442128160a130000000000000000000000000000000000000000000000071a9089115a87621e000000000000000000000000000000000000000000000000000167170752b031000000000000000000000000000000000000000000000001440fe748eaa6b9ea000000000000000000000000000000000000000000000000b38b07de6dc723c500000000000000000000000000000000000000000000000875f5fde10c30e46a00000000000000000000000000000000000000000000000000020c9bcc76e99d000000000000000000000000000000ae0c96b2500d9b29ca5d8eb75e5236de8c0000000000000000000000000000000000272d22b48cc7b1a8512c5e6d56c46c00000000000000000000000000000096cfdb020364786ebe95db900283db2eb4000000000000000000000000000000000007b1a4dbdbcd99500c1dc90d029dd2000000000000000000000000000000ebdbfc2b35791fb009c69622976ef98a3f0000000000000000000000000000000000167ef3753c11d01b7942169aea589e000000000000000000000000000000382cc90c2462c96750bb4681de5f4b3eed0000000000000000000000000000000000304e787e6170b4f5232decaf411eaf000000000000000000000000000000eb7e5f3f2e00e383dc79e5d8c5e83586a5000000000000000000000000000000000002e051a3632f4ec385e7efc71bccba000000000000000000000000000000cff54e65ee575ad58eb458b07eea52f58f00000000000000000000000000000000000467a89207addc1ad42eb1b0d4e370000000000000000000000000000000dbec14920acb5707a174909c55e40a699b000000000000000000000000000000000005572d55ca469774fec6fdce3bc388000000000000000000000000000000f2c6faec7c6e80ad7c9ecbc4c09ece316700000000000000000000000000000000000b30585089d66305ca56ee7684cbdf000000000000000000000000000000fcb96dbffdc8914fd6913859e4276028290000000000000000000000000000000000072763bbe968e9ab127371ca844d9b000000000000000000000000000000e4a1da9709cc3d190c2edd73bba6ded00e0000000000000000000000000000000000082335a4cf9a711a7f29c124ead6e1000000000000000000000000000000a66ecd2df1f525dcc70ce66c23afaa1e4000000000000000000000000000000000000cf537748c4d1a1b706e8714a08f56000000000000000000000000000000b420e1aa37ddd7c8ae9e5dde018facaf5000000000000000000000000000000000001368275385462ba8d3c51987322231000000000000000000000000000000492f20900587da259a1d56b7f9485c7edb00000000000000000000000000000000003013ba4ab8644c6f21a944b567c6e900000000000000000000000000000099e3fa44794963e57b834c94b711eb375d000000000000000000000000000000000012b94cbcaf9beebf12d274f4fb5020000000000000000000000000000000b56f0a874ad54e82f3b1ef22e51c92ff9700000000000000000000000000000000001bb5005abdae8e53fadb7182833eb700000000000000000000000000000059baf11ff8147d47cc4738bb482eb012860000000000000000000000000000000000057de5ec736c07b05d24f2523325cc1ddc1143c03332e74f4e35db24c0e45b13d2a106d45fa47705d69c4f55e440c612883d2f20fe6d4269020fdb5cc0740214614741a559cc1a3e0b59449a1bbf3b055b1fe21847053b396e08ae0d62d4a78f992f3890758a54979794487fccfad70c90fe9d161cc09a2203f9984c1a27bc2c1a1c5c280f7d092fe101bf7c5b6930217fa9a34221067c2fd1d0497c846a290678c76133d741d4a4f5967f31caa7cb0f376deaa4e2b5470a389d0717daa10a939b78982d3064a9d9f7b18a68e101bb1e775225d0c0c7a9813c4443add329754a2971a7bb8ab155a2817c00da0e5dd7020cba162d4f056e227854c2d9c291559f56789e87aa22179263ca5ca68ee6d62f8b29adbb20e0ea5bf8622647401c0a69cb6cca0f99e8ede6abfa622ae97ca018ffac2c627ca43b501858bb7fc82c6d3727913ed24919e6de796e18ccc4e0b70fe94d4cb08eabc9a1b318952dbc81a6a04fc0aa3bf9b4e700f89135ed58374a293f8feca34213ad26eeff90a83679b647d5a7c8ea6a76fc0c68c810227606c9158cda839dccd0677233d0d567c73ea6fcca9f8c8d2fe31b06b09c2134ecb11e14640ee0f781b10abb86dddb893877476c166f2e18bf8ebdb00e9975743ded4f035cf095b60add8bf78e750d77a4be7049d6b1c882f9ad708a454f44038e49080ea04696a23bc941eb238cdb6c696cfc50fa455c0a8629502585c8b4225d1e1d0b3cc8e62b4046e6f009bc8fb456e8f7161482ac882708ec7cf8a9870ccaee601c343f8df5fb8fba58e746504f7cbc4adad72729b811ac04f7e625fb66fb76571bc440fa1e30b0cfbdf8b0a76babdb0d37b2f5b5bb5e8391552796bc1e407f880102398e8beee7359c25ea75a388a7c99794193ac352c634f92c7483a27b9066171b09ddd0b8c0704b435ae5500b03db79ad648ddff1a379d0807581f23cafa71d7df068380e727b3f68733264a23e21fd77f8a119cff2c433b63b96166e5d502c741e5de5f170a46ff56dcc9967130b1c25a8ac3eccfc561a193a8d25934f110da434d83de7e408021e5915d41cb45695d0a329a0d73a5bbcd41be80d60a28b0b7f9a0ee03975a7506a627d940504a32b87ad09353cdfe68c23208b9338866b2bf9b5bc13de6969325301a2d5f3fc4be8b486d35f0797a52a74dbc3bad4b72e0008284f1f2b1850740e44ba950d02de6f1ab87336c206494a57bbf672eb86a30f22e78551db0e6603fb63744daffc93101ab865575f6476c1c85ad38a5a52752620f22f943f6e12615af731112187974235319ef3962494da995d48913f98242a7cae9e7270779eb0e5888928f472964cdfb442acf9632a4d30a0d1f141cced22bad0378f579ce836969ccaf941d17c64119c6873771833ac9e9b94ea4154172a22d7882a7405bfa42c04502f71d6026c34df80a395bc47ed90d675c07989320a04fd39fcde1e744475e2b479d0dfa1848234ce04da1444ec8c9a720a5bbb0803d8d6b4e155de05a070c2b0190c575e8c6b8ba4c9eebc05c4f4fc58ada87f8425084ea981d74e63c0d0ac80721283f8624d4bb727295f8caaae3031ac4764a209f03162b461f10737090e645bd7cd31dc281c9eb6dd27352eda0455ee68db042e2a898324d75e206215131354d347313ad09a516bac522e51e425ff95aa93851a35aea9b2a526f76132c1792588be337a632e1e799ce3add4a9fa1cf6bd9d2b0b038eeae5e051b7b6d604d565d8679f790775ac686c232d302f9b9df1782bd40ea9310a78c62bfd2e0f30ff1685bfa39b8e7c044acfe7f89dc79c779f16b6d5171fe779d5719c50da1b40939fcd4234e43718a0b1583be2436aac22dfc331c829cb1e782ab346246e8ea50696cf930fc8d1e420c0ad10f31d2ee3a8cc2b9a5f088a0abfbc12ed3a2f5762501ded33e8ab73effad77df960cd9904af289d080f1c7319309f9179d03038aec5010b7621d8476461656093603ba004ca7c9a5f610339f31d225a57ee5550585bd0f6f609f6d06f0d7d055c8b73d95e1119c96d1f03551a8505d4a1b0bf23c878184cf0ecf95a5827a6889f14dc8d37e7a8ad2cb3269d7b08b3da162a300018dd6013320573d419996ce47dd282a677ca701268c616f3f5d8a30eaf62b6fd11244b83518e1ffd6e313c91ce477274ae020a366d01295b25658f7d94d5b08c9d905a93985cfda73129a507955eb82a080636ec88f328d309bf3351a833043c67e8fc2678adc07a8ad4b5bf22db033162fc709c1fc6054e5fb83e506bc6d52683168d4dc3fcc2f02c22654396fddd76f0d95b67f48c2fcc7006e6336b263fff56abe70c50873b9b0547f3cc5ab4b09c7b13a2d5279f09cbfdcc6dc4d1dca67a35fc4d7481ffbd313d4f6ded906aae770ed21d99e4dc09702e19d001881e1acce420b33d5050a03ad7d4c069297af8807557015fb451122acd66b16c29c63659676c2f61bfd7031c78aca4b2b12d0e9addd6ac096d952506d269d9107d251425735b0e8ae018a85f7f34c133db029752f4b79492770b05602ca4d2a44192d6f0e2bc817f7bef90f683e085b99ae537534cac9f2ff6202b69b54e53b380c90f81e68c746f06c44f8ebf85d5b5e2b680cc9c7209533b32028d15f9a84ae9aa0dddb8a788d317a6f59c78a03e18bb323a7785e7b693d81708aff8c598e1601c450b219110909d7b4e5b309dffa9d412ef50614cd20436281352024f1f54f73bb23c8ecdcffa563571883c383c0dd24e03a41129ae8ee99019419fa6d2e580ae332f11bfbf3d1f184ad3b2fa839d9a41ee2793c4aaa9951a10035bd31bf74cbd2a600fe0d937a222e4ad951e58729447e5e1b53d85c7f403272c765743b4b126d4d8a0778f2e3c7e66b2061ce3aabaa41dcc1a3d5fb047ac13bf436ea6ce91da4bd97b6e8b8a737549f3e44fbf40b481adc08c1fdcebfbb61b837727664b941668e50b2c97d5a4c8d30e21890e292c62c4f30da1286bbaf90f66a25c6453e81aaa0c5b9b6015a2a03abf9e91fa09833f1b76ffaf731ae508206acf72f5ce9ad115a5bc2bf36b908078676cd36b75fd33c425cb64c1e6b9e02b0aa750c46f20ea14d2260a5ffcfcf4e9c75ebba0afe677559d5f742f6735d40b4d595488a1c4803af0096888ee59fe7735d042f3e28a43c4337bea11be8e030c0cfc506e0600189bc8d636c5fc74fca4d94411ffe88814717522862f2917a9151fe7d84d595cb0aeb147c89d67e3dc355be7b947fc998115189ed8542ccf9b225765a6e8d11bd64631b57d46ce53b15bfcc2b2fa1ebb65f137daa122a3720617abf05659a356cda520840b40b0936a84f6182a3e4ec639eba173b9d9b8356210f10184f11d1f44949cc663b97571567d217f00d585333c726296866e6036c9140838fe9a222e6ded60a6e3496c55e6c09fe523758cb2bee7018bff3e621c372d09231e3f346a225c739b72442903a26b33c30de01d9d1f60c48ad535af800a0c3048a67ce78af4d0b841c95aa5068beac5e65f8d0f55065a030528ab35475a095f878353c13f1add3680d1fa832848de97c457df867a36df7f0c816a29c598098618f0ed0728983eed94e53ccf28a23db0bb1e6de08167ea4a4252a754932723fc1aebdc8c208135b5dca22412ab718b8efe4654f72c677318a83ab9f112031dbe7ab475bf297d89d094957e78ceee1ccca839d134498906012fc155bbccb22291d9864bd4ec26ebf1ac293221852a7584e23b121294706722d6c10303a5cb0f861c814c2a2d6f2f6325b53a5b5736e167b236c0585fd716b85b91885663a02b4670b6ede673a05b2fa30a3cd7ba3901a74f72ae63d10b3efeae2d65e077c02864386dda00d6dbd32c910ede9bbf5a2e7f06c05c8c8fc483f2fd9b814c80352e61ed83197aab76427863dc2ec967d76cef13d4417ad318d79abbb043a1ec830f43489db16c0288312517a265625512f98ed90911d61ebb77590549763ad32d25f864d4310650e4b8423387dcf6ea6946723c0a4fcc32d785fad3034255f3971e355f15a511d707ed9d4e3571fe208a5803df2cab47b5ac8b434ee91be505d8065cb03e31446fa59dd64e106b00ac661985bba6cf02e54d98229f212ea68f2c026bcd384831b0601c7d273209e08c3e53c69e72e38b8f96021bfc7db44f79212f3709d1ad3a044753e1fbb50204bfe56f7c3a82535ef68b23280fa14f7287442abd4f2cd2e661b908dac0b932d6ccd91fa46a099532abaddeb6a3c0bd88022a214ae65c2ec2d0f63ab99e10fd10c9e069431ce3df1d63dad1db9555d05c242212e57e65b523e67d575ad769e596a67f26066ebf259a1178c9c1d13a11a6f1921192a3abbea99aa3b063fd9bc8033945dfd2fef12ff89ac27350904192aaf29d243d84c17a7f1b7981d80fa0aebf2fb5899d32a27820ef90794ba207c6f9bb2707b9a215465acc26d6ec89cb155942c7f3c503f329fe0afdb556383e3a51c3c521518f54045cdccf621cdbdba46fb92e27c8cc74bde38fa256a1d3c625c36fbb30399d56dea2bbc783292cbd7bfdb65c08ea294ca740e9497879c7a6effff3d406a97fc12e57e0fc778d94c4f340b87f0843694849ff5f18cfedcf28dfb7c015290bd965cffa5eb48e3bbecec7cf816f5596ab70c3d474bfd883a02e3219addc280c7a70e792190b13c99e8fdc501812d26ded2cf949ca0d456d2cc26fee8e982df89a88e3f604c04aab5c6955229f73e9fc1c60e7b58f8fcb9f3d36131e186a1d89770ce1dd170503f259bc9646228cf3562bffadfd92bede43255b24cf5d36035add0a02e3ab2cbcbb7ec4ee24d404c44fd900b9cef95b5f8f8b1cb3c252670368bb61a4141c066ec226f94fd92d2694c14252842f1a0f301f99dc1b8f2f3f1fde2a84a46f0e6faab8d0098d09fe9386d557f379a2eb3bf70f35ba8ce462321896b564311228d9a6afb78c7cb64f8c81cc4393329febdcb80c2103a1a343c62fe27b6d25e4af94ff805ca84a1a86a06373f1ca3eccf888ed54567fe315321e02524abbbd247bb2b46bf0376b140e122c4afba2683974873532f50b031145271d4920c5ced0e44b9a53a26b87353bc0a57e1b5a9e49fd4d564a7404f958ff172797a64f75ab3a37bf9e7cbdf9ca0bf4b9c9326be782b32e5630937ab05242eb2de9a8bb54eb3743222cf22343725852f30dea9114ff5e0624dcbd2aba318a8629092ea34a03ac496a2c3d10332b0267c42f4b966da681173e3b2731d931bb6e220b72718a81a3e46ea64227dcdd518d18aa177ea277a96018f665b12019d361016529c18fa543708fa33e731b20b6f1ca6894f264add7539ae193ba6b78464211ed198b64fe0ea3b99c7a52d6be6434beef37cb7b98143a1e83ea6cfb712f2d2561c7403a9b0dc70c6b82396bec389365a70bc18e14a977b3175cbbc4da761a2d139ab9974d3b794a7f0381daef9d211110225b6c442f04b7d13b3ca661688a2affd8ab223ad30cf7df32aab572daa7d1cf905e179b2e13e08c902c3c02288d1b68e7c627d0e8faf9d21152ab84fca8d09db5bebc7b60f6c56b51a1be58cb060ee49d4326fd6aab4ec6585a7247c336ccf304456080e20828e6dc9143d57b4c197afb57807e98e31036c87e43625aa62d89f8ae31bd8617af9445c115802cdc01171273947cc9a644775f0d69f7f1fbe394f6c14bdabbd48a356eac2cc7d2d60fd9c20d572e3f3fe2e81df314ddbb53c5011e9c84f32ca77a7dfaedc0494a0713f97e65c0e7722102e30768f02a8a0b2a49df0f5cb9d0e5ddedc0f05b21e1fb1436a6c8e44e47d0cfe7a6fbcc1c3f0ac8e2debafa8fdfad611f5cc26538dbe80c8bb1468757bdaec17bcadb1f8bb1fa6e7c66ec27820d46c0df94a889a6bede036da985b2c6949996aaf414370d6a9675b7d07200789148b758406a03a84c1f0adf2cdb1fdb75e39510720c81be6eac4b9d55e1c3005d4a5edf38924b93920b09ec79195ff5d55a0f660ec70071dbce8bfb70cb24eb3c510756ed156ada2616164ae57aaa15053f83b70a5edf6c37380250426f4981489740b90426f3be87a613676f1bfb9867b5f9d5133a04e3f1cfc41f210c597d6fd690b2ec04707d7b6108c145d74307d925c072875c15a893150bd5eb59a93c5c2fe595bf6e70a34dfc12c0910a9bb309adfa8ab727f1ab70b0de291bf4e72f6329db17813944781b91025b9692a1660835cf7b736801ab7a285eb8d5e2404d19c1f35c1013e6be472e115564efb782028c81bec821180020bbe8d1359ea537f0338b087537dbf431982930ee5de585c28a53c529867887653f5b64255c4ac5004c33f27bf33765e8382032aca1f5037a3d48c4d7211a42546822e9d0c8fafdfd3d7b5bc08d27fffa772fc0faee020eacfe924ebcbcdf356577a1d02d819e761782b34ac3a2c040fa141a05bcc046299566cef06b08952499da63e5bdf7357e8bee06762fae5cbf6a9b24e8d584e8d269db30d584e61e0b61ca9bef310447fcc8380c747f0045a7c7501a5d1ab50bb8ded7418ea22a9150386eee63fd647fecfb405a00c8a7bc6546f00bd208add54345e9c565335c7dda671de0f37aca667db263a35eae951e3b9b9c1e97838838ae468adfaba0f4d652b689b80416273c4a2d48c12b71c2687989d32d95cde12bacb3a8bd54eda92d59014f8f3eaa3646e8c677dfbf15b7fc5622f9298e0d7ca426f6186104e67d0277d949cfe6b6d569b8946b6d0bb4e40193c8960addedacc10486caf01c05a65fe4fc5b8f96e2703e6f0d5342f8930149ebef222b7c484278719bd3fb83f753f50f01b2126951a63c568c9f6f2594ab2e0b83dd17341d0f5f5e7d18b7dde7bf575bf41917e57b85d40fd404818260a68931af001f00c34027509f58b548bea31b96f34423d2c9c860003a5d47e3974778bf8c101d0066c2ca85c08808b62e0a67a2102faf11edf6e0137e0cc010dec2d2c5526a14f3b6405dd26afe9ca486c9bda58116beb687aa3da8d6cb0b0122edef2c5ebe283fa4dd9968f3ea5603f88eb566681ddfba25331ededf1521351f90715a02bc0f8b02f96247e2daa8b77df4f6041c53076242d9e59dc733ffcecabe0a41c67a1a1ba93e04ab0ce24327ba37cbcf27024f1f8c9ef04127e271fdb8035ab3b8a30337a0a9ed6365026c303f032f7891e970f06362f0ac5146620f5b34049195b9215dbf9595b6470ce49606a59bcd0a64f398a6d9d14258d356c710e4f3d9c0552c64bfe3bdd67bddc23ea2faacd38cfe803a780214aca03af999f64df3bdd3fa1aa643cbe194919900f0ad856c9d7e191db341068ce20eb761284c75516e579518c0658f62fa68530da4ae2fa86aa387a30f605a73bc6f201ae9b27409b9871919272483482941034f13b3fc0fd716b850e2c77dfd4603c6b1ff65b19482eac816587b42a690ce40362580f30b849aec1c38efec6c8e4cb98495ccbb106f2958267c2fb58e850a1ddeab72a04b56709da8e47231c8f185d6fa9e2bc95f3422f10cf7925c8494ac27f3bafd829e83aff92859c40d21c15c786c37e3c45f66a59b1e20cf41b095038cde86d66ecb5c9d49fe9647b1921739df81c73708a57dfd130d49d5ef7dddb20f150367f1ff22fd10a3dff17b942d7b4873d196c5a10bfce02890a0ca6729c8f3f2e632136bd92de4162b5e5eb0ad287219f509aad50231e324552442d39bfe3e4940c467c13a24b4ebb8bc7943974fcea4e1460470f73d97150eba511a4bf92d01b25ebd840b5171ea2cf8ec73df4db8665bcf05e4ea1fb21213529e2a9daf3eab37f6d2ff2727b6cf38a8c4aaa7717b884e35b90dd50b9f036d48fadf4a3d2c3142cb8a64bc6a9504a8854f778fb95ab696d87a90065d98009dfabbe01ea7c89a9c0e9f782f106d37af36d4a32b728a13c407f4ffb570240fd295d37f3d6b8def049bdff7a898350437d0d4dedba4297a6ea21419cd4382081c8bb6e24fee094bcfb7e2af92c9e74573b9f9d832adafd6c3a02f1c8416c31f70c3f763ed7ea4d62c69ad2afbb6b9776955f46f34def09a52cb77988e86582cdfa2fa42d3674f2a26cbc90fc9511658e5245f000a30cbd66f6c55c4a45d1c0be921548130d692bec52df76f7002147415c7ac0e7044e708eb6897038c75f21e6083cc310835b0615eed2ec2ba5d6d7ed75b6767b39465d4697b6925395434200886b61c0935d83531657e62b1f53cb6a4f25849fd7bfd4b9f43bbcc0d2783101d72ae08868c60fd862da8e3b7286e185fcae1a9b0065c6ff87c470fc11ed42636e905b269643506cdce20d5fb3072605bfe44695dc2e5e49f1e6e29a0ce730ae76a5753767f684589351d03d591936bf104c1a1e74e00fef7966594b796ac1b8d8ff3d2f77591c45fac0916fad0b235e4ccd93187e9ddef9d96b6d8fba784122e0e88adfe533f7df1f695efc37225ebf1c1cc473046664c7a7aa346f8ae2315acf7d028df8236f3fbb5834a5cbce88fa718a572003e9581f3efccad13b64302cb2d9ec9aef1138487918f63546e8c4503f30538a26e2580aee8731f0628703008ebbf9c6a32931d0d09543da9b6fe55024c434d3c9aab79b63653fdf70d631226e76c32e7c24258e2ff2c066089ec17ec13ffa92b88f4fa7c2ec584c38445140e3939e36d567d9e606e9a5ee5510ed80238ee82074600ffd429f73290bd301313b578a177be6001439e9f44388263509d58a9a2fa277648bee29488f7484f1b5b156c939e9e06672d1bd954f7649ac35f374535c9a054df2d7533f0040dce27150a026e7b3db30257e716677873e264a7f0744bab52aead7f5b5c7a4c8242057a0fbf5cd9a14089c4a0642f08ba92c652d9c2fa224ca5a102b4776344637d1798d3fda267f1ca598c9a01444f1eec72603fdb39d811096d6b1c88a393f9c72fd73c854787fd47d2b7e0f38977699c63eeec2d2b191221330d967990a368d51fba2727fcff2b9364443cf0ba80fb92236ef81477544cdb69cf9c0773da723d13b23714d2b0c4232de892b752b0e602041a5b623f350a7c933d6607cef84add0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b046d032d49f80ad59dc9b6fd0123a95615c77fea5030d80f9208478c9848e516cef3d7c98a788c3b0576ef444d55cbeaf4be8085867586d992409f2a74a2ed0636a8940894808fe257eb74cdbf43234ee4ee991821a256886eb844e4a68cdc1f00b02a88739c7ab9a2bd9c8dc7a08f278b9fc47e944ee7e761915c24ab890f17a91c2386cb28f750167fe594abd22dd4dbc7dce19c66168eb758642a8595ae0fe3ac7849e3828cb39c925365392298a5bcba27e8e40d9d0b50cab79bd734d2142ddecec2e0acba939a8fb696444c03b174a1fe435e5d3e3551328eb5f2098308cc2a66bcfe1528f46b07102d9adeb4df8bdcd2e52cc4dd4e817e393db56bc507c456f9dbbeacede83a9aa9f14e39a24037475c1e860dddfe7726c3d117eaa82d66c5b168f3d499cabf9fda863dbca60cc17618d6696fadf29723ad1575506e1371b60e24850637c3839b146e6b0b3838444dce102666c59ab8718c9c67778613953530a4008bb380d4fccf1892530c2946e58ecde0c39a25eccf905a9c11ef2057b7f2d9bb099010743051df755d08e1d8ca7639f373994756c87a42a7d90611b48b2e75da85c00ed0ed740d1dfdcdf6c961d53bb17677783dcd48d275a07227fa865fab80580c01c3c287edfee3239e75f726d1205ec4d49246f325fdcbf709c585fb359464c59364a878bc022dbfaeeda9a7ec9fee7e5b13305a23880fed271aef04ec5ce4d73a4f4f2af153988c3cad108871b0fe817988f20957b852202947e4882f9c376b2266bea7f2fff01ce131ab73fc2c85274308ed067baaf89f110e43d6b503ccdf38569ed689ffd81016c92bf72c886e158d92d1ca57e457960f7d185ad0ae5d779514b495a7e0aa1ce8fd116ce656208f0496dfe9bd1362d82a8f864219a0055efc9e40eaac309e3347ea677a87a96949da988a1722aede022c4ccf9c6a1f4e0507b3704f692a04139e6ac1e2f9414c5f4a2532aadf73b3b0009af330c5e1356a89be3a0a615054eada317be208077f50754a87ffa08ac419227fcf2af7b943efa7c15b72cef3bfb7c193b81801e6e3b7abae58eae3f7433d151311f26242786667ba804513aa3fc657fdfd1247118395125ca170906d035627c68798f85e99e3bdd4ca6ff0907a58ac3dcdd6aca191466675092a24a3145e26099ccb7614ed0b2338e99c36df6fc095135eabad6475ebca63f60af4cbe48006763db423555f763afc57060a5d4b33009fe23d452137e2090bea641fdbc6f42f8a72ddeef3ed2790ea5e3d5eb2c90fe7d3426c9ab138f265b0244c8a1bdbc502fcac04e1609384d80f68ee6edb589afed4d09fe051dc98c3cf027bc3850efe1538b92c7608fa13e2f7124e6acd5c6eed5c1b8085cea4cac5a3be907285572322821deca869dc6d37144d9a072a108d31fc5ced6051cb5dd144617e65fd98d32a6b28a7f161c09cd1f99c65e5755cdcc3ae9867071ffdb49814fdfee08618cf1e646ef91b75475abf2a658f912c2b0e887892e8dbc4574865ba7936a16a213c20bf1dee88e0076464d6230e1277cbd9e875c6938b9812218f5781788a1e7c8b284424053e018144b34ea78e8a4a10ad3ff0af1567278abb5052de6d88a6f1091f04fb0a1c7fd0b622a0161b41eb7d77600d2042ddaeb4e22d186ef84a2ee4c328cce6fa33a00285150c744f9a41987c63d06a67777084477ba308116eaced200ba7bcf83913636cc51dc4886d1215d8625a83b8e356022b870fe5e049be214e028a0b9fdd7d150d02b913993987e64ee666a4499543676f853ae060e071af11000000000000000000000000000000c02f7e55caa888f957f162ce69646866f300000000000000000000000000000000002dfcac5da1c3619e8a9c3847c519190000000000000000000000000000007d2a4a7fbdc609f781e134aa0fda895611000000000000000000000000000000000004c1694ef565f19d99d0c737848c63000000000000000000000000000000f5b1ee4acef89c4ecfb7ee4381270a6e5a0000000000000000000000000000000000141c0c7fbb4f4cbb604672575368b9000000000000000000000000000000793bce7f8ed4c15058552393a387f163cb000000000000000000000000000000000019310022f59b4467337698e023ea3a0000000000000000000000000000004deccafe39fe9f78526e9c8e6c2a00307200000000000000000000000000000000001359aa25c70b283b5c0b89da03f6ab000000000000000000000000000000ebc00863aa9dd2b88ca489f7f97d2ceca600000000000000000000000000000000001dd34e7a841b601a4f75620f630239000000000000000000000000000000d93a41554c8d4d507cedd498709e7999e600000000000000000000000000000000001840765d3759550a2a48ca2d7c078b000000000000000000000000000000ce4557cd44f0135056869150dbfbf86237000000000000000000000000000000000002f723cf262253f3e725c5f1fa0509000000000000000000000000000000e7b854fff155836186d6e95ddae1ea31ac000000000000000000000000000000000020c64f642d0465feb979fd39c0a99000000000000000000000000000000074057a831958b8f0cda14fa8704f9772c60000000000000000000000000000000000092945d70ee0bb8473c4f2d21bb2ca00000000000000000000000000000042b380a1900142a64112619383603d4e220000000000000000000000000000000000136636ff16e5a7626b54450fe056ce000000000000000000000000000000c7ce88caf84384037aadd4bfd669e4e5080000000000000000000000000000000000301d5a080f0eccb7a76fdc312837960000000000000000000000000000001b20a67bb6db37dd7fdb31d0c6017da125000000000000000000000000000000000028dea5ca19744137a514d08a2c8393000000000000000000000000000000149516e581e8f21cb8e2da73bf8c04160f000000000000000000000000000000000013ba859d145d57e2aeb8dd831f03fb000000000000000000000000000000758c18288551ea73d99dc4faad4b7cbcde000000000000000000000000000000000000c41a795c573a58556b03dd14476d000000000000000000000000000000173634063a06008c0cc063584ac70aff350000000000000000000000000000000000174bcf07e5db7b948f3a0d0fbdddee000000000000000000000000000000be2f7fe42250f2dfbbd8225221ec0986a300000000000000000000000000000000002a198d4840b69c7cb94dde8d197f93000000000000000000000000000000e2316a2b9009fd585c84a209df4e9b737100000000000000000000000000000000001360368d7d0b25ff823f6ed733f08b000000000000000000000000000000840666f748582fc1d2c9c1700d8ab800b800000000000000000000000000000000002919541c0b259843f180062db3d17d000000000000000000000000000000224ec29e64fe19e1da06957c6c5408b7fc0000000000000000000000000000000000102266ad172f537cd1ef0fc5cf9573000000000000000000000000000000cf3ac38a630907e9527d46c735290b44bd0000000000000000000000000000000000068d0aca02adaa1c4e1e937c5a031b000000000000000000000000000000a6cc8c747fb5d472495a20b760552f793800000000000000000000000000000000001dc692c6b28df8d70c90b1763083e4000000000000000000000000000000748d553f556f41f0fbd2790641b1d4ba8800000000000000000000000000000000002d7871b8d734575b2636cad61d531100000000000000000000000000000042473f1104596f313ee850a35bbd65082300000000000000000000000000000000002b5712c30ad75c67186c8f79e064c6000000000000000000000000000000888ba2a035d6f2d1b130d28b218494c0f400000000000000000000000000000000002008c7a81b8606e929a525e787a26d000000000000000000000000000000cfebcfc25c2044041becb4fdae97bdc9e100000000000000000000000000000000001721ff0768a5d48f7b390466e7c631000000000000000000000000000000fa4baf7626a1e844ee3c5cbaf4672ba6d300000000000000000000000000000000001a898d96ef7ec80cd6729b028daba2000000000000000000000000000000d59605ce3443a206898ed3ae19501f774b0000000000000000000000000000000000235015313f98db1adb79afe37faaf4000000000000000000000000000000d065384e47e5f813a7ffa78a243baf870900000000000000000000000000000000002b83a7af18fcc93d32db92ec157b72000000000000000000000000000000932bf502e497bf562807ef459249be4c9900000000000000000000000000000000001d57677145223ea15b1762c120d2b10000000000000000000000000000008c7b6706995c610ab42eb2f7c48cf436fc00000000000000000000000000000000002566c5f432aa08f9de81b3f713769a000000000000000000000000000000d1eb2069203474ed8d4f595279cbe1e321000000000000000000000000000000000028d9aee4f7575b6298df043eed19510000000000000000000000000000003fa8a453a6dc94141620d17a5ccf08568a00000000000000000000000000000000001d156633d15c327c1d1b8a158b63170000000000000000000000000000007b6bcf648c29d88bc2bf1c85697f225862000000000000000000000000000000000020f1bd32d627bc519675a49f183080000000000000000000000000000000473a5b5729a013b5641282e77a00b79a4000000000000000000000000000000000001bd96d42be37a76c8fc05b308774b300000000000000000000000000000093a5a00ad020f9fecfdcc85e1d54cd2eaf00000000000000000000000000000000000ad346dea8f7ae9322f96cdae03742000000000000000000000000000000a9915d8cdce295cc83bab6fcb6d6137ba1000000000000000000000000000000000003523795cad738ef8500e1b9b013d1000000000000000000000000000000010f2cb388fb227c9a9ee529a9a0a35b4c00000000000000000000000000000000001eee11e801ad88bcc45a5b387b89ce0000000000000000000000000000009f3c6cecdf4339b3ca04a956cfb9ee2367000000000000000000000000000000000009cbe49be0a02d96b5c3c7a42777ac000000000000000000000000000000017ff54db257720d80805a814fc40d4cb80000000000000000000000000000000000040fd92104a3818fd546ee726086b2000000000000000000000000000000c0c75bf7b91cfb091517206481112a619e00000000000000000000000000000000002be234fe155b31a3fee3d4d58c19b200000000000000000000000000000015a0074da1b0a825511009092751a171ac0000000000000000000000000000000000020403ff4099c29deb5332e37157a0000000000000000000000000000000db39f1f66ea0fff09333c8abbd26b5b3e1000000000000000000000000000000000011efd78d74f81e6a704c96a3a4ebb50000000000000000000000000000004cca3cf23b6c6ebf23452f2ed55176602d0000000000000000000000000000000000146fb9fb547d1c303c67d6c85b148d0000000000000000000000000000001b5b79bf7e5bc1324e1264c496761c7a00000000000000000000000000000000000019c6c042a6397964123e08e1a4ec250000000000000000000000000000004277b92503443fdd4b364ad3f97e3fd65f00000000000000000000000000000000000cbd035afd9be527e30d58b57c251f00000000000000000000000000000090b2a59b4847aea57a87a7b759ec5a50d300000000000000000000000000000000001e8d285311697a774fa736ed082415000000000000000000000000000000c88e81dc8a3a0e72f49f149afa9cc50c4d000000000000000000000000000000000016bbbc258cf0ec8e1353d5e4667a5200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000013265761005e02426951dc354edb82e8c2e6515b67da70cfb587c56aa635004415cd406d33e42dfb3fceca0916b98f20f49634c5993ea26bec8a5926f08b5ae51bba810a9cac69fe8b8ac2ab3a3b4760c6dbd6c1bdbd3dd9fd8802f093fd20c024ff0c29672ac1e16a5595e2a24be81c2b19ae7a0a92e83ba90ddf225b16d0bc251d21d9ed4f16fd2299c51572b27d9433399a723c792a48c5344dfbc831323229af85433199140d2a63e493c011c70a3afc3b60805c9eb8cafc5963fdce312f29c852f9056a5339f2a90df088addd18214314367793b44248172ac29645598e1287fe579e842807d9134f69adfc7fe702328fb1ac6e3cb7840edaf93eeac4b31869588e6b04ec4fa3b8bfec4e660391061f909088d5eda7c6cd192932248ac62c91211b71e2a615a613634733ba2ceb17f2557b7d9ab4e9684bdbe5469aba2c177a2d8bf8ff30c7c260fce5c7943185b77ff7474cbdd269c6ca098b87f437b51cc42b7910ef8a1389b0e30b048caf65dc3ad5c750bc57846a9f351ad72a02f010600a35223859dd84e6104b63c37482e73df739bf721192ef6ecce7912b6ec61c7e12bff54c56082a7741ae6d5af31aaf9622bde134051f49532b39ce66ac98022bca971017394bf23344c4b093d2b09d0f7d57c81ad7147617b47bd74f53e31238bb9aea5a2d3be8525ba900067058077255e1e3c5ea2416f3c98b4f3f1c8510d4e2fb6b6103d8dde810e2872c15491b4ccf7b42ed7a760de86b237cd4a69713413286ff3db0eb8bc67b1ca6ad5a05d0ab7d7cf204834c24370893c6e1cfb10faf18b2e2739c796703c6b71c6e1f0d049a008b8844654f32169954c1dc25240edd61723d5408316f21c7871e29d9668f9879696abf139c70185a477260bc6a2e29cc523f0f1fef4bb0fce7110a899723c2598ad6e59cf123df41e3eb2b456420687d66eee617089d60c251f9171725f70c02d1a7516962b6bea3c6a33cf5081e5c6288f4ed51f17c008a967567c75ad8555c9b8fd4f3dd8d1a72ec4617893e040a5130f34b7553a2fe4017fe58ca2fc8fb864e301ed93bbacb6845cdcbfa8c28ae9cd99b25039f173a76639cf4d82ca3cf6c77dbd03aed8568141eb05a544e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000721b46ff86e9aee102ab9e5e44bd93eb4f0000000000000000000000000000000000161fb20d02440acfb99897ca9ac7e9000000000000000000000000000000f8711a4aebc2b3e06bf78b67890366fbc400000000000000000000000000000000002996ef757102ead63fda402a1993ed000000000000000000000000000000c2b8944d11c779fe4c69460f4f4e43856e0000000000000000000000000000000000212ff2fdc02fa22ef81f8dfcad06a5000000000000000000000000000000434d7cc05807c9aac116b100d5f51c388a00000000000000000000000000000000001902b5e252ca2fa33638f2e606f8cec080a0cdff0dd713a4c268fbde6d08f8d6159b6609e01b313c7d5d18f76ecb7744be23a00b7db45b19b643e5bb91b0b7ecc822705a70fc130673e22e6facaa1463859803", + "0x02f8b583aa36a7830385e484773594008477522bf082ef9e941c7d4b196cb0c7b01d743fbc6116a902379c723880b844a9059cbb000000000000000000000000163a326a2134f1485512553e3a718d916fb3abcb0000000000000000000000000000000000000000000000000000000000989680c001a0a2fdbb4e478443e066dc5f8e68a1f6ca8ace0df72151900be0de0c2eabb89174a0083e9f05d25ef62f6ea7daa331e7127d84915e1050fb1b444810b052fa95e2dc", + "0x02f8b583aa36a7830385e584773594008477522bf082ef9e941c7d4b196cb0c7b01d743fbc6116a902379c723880b844a9059cbb000000000000000000000000681f956778d8c208c330e233c87bb57b2c0d47080000000000000000000000000000000000000000000000000000000000989680c080a043cb12765ab0b6a2a3c56f82ea4fccb719f7e025506c1ba062237fcb124c0625a03efd2a0aa176be1f59a564ab11b815c25fab61b1941cf8e21cc1ce014698294e", + "0x02f87883aa36a7832f6bd7847735940085746a5288008252089443db5d7570cdb5da3020ceb6a6e18e77724c667787bce8559b7b0c0080c080a0054b73823cb44c3a9080ab5bab4f0aba3429b645661176d6165d7eb96d64dbe5a01f23003d08af90266b637131bbb38e4f982c81e20d1a2ab4585ff8f739d176d4", + "0x02f8b583aa36a7830385e68477359400847750944882ef9e9408210f9170f89ab7658f0b5e3ff39b0e03c594d480b844a9059cbb000000000000000000000000681f956778d8c208c330e233c87bb57b2c0d47080000000000000000000000000000000000000000000000000000000000989680c001a01a20ac4ea57d3953f1de7d090e46a9c112fad13d90430c699d32ab14ec354706a0150539dc011af5d1294176252ca2c2fe59cb0f014e09a76363bbb98fd179f624", + "0x02f87983aa36a7832f6bd8847735940085746a528800825208940de8d173e682bd40022c3e27da394d6d89ec80b68816389865ad7d4c0080c080a0d875fe7d1eeedeb7cf578f1418f8a742759a1188ab549e7125b01d37aab2e9a8a06b7537e3427d174bb158cc8614902aa31dc261e0f39e8aa3873180f552c434e8", + "0x02f9039683aa36a7825d458477359400847740f42c83e4e1c094fd4559b473fbceabc0f68631646d6ceadf7b704080b90324cf02827d000000000000000000000000000000000000000000000000000000000000107d0000000000000000000000000000000000000000000000000000000000003139000000000000000000000000000000000000000000000000000000000000313900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000261000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000003139f2987f8925c2af9da4e0e0fa2f59044287ddc0fd38f73a3b1514a8f9deb4566300000000000000000000000000000000000000000000000000000000001b84f00000000000000000000000000000000000000000000000000000000000000000c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708d56896bedac9564aa68c3a4aa870d945088f678a92cba6e03a40a4052ffa17b00000000000000000000000000000000000000000000000000000000681d7c0c0b910d29b7b4bec69ec552554a04990226372b6512d39db18f87da274dc4eec6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a04ca94a5ed3a3b1cb6fd92e666052115f67b4baf27fcc0d87c4e06737ec484cbca072b1f598374c478da6be5df817924d659424ec1cb1c9e7ebf59bce34aeb0ab40", + "0x02f8fa83aa36a72c846b49d200846b6669f08302485f94511835d52f6a89f39499f8ff35a1341ea53cb93e87038d7ea4c68000b8842c5f766bbd19e6c14b03e353d7a5f34dec163b3e41d6bd995dda22b88aac620fa22e0b9300000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000c001a04422ee2e6b39cdf429ca0b26a7a0dd486ff861239e7f85083ee239af371cd156a02e472b5ffada8be5f385991308e2afefeadc81dad5e0bc460949060825464057", + "0x02f8fa83aa36a72c846b49d200846b6669f08302485f94511835d52f6a89f39499f8ff35a1341ea53cb93e87038d7ea4c68000b8842c5f766b87a60751037ed4bee1e7b8be853e26663a1be523cb14542dc554a65ee06fdb7f00000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000c080a05479dda5e7dfd459a82da5a0abb92003de6cc6ce6cd6c3e2120c2317fc66b399a058fd69679e5ec6f89b4cec929d117b59f1e539f77ea95680c6da3ee598115d26", + "0x02f8fa83aa36a72d846b49d200846b6669f08302485f94511835d52f6a89f39499f8ff35a1341ea53cb93e87038d7ea4c68000b8842c5f766bfea04aa13c505a4ba81cd32dcdbba3ce92ac68eb60fae84544d8e4664f36639200000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000c080a05fb293622f04b1cdf25aeaf05d8a8cfdeb5fe4e7d5ac6ac8a4b4d760f83d674aa060d60922e522dca1b3b3cb74f402090e8fa47204c17c50f69a3412a97f6871a2", + "0x02f8fa83aa36a72c846b49d200846b6669f08302485f94511835d52f6a89f39499f8ff35a1341ea53cb93e87038d7ea4c68000b8842c5f766b5b2b40eb541a26e454c53d6f8edc3f4d7b55123a9a1d1184406b5605f3459dbb00000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000c001a04e9bb6508b6b944c1a482aabe0e1452b242695e18b5ca0157d1bafbd92a82bada052a44666a72121fd2b49be3f74a875c390232cf63d02816d0c150043bae55935", + "0x02f8fa83aa36a72c846b49d200846b6669f08302485f94511835d52f6a89f39499f8ff35a1341ea53cb93e87038d7ea4c68000b8842c5f766b1aa7b77b87e54f40191765ae4d3f8b259be5b754fdfd73e381e96054464160c500000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000c001a0ba53510d597d44e0fd19bc9f161db4f7bf0ed001ecfcf1e1e2e66b8c6b501285a02252843dcea593f8d90ec6a13404bb5550e0ab13e6c4b7d091c61fc47fed70c7", + "0x02f901b683aa36a782031f8459682f00845976fe11830271c094890fd716cf80b5f9d3cda34fc6b1c67cbb2d35c380b90144341aef7e00000000000000000000000000000000000000000000000000000000000046120000000000000000000000000000000000000000000000000260e734d8b2f0000000000000000000000000007b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000681d7d49000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000004141f90154cad841bdb971365418b2a929629e5f02fff96b13bb9312b63d6f63537240d590f3e88e2f876912b728ae6b0f290ae79bc033274b76a16f0b337183e11c00000000000000000000000000000000000000000000000000000000000000c080a099989375621f02141c197736017a6df8b2104857147ffb64f3ff8721eec86eb4a0200933ed6ce153e787c6ac755ef3de702bbd140abe4c88df84e46b02bc1ad5ee", + "0x02f9057483aa36a72a8459682f00845976fe1183033af0945fbe74a283f7954f10aa04c2edf55578811aeb0380b90504ff0d7c2f00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183eab82d0e38140ab69cd029b72d184d8bee311ec692c04f388854e7684224a462fb5ca341571ad00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000001473b28ae1998b46697e21cdebceb58dbc7a575d75000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e3173793476753336777464396a3664766733706a7467386c37717933357773777564346774306d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e31737837346a3838706a6b326a6a6e6534323934726e396532643075377663366b637875673537363636796661636b747278743073733037326b630000c080a06c18b49827cbf66d3d6d15d2d453a594a580dd3b2e9cb46eeb3f20df55b530b0a00b71cb66cfe75eb420d4e501a604a40709b1c223ab0e665cc64e3ab2bfa13de9", + "0x02f8b583aa36a78201bf8459682f00845976fe1183010fe3947b79995e5f793a07bc00c21412e50ecae098e7f980b844095ea7b30000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03000000000000000000000000000000000000000000000000000009184e72a000c001a050530771eaf28186cdfca33a273fc9d756adf940d5ce3e54efc72c0844e4252ca01d306f932da5c193bf8a077f56c3c875cddd9fcb45cd837a25197bf55371aed4", + "0x02f9013583aa36a78202e98459682f00845978673d8303d3299407abd582df3d3472aa687a0489729f9f0424b1e380b8c4a7256d0900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8d753e95145fec2e6de008c803af841d4fe44ec00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000011d089ee00000000000000000000000000000000000000000000000000000000195acf62c001a05ac64d744b956f3473ceacb64eaa052ae19d96047dcfc451cb9acaa987cbcc93a05780372e15617f39f2914eb44d177667b96c256d89ffe3c7ec5d414bd1c95722", + "0x02f8b383aa36a70e8459682f00845976fe118301120394465c15e9e2f3837472b0b204e955c5205270ca9e80b844095ea7b300000000000000000000000038c967856d17e900042af447b3346bff26c8ed4b0000000000000000000000000000000000000000000000000048362278677000c080a03e8e418ffc0331a51ef9f42abb9b67553a2e44ee27d634b9d500b47d39f7e35ea0520880a46625ce52062eefbb24b8c9dbe36d450d4ba23f1d10f55b5fbc19d909", + "0x02f9015383aa36a76a8459682f00845982875c8307a1209420c54c5f742f123abb49a982bfe0af47edb3875680b8e4095e7a950000000000000000000000009672d217cf7a82fc33eee1fad771b875ba06b3ea000000000000000000000000000000000000000000000000000000000bebc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0638f4e92eb399542095972c8ff4fd9580415584b42a99d80d10e2ff4a1b41f88a01f5316074a51d750ea290460cb8ac0fad7c6315cbe817705a2acceb855f4fc17", + "0x02f9013383aa36a72d8459682f00845976fe118301180f94bd6b25c4132f09369c354bee0f7be777d7d434fa80b8c41a5f0f000000000000000000000000000000000000000000000000000000000048b7b90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0a7022dde2672662fac7eae34ccccd7e8e2172b8a4d1baf5741ebf6aeba081256a07f000a7780764647ee8cfa8359c028e7bdf3d28c59c1680be37261659e766c0a", + "0x02f8d983aa36a7548459682f00845976fe1183015b7e94b74d5dba3081bcadb5d4e1cc77cc4807e1c4ecf88605ab00257000b864ce0b63ce000000000000000000000000eedad42d3613268c3e7878ae51b95788e129386e000000000000000000000000000000000000000000000000000005ab0025700000000000000000000000000000000000000000000000000000000000002dc6c0c001a0e0677916fbe203585423b168780b0fe6d5b540400697574cb7470029126aa27aa01c34152bfe0f3f5cf1426a9fb88b5d77d885d205b62bee1edf590d4576f60c16", + "0x02f8b383aa36a7138459682f00845984c6f0830186a094ef84994ef411c4981328ffce5fda41cd3803fae480b844095ea7b300000000000000000000000020c54c5f742f123abb49a982bfe0af47edb387560000000000000000000000000000000000000000000000000000000022139e7fc080a094b5cb43289d31acad80cd08de8baa2a7afff707ac36f07d02f37cb3ff837278a066ac24c8ecbcd8c6cb635dc9f159f059e7ea9ae62124508e360b51744950d644", + "0x02f8b583aa36a78208078459682f00845982875c830186a09420c54c5f742f123abb49a982bfe0af47edb3875680b844095ea7b300000000000000000000000007abd582df3d3472aa687a0489729f9f0424b1e30000000000000000000000000000000000000000000000000000000000989680c080a0efa527caef0aef281f9b3c9dd9e50c5cdf0f80b44d79bd3f0f1d00597d050728a0571c6786cd673f07a4dc28560265a5f8af00aed364fcc89d6739b8c68b3c24a5", + "0x02f8d483aa36a781cf8459682f00845976fe118302aab6947e73a94be39327533faa90947cae5fc21534928780b864284b5dc612a748720747f4f1d5fe7f1058f32383cfad5c7aece2f63dce2148738badddec0000000000000000000000000000000000000000000000000000000002faf08012bc4ec4a44c43869afc4cb140aead5869cde991129a3a2f32f3d7cd8fb77bacc080a0c151fb5b945277a02e39ed98be2aad5b9340e6074a0a4d5bedce8c57d360076ba077c493cb465428df418bedd08b977f884e23205e79ad1a7749daaa65be459998", + "0x02f8b683aa36a7830318038459682f00848f3ad7e68302b47694810a3b22c91002155d305c4ce032978e3a97f8c480b844a9059cbb0000000000000000000000000db4f1d67fbe83fb8bf7d818111712607265c5180000000000000000000000000000000000000000000000000003e871b540c044c001a0f0f6d243436006212c2973329ce2f64da9a9cb3df180174c6c75401858abb9e0a005ee6b588c54a9c59711a40f8b48e547daf1fc2cdffd5df2774686d365b60305", + "0x02f8f583aa36a78204b48459682f00845982875c8307a1209407abd582df3d3472aa687a0489729f9f0424b1e380b8843df0212400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009402a0c080a094aa7d9e90a7f19374223cc65471093274dbd5530dd5e0b7c0b1ea9b2dfdda36a032ac785573346664ae2593a253de37f81f539e2e39010271dbc81101e9dd9e50", + "0x02f901b683aa36a78221918459682f00845984c6f0830186a094bd6b25c4132f09369c354bee0f7be777d7d434fa80b901441a5f0f0000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a030a4cb4e75daf227b626d469e52fce9673c859ea201c0d9a65e8ac2453537837a02cd9e96f292c0bc3a09c84d984f0fbdfa3b3fba6aa6d57eb8a49590108883e19", + "0x02f901b683aa36a782053a8459682f00845976fe11830271c094890fd716cf80b5f9d3cda34fc6b1c67cbb2d35c380b90144341aef7e00000000000000000000000000000000000000000000000000000000000aeb91000000000000000000000000000000000000000000000000001cff4bb6a820000000000000000000000000007b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000681d7d4e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000041648447d7e298732690664763ae4fc7999316727039586ff384adcdcd6be7c0501b8b7e8c4908d3117336100979de42e48b871f58dd222ed71abf7225a857e3551b00000000000000000000000000000000000000000000000000000000000000c080a094ee7bf4e03c3b3c13ebf9ad121970b9bd10a7ee0e0e16d64510b6aaed1631f5a00a41b2ec3c2b08b3082e1a78164596eca0063234d7393bc54a9131bc8281811a", + "0x02f902b583aa36a781e08459682f00845978673d830210d394b74d5dba3081bcadb5d4e1cc77cc4807e1c4ecf880b90244b3ce8ad000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000006c69fa00000000000000000000000000000000000000000000000000000000000000800000000000000000000000002655fc00139e0274dd0d84270fd80150b5f25426000000000000000000000000fc2808f02b649a3786ab8e6d2d8aa865d26c11aa000000000000000000000000fc2808f02b649a3786ab8e6d2d8aa865d26c11aa00000000000000000000000000000000000000000000000000071afd498d0000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000041c54e0c0dcd0a89acba3c62052c112d6c0782a2fb93266e8716de420c9dce9a830fba4a0bfc4a5daf43dadc246aa4c0c32a78aec05cf3adb7af621022ceb9346b0100000000000000000000000000000000000000000000000000000000000000c080a054c27d9157a9afbb239e3dda2af7eb0e08e28f6eaa2bcb4f3f618ceca0daff54a07bab7034a4824bc6ae8172c9e725d4c07c776892fa7e99563145aa93b5ebce3f", + "0x02f9013583aa36a78201118459682f00845984c6f0830aae609461f2ab7b0c0e10e18a3ed1c3bc7958540374a8dc80b8c4a7256d0900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000005ffa915b829a000000000000000000000000000072a3604f90df5d7dfecbcf1d5da09a035411ac7e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000378ac00000000000000000000000000000000000000000000000000000000000378ac0c080a05bcde33bcae71139d1621bf881baf22b4aa3b00bda74adddaa483ab927e84fd8a0092d046b9a68392c817911fd1ca2b0f5eacf99b5781ef3fb52cf0e95095d40d3", + "0x02f87b83aa36a78201788459682f00845976fe1183017db694aae29b0366299461418f5324a79afc425be5ae2187b1a2bc2ec5000084439370b1c001a0be497d8751ff5bbc9bbbd31b926266cceefa957678aaff3a8abe58159c3a7be8a02aae25518c7bf5a650569a37cfe7ebfaa473671af7a2faf2ac80f7f956dd5303", + "0x02f9015a83aa36a7808459682f00845976fe118303a0ea945651f6219a746f47f8edecc97404e22f04dbd83b876a94d74f430000b8e4857ba49c00000000000000000000000058f8f09cae85d8b4d0ab685b4e183bc62a34d5de00000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034554480000000000000000000000000000000000000000000000000000000000c001a06646b21db2af376150b984d12e03c85188eb3f65f59b77335e001a65023c62a0a04ed91544afb2f85f0954c01b477f5d1e311bd284f593ac174bc58fe7359114c5", + "0x02f8b383aa36a7188459682f00845978673d83010fe3947b79995e5f793a07bc00c21412e50ecae098e7f980b844095ea7b30000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03000000000000000000000000000000000000000000000000000009184e72a000c001a07dcf990865bf54daf249718f5e4f3ec9f7fa29af8da5548f89627f8723b218e7a02337f18f54e8f894e4f2a80101ad991c46c7289be14568389a3d982cf4779e15", + "0x02f8b383aa36a76b8459682f00845984c6f0830186a094ef84994ef411c4981328ffce5fda41cd3803fae480b844095ea7b300000000000000000000000007abd582df3d3472aa687a0489729f9f0424b1e30000000000000000000000000000000000000000000000000000000022e27ee7c080a009256ef3994d3f6b6291d5f9e62b260a3edd420d9721213d8e8bb2f5beb32b78a00aa6063003ec9a565727e72925ca63a24482240e59442ebe49d9e3eb1f77f762", + "0x02f9013583aa36a78201998459682f00845977cc9e8301181b94bd6b25c4132f09369c354bee0f7be777d7d434fa80b8c41a5f0f000000000000000000000000000000000000000000000000000000000002faf08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0248249c1a0e104c9f66bb284574594c9f00f0bf475817f84ed7feda00c08c98aa04d548fc9d200ce419422ae869e61c31d923ad43c732ed72b8e1e2a9b24501733", + "0x02f9053683aa36a78204da8459682f00845978673d83037db3945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183eab84d43afec09d9e67d315a34ce65d92da859323c7fead0d289d55aae32428c9b5c156e4d23800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000014221ac99ef7265227029a4c1a30b4bd76c4bb14660000000000000000000000000000000000000000000000000000000000000000000000000000000000000014221ac99ef7265227029a4c1a30b4bd76c4bb146600000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea50000000000000000000000000c001a081fb8a481647ef250ff70da46158154ce5d76660e02521d6d079faad53f047eda04b8b2a1b20844ae0fdad5bc53b57c72ec28809781995d760bbdde52fa4ac1d9a", + "0x02f901b683aa36a78213588459682f00845984c6f0830186a094bd6b25c4132f09369c354bee0f7be777d7d434fa80b901441a5f0f0000000000000000000000000000000000000000000000000000000000002dc6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0218ff25f1fce358f510a00b7836d0392004e6d69d829ff98afea183ac96e30a7a040412808becf2019d59ea055bab80ad87a3cf64b69c55bf6453dbfffb67f8eb7", + "0x02f8f583aa36a78208088459682f00845984c6f08307a1209407abd582df3d3472aa687a0489729f9f0424b1e380b8843df0212400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009402a0c001a0d2afa41e0ab366d48fd3022701f2bc29fc150b1837179aa9572792f7723d1fffa0053bbf63f52d637f6985e83f3220287bac99242eed53c03a193c96e428257a27", + "0x02f8b383aa36a7338459682f00845978673d83014988941c7d4b196cb0c7b01d743fbc6116a902379c723880b844095ea7b30000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb0300000000000000000000000000000000000000000000000000000000001e8480c001a0accacbfa9103f598279b1dce0b05f348a6ba7432bbf5e34d225c43cbcc3e8708a031ce451a02ef2103eed0939c895d97ffed62881058dbc4fbf34f9a5422df6bd9", + "0x02f8d483aa36a7821fd08459682f00845984c6f082b40494c959483dba39aa9e78757139af0e9a2edeb3f42d80b864c6c3bbe6000000000000000000000000aa8e23fb1079ea71e0a56f48a2aa51851d8433d000000000000000000000000030ac367fb034295cb2bfa85440db63f3e5c0650400000000000000000000000000000000000000000000000000000002540be400c001a0b3b6786bf1c0ed128d52d7f82187e673e722d8b64d9101d705192b95c9c5900ba03f999832239297e78d8a57135df0f2b41ce4de0d3e2819551d8f25b29d60f22b", + "0x02f901b683aa36a782022c8459682f00845976fe1183020bf894890fd716cf80b5f9d3cda34fc6b1c67cbb2d35c380b90144341aef7e0000000000000000000000000000000000000000000000000000000000052e060000000000000000000000000000000000000000000000000343c6a0eb6920000000000000000000000000007b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000681d7d30000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000004124f1a8b05c41e32710003449fdf4bcb8c99ccc46e2c36fcdc498329b5ea8343d13a013ab08b29155bc61c7701dbb4bc2567d1e038bf60a7054c85fe63a3c14dc1c00000000000000000000000000000000000000000000000000000000000000c001a03f677040afdd8341e4f77c66de881be0ea003773af0a2ba7c9cb7e63f0f5b1a5a06414d786fac579f7b09f5b416eba89eaf50bdb2d1d780cd007c25dd88ef8b87d", + "0x02f8b283aa36a7198459682f00845978673d82886594428eec6a3ccae60527ae47ac6e8f0f871283d8eb80b844a9059cbb000000000000000000000000eafe9f062cc3673212de9a92f30d16fb63418d470000000000000000000000000000000000000000000000000000000000e4e1c0c001a0a4302721a3885e36e263493e4f3db49e2ed1ebb234312d37cff10b5be2d307f6a00e1feb6b82d1135a945d635417b38fa0a56e2bead8bac65236811bd6aef683c5", + "0x02f970cb83aa36a7820152843b9aca0084b2d05e008311d7f89400e9bfcadbfb1f294e9a66bc0573878525f5015c80b9705900a5f93d76cb468f771081ed449a0185de00000000704178da8cddf55354effff0715a69912e01415aa4439a37dddddd20204be7128b74235d0b129212d2dd5d92d222a5d20d82dcc3e7e67c7f3effc0633873585eafeb9ae7b08d2a08578a70d9f76789896cea4ff60f4b9650be4cddb3215b775a5dd36bd81e618b7a2c203f854121afe131b2e1088dd845c6d46fbccc4fbf0a29b3e0340b6833a3250beedeb664d246a984d852dafeebfcff20cc92e83aaf0d3badfd136aa06dd91d5f7c2ff6b789ad88b98dcba5701a5c8a2ab0a01dc22378aeebade97d6c4a71134741997b9895f191da719214c2ea48ceb9cb2fec923b071a447a04f5fe0bae12b9123d2c4f1a0ebea39bd22c7ffb927c2695ee38f7455898c1efd15dd020ca23b8ad88fcdff4c4f3d892cc6cb3e5fc523c3559e2c55d1b73f6152159a5862ea937a041b447b046a86d9872f7e9b3abc215ada86db68faf5d4d48d58da8673dc424ff3bf07df71d0685b0c16748c9ce8e5d02d52ebd387689cdd270a9a55a84ea3647644efe30aadcbce7947a009f3e8297b621442fdaa92ea292fd0d42ec04ff2df95e86ae71feb7e146cf9088f3321e193488f1080e5573e4ea6019865e8a632d7743760e3fe23ddfd64dc5ec522034ac8abede32020d623d8213b362bb3c6eeb01c28cb9c8d145256739322cd6df207972dd2f9dd948da7a36408338c0233bea05edcc273517b12247cf372094eb1bf6643a0b263a7a8fadbdaeca70ef070d3e7b04af7fadca6509b49c52cd9316efb5dd3d45808b4644868e340f12099fb6f9092582069f033f61e2b14f9ce13ce972237b071441a2db5e53338f43e082ad9ff87db1d99fe6061814f206ee17577ae8542af12efcbf97041b38f1421fbae445f9a54552f3d77caef7acebb01e408247d0194539e817cd5aa13255c33e5b9aee4aa01abdf87f23a878827b7626db474f064083448f203b250d0252c88c4c51ea3215071b818a4d5fca9e2af7136fd5b791cc294bbf314183248f6098742166f49ee296729e6bbc1ce3420db618d12ab91686bbd472c5efad463c0ed020d923b836b02713913316a8feb31fa558eed5bb2968bcb30e8447f3aa5ac52e10c3ea3fd020c523c83df8c4978e8cf9aaa8c6016173975dec65fe561d07afb5f8dfb34fff45dce97282065f3c82b2f2e2d3879a03ba961affd0251653bf52f133f64ffdc11cb0d9e68e691be334030d523f820a5f0f672bf5bb0f6b3f251810e7fd097975fedb7a3db69c5573425aba968d12fc5b7e09bc946131059bae37a49f35a34d0439aefa2a131df0643b3cd4298dde67902142974183748fe017bfbb976b61e41f9d3e0b7db8fe4cbc67ec8c37a48a8431c6582316a61d80220e1aa47f047f263e8f69d1197ea518528097b74db9fc1f7a81bbdde7f9e44275a7c3f35b7132d020e3232897decf2cccc9a15a6742fa32c5d0e77d4c53025f5f924be0c7de79834b4d3249d020f323f8cf5fc8dbfb4e950c17c2e207eb556de0500e4da28c37e16bd6b111d5fffb821e0685b0c3a3e00194b3cfd2c293ec9f662a8f348a7c4c953349bdeb19d024198ed01338cd7d00591f41251cdcdb6b2182843829f4f76a7b7efcecbb419cb74db4ce1b22224a17c1d2b9a041b647f07d57f2589b8b72867f99e8c72fd4e909599e0b734465bdf4bdc3a8b13e660a42a041f647f0c70af36197a7eb678f10bbf371baf23091de9ea4986ed2bfedc334910575c241a041ce47b0dada21d5e349a423d9f7ce0b7e3f4fcebdef3db491135387d7252a6ddfdb0efc4183dc8f20ee422dd1223ed7b5f7842f6ac7f8a62a87a8096ee0bcfb6b8f6c8d887d93d113d0202f30a4966a47722f961b1275c8dd91ab1d54a337e22a2931785fffb997502fb8916a8741211c7019d77f72f3cc5ad7aa71caaac1411bc163e375c2c559a22989d6a93de1ece94f1f40fe4790ba59ee10b383bb265ce13859692bb82028534e5f786961826fca2fa4e857d21568f0ed23b8e7896059b8d49db4e504f5a443c2d7fd4db71d61fd9eba2954f8998efdf86735d0a0d023c8b4578448cb8d63de248ee964c72bc1ff023b71ba532fe3f8c2aac6727662661c3428f208667a751106ba364929b09eecd4aee9abc9f928426d6a6a6f62ca856b3ef322218306c51ec1ff92467e7bd21b416d448d2b5fe73f83d8d55b65dfabd578cace3bff53a9e3c4040d4a3c8279cc7084cf65fd41f5c2fad8016f71fdcaa1b2815df1a367a2187b1fdeb6917bc1a0104ef8d8f0d7f329d4434d3e597a3549ae9c16070a3d39ec41cf985c99b739ce4f368c1f40c947b043ffbf55466c26cff0c45ff8edac143afc1723f002e2f29cd961297e3c821750d0a034f0d1c3a48f6fdedb2ca398e88c2b38f8174bfa44b0748a51fb975c1a21b46472fe03685016f8b5195a9d75d242ae9240b464f846ae46475f348811a2e66b3c6e7adc34b7f285023428ff08ae44675e18a7ff8cb7ef54fa278c89136ec9a0ee378e9a22f195001f599c4a410034a8f8087a99e5c893a6ed547d720f61f277420bbfa934a451e3ad9bbdebb26a9ad2db52020d2a3f82bf90936031ef86b0c8c4217e4e091a9a1b7c890baccaa4417f4da52e3089de28c3a0102e38c6a53fb31b8edcd7f2fad2bf3dc3f1bbf9fd635e9b6b768d7ffd5bfbccee2e7e3f80aa8fe0805287d02692493c05e5875b7bcf90a1e9b71e27fb029de7837976e8f4249ab5a041f5479060722aa829915c57b636a4977abd12fd43699ef8d1dfad537574c8dd978ed4afa041cd47d0c0e0ab22810607db857dba4e967456eb6e7c58cec8356a97e54d1ed7b19904236850fb118c12f26c95b5d1361f447bf566a5087748a9c2836eec398d8b19129a3effa5d013d0a0ee232884a3ba382c4b87b8f11a826bfb2b6f931f67d3bd8f6a8d8739efa3f4d4331f17d0a03eb01263be09ecb6b6c4a4fda13ec391989a9d84f48dfde346aaa4e0c96028a70219090c0ae18643113ce12bafc25fabf1f0a98410f1594932b830108c9c27bcfdabb81182747cfd001a022360eb7e8764639be999c776e6f3f7dde5d9db9d39af1dab2ffcc6f189a5c508324083c6c0e6e0143168779b22cfcc697c2a4698968b491ccc2b7ceafbad2466b98b341b771e3468fa089ecc94ea24199bcb258644b597469f9636d0e62677d8d7380fcf55189220198007cd1f4172ff52764f5bf62a5372bc3668bc277fa9f7e996df458a8701d1b71e96053d6bd0a0e523c82b6d59ea833019cb4f4893f5422bf0efe6ab6b2f8df07cc9b9450a92d9a7918ea041eb471013d164df4b4bbc5ee56e7ece7cd6c92ada65012fbc866b61cdf665b2a35edc0e0c0ae1815727bda6992c0ea9edb3efc150aceff046390cfea3e549d7e8710ffd8e5abdf7f301b47d049f91f576ab41747d3a589f5aa8ca8a28f30bd6ead30cd8e7c9fda4d9d6475bf1060dda032bf1aac97fdca216d5d1ea925567d4647a9db4e34e5778cf648aaf19fa11b1d97f82061d8003b863bb7d0dcd939e4fd59dc3a4aff4578a5d1abcb117c970b238713e7219284980069d1e41db45727a47db5e55c29e1f23c9a71a25dadba8ce095cdc96a17b45150db4156aa041e747d0fffea4552dc83e645be5a979ff15b9ff4bfd5fff3ddfd3fb496d2d7111992abf0d1a747904ad88958364e49c06b8e573ab577feb1ae6aa911647e876239ea89cfd27679d6c03834278e1cba87c6db78b2af2f423a74518bb9f4a60bf9ebea4fb8dc8feaedb2a247ffc00ff01747b045beadadf35aae5854f8c9d43aa316d745ba5f9356b6bd591ca3d3684a4fc030241831e8f6029a99b3bcc056d58335ce8f5bd4cf2071ab8df6e9a73a305493d75734a0cfb0568d0eb117438d4397bff97eee66c82eee3107fc00b428c6f08dea9091cd25710c683f1125dd0a0cf23b8a09f1bc56f910975a3521ce33e997d43ca9e52f97c14a76da14c4cb4244f8d1a34e8f708be3dfc49a441dbf5b447605914215d2d6edd61f34fce966975f75375a1c3bb841fa04128b0705ac654a4b5ff4c7338d7d826fc9448d4303736d4fd2df4696ba9ceb39d0f3a7c3028840f8e98e778e836143392493e3b0a3fcb90677a32c32cdaf4fa57ce35dff19fda93d80730f011942c763c6423f8e81ad7509f7a98b54a776292456548db5786b2d72cecac2c520a1a0c7e0451b7fa06437ad60f3ea60d7d67295de7c0e30b2447943550f6c7c3cd43a2a117060d860057a6baf75d21d73e57c2d617e3a249531d7be5193e1ea3c97fb721a5ff88888e3e8306431f4175d363637d84336eec9f097c9149ee25499fe7b60c50cd9a7a53be3e3d93262e000d863f8283e4b9902e173f1e9470b92f5f45295a353e7a57ffa55125f217ea4f1e734a58060d46024bbb6bc046a33e1a1c3f9ac6e0c05a38a5ceaaaf95ec3dcb5d1e622b1777602a110c0ae187a7d52030e57e3b34bb19d190148f8526d3f4c693846989df89637ebf7eba162ff400463f826d18f23f925f787ae8bc73e54573a2be73ea294084c4cd04e5245269d26d33a48006638147965d6c1fcd60f52dc9de8fd054d35422c76c2144fafe86664f2e93d38c8013021a8c7f04b1e63ffa289ae17beba413fea566bf9990236692d73a5c2e1d3f2072511d97d5040d263e821f845bb49bd271ce99577ab29cca51ee025e9b32b288b2a996d006887822b31783063f3e82c98bfc769334f62f22c4d7a6b8c3c2fb5d8eac6f62c4eba9733c461df6335faa83065380e3ad912cc205eaa4174ee438b3c7764e8d815a1a4dd2af2421f1ac63f88da3073b0c0a1180f74b45e956a77ffe55396d77615328c83b31cb8fb76953c4f4e7ac4decb978d5f90398f60846871e4e2915dd3346d0735f28aefe15ef7a513375be863a5999cbd7709e1a690e1acc7804fdb0d90668a72e2d11f2e3512d1aa4179b1002ce8ec8698f8d98e99f394a04aa8306b31ec104efb08499885bcb5f44e136a32c49d6bf4e2b15b4cf2635ca8bf6a30f7468384083398f20d13f5aefe435c6b6b8d630afbca74cf9fe73cfb5c4ce3d7703c3f2c7297f431c418370e0f078f64bd26bf8555f4acb316bf46d764d500446f298c7c1646fd0c03cfa68360d68301f18f4428779ff107c91a650479a78d859bc68715f4c3345d8f8e7c4459c5a64e6cec2a090b7f0277458da0765859b617ffeecf1e99dd59b94eaf4c5f9069c48eabf3066a8a4d47f000b1e418b34ed9c0db224ea80c82e2d5ddd4b2bfdad4ef9763e477a2317919e242ef61bd060d12358fb5d8c2f6643459cbc9f886af3f771de7befa5701999b79c1fcb1d255545728741839f8193d48bde9791a7e54cf2d64f9586e776c7be95d73d35bec42eeac12af23a0f48d7020d960263f473eabba45f25a1d19dd8ea91d9b3cac5b7cda71bdf33a59f6c5886113f2f4a050d963f82adf8ff6d2d95237677d22f437a2627f7c93226b4d6d05574c7e6aa15af6f45f34083958f606147d8469f4878913362dbc8738b1f536ef516bbb29a0a5f642f3861e64ce40f874741b8a88b270f7eea1d17a9307264675666dffe4606caaca84ad9272d849ac42551a407b00a58890578e57b50be267d31f5f8f073c571c0cf49c977e2fc4b29cf170d990f9582d5a0c11ae0a357eae32d2efa49a0d738e7bc7f65672b976d5a8ff43d36f2c82ebfea7a50923f68f02bb07dc196cda69f0d4abb0a46669847542bf36de91bfb7e66911a60bea937a41045020dd63f82735b6ca7560c5313ac449313b85c1c42d289257fce45edbb31b1bd96bf30de6a83061b1f4189ef2ee8715ab9744f3d6c2e698f483f1e883e7d512e3261c1f576e7ad0466b31d68b0f91114b9b64338fcfb6aae5120f5c7ee0dd7f504c53c5b4f7462dfa89cd0da22a3fb350c0a11828fa465f3a6a116bd52b2aac9a70d657f75804d1566ffd7ae01c13163e882b0e77f9769ad8fa06e988c5a1f2cc4cde0b5be9a9b7666d3d6c8d8b67512f3daf7b83324fd2a6b4ed060fb23d86c8628ffb1ce05514e4fb50c3508f5706cbbbfffce43bff589e1f2bf08bbc468d060e723c8c5c8cd297924885b8180b155eef89ed16455f8d9fdb6825290ce3d4198e64d0468b0fb118c67b3ef8ccdab787236a4a275b43e752ffd596e41fee7d0b78bb6b79a58cb1ce6a0c1de47307c3c6b1f27f3f71f7f15772296335fe366f9e856ab773721efd5bc526be29cfd4083fd8f20864de5cf82656e1f03dc86fd764d264fdfbc12cec97afe67b0d03ff87c43d10f3bb6305ce52772a9b7205e3245902f1c8ba0f26febeb508d20e56fca682c5d9e0ec3f7960fe0e02368de58e1ee12f2b3796186a704311fc91f518d34bbef78cabef905a6261b5d953f6870f811cc8de3fc9060e5fdba989ca18b8ad7b22c8261ef62df60effb972c622f95e8f127a0c151e091fb634d0fa9705f8af970b2e04d776a70082f9616a3c8a7704a33b22947f7c48206c71fc188cd1435de17ab1b21704fc7ef94c3031f450899fbc233094fabb7d57b348709418393c09072cd2a177c758c86dc669513ad84722f7c49436ce26bf1093bf3cfaaa069783168f0db23c82ca21e89bbb33745568fdeee813ff1af545ecf47cdb2f11463234ec9576a210b068588c08d5e573bce9bcfe2efba8615aba05d26155213dc52abe4c187851362f4f2abd11ec0196004685c1a708ec79a388cd6f5f07ae145a8d413d707202787ff99fced7a8b3120051a9c7b040b1aaed00454ab0a441afea22054bcddce2c27d937f3d4319e9f0a85ca7c7048030d2e3c8207b95fa59e842848375de39e5047364e46b09f73aebef3ec128189ac680ccc528006171fc1d557d853a1cd1d4c618a4a6b696c2e88d95ea31efad3b4135b8b95acb6c568b8a0c165e076ce478ef37b7a6928cfea94da8a63bd58595246e00e66256f4e5fb7d3a6ea5d0f68701538de32f25ccc6dfbdafad7fea8eb73f6438279e6777ad7b82a3f51166a6fa4aa31824121a27017430ea8f1e8b373664b621bca1522fd57ff52f5ed0e290472e5de8644e74efd6fd0af3f824edd4aed01ea8c15383db5566242a409920b83242cc3afd7770abbf3bd3deb3f8006371ec17bebef51219fdbfca0f29e0b4f07b097a1f765b3a386f4deb6ee6ff14fbbd1b440839b00c8a90f8dfcb2f0dab069a0b2d9de1a25273f45cd7cb0f2b4b98ea790f16b223268701b58e7dec467cd92fbac772f32f422d1b8cc91a97d0d4a664e861064689495ca04eb830677812185779895ecd540b971ae8bf5ca7e7b9f80f91487c630db4c01b556145ab97b001afc0d2c4b6f139b2a7b4e27d2257ed6b6ec8635ff3766ec8f31e9e28120e366de7cb8f6b03988c10b7b5e0b2265b578bc4082bb8c695232cedc9168d5677861ddf009149343965e3c807b8fa05be67a05bb78150ad3f1d1d26cb89d6130f7b78ac5fcc1dc0f0c74d0ec6aec5ad0e0c1234883e48fc54cbb29410963565853ad542f8b41d3a51f63bc8ba155d578beec84061a3c7a047f6373be89ba14140ea6f7b77ebfc3a7fe9c29b82c656be443f2c9e4dd0a469d2068f0e411d46038c59edfd9db6cb079754ad77573d2a443fef11b4668e46b998164197d2443d0e0d92318fa723254dff768c64cf15e7de263f36e766e56c3b3929de6a53a33cc270e5c71a0c18b47504addc3bd90dfe677600e1755c82f39b9199243d6f9b004bbc9ff3ee033a40693c0a01071f85b56fedb75b116fbb8dbd776b79a334ff04b2c9a8f4fc418b7191d78c4f803bc1ec02b603fec75335cfdb78ddef4f35df6e676e7e54a2b79e71e2f6dd95ea5c873b75dc561d0e0cd2328c34692abfe67514ce56bc0554c82091181999be3cf9bbbe432f2520a929e5b05d0e0ed23b80175d3d32a36aeb9184dfc82991e3c81bf66ef183446ea59198d644ffa85f41a3408f487525963d4f5ed2737117b3b227a5cfb4f69895bcee60fef1cbf58f45034e1d5338205ed81fe30d104179fdfe6d3ef1f06938e96fbb4bc6f2ac6e071018776b2d9bcae69f3819da041a03f1c29d43f78ba21de1288321741617bdf98d314158dc18876d593bc6a1a4514a004834224e0afcb6f3eb329b494122cea46890465fd7172955e672d19c6395add95f5f93253f30002fde1f7039b3ca378c6bb9b9469470c7efb44baabf0183d62fbe2fd9bdf2b0ca9dcd3a041a03f442ba4eb56178f8f12aea11763b97c1f10f3612a818a237c9d6f466488f14c890f3408f4879b2a93720cc6dc46bf1660649bd6ae1d74be0c6bb6a70d7163e34888fed4b9aba041a03f2c61496d3d8dc6c35a1258535415ede7cdc4a59074b9f1c1f68ad4ffcf5c2efc083408f487bf8295c87291b94a22894f2f3abe49a706ab6d6ce63f334e2c52e1da42a2315d030d02fd617ebde15b7947b9271ba685da746c8a05c7ded006fa8e01e76d3b65c5356143191814f21ffc3cb531eb322c348496f76b616e89b086da793382ed1685eb3c69e9edfc56eccf0710e80f1b6fd3ce82f175b43effbb0ffc50d4ebee1bbddaf26a996a9244a4814b7b7a3f063408f487f86f6a586d7abbbe3bf428be4ef128f84c1febf67a8ae83a13950476d0e7aa1c0f1a04fac3a3570978697583e3051e334e4276b4f4bd26f4088a6fba3e6a0e330bd7fff1fd021a04fac3b81da2e1522ae7b164a4e81a8ebe94f5a94c378ff6a89fd76f42dd2cb689c61b4183407fc8c241b4b7561a32347554512fc8abc1c08bf5f30c270689d4dc4ef59994ba903d6810e80f8b6166e42641fade2abfdd8b1682ac68a273cd30f470464dff48264d72bc21dc82412192f068def7afe8b5fce387afb804c9a3522ca61c3c4e2d176ef13b8db07f18b98d643d80407fa8583589ca264a51bcbad1766bf8279f328e4c278cb9a4ade0db7d917c49df55356810e80f5918e7f5cec3fecdb3a87e0e1188ea283b9695fec35291ffa6dbaa2bc3c2c1e3056810e80ff9dedb22512b52ae2904b10ab32729e13cb94ec4402df99b007b3f9ef5cd0643113408f487c8f61a595df24eaa7f6c5a277f054db36f44ccd7bd73d569888a98a02b3e943c040d02fd216ba2509d01c97b0603964d9f4947ddba21d1dd44358d7206f510d550ce8397caa041a03ff485865a66b17e3c45c77f6d5c70381421f0328282bd5f2eceee34052350c26c17068548c113a94251baf66ae4783003451438e989cc76a22a6e8ea1631782a7329f0f9b711f40a03fb40c1f45f7a1fdc67052d3c4f806d7d01d1d92b0f3e6438be287c3e5fe1976f91bd020d01f2eaecd5394eca474f7e3dba1f305b4dc3c157020c48ae295ae66bd48abbe6f94050d02fd61a7115237a53383c0342edc07ba747a1d372e9781568cf629ee3b899900ed08066810e80f0d5f5d4b2ccc1711ea6e50a75efd48b2ef443b135ceee7270a2e8a5a61ceb1fd001a04fac3cdf7efeee9aae8a78807c98c9efb3da3bf38b6abbc8027446ae807aafc806c12810681fe50a0499fd0b3a6fe68b253ef237abd318513059eafdeb86f5879e5b06fb5e2c0571814220d87a72bb2ea604aa148228b77239a95c4b2667c62bf6e66687392c5fa1282c169fb0002fde12ce5a7f07d0fdab1c2836cf219f317d6759984973ecc5d616fcfd3d822ecf4024083407f982fc0c6f0c1729ae7b365cafa86aa521afdb939aac71581632a4a93ebde95f0126810e80fc74cc2aab49cc58df0999eda9633a5eb1804fba6fca66adb24f5c72b917f81b7091a04fac31d97148951d4b582e399df7d0b89e46223fa0eb87e63599901ece9867f8345d34083407f9838f42ae97bc8f77a6321bd911baef5572809c53f7a35ae13d0b3077e0dfda1e3060d02fd215b13f500318fe09fa5674db519dc441e599fc8e04d1a918711fa24927bb6147e30284406ee08b9a3b62f7afe31d4755466f592695cb0d3ce5842814c75b09d04c17251dff40104fac394d3ca061be767495451c4d35445046f7f689248a08d51bea8753cfeec6a8639031a04fa433bbca1dd29f37243d77a8374b5b02bd86ddcddcf862c32299e93f457e69e3f434183407f38b03e58ea9a68c871bc4e8fece43725facc7b00dd2ff3a5bd19b991a4bfb247396810e80f0d6409339a2ea53219fb51217fc4d7a6a9dc79cc5a8c56dd5805db9f7e266e9d070d02fda125fa9308d24fa897cbf12d73cfa313e2db5a232c2c48a63a0e967fecf6ee3d57060d02fda17eb775793a949b6ec94ccf4937792e3afdbd9976fdf2b8d26f71750c7f5c92bf30284416de94172ba375bb5f1482907db536ef26e4f2fecf6b5badce9943c61883414e34b40710e80fc3c6c8169ab098ac326d2b9ccce8d2c5fab49de237a7e93b8c5d76aa919b64744183407f9819c27caae4ef78c967aa971c34245473a8b5cbfcfbfbf3566b21fa449d887675d020d01fdebf082660f6100f995a331619cc4e9f21227ba6d4a0bc18b147a981579d9d14051a04fa4364c91a3773c4c1fdbfd8e8fe18d6aff9d167f3a7737703306719d3fc7e369e7f010d02fde1d1be84befdf6fe7f8c5a0ea3b54b3d4aac8ee7df940f2b1c553eded21b0e783d010d02fda174be6a662363d44547e056e81f6a16e654ac4d1b084c78e6896de5cf629ecd87992207dfbf4ce41b62f4322192b9c0e20c4659af3e3a0d7b894b1dc618af1b83156746fd0002fd2189b1c765226718b152a66f8783e6a98d3b0a9b579148e7c4ac0d33b19428bd396810e80f590be1dfd2f16c89d9b1caa36d7d85edf906adb72d1a68b57adc25641b77b2cf4083407fc8531a721338b38789a561cdd65df2665e896c055329bb8e820c5b4f3170cdec296810e80f1d637439990f85e04fe79e389b326d13c8496236579ee1eb6fc87732a5d5de53810681fe10bf7ec1fe39dac124fab6f03bfd989772719ac332d467726db8e768f5c46f1c274083407f986c97dd9f43e832baa49fe88490daa96c203fc441681a118b5052206bd37c68078342e4e195d37f1b6cca392bbf33599e9b1f7df2e6d2963a17b1a777fa1050e918f2a6f3e30308f48751917fdef1cbd45e7ff9fc3c467f8a717650e47551fdddc4fd3bd32a13fa9cc02ed020d01fc6fbb6d3b37353c6466130a0d0b0b551a75e081fb3d44e5904c48d48091c9415820681fed0ae985614791cf9264c0d278fac3d528d5aada85aed8d84c51f641c45695c6f56d020d01fbedfd025296ab3da46531f6fcaac60f9267dc76d117cdd5a78ff86dacf39cdc5023408f487712e161f119ffdfac89f9cdd38fcab4160457d30790f25d56484a1860de5cbf0296810e80f739f131c57b216d6969e7ae212d149f148aa61f8147f9631f730e1b493700c558241210af0dc5f01b89a9079e703e9cc73fe5f38ce09fd8912d916f1fb134229df16fe24bb3c80407f4817b7684661eea889574de4f81b5dfd4ecbf093731f41124d8b2887a342e5491d6810e80f718fd3cffcd773ae758c0a7a0d524cf5c9821dfb349668048daaaa861cdc36e74083407f18627e21e37a1750e053ec639616c6229cb9cc29eddb38eef1ed9de9aff00f15d5a041a03f3c8f55d546933912f032db53b31a9bee7acd43f8d5a04f316a3cba774f3d987e023408f4872c6928824886098b8753752d7c552e9d785e8b28976a0cd403701ca3a3b0f346d020d01f32c67f2f21c9a0dc360f6a40c0b9b2ed1f1d84925068bc5e8962282ec2a632aa8041218a706f9e63bd855091ad1daf22568e140475ce7f5ad8c46682096f043ff0df17eae93c80407f188d46daf173d359b7c17c0e6371f66e44db65cc4911bac4f7fdcfbd2092f39778d020d01f26505227fe17ae9c53293168e62c5ec13f3c84f992a40f1baf270e516ce2e5fe3d6810e80ff75082f2f446b5c3861215faf22f29a3fc8e5e7fa11221af90c2aed2e37b223f021a04fa43d5e73409a5356fe6f890495a342dab1cee4b102f5bafaa5fa91e3c752bd5c934040d02fd61996a7a1b71fa98cf0ffb198d942a5e11fd02c9c9e01e229c38ee6c66b59e191fd020d01fbe1b82a765eaec2755f0a7ccf43c7973dffa790e29ed5cd62580a561ca3a546e05068528c10df5d213abb40825ca3413e42463105a7eff20be73af5c3a74770db3e0bd69377c0081feb02514a34153cb82b199acce6e2f07e503b5f353e27fadd72a28d6be7ae8120eeea041a03f0c9cd12c9d92b65f4a7a9d0aa53d341a4989cc54c5f3fa69c427c88ebe898a7d051a04fac3173e566901dc5cc448de322d73113fb2a4a209ac5282b587864da1f3e548dd4f4083407fc8c8bed726c4d0d91b23f87b873af6532209e3bad476ad8f21ed26e776d3f17f15a041a03fbc1aeeae44c06466ee161d6e08aec29cc2ab705a7af355e1437bffed225d9ba43c6810e80f19cbb2dadece279889b94206d5f2de90518e5b7c138ce7c3614339efdda0cbac824121caf05ccc7f679c77b4c7e73897b8d884e63853f7ed0dcf52fd83d7f6ab9ad59cdc371f40a03f544da2433ac2be9b4a6fb9201df2e47c1a158135e63a34b5b4bd816776fd24e83b6810e80fa312b329dfadd660fa343d3dfd9d43e667653eb5d45c6428a0a89e4cf83286850c3408f48747ef287e0ba5707e71f6942b0a74e9beb2820afe28ab7c323bc515f44e4dca47133408f487b348f219bc24738433e79a0dda6536756ecefcd9d0583ca1c24ac15fab0196ef4183407f68b647a0c88da3a15a7d82b9ecad84c964ead368c2b8b6a19bce21bea42f28cb031a04fa43b396afd6a31fcd143168f7c4be9efcca28a05508609accaaa0180bc758b5bb098041212af08aa033a80b59a8f7db74a4a6b1dcdf969cefcb5d584cb61671527ecb59e30c893e80407ff8326acf7755178bfe6a95de97402b3268cdece75cc2410ee930b9ce9184b8ae1c6810e80f910dc45b17a234bf226d0bca70bb07c7172da99618d726c175d65d4a6b4b02d54083407fe82a2bc568239f1a889b39c2ab731245f70697f54ae7b4abfc3cc730c10557030a1a04fac33fccce89237124b5dd6e45251454ee4f11bd8ca4b6021829dfc744579b46d36d820681fe702aa46b7fd0e8477babfce9b4c390eb81b23762fa2acb7346a31e11a40d559238d020d01fee4fdaedeca7bd6f63336d1d5c78696d3c69d3be8063f33c7f0ea1b187c39bebe114a00ac79cfb8574c3f72f34bd26262751968ec7f9c85cd9bf06e59f7beaa4872c376ac20308f487028c45021dad26337a21cf6fbad348fdabb9d90b3d6faf8ad7bf0633b9a099f0810681fe7015e3df082c1a0f3985a1d3a056e41b3a399d4f3b3eef1715d8dd17098251c971d020d01f6af97be4fb16505afa7c981dbf797efbe68067df3b4a5c4e7dbb3eb488a516ca041a04fa4347e89ef4734c49167fd523a2883da6675eab95069f1967259a7f7518464817bd020d02fd61d7dc176cdfb773c5cfd525b7dc7718c703dc24b4448fc853ffe2c42c14abda1d810681fe700a63ebcb5056c2abed44c9a4c991bc79a224969eef1b694de19425d27ca7580fbb8d1afcae4bcd729749abc1fc582d46e5b0ed329f228547c0df30ffd54b92307e26d7a60710e80f091999e33708bc10bdd05826ff6ce01b471c4aa5f50ae8a4e3beb2b9478e7f8b0e1a04fac3b32fa9fe5f654dd5ea0cc2a65391201c8538f5d09bb8921ab480310b4fddd409d020d01ff62a30c94eb2aa21472c0e7298ea15c76a1e6035f49bbdc9e3cd5dbd328a795e081a04fa43fea69b0ca728bdd5e2fdc57d17b55eea14a6b7a1cc586e36f0c27dfc3c7ed340d020d01fba34d436b4cf3215e6130c4b05957f7539c7542fddc732be3b18b8d718c2cad2070d02fda1efd4a2732a9362448f14d358cd1dc61cba1b67065e50d8722d6706db65c22c250c0a518737496a9cff9a348e1813c1b2a315bb4a89c6f291f16668e05df39eb3dd5321127b0081fe50314afbf5557da70df54711ca4bd357e7fe2bb1d4f3cf164c83f9a3edfad4ae144183407f88607aabbd975ddc4c89f47c889096f5f0b2ec5df48807a9c1af7f0ee57b490292a041a03f747d96c47513cdf6491be515ce45d4adf9f9122d21e4ea276eb71d1ccfe6058a296810e80f2f2f84de7e4b84e510897a2e2d61ef2be9a940336cd0dc36d54e719e37daaae0810681fe90eec4817b27b25d8e99934fb70d29837f7890770a458f0a394d895899a4cdd8003408f4878a59b7f454f25afb35fc52b6ff2a29ac6b4967da3b3908fefc7c435ab05779f7b0706ac0bbf19134dee788ce87413de7684d072ba09e7ee51aa96f97d834c5fe19e370e63c80407fb8d368abf535c819978eb9f743e55de4392342d31597c71de456a85dcefeca23183408f487524aac35a566cf4950a995399197d20b44dee6ec7c38d47d0e63249c21115f78061a04fa432ddcd5bfb62b5288c5d6f8cf69f70814f6974e75a7a4461c68f9c5ce0c5b78914183407f083d5635598c5f190fd6125c3fa98c8e0c09e9b99ad5d763a398ec111939bb71020d02fda170258a45c40461aad211bed5e6cb221c54bfc057df74660849bb3715c6a27cb74083407f58aec9191e8d83a23961b7e3c9efed617cd5d452e4881d3b40cd484d18f5b1f9270c0ad184eb2a649b54c6360e5f715837f270554ea05d72c67324edd4e4d2fcae96b0b36b7f0081fe70be89b9b32a926f86f05d68e54bbba6438fc5b81f8bea4f86d15eed76f378f772810681fe70de8548817bfd3cfb2278cb96bf75622bc0da88cfd2c9fb2fa594ce56cd0f913fa041a03fece2a7ff2bcfff3eff305ef672cb8ce4155a99ee9df40d415481f65a1d99f96d256810e80f07249dd072dcb1a5e7a6f4b630ad3be9669c04c48b57e64bc5ef932e36691ab14183407f68a5d5aff0de7e752385eb1b84ec659c8a48f5452f554df31f139cbc268a561c4bd020d01f4e1e5aa44ff2d91ade9ecd24bf5d1225096acb992e54d2d3d17d654a77fb892312068568c18fe7bf75543b91841dbf4869a7f0170d7e4205af2e36e1b4f090205bde86e94f3f80407fa82dfafc3ef9275f791fa55745db60e384fc1a8b1e996507ab40991e151ac13b7fd020d01fb22a88dd896005f2d4346ce176c99062c40a686215ea3d45ff503df84984c619053408f487732346add6a3a6957a4641c446345bdaed081971e7ee1252381c375fc53bef1a4183407fe8fb81217b15f53a3d0f75bd71b8684b062565f2da0e3f635bce63bf25b36856013408f487386b7ac9ce6b999cd76d317957cac5a9861866d7f2a3fb1181baf33ba87c3276a041a03f142915698c40701c5d6d81b75df13e9341ae0e8693d9e81f9c135334fd5212e6020d02fde12f05edf92dd269ce5a55a528b1e915e9f5cd78514a79a4a484d663d6c55f86eaa041a03fa445f7e51355b5cfd6bdc81267ab89c1e929d46487fad1c50793fe2572349b3c020d02fde1f15cd72be5b19b8fae1a0df189337e7e3f78853608e23ba7e7e3888533aec5c74183407fb874907da55fcd9354aa658bd8f95d23d5b8fb30be62404942d0faf56a7364dd0fd020d01f7a6ed5ab22e9a80696ed63e89df929e33c21b34face3ce982298933d1de7ef13040d02fde1a2bf0a4c20d7aacd768acce65d8695ae656c28de65ecf4c7ec7379bcd4656a771814a20d777d75c36a26b43f1df8c5c14bbdb2df2b92f49ba6fdcee996a08d64092d63bd41882de53ba03f8c73aeb25d931a672112c3798d6799d64781e880fb7a2c216ea100bf8f356b40013408f487141bffc459a5284f9d145252ddec68746f5f66050faa65967cd3f11f712ba276000d02fda171b3986cd1c061bd1e6e002fab2573d954a21d29aafcca36d5e5fc712cf4bf05d020d01f66282f0d291a4566da5864692b078ae94c7d1a14f17e7bb9605f4e1a6ed262a50f1a04fa4305bea0903e3a7e43f9c388c4807a44633722a2cff6ba8aaf5c3aaefba3cb7d714183407fb8c6fe441425d9cd3522e5865674dea0237b46a5bfb20c2bf077649aa3c0f9ee280c0ad1813bf0eb4d9649b296bf53e76b7b53f8e7baff2d6204e51e27d56d681347142e7bcf0308f487468e4e0a9bd2ea8d9bf5da4e3e3a945ed5b020de5b4311f738759bce1c0c4d0ad020d01f2ee19922c5b65a8fbe31e0d16fc93718167f21a6f09f09a1fdc85f71918440ab0cd020d01ff2791cf0755c327a708dd5eabdfba12a07f35c2e1a9d848578e0e5862a1f055b830681feb09fa92e5e7fe5ea59c1d5066bdb4b13f20a8c679833778b16e396662e239bffbb66010702fde1754d251a073eddfb43a1b505fd940fb4a6ddfb889db6fa6ea67a7c679d9df986a041a03facbfff4fe6af9b91d4674d16e36ed4fba9aa05f5b3ff0260b747fc6ce28151296e30284417fe8aa5e05a60b63e75289cbedb3e708a4467860d6ba8820d7d36aed0c74fa4a4ff0104fa43de677f93ca04a2982f2244969fc36414ef2894fee3758de119a8ce2844553e6a020d02fd21549d4687ec6d0acb5b921e436916c7dbaef099178b4f629cb82ccbf0979dd20a4083407f28ece0deb2e93546cc0ab37c4244ff29f23fea16e30f56f9b7681b6cc4443f02134183407fd8a56e9f321716d3e973da0541cc0ff8e81055720d5b51a63ae755de941d79c5051a04fac39faf51dda4c7cc8f454f64d8505e18e4528be7d2cf74f274d85084a38748bdfc0c1a04fac3bb9c2d594602069bf302c3d6f75ddffce786c99f519cfc2b5f92317698a16ca5020d02fd610cd617076dbecfd3727cbc5e48d2fb28aa98fbebfb98d709874b92d397f888f1a041a03fdc3ef0dd28e0d449a4183320501fa1fd12e51a238789874419d58c618c72c5b30a1a04fac3279c15f9224b2f42d444fe8c0c24f606f31099697fce73f72410911bcdb5b82f060d02fd612cf1bfc2f38a1a5366b297d2fa74360c1f59aca6356602ba7508c5583f48aa48830681fef0784cb0d2147b05c51a4944ca8b80c399be7bf1ea26789a6c8ce7d0597c91cc133408f4878adb2a9bf56293735699fdb1840c488882671e19cec1bc88d49386eb7c7fd6c86050881e5cc133fea9fb13a21762dbc5051a53164f302cf2a95393e350df6decc50d891a523d80407f381b6a93816919d719cb668757a0c22aa8d253c67cfead8079bc4f03b6b10ecd040d02fde1c89e91037e81879ea73f048a9060976112f49bd6e49b5e2275e36a1a098b067810e80ff17f262931e5e3b5ce1b7ff10f1335d8e268cc387b5517cf4bcfb2f4e94e3cca133408f487ff497bfcf337bebb86b1fd663deb611a7657131a47327f279ab5e011d8dd45410b1a04fac3fd3b888e9890e0a8a8cf824db5596ff1bfc80a21061d794dbb905976a2aae24ed020d01f5e379231dfe038afbab3c625cef7dd4f77f1360fb6dcbc5770483d15decd6a7d3849e9c305834f902b84456a2229587ef8779a4d5326b7ff78a995ccb951f62b062b831eef0104fa430ba4c4502cea885a6565e30124416588f98d85dcb6b0fa6cba8f6af4494050216810e80f0dd1959934782bb0d69a7fa21f8fc5d7e4711c8e244eeefaa7a8ae397fb5745d000d02fd216e3f0a7ecacb0c8943a413bdbaba8eeccfc2c357e5de85f7936eeaac98eb4f8b4183407fd8d7ab7c75cb9b61a2ebaf2d338676ebca2613fd2a6c3cf81b42c939bff6a7151ad020d01f2e09a21da55e20e82cdcf54a874748601929aa40522750d293e2d29666ac5eb2830681fed0f2d781f7e873bd832a0ebfd928ef320bfaeab53bd4029d549732bfdd4514cc873fb00670622c18d768dfd5d1a46414415015057982666615894f7bdfc202f5c47d67f8ce0308f48724c57df7f07f78ab6205eb8a9b4cc77ab7676b4c4e548e66fd3f992e05ac4fbe800681fef049b8ca865d7d502193e6b7cc166bc53d04d62e5cd513bfd040d668867ee8f8096810e80fff5394e48d53f168ef43f5763e263ffcbaeb2a97c2dca66b0c79195e91f54e87153408f487c6961ef0dc809de65f92b53857c870ff7c57048ead04f72cb47ef4c0197a8353d020d01f7a5c1937b06d1952ebbc8fa8a34ab62a2bd5900eb595cdffc3484a3b7efa04a5053408f487cfb6aa2947bea073d1a96dcc724a5a22146e3ff1e45eca649926ee3024637afe09068518c237522a79ea135b033f4dfc7375c43629e9b1c2d9522beff3192f8b94dec42bba7b0081fe70d7ccc7bec97f518d1eb1169ff32634b5206f341caff943e4c8b7ceffdc5ea9800781fe903fb1aaec1de96023f97cb1bf1aefe0ca00c5b8de182ea6e277c6cb0ed2981a66d020d01f26524efc3178b9ace732b474803987f84ddb24abca3fba717a916c429e6f5c4d1e3408f4876b49d14c79572cdda42609f85fadeea40370dfdcbfc4be3a1b615c49489bc4aa030d02fd617f03d61ea2e9a46f9c5516f37d82583d3ac6b60ba77cb9d154e67b06b18f4ae3a041a03f0c37bf9968a84bc892fa87019f1596a59a59d18a8d7d5aa982df46a137bdbc590383428ce07e2b42cc4261859bda712f7e7699dfc7ea5e5929b64b13bdcd3a7351f9b2bd39f50002fd61eccd0841e5b92fd18a8813fe672cbb980a2fa7998b7d09338d168fd03df40206d020d01f2af57e7bc963a821d71193d226da488c1cd385ef766b4c0197b5bf6ba39afeef076810e80f77cfeffb42929d0d4ac631c902656b17199e8ed20ee0dad84fb8792157d9b805800681fef04e478d36828af6efa1e9b52423ef114b4d40de55c7047bd67892654ab56370246810e80f952e757cc7c468698c16211c57b10246f45f4735623a56374ee82ee2094f10834083407ff8f489510db2d96f7c14f842c7e7a5579bfa2c98be74d3e75e496f137aac6294f9615088317cf4950fb210a285800cc291ff145cd68df9e8bf16e29d0f054c730b815ac60d0e0f20d01f56aea5e7b620dd0e32d4c9b0a2abcf9cd49ebdcfdfb7a6e2524238f9e2f5df6e316810e80fd5e966985eec1b211472d4b0d6a37208533efdc09b0abfefc46894cec3e91af2030d02fd61b798e7ac83bbdec1d3eed49e939585bd20a98b9a7bb75717afd00947bb247d584183407f48617fe16d5ae7161b67a98df43d12ff06553dc26a37728ff13e1759b55c8e4e0e3408f487d3b2042f92f031aebef8a28cf592cfe455b63692532ff13523398e4a6607747c030d02fd615aadd974ded1d0cb0ab39f45f5e995de1bfe57fb1f75dc6c4227e51ca54e5f60c0a01013387bf4deef4be315de9806f49363130bf1e5658b941985d175a3d260b2aefe33c40710e80f21c207e67ebf3c8c2e3243a89a677304595347be2a1e7b1288f4c231ccd7f4c84083407f48adff57b0c2864f21e67b7334a948815d3ce1d7ea05b7f1d43224bffee12753e3a041a03f6c169f5d7e6132ac3af9e96adae98abc3656fdaf63d740cd5612b6fb08ee37035dd020d01f2e38ef3622a2bcf5c425f9b074a52184ddb96ce09b4495cfb5eea3f2662dda4f193408f487b97f255ea25d7c455c24ecd0bd9392aa461e8c270e2cb415d6d3d61bb5ffe742091a04fac3d16b560c951f15c4e29add46136a0846df2ed424feeaa5cb870b6e1e970aaa9ac3a01053f84f48ca74eaad5e28ad1983558907abf938ffeefb9199b859382185e29411e5c20308f4870aeb05c7b4836ff1a4fb8366dc3291176bcd65fe60dc7d0d6efd81fe67a2d508173408f48768686be5ad64bbd9ffb51115a4372f354afad19571a9c86379585d7e65d37ec10e1a04fa4374fb649eeaf9640ccaab8d2f854f5a513c979becfe5a0929bfee8de036c3b942000d02fda1bba104f2e751e139b61e22446df73532b936c33681cbacca75f681f79aa51d2ba041a03fc4c2fc857c5a7ac4ceceedc97f3a4036ec2a7fb4b01d48c4aaac64b8b86225aa081a04fa43bccbd71a7d03d14b5c1a47ddce2904fa7d10a3a69a7fcac61ae18a39ad497d0f277a3338298bdbd3ba6a9c91b04f4bd8d5d394e51534fbd1af53a0d82bfa719cba6ccf2c1e40a03f7c91f59d28e60a1dbb6ff1304f5304bde73fd123327975db3a872ea3639c45cd57a041a03f3411c06b63acfeba3cd3eae623e1d4ffb32e7128d6e85aaa31be2ffb17c5cad6016810e80fb1f0ae0733be0a8a996abdfef4e30bfa44f695e01201854f8264069df8aa0fa12f6810e80fb9b687d1e87f4bed7caf967bfb963fdeb0b56cf05bb76a1c3db43a567ee61e3e0d1a04fac3579182468662debc256a338586b947571d124d670b71fafe85a2e3473c1256cca041a03f7c6d5aec4e7abaa99440bd2b9cca03b5ea274aabb3f89b628af6c55d9be0c2ad09068598c359c44c0528598ec5e207577976a5c6ab1b716e5d3f86bdecf57670609c40ec90790081fe104faedd72a9229ebe83a841f9fcaf8f946eb9c1ea4eff7a751212e1d0953ed913d020d01f0e6de3d6ed9e3384f08453a7c79f10b07ebbb1e6dae80bfe3ae39d147cdf5bf30e3408f487ee35420697e6e47ecec55e7ceb7eb5c2b52f45769ab3de7efccf9fc73fb39b880e3408f487c966a19dec5fdf38cbdbfe95e7301b3b0e35cefc6b7fd79041ece192b5b29537031a04fac31ecbdbdbd894df9f3c18dc02bafd148b12fb2a2f69854c0febb2f3505f5c39fc060d02fd21fa2566f23c9590a3ea7ef4d765a840f498ea6bdbfd67e6f4631e6cd4cd7d94b53028c4026e27f24121019b5bbbdb99e6f9d11d8215e1df9550cf37e651f3297ed5342ff0cf1f40a03fbc6668b9a40aa27265e6261d0c4e6b0bc936c140e9ac19cb8ed7e0151dfe1293061a04fac3ba77c28aab5f1170df8d16dfb97dc5a40c2d234de762fd11f5e17aaf47fc8ef9056810e80f112f56723b4f56887e8a793eff8539fe41f1364e9e967afe678b4b40ef8fce757cd020d01feeb986c9d68c57b9474a4b094d45720f6dfa364818942e7b9079cc179c92ff9d010d02fda147edef5ef4c61f144fdfdcf93e37720c9746454ddb2136fda78cffdcb3ad5d00fc4b01fa43e11d5a89223f365fee4f7d557fc5cfe4f5cbec061c05108751fb76a9a6fda36d615088251cc1fffb39c2d41f9542ec1b598ea88f90b308b179bae45c828af9af62bcfa9b010f20d01fd2a2f14eb72d3cc367355be591507c9abd5e67557baafe5e08cf41a4e98fc10a1b6810e80f437fa7c1ebd30b772ec832ea680f4422e2898afd75e6ee8699b4966abd171a424183407fa8be717fc87b8124f75383ce2b6bfe1f4d9f6deec5c0d3e381a7e8309993835fa9a041a03fbcb6c2b2e210f930bb4fd1603b8bf4c583013a941b3eeff643ba3fda6a360486081a04fa43a79312642dabc81efa2e53970fcf61e26bebef0959c2af765057cfdd75a761c8a041a03fbc8dd9587c6a6ad53ef7a256e8eaf58b2ccd975d7bb9d0540ca1c9b76c9350d74018146205d7be40e93326e774ec3f9eb4ce31b5c24b2a93191c7a7add2e59f2facd061c3be70104fac35277c5ef56d74458ad0499a8c1de9ccf3c6b32698df017873edf38325cee24af800681fe7036c4e20fdb21826ce53be200723f3d0406751772b6599b773934d8b776fa0523a041a03f0c884abe629696f95ec1d2a8be75395a8f9f622688356f70b09653a6072b96c3000d02fde1c6f40d02fa4f022c695fa122323a4891319d67ef22cd902d5fb89b9ed9c10b4bd020d01fd678cdd04cb5df76645633161d19a826fcadd7299cc68d640bad300b9368e237030d02fde19cd85d95c68c44341947c6f20934efdda7b8cc2c9a1fa41f92b08a4a3ee6d3b0c0a0106bf84f1afbf6888db792106289ddee916263d682e5d7bf49ec4a03195dd7fa8558901e40a03fe43134d93509eecd48bbd046ffc19d5c351e50a2283cc4b3a091d0a86d6af6d4163408f4878e04e4c2eb4655b502560c39dc36e7fc36e77adb05636b2fefaa4b5dbebf6336060d02fd21222fa57e82e7bbe17144f224088ee3fa65c5b429fff74207287e19c989d42a076810e80ff5c56cac24e00d6b6d0b07779f3dbea5bf9fec7c83ef1e31bfb7d3a8473ba51a051a04fac337bc5d288908774133489bfaeb07ff300827debfe52a55dfd49f1044a4d5423b070d02fd618eb61fb6b59724ca51383201af67a5c513bfa30395717dbb46e60565aba2ec2218146203d799488efa71056bbc2530a9692cc10abe39978325b2323e25f7fc84cf13e2c3fb0002fde1db956be582ae12ecb23e02ee861af5114dd7c58936d4e484b2bcf44024f4bd21d020d01f36ee48621fc5f72145158691583820f4f57ab77f21c114d557d226379229c4d0000d02fda1f6a7fe2482c43383aa90e1834d33d8df89ca760976f726a6e72539fa9aa498b6a041a03f2c625a49ad437a557268d61f6db9e8717273ade428c6af97fba94426ffd94e280a6810e80f8f37363493c5370e38dacdb7e5c8f1d921de8e087ea5be76825d52474d2e5694a041a03f441d42f0d12f734666699138fe4ee2c825f3dddbdd46685d47b313a34e7f181e0483426ce142898695b6388e9483cfc84aa29e692b774a7053e808f7e46fafbd6da9392e737b0081feb0a5b1aef8cd8498dd7f32223cd2b803fb55ec3fd80e8da65d3b92039cbbfdf27d4183407f48942a50dc6d2e1bb35eb370e5c6c7b4d9fb87ab746642f4df3dad426a5d4ef4006810e80f5fd1367dd0af1877402555a14859cd7d3fcd4bb9e836702c1fc5b3d0e753f61d133408f48712ff39de9a1ae90eb4555637e19957d0e1189d9917cd3eb7b2e11c4d2c8220e8820681fe50b3bcecdaec5d80143b1b3a4750e5c7a328d877e77efb054c6fd4295f79d9fd5fa041a03fe45da3c4d8a58b2686ca3544ef12190ee02c9a41bdffe6777fb8f82555cbf5bfff996607a796552e3adbfe789763e0a6b3932ed259718f3cd858d7f492468490f4383bccf80104fa4321257f0e95a96564097e3b0ce5261bddf943c79819ee1df31bf5df48955b5402a041a03f3c61ac526e5ae6a2b1ba872ddfbfd4c7e48b6f7f07296e2dfe2a112329496d07010d02fd617fbdafb63519af1177c67ebd5df96e6e3ff5c47f91585b2cf356d9d295cd1c1ea041a03fdc3a8b104aab5ecbb28e5d45d218a1cad660c4f8cd3d7e49115168db33df3ae50e1a04fac360eab6c585f6a1abcde0b23c218ad1a6e8f5058112cfba63ecbecf2f87a995934083407f18223021fa39d5a2e766cc6734a27e64f849865c85a150d6b8e833ee7f9d256bcf6050883d1c1e3772e710fbfac232a7eef5761ffa1aebb25b23f74b8502cb9153396a2a61fb0710e80f93e68ad8aba66efebd8dfd7935bbd06627c0c79f11e54a46153a4e0a0d1111a2000d02fd219ef7cb2e4a5abf4c31853ab88eca8c54e57f7d917b97725aef7e17e6a235b52c80051dfeeffb975b8b6af8e56737f3fd915e35181c6e9a4c1fb97b5cf4152e18f67b28767014810681fe10638132ffe6ec76bb28fe6263273f48ab93b765641a8d68ee2434d771e44977106810e80fe715ea1a9850f17f7ba26191f7b2527e0dfae948266e09db50789e75f5ef5367146810e80f7b29f8ec1222b0a82faa55635c0b9ae8f9140498745afc076794b7eb70c6b93c6150c83bb80cae6ac1ebf62d679ac1eed80fe154785db1ec9da491f4ef6c7fe612f5b0d3683d80407f68233d986c1095cd4e4f33495fa3094ddeb6ba329572b5d76358fb7779786d5d0d1a04fac35fb49c19fcdb792be78628df91b9254630e69c91a18996bf2b0757590b6bd0924183407ff84ee090558931adedbec8392dc2988362e958e33653526b593766c3c6f373de0bd020d01f5e5d104587a44f3e6f994b54a73b4633e29f93b4405a2722f78ad32c9e50d197010d02fd61d547ae6a7a0a5f49a1915ec2c9fab808e15cca7207c5ff18e83a933d2f15e39e810681fe90fcd0e15682a0111199617d6d96da9278bc3775fbf3fcd7811561037dfe0efd8721e5009748fa45487332e08800b37e4f22f52cc1513a4f6441f487cb5d8a5f99c6dfbf470f20d01f46a5b859e3f578cbc304ad5172962af93d856fbdb648837c55062c703f790c23820681fe30bd2d8fad23b1aad9f2ddc2bca5bbbc7f26097576c56232fcdacecad6463e71003408f4878d81624fdabcd00e968219b08bfec4a644c21488753a7297787267db63f617c34183407f48364c6c319adb537852b598c6a761aeb9fda664f47da531b15bba80fcbbf28e03d020d01fc633237ca752ecaf385f19aad4e3647cb3dbf57e6498c5b347f08612313bf19f306810e80fdf8c5797177b6e70a1929ffbdddef1a4a6eb67d0ae9f55470878f564a30f7fe28141218ef072643143c55957ae3ee792d4cca0ca6c1b16bb0e84e79e8e9fd03c8f68fa5e1f3e80407ff88d4dbd2ad68ebef19a6eaf92ef83a2559cc68b3502e1988a751938b5bf8cb9176810e80ff5a6e34de7ee8dca446e6a927527e7d1ab3b128fe7a9c9fe14bee0961ca32a92000d02fde1c741c6530fb79c9aee824ce10a7ae61f254157862cf1bf3d82e0137decb1ffcb05c181407f584e78a47b10172f6a152d47284311165599887cfbc6396fdda3b78f96d2d6cd103408f487fd5876ca7f1d83534b94e6ed8ecdb8a0e92e0d718bdbc43c9fe2dc301a4c64bc4183407f281edb73e655b421feef3ebefcc0bdd856f82c4a3de873d777259ad8c9370888813028c409ce0545f34d14dfef2b0f4e3b2420dffa7d718768feb998eababdde46db8cd164f20104fac3adb1a2b37dffffc7d85d7545f5f5011c07454252baa50441ba53524242443a2414298991ae2106900e0969860ee96ea4a4119016694441bafb59fcd7dacff57903df9bd973f689cfda3f6f1916ceb28ba8d2b86764655fcb71afba85f7f354cf311917d62007813fbc472e27fe9d6fce7cdb9c731cf545cfc20aef7824d23ce49b523d96bc5cdfcc5dc841e00f83083636a8be9ed88823d7a8ea36d41de45ee51bfe9121315dbe1c312957bf64801c04fe70ae51e9740fc5afbaa5d46c778b9ba2687fff98c35cb205d7be238cf9c7975e0dc841e00f6bd7d0e7477f06a68d3f5122553fb6a1ce2ac49cb0ecedf762094fea2d514d7c043908fc6123518708d23255a4e4f370324d077997c8e54da28086d2946d59fca040f47004020eb347520905d71bb23b976b0b7252f29104efe28f75b80ca3d499d50d632558537ed8be0d027f78b345315e2dfa728caa9db0e8234613b55ee8c54881c55dc6e8cfe63622e5ebb19083c01fd2061c35da7b353d32703e59f95d13254ce7f56fc4aea6de5981bfc35fe9f14b5ac841e00ff74bcc056614f10dc912b6133f6cc6cf04e05f4fbe32e922ded38a7f5c18832a063908fc21fbe4ec8ce00ebbb342f89bb6b7041830ff4cdc4cc114a705f717464252eda4529083c01f0abad94939eed795effde0d43797abc88f58ea9d950cf8f44bddf0684af058150d7210f8c396a3c68bb73f329138b4788442ec022e6369310d8ea642b673a965b0ba261f1e041ce680f44d5c4e427f8b23b64ee651399dc1a75f2e9d59a2d2d76d9173e2955e1e1552751b04fe30c2dc6191bd33bf7d24dcf986a5cdb3dcd12c42fa38cd506ee2a14ab897a5e91ce420f087ef354ffa1930d7ac0599672d5ff8850df35024b573ea0ffc7890f7b427ecf88f0ee420f087bb670102a11a27c663eb4777b3d51bf87897bede7b653e50924e32ab57b347e30e3908fc61eeec2e9365d160776eb3f1a6c7d393ab85ceeeac7e033679aa318bb8bbc197159083c01fa27f61c524caa513995fbf4893e5b6ed7b92e8eaf0d1009f691f058db954b067037210f843e4078e33c3778a4d11dfcec626598374e91eb5da5a1331fc93453dcd098a6f6441c06130e4c3e017e9f18e5bfe99453594668c5f333e598c3ad0bd9f35233a0f08b61d4469bd0d027fb84b54f1516df199a6b4d56bec356c36bca76ff085378d17bcf1fba84866a3d4762007813f4c32c35916e2f53988d114fd7cc4a9f08dce5e079f86897d452d7078649a4e46127210f8c340d27147be68d23ee53856aca5d754716c791b060a87ba633384bba86c4c69579083c01f72a30f0b24c3a8dcbe9afbccb4ba57fdd5ce4291c1ccf7370af2dbe624aa898c811c04fe30efed8307c6e322ecb406733b11f78bd09faa7b15f199b72bdaeb6e2c2198f37a2007813f4411793a17be8f6233c0314bd7163712dcd4d19922712760909ea51841bd546d8580c33e20717433c85c72ee0611127c1861ddc4a0157df2ef7841e369e8bdb0fe08f30b1cd4db20f08735cb5c74fb9a35f31e3625077cc505cfee32f2bad89b58e7636d76bf545b6ec2871c04fe9090adf7ef309776f6812f4ef4aaea25b1be4fd0b0d584d68fa48d5a0c5c87f822c841e00fd3a3f8286867e3b0aa1ea03e9132a6a475fefd840b932e6fc72263ca269d527e0b7210f8439bca1e55547dd211b5bae9bac3da0ee1ca8189a566f7b857772a97e3f5b258d22107813f4c29893c21b73ebc88d438cd52b5fa9abc6ade971c685d84dd8d1bc84b54df3e023908fc61febebe848baa48570f6df4f308b946deae159284f0189e4e5133f6f91eefd80b041ce6889cdafeb5e25e54e55e2b94a6eda5736ed2d8511f2a2d197c4137deddeaf57c85ec3608fce184ff0563894a14fada8d45a2b42473c0e9e59a377fb89c803cf3cf68dbba97a19083c01f2a105a932276fd23c9f0d378b8b4358cff8ebdb958deeb0ab590778b69ba5997811c04fed0673c3225401a7fa1420205cb263d4f11433f28f58aa28feb9b597665683a7c067210f843954e3392419cc09611f8892f99b40cea13b408e2fb4f7b3dd7f84564bb4743222007813f9414e599851704fa550851130e2c0be83019fa11ce74eacb3e6f93f5347df560197210f8c3306fc7b8b70e295edd4ac57b1b34e23a8ab50c71499967d4a2fedfbc79b36f3210709813f21eca36a12f96d40a7382aa6976d3e9dac53b977a593d27b248d5d36f6ef37994b741e00f35c9efce9b0fe72c09b82ad297b7fd809fbbfb557fb0a158c25250e54c2f6c99821c04fe304fe6a68fe6050aee17af77ac99146c7ef79564316779c888db4f2bfe5dccada1410e027f8867d4c8f13978ed73f48cedeb371a9c7db30d2e9b847fb51e7f8fb685e11dbd7a0e3908fc61020f0a31c56189d0e3d4c963f5a11789d58890d1eca7cb2a2445e1cf6a5230242107813f245e79be9381cdd727b1ba77c76f6253cfffb1a2eb79e85191c45e06c11d3ce151c841e00fbff417dea32588a06c26a4c5cba742abfe6149d7a166bb58d9c8f46f5a0c9dd61e01873923670f8d959f5e8955be88d5c0d8505af7dc9e8f2af6d552600af82daa0eb3898eb80d027fa806b77cdec331d6dad015151340abf05dc9d2c0f3227998eaf767b3c8dd3b85289083c01fd64f4af93c0f1063e52fc0e76164b5c57b89a070c5e0a13314cd9bedb9f3882d007210f8c33b07fb4cdafb5f6ab4de283419f1ecb2059cb9544ad385e3d85c5fc97a0fe6e2420e027f3884275738fa6ca414c14b3b109edf62d63b8cbf965eea37d73cd0fb78e97e8a36e420f0878519524e5c23a81d81779ce20cc622d09c45c53a089ae797333ec6ee97fffee0063908fc6195d8662fcdbfac07da08c616cce4dd3aea738ba80a2301d6dca52d99a025982e020e7341b22ef3941fc76b277dc67f34fb87fe6c90bced3200a5616fdbeb7844c13568dfeb3608fce1ebd46a7dab876aa4091e7eafb6af6593587eee1ea3bf6cf2f35d8910d77567bf0b3908fce1b3ad518b973758af5e3c345bc4916b722a9144656ea4395a57ca9e8fcbff1b93063908fce1aa7bcc49ca094e177151463e4d50a4225fd60c6c9423b1fdb544b6ee6be1b806c841e00f933cf14af7be1664adfebae823786b5a515947ff65fa4c99d69618f7c6bb9ed0177210f8432c9365efeeea8cd76f2853bf2395edc35a5f569bde9f57d62452e058f3bebce70e3908fca1e30398089b15c2da694ed8c0cf27a0b6b59895f24645d9b1e60bd963bbe5ee43041ce68a64eab185ad8a874ae89c9abdeef4d0fde42b82031f9b62293d980a5d7a1f999c701b04fe302fb9a860eb0ee1bf0511ad350abf27948ee4a6cd2a4632eafe86e2d8129293a79083c01fb2f4d0a058685b8f4a6b498885e4c054f6f5beae092fe566afc62b604c4cae17430e027fe8e5708e5377c6daf875036bec99e670904bd94b7389af060c97df82a249fbb00b2007813f2cd7fad4358d11384f351f5bc6c85cb5eab069770f67fce1ebaae2ade6cf714d919083c01fea60adea18d4f4e57c5b9e1bd8a65c6fcffce7367cff8100b75fab2e694c9ce528e420f0879ad1aa9dd40d6faed930bf8f0dcb86d2947470a4a98edbc79ebd4ad3fd33ae0843c0616ec8eaaab2b20e279e84de5f7a5b99735ed48d41a34a586d7994145acb9a1e399216b741e00f9bac56080fb250b81c349255afb67e5f19348ad1d0f58c7cd0a5f89031ffcc460a7210f8439e5ab74ffa64b4a2e3e9ea8ed69e98efbad79064749b5fcae2d50c56194d4d032007813fc47e5b901cfa49c7d67c47f86765de7bf5126745597e049f6212aaffd3c2df38d39083c01f963434d0c1ca2775e3369f31feabd22772adbc703561952bd8a617f4946af691871c04fe907382562260da9b1e66d9e2201d706557aedf95db383afe515ffff5ea349d0329e420f0875452a353e3788fb3b1bf6b0d092b7e14dcf5f5333a92607c9c41cf222bd99e788080c3dc912b7151630130f7b71a74a33a36989177c3aaa2ce1842264dd9cb5445183e7f7b771b04fe305f8b5c6447799adeaf95eebabf21ca44b8fbe5f99be7d2a467eef8417bad3ce49083c01fe69778a665ebd6d8ae9eea88da4c54b9b1ebe5155348dfb5afc9a94c49bb897f0c3908fca1f74454f21cacb883b0a4b6488cb168b23b5a61cd2653d2b53aac7bd38047c90a7210f8c337ebf5ab1b51541e4e94b31afb6679535b9b6d1655c1bc826fe964f222f8f0e82107813fd4b70cc6b9987f51cf586015f9d0639e39d64e7a4cf1a88424ae1d27dea1eebf2939d082c01f3ebf36e57c409b53cf545f2274a9196f2a80a895bb99c0b1dd29fa25ca509fdf8480c33c901731e10be6214e77b7e0e7a368fe028a5a1cc7d35248fbcf1418cebe4c7d5bc4b741e00f0dcd4ddcf926b4e8ecde6a7ed1a157a3d122771d3ecc29792ff3fb31110b016e1fe420f087f7afa4a2f94f68be650e9d4cc05b769eeffaf24fd6e449bb65f9bcf7ff78edd1003908fc21fafc78f1ca6fafcc01d4da31931d53946a8ebecd582f1378db1f09ae65bf360dc841e00fa775cedbfc961993f6386853abaa4fcf3f182ca39d7fdd1e79f33c2866505dda007210f8c334fa37368d38a768e3968c4505e5934893bf426572067495b151e8cd9abc743f2007813f14c0945138f636ed30b1a4206e1ce7fea98c581f2516cf7bf2bb80d2595e20ea13020ef3448693ebaddbe1e062169b2790795e930a93dafc19e8f9fdc36939772d144b9fabe33608fc2116d713fc057afed8809ed6e9eeeda90aa6ecc623448fa94b8246fa68109225147210f843396ba726e415d607a984981564f9eed3022c335d039bfe367aef5864e298172ae420f087e736975f32a40836ee7bfdc928fa85a680f55d93b1f94ff8b2c957f34edaa2485fc841e00fa55a92acb0baac94bff9e9191ed4e69ceaaf38af4ac2a5efef39e7327d0a7bbb0b3908fce1c5f7d687b6e3baabe9a40207dbde9dc827ffc8f055e8a3bf2ed451324947efd5430e027f48fac492ebdf353f5502d697d93b6d9df375039ceccf16a2132b1d263d69eed8fb23e0302fe43372216792d507554746481b23b148172e92ae7bcbac91ff2c458c12314e42316e83c01fa287304e465cdef149b68d4ca2d0da7be2fc30ace71e462d6f6afd9c6079cc7430e420f0877a8baf193a259d08c354fb32e7a65ea26a5da0bf56dfccd65b8f38ace2bc6a50851c04fef0dd7dfcecbd03556d35a3f95ee50669a6d011a9a2218cfc13b35f4bae59cc6a929083c01faa24aa6e6ef6d4ced64ee0d7965fbc7fa4703f86642b80b09c51a762bc908863137210f8c390913b9a73a40ccfb9309d19f61bb8d1dea8851d62a854caa16b6e86de28c415410e027f68b19b71eff449e349b919ea7da18f29c92514519a51856afa0e52c7fd4f83cd100838cc1bd92862b218a6e09a1b48a4d596644d8423cfcca3c4da69839acddcf4286786ecbf4f99c01ffe7d4ce2f15375fd07fd706a7d3fd7570f45236b8b486a8ece818f9149a771932a9083c01fda659bb3e4066853a2cd7de5174a421359b38978e3056727c21ad69a39274737861c04feb04a3f97e730570aa1bb9b57c0514bad3a9010fb56429a255f86fe99686328ed27c841e00f7ff37d17b6f41c8874d97bb4165e4c221f14d2233216fd6a7e50e6dd71ef518800e4e09fff8f2e1a3d32383df42b50638e10f68e1a21726ee30d43d6b077eaf487cadd6927851c04fef013f5dda30ed57e89545ed27d126b73c27ef60141398992eec0030f99a9ccdc38041c0647767a6fbbb9289ebb1af0c612f7f0cf204a76f3aea91a5632cf33245e5a36ac4fdd06813fac899a09579858a2f595e1fcc2f18abcfdfa2d8e00f24d9c5db05466e8329efe53c841e00ffd6374d538b6e80b4a24aa052d8e42c71687a4613b539356e2283e457b917fb02007813fa4c5641726616a6720cb9453f8b6d1d6ff88682943ebfb61e57b5db69a2c6a9e32c841e00f3197be359f6c8a1f773f1c7bceca4573d99093d04197d543b2639963b85f4c82801c04fe905d332fad0afdf1fe77a5da0b5eeba57657bf73d685bd05daf8349f47451cb8689083c01f0a300e9ce24d4d39a1ed36f38d747a6e59ebd319e2d00767d8bca957dda0ddb8bd9df3412e9c686d13cdffd55111101f17212d0c88dc285d9af778e55d85eae54af7240e761b04fe30caae7f7e872a236e5873c1cf23da8e28498c405648c3952fd0bc265c4eed1b027210f8434aeb0354120be381dabd5763a60c1eb38ae4eb1f3f2cceb730a8c7f57693a699400e027f18a67a45b49662f901b7e5631353e93321f81ee586d36a2d6dd7f58a84daf4b93de420f0873f27f1cf3ebd1aec7ef4affc8f802427379799070ae12fd151d12935da1fc207515083b6c01fe67bd7f2ca543c9339bae86d923038f0d0278f77f55e1280c579b46073b529a0410e027f586f45d9225bfddc9e2954bb5fda55f0eba0a9c9e4debd06a6ceb7e519882749b77b8a2fb214ffa0de6f21c1d19977a97f17bb7a7c20c58af7ec9596fb6cecf8ae565ccca3db20f087f2a645ba22723a2e689802f3c22a8596de0f02c288e94f93b9b0b47ceaa29e3b420e027fc89d32c780160ebbc0dfa470f717d692cb72a64b38688dd4bdd196c46d6b39ce851c04fe505de2668ee721876cf1ca733b1f96237afe36dc332a82c2870cda2e532c6b1ee49083c01ffe66a4e7e3916a3713a4147fd98027a994f250e7116b5e4987977755e4078b9b64c841e00f1f125fbdc8bb72bcbbfcc80993b337a42b0c17f5a76c70bb3b8ed0c37ac7a85375c841e00fffac1563e62789a3175b4a99c63651f889ddfdf812dd3b7aca72374bc9dd34f5f669d40fc98c743a592f81b5690bdb45f7b0b9bc9ab976c02e13ff803d2a2edf774832927b1b04fef0d38dfbe73b59bb0b17d17598d804857df23b17b874f77b7d29570def7134bbb7420e027f682d67e6103e2abeff5086b088e012e7ac7466a136532127ad66f48e3a8682313be420f08723825231eff8f56c259f5b2d6f72f094a70bac63796504c6a498f6d4ce6a085f410e027f18bd91102dce2ff450d2ef69d3e40765b26ef669ed1ab4958d7b9bfe8a8487afb82007813f9c58142115fcbeb63f8df9508993ebcecfdf78854f6c7eed90ed33f9db492b6e44410e027f383a9e3fc750dc67b6ff1c9b98cb65a44c63baa09781bee7344046c7a0545e2d020187f9236ba44eceb7e6d93e49aff2e7dc85771d3d2026af383f3ae720287bbd9ccebec27c1b04fed0dd06e66ff7aebdf235475345ef4cba667793cc807670cfa8fce1ecb25fa8f33ce420f087f60627711a7ed87446a8e762ee9c9ecb8a4c6ecef76791ec3fb9b96abc38907d9083c01f521b5f3b05a75da8e2e5b3a63a3a7f102e64a5b35cfd52e34138ed871a766731137210f8c38ed7c5c2dd0698fe93787c4c332395c5bec1a92987f041a7a1be990d41cef200c841e00f8d3799583cdff62af9e57dbf764f58bbc93b8a651a7dc43630c2f08cff70ef8f30e420f087641176e129af3b7e3af204ccfcb34c24955fbf88fd4a63d84670287d3f34b14b1101872190473409a654419dd813e7937f4a6373ffb064c32619d43910b377b4debb2296c86f83c01fa6f269af763ffd209bebb8d0b3fd585e8748228135c74549a4e3ab438380497d1fe420f08728dd63306681f22f0785f5b8e5638e8efa164584c944725d0a6589f6a2560eb59083c01f2e9917efceb0c6e9915014c4b838f75ba64c0ec9efd11b1559d61c5ca9ac1607400e027f28f46b7271e3ade6e705b7e3560117923e36d4ed000da3e8d9989d7bbf0c4de6282007813f643574203d389352eaab387a168434e0f98dbfb0d4e4bddcc02dd8523af5b56a157210f843c5cbcf384ce5d48cdb77b3e609f8b15a6405658de41c8b525b4e50a535221d6e77bd0064d59f356709b640b6e09e1ad9f4c40f6bd5d356926221c66f57bf36bf8d3f2bddbd0d027f586c31fa8bf07bee6bef60af4d1cc5c9dd413bfea2aa23b88c4fa889dcc1d7e402c841e00fcd8c31433aad769c7deb183eb1a1f2b8b28be8da73f1f454f91de04d9b31dbbb400e027f381c3237771c58911f1a9be4f061bffaeede2b9bbc45cc1e279e80bf2f230d19f52107813fdce0ba7970bf6b2c48285bc4ec63265922670fa7f0bf9fe4951f880bcfa2874a072107813fbcf8427fa06defc792c0a4c97d33b280ed37fb5b245d082d567dad3e385167ee09e420f0879d610c99b2df128efe7ed6be27c477a5fbd4f2610ddf218fe3f79172d3c6287b49041c168834dbe9486420d9ade7484fbe512d9035655c91ab6fee31f712ab7c842ef62dedfc3608fca14021dd3bfec300c59bcb5169b8c32fe5e7560b59a1df3e243b8de6141b4fa544420e027fd8d5f564fe68fae93d5559bc824b1ebac1cf123c9eb52113f5234666779fa2adc9430e027fb855f6ac3fb6e9fe59dd8d9b19f7133f6ffa163cee13dfd89c0923a7d2c12ade03c841e00f97bbce062de4d7672e4d52b9644771ee1e87b48d0dc573f09af664d9aaaaaa8f410e027f88ab3dc3d09cf34849d977f5624aa8a5f3c79a7e5660777b40bf9ce9b33794bbf39083c01f320948cd073e2158b78812e15ac4f8bb47adde9fc0604897915292db6efd4ef31401870521e90a14054c5e04bb0969078d06f6d0aa7fd059b8333d9f7ef96935bd15eb32a2ff3608fca13effbb3475c7ce07d9cd5f254e345e5c0935f60f4aff9b3c5f2f9032fce36d9a0f3908fc613fff254f123daa7a2ac5745b77fe57ba18dcc5e72b2dfaf2327f745f253869f9400e027f18e1fc9e634abed5343bacf1dd82ce8d7c58cea5eb57fa989f3587399356e271679083c01fbe8be64fce92180d7c43963eff68f471f7b3816a0998c0c3eb4762baa6c612aeac9083c01fa23c89fd77cf5a8e60209494424f72c6155ee63a49f9a377d3e5d5a9c5c26c572ce420f087c90bf8a17aed0fd3aafc6c9e309a52bf229b349cbc0edc617eefc05d7d5e10f80801877d44763774d69d6094c936e5becf099cb84ede7773242d72ebcb71af3df459727b67791b04fe90b3ff4137d3faf878bf703763404588385e37919a9c271eeb087b7df75d87380ec841e00fb913fd58e21ddce8eefd46575c5976de310aa12be2e8dcecbd37de90a719f8e91be420f087573275b1b8832aaefa37c2017c162656ad8ddbc83798fcc6c3f186ee1570a269c841e00f4f8e480993f2dee58518c83e535231dcb0e11234d25540ec0c7e6aa02cf84b120b3908fc6183b7456a3366089195e277da80e1b55db5661c8f4051a9d8b3fa2823c5734f04e420f087d9e6f0e338d64dcdb0eb7646657bd23185b7bfb1cef87fb674be65e4d5763771821c04fe3004156380211dcfc1b2d866cbb3fd53054db7058a9fc8eb349f9b0ffa85a592279083c01f6e0cee7f40d8341ef9130b8639f3fa98c8e9f9bce2df5f607a9637719eb1bb62013908fce1bbdd7be72fb1287eb125dfa45cfb5556acb166ea74ac0c4ff5ffbcaa9c4e2399871c04fe50a3d7550d4983efecf302cb477584e5f110c7233f17b65f857b7ab8efdf2c3f86beb0813f2cae4976c144a110e9e5f9fe9ad4b715ae58b2dff82f70e8c869d23c235becbb29e420f087483969374dcf06d6ce03bbbe26ad1e454c11dde66656cffc46e3e9efbcaad12308382c18a91c81f5d07c84d1acb0de8724327bd5a92e06657d91dd9b47a0b94f1ace62f1df6b16e00f49a7eb0905c6fe540c2ff9eb912b988a151dbe7151b7378a732fe59521ffb380023908fca1eeeb74d5eccc8dfb46ad4e398bfd1cdf4e9b227e8f3b9d69a957bc5c45f7c6a4871c04fe7067a83923ece57d85e7b6b0f90713ce3619efbb062bde5fa58a9ff5a5a348d22d410e027f78eff3f5169de307a6cfbc729b4f51e8c7cd7ac5ffe46a9918d18a585bf29a659e420e027f283cc4810a6311443bdfad30c59ae6c744eb67b5ac3e48fd3681e9a3838aed19003908fce10f0d6aca5a86ddc0f6170643bb5db27788ce957b822f5e4fdaf4de4993240ebafdeb8520fdfafd1e6ddcac4d456957b1914cd2cd114dc6df574214f72b30a7edd3751160dd06813f242a108f88cfc8fd38a61b18952faa4979d83fdbd7f06983a0789a99c6dcf06e11e420f087fa0bd3975f909ee4c585cf2592e8bd976847458b5c7fac9b69983ea436e061b9033908fce1043a63ab01f62f9ecfefdd677ee5e4abdd63db2d539031718531de173e7ef1df10076841e00f87e5b6af1c1efeabf3d3f371b16cb2666818b612a5432deac03d178908184d0d821c04fe50eb872c8345959a89ccf6f79d388faa16e2e9d1b1966e7787e0f1a3be606a0121c841e00f315cbb943822c78ca2d8dde8b2044b48279185fb844d63d104321aad817f25ec1070582832cc30993c723533bbffec8b35869f90c947892f6e83476fe8384b39f0c2d4c4756f83c01fe69e383b72b6a5994478d4075b37f25b36e1bebcaad5500bb69ea1f1a9c7c557861c04fe50169ffead446569ad768b1845b85e3c417bbf454cdbc7e8217b27828c52ec2b7ec841e00fafb2f688455c45a95f8aa827518feca578eb3fe21736471ae5ec248f71fc22a2821c04fef0205f99279d284bf266a87653f122ecc9acc84079cce97872c5da4dd8dae8d21ee420f0872929840558fd9643113a5c4aefbf52d4b02625397acebafc9176962f8fdae32f801c04fe308d3a337bdade6167da35f0633496c70bfff73b0d8e513ad56317d2e8cd0f7b9c1170581832b5853f3287ef18bedf4798cf1fd2a82680b42e98794db768efa5f76bcc36febf6503fc214ac0f2c7c7b83e6a6a73783f76afe839dc3a57ae1205886b1fd4fb4f8c658429420e027f88bd84e5e3b210b9c2f16a4420c0cc959abd669cb842ecfe53e357d4836b3f90d99083c01f6eaf49753d22f9249eec42e51bac21969be89945c8564d49b193db7e79ed30b80d3908fca11e9779a14ed36e947ef4d85d57fd6a1a47c75d3685f2c8b82732a9ce3a65d1569083c01f56089b2fc62c70d771efaf95bb6f2ef3d7156dcd3f73991f62af9437f7fc948e841c04fe3082d483c7dd822c0d779d57f4e6e0dad1d7ce92b3fcae25adb498e665780ac70e020e0b47d27c89f74fa46ea90cb172d068b317f44d3cf59d99b11bba73a4c24722826690771b04fe9035c64eafaa366f5b025b967ab02c3430857fc3f71b4a77c3d38e9a183e463e7ac841e00f6906b6731d877e2e391cce0c9aa56ddb4cafa06ef5be2d6c5296b228c28437b6410e027f38cf134c58613e6d5145f7f60503a33c0dc10756ff19958962ac1fa9d9117525c69083fff7870c85372a1c5b0ca9de2b843143eaf5b5a9ef858835a9a59c4d702c4f8cea6b2007813f4497e3a533a01a9b0cf8c812ea75beba6e7edaa3852a31359c4241ba4b66c6b7053908fc61e69f45ab6f9ae8a418e84bef2d3fcb6dfbd46e14fdab5560fd789c8cb2fa698f0f01874520193366c8ff49dc45d4fde2ce9c7e4f8090c5e053ad1836e9fec727df8996beae721b04fef0eca87e95d2d2eae11885d5003e5698552d4341c5e430afaffb5a05733aa7650ce420f08734ae3c12a9977b93d7093d774e6b309bc474f93973460e5483cb7b5496acde14430e027f781c3f4bd8ec2f2c83ecb1d15b4e542bde933b5c78b094c4de121431de9a97230b3908fca1c5e0c386696611368b55794d6f3c36bd7724d5180a781f3757af691ebcf49df8063908fce107f1772f601e09554812b32455ffebd8215ed61e4f5b9d167cd466d211a92f879083c01fb6d7620dc72d2b1d736e87b3f167ce0e0a8fa3e8bf784245a51d35f742b8df2e12018745220f777bdaf125c3cd7dd0caa2482b738cf73326c79f797cad135f823f1efede8b7f1b04fe30f2c43f0c4dbe1e53d6abbd8ad28ab55a40dc9497823321ca977a2568b7e3bf03b7a105813f7ca4a0fc7961c703dd81812153f0e69da7e6362a59ea0bf2add0fccc34e534c6979083ff3fff50abda0c85fe0943e9ef1b4352df5c9bf70b57be3262bd7ed3f2373cf47d63069083c01f22882e7f6851b40b7695fdce1bab3e7e11edf35675ec30499fb270dcf66778d367c841e00f19dc1c845061aea1186564f2e743084392a38d3fe3e5ca4f530adf499563767b420e027fc872ae6b33764736b7f3fb877475f3f0cc51d2beb71cc2d5360885637ad5c77f741170581472bcd16b4ea5ea094fe1b06c2ab3cf8bf8b7736e1af5ef0c439bfc6b33062a446b6f83c01f9a75a9a86c9a4644dafedaf5fd79b45cb9a130aafba0d57d7d8dd87abd2ef3d54fc841e00fb5b971953766613248ed32977b922274bdb3edfaa2465fb24f51ab89a9b644b22007813fec7c203a81d356d63ecc123358f7de4c6d9d6b0f7bc4ab822f9cad093b6343460d7210f8c341e1040ffb5f95c779d9a4e282581258f1a424f077d37a2586f3e8bf3dce47d02107813fe426b5e754b66de4e0b2b109ba30f6785bf066fedd64f93a0fb993c2dd7b726d549083c01fb26187b7d2b7d9375ea9140619171149b209e910796f725ba13fbe64f714e7ae45c061d148af45b3853d2a2eb44e6686bae2b99ce94ef57f342931a54629e29de94c22a13db741e00f83bfaf24843b2d3efd3ab4965fa0ddf2fc3da53be31f85f97b7f99e9dc3abc3b7d2007813ff4d41a661f98f9f20d7f3f739bb4e5ea93e6e68f746e3b1c52f3b58c585ced97f49083c01f32d7d65928767a32cad106d0de10c22eb4cabd374fd67c8ac8dc95f14d8a4d9f410e027fc8f52b45f978f2dac51d4d56a099db58f7e79f8a4fe6f3d5621e6ad467626481f39083c01f06738cd26c728729b732beeed85bbac2491d6c52145aeab1ee2776dd246c2699801c04fe907f5c4e171dc1ea45377414f6facddf122162917ebe1356cd9711b35c1831f4ac08382c0639eb4a877059f5b0fec4a79ddcf74ffe85e613ebbae6801924b154167b73aac2e26d10f8c38a33ad02a62f498b38976e8ef77ebeda3f89ee75ad26e6205aed087929b2137b083908fce1de4ff1bd4fd4c983123dda25b8d8d4a5ad23f93e6fdef65bec2f57964e7e96c6801c04fe70facd8c95d3f9dff04182948f6c2dd8c7512abef21a722b0c2e8adc0e427a5f362007813f3cad1d94e4d616489414ea38a5cea10acd453b3bb159e4fe666c5c32a04c7e280b3908fce1b8dcf74aced9d6ac523e9585bbbe58dc639126f4644387c17ea7735dbdcf472b2007813fbc33e377b535be66e00f172a757e82ea25f1a888367127f8b92df17b7c7dafdd72041cf6094976f6f294823e71e13adb16effbdf185182f4d5626363d2d16c46428e2a16d7b0db20f087f9aa962c118c464807b329af03b98a1a538c0e4111a2dec2418327af9ce7a7a72007813fa4296028b75e44afcd1de1fe2254bb65d3fcc01b167acc7230b13548b2e2a467013908fca1d5fb7e8d2033de7281cd9b53c6a0e306117eb210f1facfdd720d78cab4bfd4482007813f340e36a9df72aa535896bdf3a132aeaeb4b6f1a9aaeb4f3f3f33be7a893367c7c79083c01f9a116c4ff371bc963f8f66c8122fdedcf36f212c5e7676dcd10bf29e8edeefdb841c04fe30f911acd22bae030ba318dbb954b16c14bfcfeacc3887b8929c0cdbf54df29034020e8b454a6ff893e1ddc8532b9f33ac39d849349557ca2a040ba8dd43bf4a740de75321b90d027fa880f44de21e9230c7266c97370b78e4a980b59819b4c71ffbb0487f3eca2cac0e7210f8c3d5eb1d961766ef6350b818be2b78e02778b5c41e390a584690c7fe16733b6a6c851c04fef05162b81ff5632ed9ccd1f1eda93eb7df311b0ff13c84a2a2be5af88ec7c76b98400e027f984170f990ecbd11be426ca1eddf6fa29c26f8bef75a4f28958227c73ed9753f7f053908fc219a404814c6b98bd36b8f10715a3dbc8a55adc7945f9cf0c6ef086a3fc3dd51c3861c04fef0d2e4d7125fa74077752db1327c82ea9f36c1547ce1c2f439bdf1a6a77ee56629020e8b435eeffe64fb5251618b57f2de2d94b4c1473ff387edd8b107c1c7e3c461ad8cb08c004b1a3be00f99658ae5c71c5255ee89fd43f67cc5cb95c4646bf14889d1b43fe70ab2d8d94b801c04fe50344c85ac1985b9081d8f8bbad2e848d3ee55fb847541bc6f545f7127b7329311e420f08733175a8b6944afcde97dd7243f7a76ecdccffbfc35ec23c7dfc820fd77ef22fe1a400e027fa859ede3e0a82575eecde14eb8db8a93fbd9613d50ef9994f30c8599ed74a02b11e420f0879b0e7ea815fccfaf2745893726e8d89f9472191eff1014820be5be4bd57c1d99073908fc21adef10b540853692103d4451dba2a69efd4ea870f76311060b66f294b78b0bb73f4a3c32a7e22e4ccda1edc7357573e4cef7fb54e2bff1dc7c0a5fe97cc1f58299cf06de5e1cec803f6c9796c97fa721a94eb828b635a6eaa151a06c3218b2df7d8db964d7f538bf95137210f8c38bedba973baeede7bacf9a742fce57989588e5f307c813c537ffe90f27dd2fd1831c04fed026c851560e258cba7296e4d249bfd3fb63eb273f9bb0ca7b6f725c94fa6334eb2107813f4c6cb9147dd165f4ccf82f4b2a317f5633dd71cab005eba08ecc9b1e42ffd2f31cc8c1ffcf5fdeee3f3e37cd90843f4bd78af552581fdb7ccc3bcdf73a39b9cdee1da967a93ee420f087b9bdea219124c9120709cce629d6659b6b572bcf25099ae35a6a9890540f77ab1070580212631a17c6e07e85b6ab77fdb7eeaa3293ffbcc5face773a8b45f23a2a17531fc7db20f087f79fa19af16eac8509b3113e4aebb9832b51e7e4f5c6e389a2197c74bec1034f107210f843966f4730e1a589e2b6dd62fa7702a82f99de353e32750cd0173f6126490dabdd861c04feb0478aa56eb59b37669999388b901a7e5cadea72a03349ebe73ced47595cdc1a083908fc61bfbdeed425e2268245768700332577b7f262e74d86d076a99d8250caa5b4fe67c841e00f0be40a8ff0ec66dabea986782d969fcab7074d1948fae60f5fb16f6ce546f00e400e027f18f6eba1042d81fa10facfca3002039e220a4a984df8b092418b6b4da0f417c334041cf619b942c42b45f9528ab5c6fd1d81b275ef54585a9a66841de1b7aae8c6d72671c672b741e00f0f04ea8436bf044484a4b2d320d09f3d3f50fd8bfb897b0d83439bbb7b1cad32097210f8c3196f1293ae3874e5e2806efa69163c52f7a11f2fcd2b1edfb7df673e9cadd1f1851c04fe30c4d25ab0aeb805fb06977a62cf8c63bdd9d459f5b79ec3771e0689d72a813f452107813fd4f3ed3376239fcc706fb8db13eb6c57b8b7901671201eb67dfc42f8530d3a792de420f087cd5ff0f69864f7d79b8e2983762793a69e3a17ed3797a4b8ffd31cdd1010f929093908fc61d76ceb03e156ecaaa5e30e1425cadeb2465b3b01d2e782860a62e4673d1a91f71170582252774257596deeca612c66439be36807b65331fcfe8428ac4042225129f3e3ddd1db20f0877a6f3e37962ab2bea7680851a23ad850a558fc5335896be5dceb32d7233280fd077210f843898d2aebbb1ef36289a7d80e035e6986f3cd16f43417ddd8435444a2ae52a6d29083c01f4e94ad316ce467fb3db0231d2ad5cf7df9f85753745397a6be2e1aad8ab12d760ce420f087ab689e9a2a29d8535ebbdf950d5e9645b3c788964713fc4cf3fda6698515ad4d013908fca1a95620eeec80eff4639517f965685968011ee3a80c8281d522c791f7374eed1d200745bffe2f0000ffff66441df501c001a03618f11d161661d812b9b4a659001437f5a8afc39ed9e0374fdbd8f858475a45a064e0c7957ea72581a3add7c57d642a258a5b4a745629dd3c6e2ada1a6e12d5bf", + "0x02f89183aa36a782379c843b9aca0084b2d05e0082573a94ff0000000000000000000000000026001115500880a20100117d6ed88fdec71cc632fd033cb94286db66a25d2af0834f255412e3306f3f3fc001a020a4a2e71344ad98e3f72a5e58b7d9fce5465b1fbf54bbb4d345650fd0a89afda06724a7d4dbf19eb6b89e6f12f98cbf541ff2fd0ff8ff24f779558fb02a03c8cf", + "0x02f903e183aa36a7827164843b9aca0084b2d05e0082da3e94003df0b259de61482d1f9e06f2d010fd252b4df580b9037001010001f90369f901cff901caf9018180820001f90159f842a02655a1f1b8caf974ce7c4824b235efe1f6a6cf29cf676d0075b1cf67304fb69da02fdc4b8700c67358d7e8a788edc6634a1ceaa707a6dfc48330b7cb8a3a07d1d9f888f842a00c098ba493aa67b4d14a78c18d4f6662dbc624e4bcaa02dd4b2f96971a25337ea01e0d57486889fea60c8a8d6b1ea2410d07e1d38fbb4b1d821438d5c49642a4c5f842a02e40f5b2af038cfefa4eb2eccb0a505b251dda95672d20a01c71ce6560fa2b77a00d5b49290221abd611baeb1d335e31565d65fc035c252b66b7e21042df33a6ebf888f842a0076bf991cdd505ad3c0cfab6adefacb35557a87bf4e90b7e42afe10e20b2333ca01e6680efd3ec84e61267eb712e9336a183a9eb670a4d9acfb0e4da274ef995e0f842a0219bb9844311374c91118c0b90a6fe091456c71d2a820b4d96e64a4ad716a929a02fe366ed991a24d87b00f602648f4bf57892ed078a60d0cd73bc3e3a5d20de3e10a03d0edc85267d5e8b504f1d29d2adad9180369f4986982abef543764abe932669b8414c6316e7ec8253efead900a275ec048af2610936b983e5eb2795eac93807520b158e8d31ecf55c83d48b50facc217ea2ab004182efc0cea4dbdbf1b12b345d4100c202018080e5a077146890e45496f7be4a9ac24596cecb6b04b7389b69c78c786f3f5cd2f088f8833a1583f9016bc0c0f888f842a02c529e2be98579e2014c88be1a55de2a2bdae0fa386a55a1451afdf3f55216aea01d67f7996082da1d5584a2fec5d6435704172eae08c618fb5302a88185da6b98f842a023149cbb219ce94bba815a641d3e7d9b89ee32ba387a971b3ab370989490193ca029a1ca8f61096affe2beb76a59f92af0c0a2e33333043b80e03e5a7fea0cff5bf888f842a006dc91dc0cc3b070244ffa433a007a80908f660de340e90a11a4564d294c8bf4a01c291a47159ec4969f91ce4dad80db1605f3495f52e65653d7a8c441622b5e77f842a00682484a2310a1950d7bcca3501cf10dc6ef0ecfcb7d2754568fd5b7da4ce034a01a98be18e6a51a88ec6730d443f37066b72406fb99d0c997aaabf1e735f3c491f842a02c8866dc25977c9fb2412591dc7d7d4b533e2038e9910800db836249832701a3a01ae31ef8301ea9da2df125b65ac80d4fb6830b567666c45b06893a813e19d83bc68206ef820894c682092d82099fc2c0c0820001c001a07a77408a696c243689cc968d80ed26099cbac95d3524d53b6dedebe0b67665f5a0638664aa5c8db5f3ded4c8878c51d1811749a913e6f38c55106f7c13071a38a6", + "0x02f89983aa36a78301a90f843b9aca0084b2d05e008257bc94582d8c8675f58430581f2aed0be486bf2576d8da80a9ce1ade5c00000000006f307af27d884789e94a8b353b06af8dfd158f1e65b6d80b3082954bdf002ce5c001a0c92d98a7ab2933ec0f171130fc25b5933315b5a65e10cab270ffad4da7144281a0184875e6c6ef5031e0633196cfb54f17c3afc08e0c3a47ea22f3cc3da7a6e0ef", + "0x02f8f683aa36a783025828843b9aca0084b2d05e00830156e294a1f78a7b6a813a90bae662eade43f55cbd8734b680b8849aaab6486f28e22c4823cfa2c2b0ac81757fa8b1e8f287afe553b27526d6e03d02deeccd0000000000000000000000000000000000000000000000000000000001a55d38415a9815aaab7661321fb6f972da6a4dac2f7e3dd5bfbd07034d1c37ed61c80a00000000000000000000000000000000000000000000000000000000007e72d0c080a01ae2976ae48c05d469c86221f0f50862c733de3507b8063b05be6eff1ebcca71a031832f7f6a2e67edc81a7dc11bf523ba441ad183f06a45319bc3a5a13a3b18d5", + "0x02f89983aa36a783046caa843b9aca0084b2d05e008257bc9437771c0079ea2353f88e13a49553bd4b5416976b80a9ce04de5c0000000000d35cbf05aa73046d87059675b735e3f7655713641a88150657003d9ae98e2328c080a0f2bef99eaeba21234598dea717c0f7f18c027b036bba618f8b444611d2ef0b27a025d6b060c3cf2bf8829fd19da5c8ff65fcf1bcb8bac86483098203050d7a0d6f", + "0x02f8f683aa36a783010c64843b9aca0084b2d05e00830156d59481f98ab4a9e5f2490fc3fcb446327bedf21f1c8a80b8849aaab648bb8848c0d69efc37a50db5ec7c17093161e48a2c8bc46c970d22561e3c5b48e70000000000000000000000000000000000000000000000000000000000bcaffc415a9815aaab7661321fb6f972da6a4dac2f7e3dd5bfbd07034d1c37ed61c80a00000000000000000000000000000000000000000000000000000000007e72d0c080a06f4bea8e32ef24d72da4884c1821794daac0cb1bbeef7f4cf63ddb9dec3e8d68a03d2e013f395547c3ba817a2803aa7357ca0426b4a50e3b8e9c69246998bd1f66", + "0x02f8f583aa36a782284c843b9aca0084b2d05e0083017372945fce9fe3b0ad0c35b690bee5bf4300c1d965c41480b8849aaab648c0de67a8bf656ab223fb4ae4572a6eb38dd6b3bac2ac32462f70e72a1f1cfe860000000000000000000000000000000000000000000000000000000000128bf8415a9815aaab7661321fb6f972da6a4dac2f7e3dd5bfbd07034d1c37ed61c80a00000000000000000000000000000000000000000000000000000000007e72d0c080a0f8f95b93b4a9ba1a6a04dd3ce68e3c45efcff34d0c99b88afc019a845c0ef649a02dc143582008c371270b04e4c18b87c4c7fe9be7200b298f43d5fbc24c1e550d", + "0x02f89483aa36a7058433c43ce48433d3f6db82a983944cec3461dd63f22554b7fa2abba5bbfe9e86ddfd879542f1759737e1a03db12d3dd43bed7b57db361b15f5307ec1e218c99971601629a8605bf0bd2e26c080a0a6a5836496e7cbf22cebd73c867621f587cc2b6f0da6d0ac613407066ba6ae73a06adaba21c8e2e7f23c514c5e2e09b3b1c71a73b74954a991ad94a3f43b74b284", + "0x02f8f683aa36a782018f840f7f4900850fb7504300830493e09407abd582df3d3472aa687a0489729f9f0424b1e380b8843df0212400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002abcf9d4000000000000000000000000000000000000000000000000000000002a4f92d0c080a00ee4b562bceee59f2baaead420080e6951cca231444e979ae4086eb2901e5179a02b549706881f9696e29963a265b60b3e643b91859a1c0f1c0d0e67d82347de04", + "0x02f9013483aa36a737840f7f4900850fb7504300830493e094bd6b25c4132f09369c354bee0f7be777d7d434fa80b8c41a5f0f00000000000000000000000000000000000000000000000000000000000ce6e47b000000000000000000000000000000000000000000000000000000000ce6e47b00000000000000000000000000000000000000000000000000000000681d8b67000000000000000000000000000000000000000000000000000000000000001cc41a31a4f455382ed46ad82e34307fb138f206a6d36b048a9d388a7d44d5683747b6825bb9a5cad889ad51393a14ade68805508d843e4053af7018aaf6e0df1cc080a072d28bbd1ffe8502ba99ef1092f0abd6ed42787c3258e7fc45cd690b987ec6eaa045ece0e51b72be7947d3c5169888af017fe6fb458a417471aa7476bfd22026c3", + "0x02f8b583aa36a781ba840f7f4900850fb7504300830186a09420c54c5f742f123abb49a982bfe0af47edb3875680b844095ea7b300000000000000000000000061f2ab7b0c0e10e18a3ed1c3bc7958540374a8dc000000000000000000000000000000000000000000000000000000000e3eda66c001a02980f05db0175239e5d4f3e710f6b591196508d0f5359ba9e4d2a4121d613780a0232062651ac15113a60ff771345d318eed308ba25ededf8005bd9da688a8cd3f", + "0x02f9053583aa36a7818f840f7f4900840f8f69478302130d945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183eab82c3f45900eb4deecd92d1b7a5bef5d65ddac70809163e3ef6d29abcdd73ff420a25bca70000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000000000000001471a53a8c080b03016a66bad1cd0e333bcfe00eea000000000000000000000000000000000000000000000000000000000000000000000000000000000000001471a53a8c080b03016a66bad1cd0e333bcfe00eea00000000000000000000000000000000000000000000000000000000000000000000000000000000000000147b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d57726170706564204574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014b476983cc7853797fc5adc4bcad39b277bc79656000000000000000000000000c001a096c3fba2329b0458b31c68dc8ba88ad6e29bbea26af3d234d686720b895591b2a036f957b17c7bd19cc5d8d13041301719c75393a935925969f454938c6d6c35e5", + "0x02f9013383aa36a748840f7f4900840f8fa5618301181b94bd6b25c4132f09369c354bee0f7be777d7d434fa80b8c41a5f0f00000000000000000000000000000000000000000000000000000000000459e44000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a055947263e6f4dab60e98aecd0dc9c1df089393db89d67fae2069ccdfe015eda5a0714316048a1be3d35405af43c382ae059d149f8077ff7dbca36d9fb9592b4efb", + "0x02f90f9483aa36a749840f7f4900840f8e158c8305198a9430393ed7e8b2243df7d1d42257aacc203c382bb980b90f246053ac5a00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001c6cb687c95077212831cc29e6404db59350c8642c979c5b9ccf7c155490cbbd0e3700000000000000000000000000000000000000000000000000000000000000004a2d2d676d4fd437a571b623756b566027b197a686d42360e6490a1091f5cc103cd93611a9ab9ac519fcdb4e26e1ab618d3ef9f08e68c4a60b7fb12482365e18f3fd3210dedef75a2eb2248e7b8dfc5901ecc7b917802801d633559f64f58acc00000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000001502c806312cb859f1bc25448e39f87aa09857d83ccb4a837df55648e0000000000000000000000000000000002313a5ec1cc6ddd2231dab53366138945de1dc4300000000000000000000000000000000000000000000000000000000002dc6c0000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a454aa43a3000100000000000000000000000000000000000000000000000000000000001502c806312cb859f1bc25448e39f87aa09857d83ccb4a837df55648e000000000000000000000000000000000511835d52f6a89f39499f8ff35a1341ea53cb93e00000000000000000000000000000000000000000000000000000000002dc6c00000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000a4596a37c581802643ca7af6570b1d156a1624eced3512cd2f119d6c3f493022ad07b6082a000000000000000000000000526ea8837bac1f035c6ca7a5965bc0781557604400000000000000000000000000000000000000000000000000000000002dc6c0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000214f90211a07bcd469365ef351fa530e7b0e7c78261a36e5e6e448880b882c1d553ce16dfe1a06d69bdebe8c7aeb5f5d063e4e84633c2781f263598f4126a5c0a8acac1784980a0dfd368de36a3df800cd94c36fc6501eaab825d724249a0dae9596a34e804e808a02234e09ed2872a5cb28c984e8c8bdacc9dbd1145083590517cea155ea03c5b1ca0393962551791f55d8b72931deff44847684a458321eebb3be2668be60f93b0caa047e828c7c26e4def4bb4575c23387bdb46e8b32e75af69ae478bcff7529adf93a0ddb4c84d51f91ed4cb941cbe8cdf26b34d0b1ea786891ba9769085c54aa02dfda05e42d2e920820de486a91794ab570a3c9754548ca88aad4d497c8ce729984be3a0c8241cd8c2c23342b195d83459cd57b07aeb3339510b6664b017b4988e94b78ca018ac06979b380364ffa8fd327e42b52c66b5ebcb2880c5626fd8f4a754984665a0c8f7e04632f383c6ad92fd2c74ab338b00e37dc47a05dd557b022ba64a5106d7a01ff794eb76489831ec2256a9687f4f2983a62359f0e7b3b186770879fa48914ca02601196417963b9ae6302f469381ffdd548c0a6f73bb266e3fcc6f2e3226e32ea047697096f56315a8f61da1e95121a68a1f316447a17b6f1286b8fc04c302b706a0ce3eba5eac327cc7c91feba930bd56217c0db8dd5cf418d6a6fcf53e75e9ffa6a000a43e046647101c9f3b87d51e14214908c83bc5c64709195c957686ff5dfca5800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a069ff46606fa01721b42788d073b35ee0c17a5246d77b9cb2cc9b5d1ca960f58ba09a2d9d7317ac575235f670773b4d36b0b641da8c5cbf5412e14f92e1e04f9d79a0af405ac98225c641216751783ec3587d5cd878a606c8eb5e18a0ef9461bc4315a0afc9fc007d20e91a0d600b9e97fc047ff38370e90c5bfd6b3d6b2631404f7c04a0c8a24de2c1b08570534e08a1d072261c06f1f71a69d50d36be5bbd9024c0c057a0d93ddc42df14a57347cefb0f3dd1077984da867e3529e125e6c2861fd414185ea0433121ddc6e36100d03e1255c6a1a02ca78ddc992ad0b0c6798e5e1a809c96b0a0e6f2d4e20a616177e60d22c9df3398d3e7ba158e0ef2ae1f6df50aa722d8a632a0b0e6d272f588db2a9e534b8622e2aa23757336862985d61a079539039ed48935a0f5e588607c0af88442267407acbab475f17dc2bafe0ead8b30c9236ed6cf060aa0926985e3b6a34e70d33593def9529a38865fbd529180170dd4a7041639029533a0193ca0f5bdf818b364986b6b29a5f0607ec56fec9dafca2ddf347c2a0c9d5413a0a0e809b4de32e60bab71027b75e857413d7e5d1416f9536c513e458d436d4b19a052dca89758480ec96a285afcf3207d8f30fb9b2f28b2644148d89ba8a098df90a097767f335f5f949d7910583c88075a530bd9b993a0ac89113972240888a6bb1ba052cedb6d014561aea9067273656d788dd52892ebc28e83462dea80a6b8b506e9800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a0a444230dcdbd57068a12e5ceaa2c53ed5961c59e97252685f7f2b3afde86ee96a0530cf73b24fd53fe0b901dfad1e8913cc953e01199a343303dd0f9a27204e9d0a04d69e0b99eccc4efdd114ed2615c71839822aa23dc4903138365288a77219495a0152972195a30b9d3d7984ade7cd832ac3960f2308b259fea8aaf2aca1d369047a00871dd771c1ecf591df0cbcc072999b7eebcf40fea06182867f9433831096e7aa0d0addc0e9af86c4dfb3b32e456511831376ce5bdcf7212a2aa2cd7db120d8f39a0ad574aa6ad994b62f62c284f784d93150ff8d7140bfbf1fa1488bda82c565d87a0593c769ae7af7506fe4910a5549d688c7ff8341254ca58cebce803655f098345a0e9659df9fae33280041aa454f3305c2f5751d416768cbb634d35593eb5c6fc8ba08c63a7c549ec18b45739dfaef2574d772ec931548a1766ea17574c1eadb5813ea02385781bfe9c60a67d73ad19cf3fdbb495c1021aefce49cc42bab5c56fd09ff9a09ac1041eab1b404a25af71d536f1a9958bf09193d413d031de3e1a13609f538da0988ac0b0573a1aa0b3ba0c8639d61b69701c75d8878e6c0fa842c74990385079a08b6f3a321933e94bc42db40e6cfa92d14a862c9769bc1a7f446699c9317547c5a05a2ff3c1da37b56e574283a565692cd52908a4272dbaa3536b3a3b4cc42ce108a0b3816fad6e9262ea032a6905a4c8dfb6903bf0b48ed2263778e56727729ed35f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a0dd3da60fb3ebfca958e7a9cc57b36ba206ac210ca809fcdcdbb743cbe8827f9ca0c63a294218a6b9beff88a4ebdcf930ec3c955fd0b36a2254d530eaeaa6ddeb23a0d09b46f41fa4c42e165f6cd7f26afe3abcf5661740cb8dc67b4895053f00ead9a0a8ea832c65f4a4c7f35b6cbee3b1a97b3e6dc38556d90ebc7d3746487e9307b2a0f00354a6d7fdb7324d8910f3654ede9316b85a2fedfab215e1a3d461abec8fbca0856e01be45806f20cbfe46531ba0368a08a63d900605ed0946eb23977ab5b292a0f2fbe1041add7237d2e1911c4d589e0ba060d2c121ed36bf6d64144a0ab50dfba0bd4f10ca5b316aaf94db2ad0d4e80395a2eabb3c41937dfc621a1fd247e8ae71a080512465626720287dbe7bcf2b6d226be474a690579b22718516ce5cbec264c1a055ae4ee4f5766c248202ca54b718006c66556ca581db76b7df63e02d80165e36a0ea17a8da8182bf866b15219b3fe0fcaa71dc9fa7e00ca276207ea39ba52a3131a07f92bbdf782d819f2abb783c14b2db831020ffdd77b2a26dbca6fe0c6c216a8ea02d985b5c7730a22cdc4510653c959ecb687d4262ca43011f69f7bdf3f55106c9a0b833cca6fbfa99280a4910bf7c810891b40590c5854f574443ad56f5ba4f1ccfa01ac13ecb7ba555d03a46f80b39b3b2bd3d608b7c3ff782d1b3b90ecc4164669fa0dc3ef5b314c3383cc29fd2af5a39c75248c92f7061471cf2ad30eddc334901668000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f3f8f1a00878c8385a7df3c8bbf91eeee11bf8e243a0474d28006f5f5e66e17cbe8ed93280a05b1c7324bbf60536f97d1639daa67d04de9d82f2eeed879afd7930d98d159f128080a061d4a9ae5d48cdd6b6a21a99cdd4fd5f6abf45a3474bd3e05c9365378eb6eaed80a0e4be8b2e6c34b1f7330fd989a02716c498b8ed21bce9431bfce9d92da92dd1f780a015a69e1474f3e8b01d49983ba087d9858f09a3d8d515d1f801bc54ed39bc095c80a0b5c0b421c8bc85dd1f93e87062abcd074683289200eb5007a6cc2fd359ec53d5a011ab276939eac6a90b1d83fae4b81b76867b9c8b256e6e5cc02330362688002980808080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042f8409e312e27e05eb0f3758c6cd6f05a5d28e87fbfc2a0f86f06f456899cd6e6bda0efb0a417981d85db6690a185f782f4879d0f547316d1b0ab4a19f6dbffbf16d0000000000000000000000000000000000000000000000000000000000000c080a0357a88cee0b33627e0a54f41e74da4774940a7dcee5875a4353dd800d9d67e1da02074c90d045f81f01369eea609b6ee351afbbd9d1ac6062d4b1ac7382b50579b", + "0x02f8b283aa36a751840f7f4900840f8fa56182b6619420c54c5f742f123abb49a982bfe0af47edb3875680b844095ea7b3000000000000000000000000bd6b25c4132f09369c354bee0f7be777d7d434fa0000000000000000000000000000000000000000000000000000000053724e00c080a0c203a02e29512b781060227cf6195307a233a29b599ed7ea13e998d0a3c10acfa03aaac05bffe60d1d9de998642000dbb4848121cbb66367cdacb2f8710e27214d", + "0x02f9053683aa36a7820c0a840f7f4900840f8f6947830253e1945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183eab81a1bd4dc0a2bfa1cb4356adb5d97ae6f39cf161237ded74b9d46f8e858ce2b6ebea0c396700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000493e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000493e000000000000000000000000000000000000000000000000000000000000000143d635c7e8545710535544e816c54f82deb3bddb300000000000000000000000000000000000000000000000000000000000000000000000000000000000000143d635c7e8545710535544e816c54f82deb3bddb300000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea50000000000000000000000000c080a0806d482aa19da4a4785aacf756c212d2bacae778deff3254e4b30ef212ade825a0400a725917a0f03737a4801b8ad310f24123badf73d14f4728236faef10ce8fb", + "0x02f90fd483aa36a748840f7f4900840f8fa56183051e069430393ed7e8b2243df7d1d42257aacc203c382bb980b90f646053ac5a00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001c6c75cd3befa3cc4512a9e67795735975cfb29342f4c69f63128dfdc44b35ffe63c00000000000000000000000000000000000000000000000000000000000000004a2d2d676d4fd437a571b623756b566027b197a686d42360e6490a1091f5cc103cd93611a9ab9ac519fcdb4e26e1ab618d3ef9f08e68c4a60b7fb12482365e18f3fd3210dedef75a2eb2248e7b8dfc5901ecc7b917802801d633559f64f58acc00000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000001502c806312cb859f1bc25448e39f87aa09857d83ccb4a837df55648e0000000000000000000000000000000002313a5ec1cc6ddd2231dab53366138945de1dc4300000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a454aa43a3000100000000000000000000000000000000000000000000000000000000001502c806312cb859f1bc25448e39f87aa09857d83ccb4a837df55648e000000000000000000000000000000000511835d52f6a89f39499f8ff35a1341ea53cb93e00000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000a4596a37c524a94e90b0262fdeb5fd1ab47cd4e057ad9ddf6fe4091fee383922fb5d0e231400000000000000000000000002d8c08aaacf238cb845f480f9718c2c96de8e1600000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000214f90211a07bcd469365ef351fa530e7b0e7c78261a36e5e6e448880b882c1d553ce16dfe1a06d69bdebe8c7aeb5f5d063e4e84633c2781f263598f4126a5c0a8acac1784980a0dfd368de36a3df800cd94c36fc6501eaab825d724249a0dae9596a34e804e808a02234e09ed2872a5cb28c984e8c8bdacc9dbd1145083590517cea155ea03c5b1ca0393962551791f55d8b72931deff44847684a458321eebb3be2668be60f93b0caa047e828c7c26e4def4bb4575c23387bdb46e8b32e75af69ae478bcff7529adf93a0ddb4c84d51f91ed4cb941cbe8cdf26b34d0b1ea786891ba9769085c54aa02dfda05e42d2e920820de486a91794ab570a3c9754548ca88aad4d497c8ce729984be3a0c8241cd8c2c23342b195d83459cd57b07aeb3339510b6664b017b4988e94b78ca018ac06979b380364ffa8fd327e42b52c66b5ebcb2880c5626fd8f4a754984665a0c8f7e04632f383c6ad92fd2c74ab338b00e37dc47a05dd557b022ba64a5106d7a01ff794eb76489831ec2256a9687f4f2983a62359f0e7b3b186770879fa48914ca02601196417963b9ae6302f469381ffdd548c0a6f73bb266e3fcc6f2e3226e32ea047697096f56315a8f61da1e95121a68a1f316447a17b6f1286b8fc04c302b706a0ce3eba5eac327cc7c91feba930bd56217c0db8dd5cf418d6a6fcf53e75e9ffa6a000a43e046647101c9f3b87d51e14214908c83bc5c64709195c957686ff5dfca5800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a0b58daed046e340b5096cb2114e78755e6038d5615448a90cb21555eb702f64c6a04a70501a1daa9086f9d4ca3d456e6284caa657a1b31290778911616cbbf29bc6a08ceadcc2a4b6b8059a485dba48421258c5710e078ba4ac426350b66e0a8bd5b7a0ecb0af2e0f746194c0302f12540ab80e2293cb09d4e69429bbb992124e27bc33a05eab93195066521227c95c70b55a5748904169b3c0d5bd24787753994623edc9a0c30303fcb8119b64382d9554ff113eee05e348bf3d7765a138c6ca64c9e675a8a0250bf5e5d68e4c23858118a4a024af25597aaee2a0d907baf06f4bd1dd49d77ca0d4e753131dffb76414eda7fdb82bfd2754b541604e24e1ca417d71bd5eb96401a0dbbdb251ae0936e1b840d15d6a6662dedec6e834053cc6866ad6b04c2b3ebe82a059ade8bc2ba957af515925ebbb224b337b19ee880ecdbd2be7aa5f16183abe1ea07819c17883346c4d8e6b2971302e5e15bd3b59b61917b9f9c48943b4054fd8b1a0d5243a57fa2d3cf69bc3ebba9d79a1c1ed7c957218ad85f62074085f5c4311d4a0ee8f31085e1a67115a5a9ce7c4fe6e56cd87247dfde9cf92ac97a491fa0b5221a018700e5be8dfd93775b1fcbc6c63212f0735b379f860b99b7f9da631c013bdbca0da28203ce4368e31e91c5d7029450e66fedda00764ec17cd5585a7f5c88fa630a0608514091fd1561e6fc5043d3ecccec7c1d696c8fe8e8acd2cd3e89c143297e9800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a075c4c9b19d2edd8bc6e7018adf172d1b2478b85abf5c487a33e18759bebb7f8ba0d9a85266139e9044e8bade371689a4d3413540ef68f9525e4e8db746d2e3434fa0c46d0db207ab051b166677abed41bfc5340c237f43713e0ab35c3c5b9efda8f6a08aeacb841197d79126e4f130aeed16e408f11818fcdc1ac3b3f7c5ad19f0a61ea0a27cfd7bbd27620ee178af4d473b9f667fee606904b6be2302d6e942aa333a74a0f2d19031b76c8370ede6982dbd88cee0c72388ae6c8303c1835b336c3320579da078126fa4c7645452c3399864704063f838fd98859db5c84adac3f0292d4ab547a06615b0f447d0a9e80f3b3d0864b9b1a316dc0c8359a742a33b76ea75856975f9a0fab90478039a4956cd7177e9e228e60408977acb66823358ab804f44aa28add7a0ca9c9bb205ca8d4a83986f42dc5b9c11afac087f2e0df052797959edb131e098a036dcad6b83f658347afb65577023d3b845414137dd009a5d8b71d5c99a5aeab6a0c44c3e5b6fa90d89fc8c8c65ca3ea6b298cbd635f3196c058d24cfc7efa5f023a0c0a2efd8d3bcb6b1e4a06281fca7280b2bcd6f8e0503b37071da69cf66cce8cda05e630cf24b15ddf5caed0c83d8ec6ec8f9c1f36321213db0a2c9d8bd59cc2713a04833164f4a2268e9609e81768403f906592a20dcfb521844157aeff5cc4e65baa074e104d9c4710850496df9f69eda8f6559aadad17bd14056619085e05428116a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a0f36be16234a6d47baf27b3346622f4855ca9e04794f8f15e048319a7165bba41a023d41698aba843b6ace9d6426f3c0cc2180bc021f4fbb6025d2e165912c66360a06fdbf2a175fffc59dbff65ca3cabfa4cdb9628fc62df6d9b1ce9705f691fa88da0b1a5680c77aeca7a001067d43b02f17fb5528fa3e9d24701926f8d5fafdbd7b4a0adc1ab3102ed16eb949f9dc78be9e568c5420c7fd665be03769d8dd8d5cb6a91a0f7444388ee7d33f87b87ab1f71430215c15452e155ea5d1a4177500f626b27e8a02972256ade85daedf6a32a91ff4d2ce1f8f8a27c54cb273fe1718071d5f4b920a0701fc47b6c3e0558f503fc2fdbfaa129d45c99cc6296b3b98d8009683a4b0b30a0cc1ecbce2d7cafdf8f33be36b5ae81649ac4876bc38bf4be05d0404637908d46a0431296c1b9ac1b3d1f8bfa9c0eaaf1120caa66507c55cdd211e54276a6028462a089d0aec42cd43672222ab946bd56432499f8dc77aafb279b7d99525d3c4ad156a097c7f2dafa80599e97419e5bbc4a2955593b3166e02194362a65115f38054e16a0e3273ac0dd3d2402ee0318a9ca392341078c81fdd53d6a4af5216893448015cba0a460ede60936f23d3cd41f3e1bdd92ad9c5437ba9461ce81773e29f244d350ada06c339b91b8130a82dc26b5e266548cdde4413615014bf69f094d74346d33627ea06f211bd717ad30f2e7bc3207e9d5be6bcf3d5cb8ed04bc7c9b71da4917de919c800000000000000000000000000000000000000000000000000000000000000000000000000000000000000134f90131808080a0fd3559e19eda1afa982574e041cd6e604cb4769cb832001236541e24db83312ea02d00c982676cb0b241e4127986db2acd2dc5742873ce3159991ae6bf70d57d5ba0bbd6bb357c940e474c4f3a6491f2e35eee53f6324741aab3047f2cc8133be22580a015081b59295c79eb91bb0f78be7464ed08f3862e40f63aa9461e6a68275c5dfea04622adec4749426812477108636555582c2d7ec154521891ecba117fe4e0da46808080a094655e64adf3fbe67f5b31c66503b44feb43fe9706e38077c0dbd1e27105de1ea00c2173a538e80a4d665ac3c48ca014fffcc861a63213944a0ba42c9d234d125ca0f3cea07e1b89dae12083fde6cab3f7c3361e6279c2cbb2ab60a8d575b50da069a0c773a9565c5fab5d6df2f5e165a2eeaec783ca467f2812fcb7f57e527943af6e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000042f8409e376efcddb62b7589dced50d2f34cedfc630ead8497e5f40978041704d81da0f22dc1afda4bf9a88a4a6253550cb0c86eac019c37261b3d8e644ff53ba324db000000000000000000000000000000000000000000000000000000000000c080a031f92220718eea7a1d1f6f3cbe2ad23281ce1c8029442b32cbc0e82fa3dd6eb1a076225ac5d82544d336b96a81424efb85e531121aca6bf13d008cb08baebe173c", + "0x02f89283aa36a768840f7f4900840f8f69478302c98f94d8a62e777714535c9a3006872661263a825f880380a478c77a2400000000000000000000000000000000000000000000009c5bbe23f0468dd39cc080a017a7489dc97d17107276a38d4b3e2e38ffe813dba299ef57da7596bb1c5b3dd8a01abfc29ff89dce234748e4e4bc22a7af763920309132310c8ef37d410b6dd6b3", + "0x02f902b483aa36a779840f7f4900840f8f6947830210eb94b74d5dba3081bcadb5d4e1cc77cc4807e1c4ecf880b90244b3ce8ad000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000006c7d7800000000000000000000000000000000000000000000000000000000000000800000000000000000000000002655fc00139e0274dd0d84270fd80150b5f25426000000000000000000000000793d51ff5687ca56027147187da988a82af1e577000000000000000000000000793d51ff5687ca56027147187da988a82af1e5770000000000000000000000000000000000000000000000000a2508a082cf800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004176828b14a0d0dd1e5db226ce4e08ae1a3c7314e77e8acc6cfdd7cf3f261b35150e5e1f4a405559baa276364ccec6e70fdc75d26928119396efb988789678f7160100000000000000000000000000000000000000000000000000000000000000c080a03d5a1ce8b9fe1010cdb8f78d759f471ab7037686bba95f34ad131b58e4d7cccba06ad57ed529cf66284ca508192784210d19f8a05be19ca2935655ac3e4918462f", + "0x02f8b483aa36a7820331840f7f4900840f8f694782dba4941c7d4b196cb0c7b01d743fbc6116a902379c723880b844095ea7b30000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb030000000000000000000000000000000000000000000000000000000000002710c080a081f30b492f977c438fd1e0b2517531244b96f719c9d84b3dad78592ce95a66c0a02fc19b06f3c81e5983328b2b0a888da7d4abe31631eaefd2b07858cf70d7231a", + "0x02f9053583aa36a78190840f7f4900840f8f694783021325945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183eab8244efde40f7a9f358540bef4f7df91b87ce0bc5d0fffc904f2a261581429f1f0d442e928e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000000000000001471a53a8c080b03016a66bad1cd0e333bcfe00eea000000000000000000000000000000000000000000000000000000000000000000000000000000000000001471a53a8c080b03016a66bad1cd0e333bcfe00eea00000000000000000000000000000000000000000000000000000000000000000000000000000000000000147b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d57726170706564204574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014b476983cc7853797fc5adc4bcad39b277bc79656000000000000000000000000c080a0be03de796605caf63ebe93d86d00c820cd06e68c2813b5b47a66adeccd3e82aea040aa5253ad1b4b60989201f7274cffa58031cca23288d136145cad2515ec0371", + "0x02f8b283aa36a70f840f7f4900840f8f694782b64494340a5b718557801f20afd6e244c78fcd1c0b221280b844095ea7b30000000000000000000000009e9c178271b20f4b7c0d5073ae513017aade1f61ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0f13ea695253bb949f17492494969a4efc682ce28798a8d480aa70a8fa76150aea00ea54d3ffb6976656a326968b0c4e98a39c43bd1dbb87524270af688e35a4f09", + "0x02f89283aa36a75e840f7f4900840f8f69478302c98394d8a62e777714535c9a3006872661263a825f880380a478c77a24000000000000000000000000000000000000000000000097bf8ce7a7a9007e1ac001a0020ca15aa7606deee697b619130b832016282ae994caf88c519c129548567abfa055728a9400ab8667dcc3c58ec86929ea592881b1111b2609c9d53b2aca2cb610", + "0x02f901b483aa36a703840f7f4900840f8f69478301a13794890fd716cf80b5f9d3cda34fc6b1c67cbb2d35c380b90144341aef7e00000000000000000000000000000000000000000000000000000000000d06c000000000000000000000000000000000000000000000000001c752a8f3b420000000000000000000000000007b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000681d7d54000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000041dfeced8ffd1f777bbf1b97fdb03f5db496f80cdaa85487f77891f705e8514cc709b8dc07c614e412ff816b7b52c004508e71f20c61cd771f748265ec14e1cbec1b00000000000000000000000000000000000000000000000000000000000000c080a0e8e2fd7cfcf5bc38117357557b1bba311609da651c354d293167bfb5bea0a234a052ab1a60dac70b66d63a18c18739c18a140dbc5ca0fdf39163a7fdca2ae878a6", + "0x02f9015583aa36a7820129840f7f4900840f8fa561830155b89420c54c5f742f123abb49a982bfe0af47edb3875680b8e4095e7a9500000000000000000000000052585b8505f5b880169bfea5392853564f6bd7fa000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a08e9c17ece778661542470e5ffcfcf952b0a640b32f5e3443ecab4b2a1d4ba51ba05887186e94effe93757070ed6ec719ca494334a64ddf7b90108fc6097695e08d", + "0x02f87483aa36a762840f7f4900840f8f694782f5e3949e9c178271b20f4b7c0d5073ae513017aade1f6187071afd498d000080c080a02682c6980e5cb54c3dac29dd8e2bc4f602f20acd608285fd542f43afafc33d54a00df7f5f8fa241c44cc146f8915dd4162245fdbb9e53f0fe4e9709bb3db2920ac", + "0x02f9013383aa36a732840f7f4900840f8fa5618301246e94bd6b25c4132f09369c354bee0f7be777d7d434fa80b8c41a5f0f000000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0d6cd72aa1b8c2f2661f91d4e7e238317119867646967b5ff4130591d7f5293fea06894e64012786285fad07d15aa2c4a3088d550213a53da40f448212564b1eddf", + "0x02f901fb83aa36a7818c840f7f4900840f8f69478303c461946a0d1c1b5deeb24ca0c452b19b5051f2ae0e7b238609184e72a000b9018484bb1e42000000000000000000000000b61a892b2551715e910a6e74f5c233bef071a6070000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000009184e72a00000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0cbfd1f08a6849897e083369325618ed4ea79d55380ae4cbb27f8ee7515739ecda003e3425dfc1c7a7face750c0f2bdb19c6bd7bccbde575eda665ede614b8508dc", + "0x02f902b483aa36a778840f7f4900840f8ee69d830210b594b74d5dba3081bcadb5d4e1cc77cc4807e1c4ecf880b90244b3ce8ad000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000006c7d8700000000000000000000000000000000000000000000000000000000000000800000000000000000000000002655fc00139e0274dd0d84270fd80150b5f25426000000000000000000000000fffb0b83b46569f5ed9ae3506e0014871ec2f402000000000000000000000000fffb0b83b46569f5ed9ae3506e0014871ec2f402000000000000000000000000000000000000000000000000033bc843f8aa80000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000418d66139f85676869b2b0bfc56774d99aabd747b36db047ee757fc06aaddbfef5017a7b2ff5cf98943708e04839951dd8e24f05bb4c7c477e88fb4a925c8829b40000000000000000000000000000000000000000000000000000000000000000c001a04514076203c3e423154150cfb39fd10c985ccf0256ed24f5fb7fff488e1899d3a035fed3d83682ec968d0917595a64cd2ee02c44da138f1a83e174196295e7c195", + "0x02f8f383aa36a763840f7f4900840f8f6947830214159407abd582df3d3472aa687a0489729f9f0424b1e380b8843df02124000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000002719c400000000000000000000000000000000000000000000000000000000002721376c001a03b36bd25c53bc2e24d572265c568ab946fe18881cc5c6416369c09be0d4e14aca067d7c3320d9d407ef9ab6727de496132f84d94b3fafc6092d79e2cedd2943b7f", + "0x02f902b483aa36a77c840f7f4900840f8f6947830210ce94b74d5dba3081bcadb5d4e1cc77cc4807e1c4ecf880b90244b3ce8ad000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000006c7d7b00000000000000000000000000000000000000000000000000000000000000800000000000000000000000002655fc00139e0274dd0d84270fd80150b5f254260000000000000000000000001c5f4dccf3b17b78a2b7f8a5187ad7ac413167f30000000000000000000000001c5f4dccf3b17b78a2b7f8a5187ad7ac413167f30000000000000000000000000000000000000000000000000cb2bba6f17b8000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000041d63d74f35d5d32084ba6383318bdb003669f5c9a699af0c51643d97fd8170334227feebaa0462679f58dbcb4f5c95c709124ea3e9221a8bda283126a887f3b320000000000000000000000000000000000000000000000000000000000000000c080a06d9198f17953755299b69cc21c89e6d6538d2f099a46a49c3976bbeea9a3e3b3a003ce6c740eea1189ccc2222ffa649ec416a729b6eb32be2328e764fb882b0833", + "0x02f9027c83aa36a78195840f7f4900840f8f69478303c76a94e0232d625ea3b94698f0a7dff702931b704083c9870b8e2bab2b47adb90204c7c7f5b30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000b8e2bab2b47ad0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e940ab7d28a43e0a4eac07ee0e4f11d761184f580000000000000000000000000000000000000000000000000000000000009ce8f6ce417d8ebd3303768261d4da947af9bdfd4a684dac4959770dba5fb045815d000000000000000000000000000000000000000000000000b6bc00893f7a8000000000000000000000000000000000000000000000000000b5d21a222966b00000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000026000301002101000000000000000000000000000f424000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a035fce733b9bd021ca6da80c2fb96ad6f764283d91bae14d92812d3f01682c1e1a04d00d06bbf2cc1ea00546d9268ed27f65cfd377693f371d79b3d5983e1c8639f", + "0x02f9101483aa36a748840f7f4900840f8fa5618305222d9430393ed7e8b2243df7d1d42257aacc203c382bb980b90fa46053ac5a00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001c6cee394d18b3a395d51db57c0ba12e127d93336a43593e415c29ff0a7251cad54500000000000000000000000000000000000000000000000000000000000000004a2d2d676d4fd437a571b623756b566027b197a686d42360e6490a1091f5cc103cd93611a9ab9ac519fcdb4e26e1ab618d3ef9f08e68c4a60b7fb12482365e18f3fd3210dedef75a2eb2248e7b8dfc5901ecc7b917802801d633559f64f58acc00000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000001502c806312cb859f1bc25448e39f87aa09857d83ccb4a837df55648e0000000000000000000000000000000002313a5ec1cc6ddd2231dab53366138945de1dc4300000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a454aa43a3000100000000000000000000000000000000000000000000000000000000001502c806312cb859f1bc25448e39f87aa09857d83ccb4a837df55648e000000000000000000000000000000000511835d52f6a89f39499f8ff35a1341ea53cb93e00000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000a4596a37c5d7f8c1d9c4f34e1a176bf73a882758ad89264050270603a1aa211837bbe675e500000000000000000000000061111ad99203321010d338251f30dc8f386078dc00000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000b600000000000000000000000000000000000000000000000000000000000000214f90211a07bcd469365ef351fa530e7b0e7c78261a36e5e6e448880b882c1d553ce16dfe1a06d69bdebe8c7aeb5f5d063e4e84633c2781f263598f4126a5c0a8acac1784980a0dfd368de36a3df800cd94c36fc6501eaab825d724249a0dae9596a34e804e808a02234e09ed2872a5cb28c984e8c8bdacc9dbd1145083590517cea155ea03c5b1ca0393962551791f55d8b72931deff44847684a458321eebb3be2668be60f93b0caa047e828c7c26e4def4bb4575c23387bdb46e8b32e75af69ae478bcff7529adf93a0ddb4c84d51f91ed4cb941cbe8cdf26b34d0b1ea786891ba9769085c54aa02dfda05e42d2e920820de486a91794ab570a3c9754548ca88aad4d497c8ce729984be3a0c8241cd8c2c23342b195d83459cd57b07aeb3339510b6664b017b4988e94b78ca018ac06979b380364ffa8fd327e42b52c66b5ebcb2880c5626fd8f4a754984665a0c8f7e04632f383c6ad92fd2c74ab338b00e37dc47a05dd557b022ba64a5106d7a01ff794eb76489831ec2256a9687f4f2983a62359f0e7b3b186770879fa48914ca02601196417963b9ae6302f469381ffdd548c0a6f73bb266e3fcc6f2e3226e32ea047697096f56315a8f61da1e95121a68a1f316447a17b6f1286b8fc04c302b706a0ce3eba5eac327cc7c91feba930bd56217c0db8dd5cf418d6a6fcf53e75e9ffa6a000a43e046647101c9f3b87d51e14214908c83bc5c64709195c957686ff5dfca5800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a0294b60afbb3a1ed14efc0a7f4ddc7343b73e17b6b25a45d30b7d6169744c284ea08f2db1883f64d8f0b202d217ed58d64507256151581c6c49d7b492813567b465a0786017604765a04baf8f8e82ebf48a18b0ea25f7ce5a9acb56d64eb56930fdafa0cbc527b54a33986602d39d4bb00a4fe377dfdb68f6f89c39bc3b7d5c0389bd83a0c8747a2f74838fd3081c267225788554b93e62a5db9b20bf6161e220ca018feaa087c071ff102a135273acb49347c92dd1a85a3ce754e9fc4e06d256de7fd92989a09db693ba3ff4c82186a1103619d0e5db319a1c367ce3369f202e4a46ed09c951a0ed828c16cb4fb44b35e8435876ba4be9cde2c5e8e0edfa18f3d468c5531f7791a0e10d847d017f404076df96dd3363372efc51783e84b1d89e0d2518f10c0e8b16a0eb104bf870f8884a3c40333d5b362af62bcb48c5ab416b50294cbb007ebded74a097a04298ab44b2463f8549611599a9f1cc96fab3ae79702df0c3501fba6c05fda07851b537593143015b730ad1fee6b1a371cc7a8dc8810b3824469aa952345b2ca0e853827e440b0c4a86972fdd637e818c8bb1a0a34ed28a3472e94928170526d9a09eac825495afc7c695d977232cc17610fad7e94c5c8e06d75fee3ecf1721d4d8a067bd78544ef3f7bec06e0fe1fe127e52e28dfbbc1043bd84065f5e2714034deea0c2c349a3f5566b40e9efd4f1c58c9ffeecbc07fa397a5902a0ff2e92ff24d1eb800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a08da21d718161bc44cba985539f0d62d8be90c35f17af4fd4f9f8c9c8039856fba0931277ddf0989121ba3dfa6b8e4218ba9a3c03f60f1f16dec1d7a230c2a54941a0993d28908c4cd0cfbc3844ee0b33e5f4ebd25b476bc19665c153a0307df8ba72a09a5b68c1caa9b70c9abb8eabff74e96e8ce908825f6babe332fbd92cab1baafba0cff8ccc5a5f75dd40156a7265b1102843ea65429b3de684b0b8081eb793e3ff3a0870897cac6e8e0207264192b8123825b833d2c1593f20594a3b70bccff37ffdfa06cdba283c6af60dcb8a70e200a900731bc2f1cf09266792befe961053326becba07cc7e2579821a24290f6815f46870901a0829791efc62b8cb38f208c8595030da0a59232e2f020b33d2788c8f6b70735e402f5c4d7026ad7dd0011e45bc0e2c574a076cf42768e1aeaa74aaabd90c0744a1a2ae185d73f4f84e112e98d30134b19e8a058fa872cf4615063b80b91603757f78887582941c4d2ee979866623f4b323845a096fe6f61202ee77022650085bd8b90f24b8bd221cd282df818b3827b02a54c10a03951e40b80d14d73cb4058a7cd1a67ca6393f65c9f9b12dad2e17cc7be65b809a0f299b999a0e786a3bd3089497a9a60fcdc843bed5c329286241471ce8096b281a0965ce330cf9111830c904613511ed2246c55c0e3e816af89f5d2a96ee348c7e7a095a1aa788fcd0ecdccc571574cdc90bfbc95b5bed49cadb02205fa7db0921b94800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a0da425879be405827dfbb0f3e13fa9f9293956571cefdd32e58a56c01284436a2a0971d35d48380efbce44ca73682c667f56e8b3e57b99abbe20cecdc29c110933ea0ae3d7fe4396a98522c54ff136e92e65b634682912eb604886015311bb2dfa866a0a8455fa4980807512b82071ed2fcbf2511427e5cd528caa2fc79ff2316cfc8efa03e3c47917fe373626e6365cab2ee7d77a9541802086ef0fbd1cae75529d23d16a08a23c62ee428584a3b2d27dec25e3900b20242b7253fc6b1edda6519aaf9c156a022a045c09d3277a29d1933287c3f1aa882ad3437596f66d60741b3a9d603e09aa076ab879d20891283518087a0dbf37da6b375731f394f23fc1f02dfbacfdc6415a07a59559d33c2315ce4013f92ac0c3d3b3743b513ec9ce9f1bc26298fab24eb60a049b2e433b03531dc768105a5809c0b5ca6256a6ab8dbbb47a1489e144c3325c8a04320afaac2f885e22c4267c98386e80e35a8ad1a984652edec9ca3cabcf4d1a3a021cbab8919249903d6c6553c3e6797211866dab4429ca68bbca77860c4c94663a0efef219745d9cb10e7bdf7cf2183121cbc16b26c14caa5030a1d8f5654d253ada0a2898cb03b7554aa595296c7450641bbe8f46ee57395bd5ebf03984c5769135ea085233cdffa5b2851bcd1635aefeed18822c8a8599deb5f911dfe2ed2d8278a22a084732754bc372d6e76e8ad26c81055c4edb6119399f9b60eb8ef210c392a3c0a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000174f90171a071233abf7f2bf20036085d11d88cd993fcf0fb7da1f288690d5d0e8b0dab394da097002401c685b3bdd4cf1849e62d221dc3f95b83748043be1de53919ea3e44d980a0a7d6e272d5569fde2f49bcc62a2999e6bb396892b7765901dc1cde43f98d9b36a084c69dfc767dfba492c3350396ef032b6a5c965019054a50b5e170ee96ef07b580a0dc021d5c6fb888dc0c3e35fc34f14051ab98302e7821cfa95b78d5a0b51e2c2c80a059a75ceb7f4ff48871882cae858f3db27eab625f09c70a5bdccee66569af22eaa0ad743fd99a755634f3d4b779716bd3d973138f8214ff1f266bd6338722b522a580a02842cc93dd7a23d066a06132b722c4acda229b468f9d188cf964778f36fb948a80a0483afc31af6bc11b20d1739631051e59fcf23fe6807f8683160344705661a9a7a027fde20d7f1f1d3acfc8b8b852b973a6345256e56ed66d6d68b2b8359459b340a03445d97f8419b3af9dd25bc5436352d7bc28813cc6ccad1497e51143312d4516800000000000000000000000000000000000000000000000000000000000000000000000000000000000000042f8409e34e386a0e4340dbb70617f98e236b15096e1c20b3fe4cda50404c046c5dda0a530e074497113a71292b8707fd57ce6d2b7526115fc28c2e289086a83cf8c1d000000000000000000000000000000000000000000000000000000000000c001a009cfc5efc2a007af39a19c48a62da4d6b47756ac3c8722b4308641f960da49f3a074c0b504f6086be4bbb364411f332de77f2f2a4a62d6d1f9a080125b59a4a5a4", + "0x02f9117483aa36a749840f7f4900840f8fa56183060bde9430393ed7e8b2243df7d1d42257aacc203c382bb980b911046053ac5a00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001c6c74fe1831b95ff2937cf179a071c3d77b8bf4faf346089976575395058f42761100000000000000000000000000000000000000000000000000000000000000004a2d2d676d4fd437a571b623756b566027b197a686d42360e6490a1091f5cc103cd93611a9ab9ac519fcdb4e26e1ab618d3ef9f08e68c4a60b7fb12482365e18f3fd3210dedef75a2eb2248e7b8dfc5901ecc7b917802801d633559f64f58acc00000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000001502c806312cb859f1bc25448e39f87aa09857d83ccb4a837df55648e0000000000000000000000000000000002313a5ec1cc6ddd2231dab53366138945de1dc430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001e454aa43a3000100000000000000000000000000000000000000000000000000000000001502c806312cb859f1bc25448e39f87aa09857d83ccb4a837df55648e000000000000000000000000000000000511835d52f6a89f39499f8ff35a1341ea53cb93e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e4f73fb39c00000000000000000000000004ff456344a66d8bdd895256090a1b0318a17fc58658a7f323e781c88a3cbffbc7aba84942b45dd860861e34b0bc738a08ce554db41ab83245699b1d1c7fa67e44b2c8046499c72236f6af1875102f4bcec338db000000000000000000000000b5faad3ee401b133bba51010438b3df2dd3b1cd200000000000000000000000000000000000000000000000000000002cb41780000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000b600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000214f90211a07bcd469365ef351fa530e7b0e7c78261a36e5e6e448880b882c1d553ce16dfe1a06d69bdebe8c7aeb5f5d063e4e84633c2781f263598f4126a5c0a8acac1784980a0dfd368de36a3df800cd94c36fc6501eaab825d724249a0dae9596a34e804e808a02234e09ed2872a5cb28c984e8c8bdacc9dbd1145083590517cea155ea03c5b1ca0393962551791f55d8b72931deff44847684a458321eebb3be2668be60f93b0caa047e828c7c26e4def4bb4575c23387bdb46e8b32e75af69ae478bcff7529adf93a0ddb4c84d51f91ed4cb941cbe8cdf26b34d0b1ea786891ba9769085c54aa02dfda05e42d2e920820de486a91794ab570a3c9754548ca88aad4d497c8ce729984be3a0c8241cd8c2c23342b195d83459cd57b07aeb3339510b6664b017b4988e94b78ca018ac06979b380364ffa8fd327e42b52c66b5ebcb2880c5626fd8f4a754984665a0c8f7e04632f383c6ad92fd2c74ab338b00e37dc47a05dd557b022ba64a5106d7a01ff794eb76489831ec2256a9687f4f2983a62359f0e7b3b186770879fa48914ca02601196417963b9ae6302f469381ffdd548c0a6f73bb266e3fcc6f2e3226e32ea047697096f56315a8f61da1e95121a68a1f316447a17b6f1286b8fc04c302b706a0ce3eba5eac327cc7c91feba930bd56217c0db8dd5cf418d6a6fcf53e75e9ffa6a000a43e046647101c9f3b87d51e14214908c83bc5c64709195c957686ff5dfca5800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a0b58daed046e340b5096cb2114e78755e6038d5615448a90cb21555eb702f64c6a04a70501a1daa9086f9d4ca3d456e6284caa657a1b31290778911616cbbf29bc6a08ceadcc2a4b6b8059a485dba48421258c5710e078ba4ac426350b66e0a8bd5b7a0ecb0af2e0f746194c0302f12540ab80e2293cb09d4e69429bbb992124e27bc33a05eab93195066521227c95c70b55a5748904169b3c0d5bd24787753994623edc9a0c30303fcb8119b64382d9554ff113eee05e348bf3d7765a138c6ca64c9e675a8a0250bf5e5d68e4c23858118a4a024af25597aaee2a0d907baf06f4bd1dd49d77ca0d4e753131dffb76414eda7fdb82bfd2754b541604e24e1ca417d71bd5eb96401a0dbbdb251ae0936e1b840d15d6a6662dedec6e834053cc6866ad6b04c2b3ebe82a059ade8bc2ba957af515925ebbb224b337b19ee880ecdbd2be7aa5f16183abe1ea07819c17883346c4d8e6b2971302e5e15bd3b59b61917b9f9c48943b4054fd8b1a0d5243a57fa2d3cf69bc3ebba9d79a1c1ed7c957218ad85f62074085f5c4311d4a0ee8f31085e1a67115a5a9ce7c4fe6e56cd87247dfde9cf92ac97a491fa0b5221a018700e5be8dfd93775b1fcbc6c63212f0735b379f860b99b7f9da631c013bdbca0da28203ce4368e31e91c5d7029450e66fedda00764ec17cd5585a7f5c88fa630a0608514091fd1561e6fc5043d3ecccec7c1d696c8fe8e8acd2cd3e89c143297e9800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a09e3ebb804d2e002a1385e0016b2ce255486b621549876b1f54c0f993ef122e9fa0482e80b2388276150a3d3c9ce50081058c7f8bef3c04ece0487cd8e1e554f716a0948d557e37ae221aa648ed1e598acc80b5b52af261edc15e14c0970cf90a7102a045b558e6b52cee526b5310d184af1bf9a367d6f29788c9271310518d1284ebfba0e061d1b4269f999db1fef3109d6b63801618c0862d84e890546b7efcfc43558aa00a0390c4735503d3460903ce392d83ddd751171f58d33e2795733b4ab025c1cea0fccc6064c0c32b0e37c5e8ca0d85499c11f699e36a253e19bb2ec3a18af4090ea0dfe8cc71e3c3ddf364403d160b0fe984e0da498dd636b6ee74ef77c37710a018a030976b51b29f40a700eabb444b361edf59d4d3b67545ba868f2e844c64e6e6aaa0009c88afddb88c6fc13340fbeb6047d7223490fe2bc297256ddae17b576ae8fca0744ade0db2829e641bee382b2149fde18e1e68c4aec5635acdb2d79d830b7b74a0cb0bde7d19ed3589545a341f75924c603cbb6be52bf77f67b4e2f4728441b246a058c59ba602e4202b495b33b11815c2e807d14510c4ea40920f883a1948012d15a03405c038d19aff561612e610c92759a6c174344498e3472d1da3bc729603047da069ca01042dbf26ce6b542994e8eb39a88da4cad6b983ce21e466d0f1b1b6da68a00bb1360ed99b969490d155c5a0ff526f76bedf99febd71dc311d87de024b42d9800000000000000000000000000000000000000000000000000000000000000000000000000000000000000214f90211a081b28c39dd7aadfada49ef9ccf8049d22cc812d9db8178ef266f458eb56bfdb9a05184dc6c066283a18b059771c95ba4afd4a1f8531f8b25490bfb9a3a8963b4a3a07ddf8b84594430caf96eb0dae96c3f551e29787959be589f529e419d55735ffca0260a19c06140fce2533a319c6257babcf3f4aab32a3f4bd58ec563810e89df1ea0ada86e68d44bcc8d425a30ae9bd80cf217caea208c5c1630b0a9491287ed9bd1a0c6f4e4ba7bd6aa5c8a0bb29949c4cdcfee397354a76ae7fc42b6679942c20410a0b8da651763f6b3f4f57f80dec1b22dd173451e5055a235d131a60a931cdae51da019441042d10968099b641087bb9e39e49524a5c98def8e129b460cf8de041074a038ecb9780fb7c4355beb8c3b05e7f44d41ff8c30292b912e57ee795c4c7f7c87a055d9597347700a720a1883826e6f87acaa9e293b945667b9d38be1f50c1be18aa070da2520243ca7749deaafa2d37817dc4b15264eb0e365e003b4f705b60544c4a0b53065b633ad6dea165ddce6c892768f075bd71c96af941a852d1418938fdf66a09aafe53525679fef334560be0dfd2a05238be34c52270e98b65fe4ca134cdbcda059ab92942f48c702a49336d165d53f3886422103e4f5fa1cab68c1c59687f8dea070ecd8b852f2e55dbeeaeec580e5e7a187defc2c4bd4a94d0266145d7c8734f8a0633e1db2823b5bdfe3c178b0e8f29d2c84bc51afd10f6de7f4ddcda020f256d9800000000000000000000000000000000000000000000000000000000000000000000000000000000000000134f90131a069aa3032d80ba2942e072027fa5f2971f0bd81c4d57c472413083d61117e1a3980a0ea22a8e043b0658e9d0097b507c103634b5d2611ddea6abd7ce6c67b7b9e950ba077eb839541388202d06bd4c9d5f3e4b03222086835acb3acd4f56a3b82886d598080a01f2024d82de2834a9b601583408e0babbc039e472ecd615df1ea4ba1bade4675a0bb4ac6f7e5b0bae75be48d5170852c1a24e09e2f1b967d769f32a070cfb74a4080a00bdbd6bf7af60327aed19d53ec1368f2889953ad604525f71b8b981729e5fda880a0483867abb80e9d08edf14952156119f4b50aea4f33c0399183b03a3b96f64308a0dc59ce7870283e9553ed88f9f8672d20626de50961fcea26c93b62e21efb241d80a0e6e65159b70d8b567e65f483084483d5d6b6d78da2031529fdf7a74da9d4df2d80800000000000000000000000000000000000000000000000000000000000000000000000000000000000000073f871a0c5d5f83374c2ec906b1e6eaaf3efd9f578fc7da8940be107f1ec57d5453115f180808080808080808080a0982414aea0a173801ed39e5c4b57f15f00dd838f69f288c6ec9ca8e890fa8585a06361dbc3cc5294bc51886394487179e990167505d120e31202c7ae54664c950780808080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053f85180a0e379b22d6d88859d1eec89ff8a271bc8180681024986e5e479dbdcadb0971fef808080808080808080a0b674b07744c6d2128a944b6bbb7b57f21f604708d9bb4c5b75702eac9055d2588080808080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041f83f9d312d8cba24d671804225ef4f984225636529239194d7b7abefd728ed44a0708ea20b7b9bd619af198d3b9149a7af4bb05f4283b83cb790a8160fc704426500000000000000000000000000000000000000000000000000000000000000c080a0ad8fc3823c0d3cfad96b5e47facf752222ec15d07f5bb9c29da8fcd1f4791fd4a0319ebb029757e2ea993025020fa637c237f6128e5fd593f847e322793f794a12", + "0x02f903f683aa36a78203738405f5e100840607064c830303ee940000000071727de22e5e9d8baf0edac6f37da03280b90384765e827f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000007f38490dd7276a19a86e50697f9b0a4598f03fae000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007b8771e085bd80f826cd599d55e7789a9ed2428e0000845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000011000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000001a68100000000000000000000000000005bb8000000000000000000000000000000000000000000000000000000000000b4840000000000000000000000003b9aca00000000000000000000000000b2d05e0000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4e9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000007857375184de17104145239d8d466cc06b850d95f70000000000000000000000000000000000000000000000000000000000000000a9059cbb0000000000000000000000005cefa9b28c329a88bcc7423f0b39903c06e4a71d0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000414ce4442177e29b0a15e6bcc41326b18c669afe855647ab603592857075ee017c19a4606486c7042a9ef5acd4159825d89ab394e7703ccd99090c84a6f19b997e1b00000000000000000000000000000000000000000000000000000000000000c001a01ec5603c6b91853501f2315b0f93100acc28cb4ef8a749ce19d611374127ed2fa03b3bb046d44556dffda97c7d23fcb1c295cef1830f22721d19ef257e7baadaec", + "0x02f87383aa36a702833b1c70833b1c7082520894162986d3f1493537ee4243b24a5dd4f2f4b43e2988016345656c953c8080c080a0fa55bcb6b7de5e7f05086992540fb40dc2ad05ca6ceea6595782bc109921c0d6a00b99b784aeaf7ba1a975c048035edb2ace5c442cbf2c033ae7217cba0d546da9", + "0xf9052e8188833b1c7083045280945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681d8b68ed8dbb8140992b488e474141b0aae41256339c4971687d3a53b6760fc3dabc2400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000000000001481654cd4e4b667a6ac036e8faa6d1ee899ec68a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000001481654cd4e4b667a6ac036e8faa6d1ee899ec68a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000014779877a7b0d9e8603169ddbd7836e478b462478900000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c494e4b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f436861696e4c696e6b20546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014685ce6742351ae9b618f383883d6d1e0c5a31b4b0000000000000000000000008401546d71a070841e6601058b54cce58f7ac403be2fba523bde1ee8489e0804d68e7ecebc6ba06a540c357bde3b98dcafeaf4578fb0f1a7df1620ff7f00d7445bd7172923e977", + "0x02f9055583aa36a783031926831e848083339e1483a037a09486efbd0b6736bed994962f9797049422a3a8e8ad80b904e4b1dc65a40001f2bbaca43e4f73f05567863f3f2cde62373d8a959de4b6eca28c527afec100000000000000000000000000000000000000000000000000000000c98e8f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000077359400000000000000000000000000000000000000000000000000001954daf33b575100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000016d7099bf000000000000000000000000c3c5443ac335c33ac339bca10234ef72000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000007e72d57a1e385338774767a112e7e10ed961b8e27dd94da944fa60907404083795ee310000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000681d7d48000000000000000000000000c1fa369f27b057de1832eaec2134fe1894785fee0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000406661abd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fb2b3c6784a4627f9a4c278260a93765b39d61e84d178650e0a27563de2ab3506cc7c9479f2d8634200e23ac614fea865576faa3da49acf41ee3d532012b527200000000000000000000000000000000000000000000000000000000000000021d1a6ab89e304845a5c63805a3dc166eb796c725f208596d57113ec95bb1c67c2b2ec454e5f429946c12d529a2baea2d0ff60a1912e733200c4a83b09f25d307c080a07d576ea4be7359c8f54975426a568da239fb10055976c40d27ea9fd80b697277a06200d5d8defafcccc2d86bb7f0bbffdfe05845f7bf134b3c43c24cb69ada329f", + "0x02f9055483aa36a782ceed831e848083356b0f83061a8094d0dbb2486e3fbf371d1b2e35fa330bef6529d2f480b904e411289565000000000000000000000000c4d5af244e4fe5e5f2d5a6b0f6f1867d4a5f0336000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000010d01360fe4a3adce35633c5ff1860c709cb959fdca20f5ae174141bcb451af10c077681d7cd2000000040000000100818ff2c5cb2b276b2fa0a01ab6c55f129cf0c4ce54f3714a84bcc0661accba33353136393136663036fbb30bd8e9d779044c3c30dd82e52a5fa157338800010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000102afa5a69f0000220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bb5bd923800000000000000000000000000000000000000000000000000000000681d7cb7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000e842b96dd9b674f8acb56ff0f9c8efdc4e2c4879408248306f9940d3cb78d000000000000000000000000000000000000000000000000000000003bfebd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000041491d33bb2afa8f155278dd491d7449c55beb6ccafdec7284aef4fb48f209d49a00508d9b86a53b12630049261dc90de808746a37e2a0353bc21a408d2947c09e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041bd2521ef852b0482396bf960b4d1ff2b29796078b44eeccfaeac9afccc4a3ad347f5a71cd5b65a181aedb6e187d8511485a0a3669ebad9e8d60813c007e7e8200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004144ffa578c316bcf676c97c4153f3e5495cedd7c457b6269282b8a4db3e55e05a4fe0d1b7ee1824ef46a35140000e1da079e6eef027dcc833360cdab7b3b1f9380100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004173a715ee0f9c472858841931a175a7e90985b92212858d7aaaa5344efb10b4df7f6192263615106f5763babb5adfcbb476d973cdd73bdf2a9b8c8694e0d5a62f0000000000000000000000000000000000000000000000000000000000000000c001a0f7937fd0ed6b946c7f9bb7c1e2e52b2a616da2f57e6bd16e383d6f107c24908da06727d26483d555cd7cdab8908374135b36a545eb5fe00d5219d8ce909118689c", + "0x02f9055483aa36a782ceee831e848083356b0f83061a8094d0dbb2486e3fbf371d1b2e35fa330bef6529d2f480b904e411289565000000000000000000000000c4d5af244e4fe5e5f2d5a6b0f6f1867d4a5f0336000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000010d013fc2cbfbd06bb8f22d1e963d4c9028d4e7e598c1735626f1ce98bc0524631b8f681d7cd200000004000000010079b2f2428c700f7cea681ba6bbe13de96b60a18768bf795e1412f420b3425265613832393730643236fbb30bd8e9d779044c3c30dd82e52a5fa157338800010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000102afa5a69f0000220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bb5bd923800000000000000000000000000000000000000000000000000000000681d7cb7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000e842b96dd9b674f8acb56ff0f9c8efdc4e2c4879408248306f9940d3cb78d000000000000000000000000000000000000000000000000000000003bfebd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000416ae4349f7c7cb096aacbce0780fb6ffc3f186bd67dc11b07cfbed6bb34e1682f3817459ba260c63ea732789442493b74ebe19374526aec43753e94b3224bfd560100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004109e7df94b38927917b9e4904cc9d7d1ad7533d847653240ea6fed79a6701d72574bcf95b3df1ee20bf7023701085c5a1387b4115eb0c0f753f022539199a50e501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041b1cd3d5307daca434b7fb2475a06f483584457ea7c07a6fbce27c400f9ca3312690ff4afaefa1d45907c6ccdd7ade3d2c5ed8567601ecaafb43ed4266f0730a801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041d1b559fe476e5f8c8f83df445d1ac507159ffaf9a7f862b7dc2e1d4f61db59a41df56cc26706f27a979053d83310e90b876c809d2d76a07927affb01287ba7680000000000000000000000000000000000000000000000000000000000000000c001a05fbbb6b3ba9d673347f682239510bf72a059e4763dff4fe6b7a38d41bc34ee08a05fd07419a11d116f803b34e80534a2540108da2d580825ec046af467621d7044", + "0x02f905b383aa36a781c5831e84808357b4608307a120945fbe74a283f7954f10aa04c2edf55578811aeb0380b90544ff0d7c2f00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5cf0bc8d4085d5a492e256f2bbda6215b4ca148f5eeb84b2533d522bdd7ecda2d7801bc6c800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000147eac633ace32a5df41fcd8ecdc33f8c8f3e5a213000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31643964643061777065756a74647635323533656332793574613435647537376163367a3971650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e316770763730376c643665383875776e6e7972756e7463716861753633773363703363666563356136346e63656a386830673970736b72677473760000c080a07f102b44eea6cb337ad1cc1e0705957d87bea75d46365a26efa95037bd9f0259a03177fb00c12eee1ce1eebb18a57f8d318443a37052a028519ddd1868c9a7c9f6", + "0x02f9035483aa36a782179e831d8e38833b1c70830d2455946a7c453f5777e205953c03d3bfa20e6539419ae380b902e4f0eb74010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000092a2928f5634bea89a195e7becf0f0feedab885b00000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000001c7d4b196cb0c7b01d743fbc6116a902379c723800000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000772d68929655ce7234c8c94256526dda66ef641e000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000001aa535d3d0c00000000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000003d09000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000a03ae321c0e6f55192acde3fdde597f78b9ae26800000000000000000000000009d7da21a6cf1dfd6270dee657c06fa7fb3f17590000000000000000000000003140b282d6add98a23f39c19c8f0320ded7052c600000000000000000000000091278c0e78d78d28e7b6c4a9eb16c4be5ffbef9c0000000000000000000000003d16b296e6a680dd1d27ae792466da8785a4290ec080a0de24257622211e445a080fa9db9d75ec65b1d069fe275754db9e302325b5032aa02c0c4f9f6f2553d3bc73e0e888927d7f0378a60732a2b1fecddfe70ac0651a3d", + "0xf88b308325a0a483037cf994d8a62e777714535c9a3006872661263a825f880380a45a3c8bdf000000000000000000000000c80293b3e28d30791dbf9be7cdce10968df31ce28401546d72a0efd6227bfa50df1d9c1a8a1286ccdc0a47b846e17ce205dc2bbe734542d04bf0a016076ae1bc3701760c18858becee8b5f6fa59e16d0c3d4a618a8766220a7f749", + "0xf9052f82021c8324f1c683037d8a945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183eab6bca95dac08e63dd55d8f8cef4c1c5a9e56529e494ccceb185093cdced50c6eef364ff9cf300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000001411368d381c187000839617d609dcaee937e86288000000000000000000000000000000000000000000000000000000000000000000000000000000000000001411368d381c187000839617d609dcaee937e8628800000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea500000000000000000000000008401546d71a04819fbdf4e15e632b61ae78c0939448a39125b25efbba46b50c9be57ab2d511da078b0742024b11fd678ec89c1e85fadc30d5b0885ab6436d2e3df8c25e9b24b05", + "0xf9012e8202f3832377768303d33b9407abd582df3d3472aa687a0489729f9f0424b1e380b8c4a7256d090000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f5430a21646bd730c23c2d949f4979bbdbaec100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000002180d710000000000000000000000000000000000000000000000000000000002faf0808401546d71a0e48e07bf041751f566574babaeb27c57fae7ee534aec5efcb1153a7847b66f7ba02ed2b5b9ee36f82bd6d0913ab5910d16c65c9d382d2edb1e92065ebc77e23619", + "0xf9056f8203ed83237776830219b0945fbe74a283f7954f10aa04c2edf55578811aeb0380b90504ff0d7c2f00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5bf39e6300b7cddcf7a6e4bf80ed010af862722c60145c839fd1b6a27a9358df7ab3ac65ca00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000014ac0bc9a57428b3ae119a43b93fa6e72d2b8afbe8000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31646376646d6777393479346a356135327071646b717830686d6670783968337a3367387675710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e31737837346a3838706a6b326a6a6e6534323934726e396532643075377663366b637875673537363636796661636b747278743073733037326b6300008401546d72a0be87837be51c36b0458a3481716186781ded825a574b7ae6a0c2caab8134a116a078cdc8c89dcf4e0b0420174b6426a6c5825b832a260dc7894af89b2c6e683a73", + "0xf9052f8203078323777683021300945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e59bf79d20082064cf50fc697ecd712efd689c62978253c0e3f89c8e78fbcb230879e463a5300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000014c503df9a4b89d52b24e101aafed3d378db7cf70d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014c503df9a4b89d52b24e101aafed3d378db7cf70d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000147b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d57726170706564204574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014b476983cc7853797fc5adc4bcad39b277bc796560000000000000000000000008401546d71a0f4e7f4178b53acb533ae1b680949a7241901923ee113f6573b1000a244b42a87a0368388816ed957aaccb2ebb53f29e0bdb30564b8d8f08abb5ab820b66a7092f7", + "0xf8d4820192832377768302094f94b74d5dba3081bcadb5d4e1cc77cc4807e1c4ecf8866b74f0c7bc00b864ce0b63ce000000000000000000000000274faefdf39156b08198812ab28b10443e3a9d2200000000000000000000000000000000000000000000000000006b74f0c7bc0000000000000000000000000000000000000000000000000000000000002dc6c08401546d71a034aaf6de511e16278f04d32e8cc93591bb2f2f10ae4c041571474efaff5dccaca05cad2ce0e0dff3f5c6a1c4cf7fb4e1fa7772ae6f805bd9ca9195dcef22ab0875", + "0xf9056f82048483237776830219b0945fbe74a283f7954f10aa04c2edf55578811aeb0380b90504ff0d7c2f00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5ba19b1500406d72a3f62a992b56151d3d351105eaf1b15fe8c8dd3d4c3841fb2cfcdeb66700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000014191188b5c03562ebca9d696e65601436dcfaf646000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31726a323866376d72337533307336346172613976337865773477787a7267737878716a3971670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e31737837346a3838706a6b326a6a6e6534323934726e396532643075377663366b637875673537363636796661636b747278743073733037326b6300008401546d72a0812f281bc9733312bc320410b9afa89836c824e22d26e9f7e74e6ece210605d6a044a6792825f358e658dd80c3b9bf03407c3a48edad51fcf0180c466fd6cced37", + "0xf86e1283237776830170d5949e9c178271b20f4b7c0d5073ae513017aade1f61872386f26fc10000808401546d71a054c3c44e41c417e3ca742ddc298650eb6ef8bae6d15c35cfb988599d9ce73070a02e13851d767d53e41c9e5ab83d06df7ea553a67aa32ac93a6c58fdbe05183a65", + "0xf9056f82027f8323777683021998945fbe74a283f7954f10aa04c2edf55578811aeb0380b90504ff0d7c2f00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5cd9fac4001b80210a8eac740d49eecdadc9638f140e0d0d24a35a62613b95e99530a4864000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000014000040d6c85a13a1aa74565fde87e499dc023c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316770337a32716161326b3077327077777632616b6d33397274646573376c76796b61673678780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e31737837346a3838706a6b326a6a6e6534323934726e396532643075377663366b637875673537363636796661636b747278743073733037326b6300008401546d72a0802b62d901c2a844267611e44bb11c416e9e0dcde45f3a8344b9591a427a2c8aa05fd2a39a58f439cdfe6c74d7195fc06aa64f22dfa5fa640f55183826a9e5754f", + "0xf901af82024883237776830271c194890fd716cf80b5f9d3cda34fc6b1c67cbb2d35c380b90144341aef7e00000000000000000000000000000000000000000000000000000000000daf340000000000000000000000000000000000000000000000000007979715e290000000000000000000000000007b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000681d7d56000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000004172fb5a3ef0ec746af83470d28760847b8443ffb50a0862f7e0a8e5975ec7978b383848243b9034aac3839fb4feaa197b7b1bf395c8de173d0be24b58a2ec92321c000000000000000000000000000000000000000000000000000000000000008401546d71a08c6bc78a18571d3390e15607c11e3808b005d3528e9cb03d412259a57326283fa026e4e4007901967adde101af01d5b69d693d5876001fcacd271869a44c79f960", + "0xf9056f82017583237776830219a4945fbe74a283f7954f10aa04c2edf55578811aeb0380b90504ff0d7c2f00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5d7738c6008f3cc57b00612d411cb1bf94ceae479610cf17cc4aa4b397a15aa8aec3c5fb2600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000014b55056a2bcee645b6c6375caa75b7161f4170f53000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316e6d3334706e74786e6c6d396c386b6c75386c3772756c706b763075376468636d727a796a790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147b79995e5f793a07bc00c21412e50ecae098e7f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e31737837346a3838706a6b326a6a6e6534323934726e396532643075377663366b637875673537363636796661636b747278743073733037326b6300008401546d72a09c921957410d48fdacbe6640571eef5fbd5650de514045a2e25afdc7d2b5782aa05b42c6b23f44dcec3d27ca22c80150f72c64e0d48d0c3a6a9c69a071844bbc90", + "0xf9052f82021b8323777683037dae945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183eab84e696b3c0d1962d7a69c222828baf0ce8fc2bcdec80984e78e618348598283913ec2471d700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000143696c61080d41b920e452959d35aaa0da0d9050f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000143696c61080d41b920e452959d35aaa0da0d9050f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea500000000000000000000000008401546d71a016bd1501bff71116dae93a9393d264b8c57168c7a3095f9ab2bd65bdf7bcce26a004e9bf54336fbbbb4d0fa5c32dcf407bc14a76b494de38caed077ca53a5ad8b3", + "0xf9012c27832377768301a42994bd6b25c4132f09369c354bee0f7be777d7d434fa80b8c41a5f0f00000000000000000000000000000000000000000000000000000000000ee6b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008401546d71a068eef9c44de4a0e65be4ead3930c0de1a4a5bee604bf647462721e0fd41319d7a024d9ff2283f05947587ed3dca34f0e327ed6e0b17214b3949cbcba3420eebc90", + "0xf9052f82083283221e1e83037dae945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183eab83d0f343408fe5d5b6c053eeceb56349040bda88cb86689e50e9c9b9c2296a1b5a244832d300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000146b071d291038c4c953e7777a0d465a380d17b2f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000146b071d291038c4c953e7777a0d465a380d17b2f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea500000000000000000000000008401546d72a0fd1a4f0e99614b64c62962113cdc377fe82e0d2e4a58cec6f914bdc4e329d5dda0324c4eadb858b97f5ab495c73e93b9b4ca2c38c3a96432fe8ff0f5f500de2fe8", + "0xf9014c2383221e1e83019b0f9420c54c5f742f123abb49a982bfe0af47edb3875680b8e4095e7a95000000000000000000000000a82a8a0239c86202ce208eed4b52ff0499921fb0000000000000000000000000000000000000000000000000000000002cb41780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008401546d72a0f290749cc6c7465c712a1a6da97c3b288f922f5700ad715f1e492e0d6865d3dea0645bfe95733983ccc0dc168b3dd7f8143fd5299ed3d2b08f9a98f45e2862f506", + "0xf88b2a8321a3578303add594d8a62e777714535c9a3006872661263a825f880380a45a3c8bdf000000000000000000000000ff7be7854ad00fce5e9ac1b948eee7c4cf50a7fb8401546d72a0ee5bc707a63c97ad140705d0e88f680f5e4a6c13bd7d1b150821cf8c156bf5caa079d70726a0143833664475cc9463b8f618382f295a9b7b3d4efb23848d94991d", + "0xf9052f82069d832082d783033e15945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183eab841f0846c0788fb86a33d745fc88d9e18b52fb532e19c784450f93eb6f500a6e3eaaee090f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000140896eb7a05a4d3b6cc5e14a74855ebdc4bac988e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000140896eb7a05a4d3b6cc5e14a74855ebdc4bac988e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014779877a7b0d9e8603169ddbd7836e478b462478900000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c494e4b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f436861696e4c696e6b20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000149eeb76a58a096d7ee093b90c45593485126487710000000000000000000000008401546d72a0c5cf24f9941e82374d9ea2c6d77b4a074c5e5cc8d4b733a825178b28c2234650a0320a8c354a95223777970c2769b4ac0170d2ebc4a08eb4e6f0ee88710af02325", + "0x02f9069f83aa36a78083124f808329360e8306bbf4944e59b44847b379578588920ca78fbf26c0b4956c80b906310000000000000000000000003b3efa5cc29f993d4a786edfca60e8257a2386576080604052348015600e575f5ffd5b506040516105f13803806105f1833981016040819052602b9160b4565b806001600160a01b038116605857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b605f816065565b505060df565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121560c3575f5ffd5b81516001600160a01b038116811460d8575f5ffd5b9392505050565b610505806100ec5f395ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c8063715018a61461004e5780638da5cb5b14610058578063b028e60714610076578063f2fde38b14610089575b5f5ffd5b61005661009c565b005b5f54604080516001600160a01b039092168252519081900360200190f35b6100566100843660046103d0565b6100af565b61005661009736600461043c565b610197565b6100a46101d4565b6100ad5f610200565b565b6100b76101d4565b82818181146100e757604051633a2aeb4d60e01b8152600481019290925260248201526044015b60405180910390fd5b505f90505b838110156101905761018783838381811061010957610109610462565b905060200281019061011b9190610476565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525089925088915085905081811061016357610163610462565b9050602002016020810190610178919061043c565b6001600160a01b03169061024f565b506001016100ec565b5050505050565b61019f6101d4565b6001600160a01b0381166101c857604051631e4fbdf760e01b81525f60048201526024016100de565b6101d181610200565b50565b5f546001600160a01b031633146100ad5760405163118cdaa760e01b81523360048201526024016100de565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606061025c83835f610263565b9392505050565b60608147101561028f5760405163cf47918160e01b8152476004820152602481018390526044016100de565b5f5f856001600160a01b031684866040516102aa91906104b9565b5f6040518083038185875af1925050503d805f81146102e4576040519150601f19603f3d011682016040523d82523d5f602084013e6102e9565b606091505b50915091506102f9868383610303565b9695505050505050565b606082610318576103138261035f565b61025c565b815115801561032f57506001600160a01b0384163b155b1561035857604051639996b31560e01b81526001600160a01b03851660048201526024016100de565b508061025c565b80511561036f5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f5f83601f840112610398575f5ffd5b50813567ffffffffffffffff8111156103af575f5ffd5b6020830191508360208260051b85010111156103c9575f5ffd5b9250929050565b5f5f5f5f604085870312156103e3575f5ffd5b843567ffffffffffffffff8111156103f9575f5ffd5b61040587828801610388565b909550935050602085013567ffffffffffffffff811115610424575f5ffd5b61043087828801610388565b95989497509550505050565b5f6020828403121561044c575f5ffd5b81356001600160a01b038116811461025c575f5ffd5b634e487b7160e01b5f52603260045260245ffd5b5f5f8335601e1984360301811261048b575f5ffd5b83018035915067ffffffffffffffff8211156104a5575f5ffd5b6020019150368190038213156103c9575f5ffd5b5f82518060208501845e5f92019182525091905056fea26469706673582212201094da15988f4705d58503cdbc19677b21e89966fdc614400045372c2317a21b64736f6c634300081b00330000000000000000000000003b3efa5cc29f993d4a786edfca60e8257a238657c080a044c24765f409ad3367fa173f6c63ac99962d8a534933f6487bd32f8cb52a315ba00158fdc50ee81bca78acf2ff07098653c8cba73d71a135ebef964447541d13d5", + "0x02f9027583aa36a78317208283124f80832282de831b24d094a6bf2be6c60175601bf88217c75dd4b14abb5fbb80b902046c459a2800000000000000000000000041bdb4aa4a63a5b2efc531858d3118392b1a1c3d000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000681dd1b400000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000084704316e5000000000000000000000000000000000000000000000000000000000000006529920af71f8870b11f284dd4f74601b77915ab30739ea8c451fd7ec970c2243c000000000000000000000000000000000000000000000000000000000000000f29920af71f8870b11f284dd4f74601b77915ab30739ea8c451fd7ec970c2243c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000828a2424aa227e00897d881649ace73a3e8d5db4f8fc193d4e76ea437c91d49bd35f6abd812edd8c8db8963977707147b89eda9cc48a64b7f710608aecfac4bfd91c5c9843295af6e568278ac7f4439aba79b763797dd1d14269087250ee00c564221f57de44021dda2d9a50f192f202723b10a107a2792dd0557da07d24a6f564481b000000000000000000000000000000000000000000000000000000000000c080a09e41b79da539d3655593fc597830c03aa4f7421dece286a141387915c617eb56a03f0bb6fd9dcdffadeec21da9c2b3d23d6b851081d0d66822e029c8c7c6f28980", + "0xf9056f820577831deca883034800945fbe74a283f7954f10aa04c2edf55578811aeb0380b90504ff0d7c2f00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183eab7417c9fa80ae4c864d2e46d3d5c8bc16d3e93714fe196013cc1ce919d7d07caf24400f9f1d00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000001443db5d7570cdb5da3020ceb6a6e18e77724c6677000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316c797478747a776e64306572366d397a3476393275676c6c796364617a38393472747a64746c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014779877a7b0d9e8603169ddbd7836e478b462478900000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c494e4b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f436861696e4c696e6b20546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e31706b6d34376c3230656e73793538787877386e633774726b343670303870756c376468727661326135777938326773366e73707171333866346300008401546d72a0326a120ae37e333d4b2bf8322a092c24e114eb395a16c8c25de8d14cca892348a036bc0c515a7b877ed5df9c6e1a57997c1d80d8f2e3f2cc471379ac1307d4f2a2", + "0xf86d80831d8e3882520894a658810032aaa1e19af787e59c7f15c022d6239487a6fa4040718000808401546d72a04ff3ff269201e79905e39c39ed599037931e7672037628781c41c8ba96baaf2ca05e37284f0e143ec9a32c990621d31bd09662a63021f963a15e294403f1cf9d0b", + "0xf86d01831d8e3882520894a658810032aaa1e19af787e59c7f15c022d6239487b1a2aa8ab84be0808401546d72a02cb90028f2a28595f74f0bf5a155b33b0c9183887a79b41da83f08a9b99d92bba04219dac68bc8067302b00eb98b2b5b795283e98c917b3faa742a0d1fce2b8692", + "0xf86d01831d8e3882520894a658810032aaa1e19af787e59c7f15c022d6239487b1a2aa8ab84be0808401546d71a0dbcfc86818e2b6318c870c876ace6e9d7fbf67864f463277acb6c6897e475ab1a024dec9e475f4c44924e0503111224483173fe2c7468f833526e4c77d29b39f45", + "0xf86d80831d8e3882520894a658810032aaa1e19af787e59c7f15c022d6239487a6fa4040718000808401546d71a07d7c52363a55728c195171f800dcfd4209faed1a57354d68a3cdd157a6f10984a077cdef6767f100fa9871282a3968136db906b2bddf7ba9d9ef6f73f5f9cdb1a5", + "0xf86d01831d8e3882520894a658810032aaa1e19af787e59c7f15c022d6239487b1a273ae4fcfd8808401546d72a02f57deb3fe8b278654cb83a01bbd1d72e25d0d5b819545424125b45807077d3da057a61f78b62eae96b86e2c48cc01c8240d8277afa774ebf1805e05d895bd0837", + "0xf86d01831d8e3882520894a658810032aaa1e19af787e59c7f15c022d6239487b1a2aa8ab84be0808401546d72a051f9debbd0540303ae91f9920f351dc937c01138d51b366f8f996389a9b87d4da00e91cb62a0b021d203940f463381e5888b85cf212ff8f0b8b203ed9ddc3d368f", + "0xf86d01831d8e3882520894a658810032aaa1e19af787e59c7f15c022d6239487b1a273ae4fcfd8808401546d71a0d40c1f74210d286ddaeb7a3210fedcdedc8b781d4536f88b9793a85934b9cd0ba02a4153254290a0c3260161a7a2398b47f803250b5e696b82db7103f1aa2961ab", + "0xf86d01831d8e3882520894a658810032aaa1e19af787e59c7f15c022d6239487b1a2aa8ab84be0808401546d72a08a15ab03e151b36661e39d1c74332d4f6f1ac88b38a9db29fe9a1c2f31be7dd0a045117e3539e74fe74f830e40cd410506f09a12c8a61379118899cf98fd574d7a", + "0x02f87283aa36a781cf830f424183299a9c825a3c944d64587ccf0fffc96b9affb980bf1d959796de1c8612309ce5400080c080a0bb7517e7d3acc7b691d21a1150bcbc63e6456ff3cef703673b949779a76d46dea01edc3198cdfa7642c0faec4eb438079735de93be168a936ea0fd2480b6e55956", + "0x02f87383aa36a7820164830f424183299a9c825a3c9484444a8cd9a37fd850b4d254a5f753db4ab676b0865af3107a400080c001a0545c5214b4a3680a2a0f83bf132db50f8de027ba5cef18e9dca73989ad1ee679a029c0ef37068caf4431e1a35f90a6fe1602d89916a5ed4a9fadf5b352f02406c4", + "0x02f87183aa36a71a830f424183299a9c825a3c94a7179f1b2dc8d68a263cbfb104a189795c079fe68609184e72a00080c001a0c0473216809ba0cb77e7bf2f7bf150ce69f9b21c81520e2f20a28329d2f99216a03d90c83730faca560d16d2a96d7f8f7e0f907d34859521392bddf85c39e70e61", + "0x02f87283aa36a781d3830f424183299a9c825a3c94c87d4e041d48b315e9548cc2ab6f26cbda596ad1863c06d28e200080c001a0973b87938726df077676c33462caf699c3854b41d7a158a35969abb03e1ee8dba049743a1d1d1afda0a43ccd4236c83e0997640862b2d6186e281d8e5d36f1362a", + "0x02f87283aa36a781ce830f424183299a9c825a3c949f783d57ce7fe0dda09b8c01ea3221bccad33936861319718a500080c080a01c3313b19c1d6f724f3219cce90444cbf6cc84cb4fab2ff3221b4ca6c0819255a055a0f7eada6f251f4645bf0de5c72cb6240ef3abbe0feec94297c5389279e65b", + "0x02f87283aa36a781d9830f424183299a9c825a3c94cec7c794f12e44cc2bc5368c6b3d7849f5d9bd53864c65c629400080c080a0e6f9e52d44d05c9baff54ff4aec3b3f87947c349eb542bdb7e2856f3ec605c25a0722b5bba6017eb8f32597215003d32a6c5da6f8bbdea144861f7bcae37d0a876", + "0x02f87283aa36a781f1830f424183299a9c827618949967c265b376592b1e5f611089cba71ca537b0c9865af3107a400080c001a0dae5748ea152d5d20474de52204119036ca8dbf19417b98252b258dfc2bb8e35a06d2e37ce45e8edb05a207f9f2142ee4c9303dbc6352e496bede10f969fe9d976", + "0x02f87283aa36a781d2830f424183299a9c825a3c94f4862ce9e325cb791e55c30f98022457001ae3da861d1a94a2000080c080a0976d999d639320dd22003f841716966ecad342cd2aa3e4adf9465151c314775aa03306a0c9290f71d3dbfabbd26ac5ee657ae3d44a623dd878e0cf02e95fba2dc0", + "0x02f87583aa36a783070767830f424083299a9c8252089482a1e46345757c50954e8a840ea2b912d884234587b1a2bc2ec5000080c080a03cfe24595b6488019f63432ca5fabdcad3f17b18507325717ca2e3274f44c69fa038dd4aacd803e3bb0abd39b8d09d63dbb148a0c8cf56feb5f83819082d769cb5", + "0x02f87583aa36a783025c57830f424083299a9c825208947b968b78e3d7495908519ef37d42a5b66c8a0f4187b1a2bc2ec5000080c001a077e295f54619598faa8df30d7e3ebce5b97d87e2b3d49acf7e0f5d714145b4cca07b5cedef731d46284181ca2b83965e2c240b8b8bb7d2706c8d4707b39382a6c4", + "0x02f9011383aa36a782079e830f4240832bda308307a1209407abd582df3d3472aa687a0489729f9f0424b1e380b8a4d40ddb8c00000000000000000000000000000000000000000000000350125539b01f00000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0f0ca390e986962b9671739c20659133696276ef56c00c78e7e5bfeb3df3267b6a0190a8a0174994ce454d91e1e6da83331971b394129d0e90b7981650ea5ec2c82", + "0x02f87683aa36a78313643f830f424083613ea282f61894789ff95867ae1dae248a3559087d195f313b192088016345785d8a000080c001a0dbc8a3192d023488f6ea910b9ffd7f7e76c5c0af2f53e369bca9dee2ead3d118a063cfc9b2d79b245f7a28d35b6a0a34038eab4fb0da7f82bf954742648109c3ad", + "0x02f87583aa36a78302e401830f4240832bda3082520894d47803325f08f635dd42c0cfd49aefa976b11f7a87b1a2bc2ec5000080c001a0c4a294d3cc937dde1e87620d90a7ca2300e5e13be87c7ccf5b18401d18f9fac5a06acd4210eb228d81bb1ec329ea65cfdce43ec2fef3792f0851b3d3cc78236ff8", + "0x02f8f183aa36a781a8830f4240832bda308282629403c66cb1826bdb0395bf31e68bf7e873e9564ffb80b8843c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f5745577365724c536757425143373561624544416b796f706e52336b6644524d4d61614d797a38694d50355276000000000000000000000000c001a085db7c888d7e6bd8fb3f8b7d1e2c45be10a697556c81f1cb619c8eef8e775780a024e6a67f57373e2f91f988c6ccdaa92400bf3ab7b8a572a8514c1f927301d04b", + "0x02f8f183aa36a781fa830f4240832bda308282629403c66cb1826bdb0395bf31e68bf7e873e9564ffb80b8843c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f5748553877316d6a68683953616b4d6a6e7a78535a4b724d5131665761795859726a65337a7739345659337046000000000000000000000000c080a02d1b84619773a870258b821ea637246c4963a702d285eb6e41f96d49a7ca08aea00f928f7d10fe481c01f39213791aad7784d8b6405f50c1a97048654fba89c3af", + "0x02f9057383aa36a782021e830f4240832bda3083025a78945fbe74a283f7954f10aa04c2edf55578811aeb0380b90504ff0d7c2f00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5c90b6a480c71021c5f1f39589d1c2a8935ad1899713c9ace9b5d14789e258f942241219cf00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000145389b654674c3b97cd59e43a6f225daf86ae42cd000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31396c616766756d326139717470353834633432336e396a727630327a386832327432383967730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e317a7372763233616b6b6778646e77756c3732736674677632786a74356b68736e743377776a687030666668363833687a7035617135613068366e0000c001a006e7a2afea03402abcb3eba42dc4650718cec9d35d909c7eece8cea3091326c39f6c3b03f0295fa2643c093fc01a1ed30fb1a22f3ca1cc9405cf57343b5a3992", + "0x02f9053283aa36a70a830f4240832bda30830253c9945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5c8a7478408aa99528ac5e9c4e1ee0218143df46ab2d87dd347d28392862c0b58621c9226400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000145495da4d4091802f246f1df86369b347c3486d7d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000145495da4d4091802f246f1df86369b347c3486d7d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea50000000000000000000000000c001a015e0f4d2f8c625dfe388b05639f884ff6928ad2aa76418e22fcd9c68a68f3317a00e0d5b02f10dcab44e0e8ef8f8fbe8b5f7813ceee9bbba6cff5048ba74397bb6", + "0x02f87283aa36a781d0830f4240832bda30825a3c948bdd47d98ff71084820362aec652c5e02c026d3d861e036947100080c080a0f954f95442ce16c26765acb1b0db12fa07516561f3e4fad1cdc8736c5455fdc9a007bb8facc401eea77328cb98cf3dc029eebbe659d18e6f1b3f49c937cfc1c0b8", + "0x02f9403583aa36a78301857d830f4240832bda3083125e5b94526ad59621467cdd9fbaee89f9ef8f05804b075d80b93fc4a516a5bf0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000098000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000000048000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b2212000000000000000000000000ef84994ef411c4981328ffce5fda41cd3803fae4000000000000000000000000340a5b718557801f20afd6e244c78fcd1c0b221200000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a800000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000b800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000e800000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f80000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010800000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000118000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001280000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000148000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016800000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000178000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019800000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a800000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b800000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001c800000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f80000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020800000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000218000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002280000000000000000000000000000000000000000000000000000000000000230000000000000000000000000000000000000000000000000000000000000023800000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000248000000000000000000000000000000000000000000000000000000000000025000000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026800000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000278000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029800000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b800000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c80000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000b58b46759a34c6fb75b0de2fa66395cac1d4e1cc000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000b58b46759a34c6fb75b0de2fa66395cac1d4e1cc00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000cf91862807845d2a40153eddc8151cae14912009000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000cf91862807845d2a40153eddc8151cae1491200900000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f1900000000000000000000000034bb0a91d58f777334ebea75eb53889022463dce000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f1900000000000000000000000034bb0a91d58f777334ebea75eb53889022463dce00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f1900000000000000000000000051181c593325906b661c24f1ab0214f777ceb545000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f1900000000000000000000000051181c593325906b661c24f1ab0214f777ceb54500000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000009ea2e044db6c76e851c673033fb24b7658565cc8000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000009ea2e044db6c76e851c673033fb24b7658565cc800000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000008f9158e2994587e157c16434f4295b9261a2b487000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000008f9158e2994587e157c16434f4295b9261a2b48700000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000ab6058c22611b3c083bebd760e51cc63ab1cfad7000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000ab6058c22611b3c083bebd760e51cc63ab1cfad700000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000009286a3b6b007067b5f89f0da3e7780bae033e1fe000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000009286a3b6b007067b5f89f0da3e7780bae033e1fe00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000a5ebb02c80c9370410bb9158544b1f9bac931fb1000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000a5ebb02c80c9370410bb9158544b1f9bac931fb100000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f1900000000000000000000000049fb86ee509e09ec918719f0b624ca09094cd647000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f1900000000000000000000000049fb86ee509e09ec918719f0b624ca09094cd64700000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000023987de0716bce2f4a038601073c773a8d7ad2f000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000023987de0716bce2f4a038601073c773a8d7ad2f00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000342566d007eb4ad66125b468ef2aca283e82e3f3000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000342566d007eb4ad66125b468ef2aca283e82e3f300000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000006865f56bfc8d877d2ebd263ac42002cac54ac4f5000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000006865f56bfc8d877d2ebd263ac42002cac54ac4f500000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000e8bd9ada30005c0ef9349f7b05648788fe0330ef000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000e8bd9ada30005c0ef9349f7b05648788fe0330ef00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000791f7d03e83f7a90b00d4a1e1b19d33857dc066f000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000791f7d03e83f7a90b00d4a1e1b19d33857dc066f00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f1900000000000000000000000003b48e87b625a6777842092560f391388e9ed302000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f1900000000000000000000000003b48e87b625a6777842092560f391388e9ed30200000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000009a41d687121397bce7463d11cf6f9b92e310d098000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000009a41d687121397bce7463d11cf6f9b92e310d09800000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000f0c36a2b75bb559439d51a49e54bc09ac36d6cff000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000f0c36a2b75bb559439d51a49e54bc09ac36d6cff00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000d3b9585da3dcb07568d430449f7b1e99e7f7b7b7000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000d3b9585da3dcb07568d430449f7b1e99e7f7b7b700000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000db3926e237ac3efe2a090e039eb463cfe081f34c000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000db3926e237ac3efe2a090e039eb463cfe081f34c00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000c5c021dd9ef87e0a832e8f71b67ec8101cc99ff9000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000c5c021dd9ef87e0a832e8f71b67ec8101cc99ff900000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000008d35cf94b323991618b2fafc8ac408673a0249fa000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000008d35cf94b323991618b2fafc8ac408673a0249fa00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000af42cfa95a7098a70a2cbf8c799d85850fa7add9000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000af42cfa95a7098a70a2cbf8c799d85850fa7add900000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000008913aa3ae5d41ed53e0a6e26250b82f75a95c000000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000008913aa3ae5d41ed53e0a6e26250b82f75a95c00000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000007c27a01a60068a3ca4fe0c71a476800d659663a1000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000007c27a01a60068a3ca4fe0c71a476800d659663a100000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000a08c4963c38e4472fbc5c2cf16427b1f443d1375000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000a08c4963c38e4472fbc5c2cf16427b1f443d137500000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000f66dbb9b851a5d2ae26404f887d07915a0760d7b000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000f66dbb9b851a5d2ae26404f887d07915a0760d7b00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000008441c2044fb45b514916a8281cfec23b11346a04000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000008441c2044fb45b514916a8281cfec23b11346a0400000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000009c66987153deb24154e14a691f62087ec8d4feb8000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000009c66987153deb24154e14a691f62087ec8d4feb800000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000e3904eefae2bef32835dca7beb2fbb1bc858a4a9000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000e3904eefae2bef32835dca7beb2fbb1bc858a4a900000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000000202f328e53efacaba59fa0f5c2eff847a9bff14000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000000202f328e53efacaba59fa0f5c2eff847a9bff1400000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000ae841e371602f239617fa1e21f1be8558202fb8a000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000ae841e371602f239617fa1e21f1be8558202fb8a00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000005367d6ea167a85f2366c5346d46a23b7e5ba3386000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000005367d6ea167a85f2366c5346d46a23b7e5ba338600000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000002b0835fc760174ae41e4f0e98b28ba280324adcb000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000002b0835fc760174ae41e4f0e98b28ba280324adcb00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000f73623b2519dcb4523f629098bfa250110c61bca000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000f73623b2519dcb4523f629098bfa250110c61bca00000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000bb75370cbf21b02dfd1218a91b89f6a929005514000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004440c10f19000000000000000000000000bb75370cbf21b02dfd1218a91b89f6a92900551400000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000c080a0c2ac4cf90f1672cca25dccfcd9509cbd7726a0e83e9e44d3af9afce26569e821a034d07528d2b86ecdf3b4296022095ac58bfa2a50a2f293dbe255227d3fb2ef2e", + "0x02f9053483aa36a78206fd830f4240832bda30830253c9945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5c243ba580854950af367c04113fa11dfd4c356bc0540ef30a7e24b3b222fc0e83716eeedd00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000001461cfeb14f185c911464183153bdf59f9071a1b5b000000000000000000000000000000000000000000000000000000000000000000000000000000000000001461cfeb14f185c911464183153bdf59f9071a1b5b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea50000000000000000000000000c001a03127b45f7662f4e2eb5905163c02453eca18e3da470e6114c7c53dbac417b653a0504210c228965a03bf84915f7577c630631fd7bee8e7eb631ab8fb1352f8d905", + "0x02f8f183aa36a781af830f4240832bda308282629403c66cb1826bdb0395bf31e68bf7e873e9564ffb80b8843c950e2600000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034313244334b6f6f574b62503372654c525879744a644c724b567951524c527443473366376b4670526262395234375a7433445471000000000000000000000000c001a0bf81f8139ef6cf151fdc90e779263fc1ddcac5a1ff516cf5a713161ad629ca87a02d2a87e00032af4d83dedf5920aacc70507e75bb3431b8904dc95374c53df888", + "0x02f87283aa36a781d6830f4240832bda30825a3c94ff97d0ba486fc851ad262e4a5facdb04b8e95f8a8614eb1ad4700080c001a056d59ed94c3c0829881a802c0adf49365f71b3dd3fd743e39ac3441c28f55bc9a05d9032093cd5d327d66b3b253fb490e52f6e1dd56292768dc12d2597cf3d17f9", + "0x02f87583aa36a783037192830f4240832bda3082520894466ff1b0f8bc079248f06ed0204a92f6ce8e2a0587b1a2bc2ec5000080c001a01579c3a04e4d6b756a1cda47b11c31141ec53fefbca3d0cd0f4d2a248edd7cefa05f11b61c11853f8e0924aeafd5d78f5093397fee6fc6f4c6c8736e4fd458ed52", + "0x02f87583aa36a78308df33830f4240832bda308252089499fb1241f8012606d1c9e8418847a4a5eb459b2787b1a2bc2ec5000080c080a018adcd8253cfd4183ae2dc9a76da39d05262e405cde2f5bf55b07d34e6da8ec9a067a572ac7029f2cfed3d514ed75d8c867243793ad28cd6ab7bdcb0db32416971", + "0x02f87583aa36a783090bdb830f4240832bda308252089492b493119e92fdf7c33c68149070320e14d2974a87b1a2bc2ec5000080c001a0ab73c99bedb2640d40e195673c290541ee94a5ad162ebd87ff721fc417c6299aa009e1a35bae058625f832f67d0aa15e5e2fdabdf0612dd49ec64b2af02aefa544", + "0x02f9057483aa36a78214bd830f4240832bda3083025a78945fbe74a283f7954f10aa04c2edf55578811aeb0380b90504ff0d7c2f00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5cfca84f40845f6080f8b9b7519fb40927e4cf43f3681e3db5f08040cb9326400c3c16690800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000144f04281d3efd12420b0a541fd1e65fdd1013944f000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316b7636303235667236633675766d6b666a306a6b36636b647967307578657072326b647339700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e317a7372763233616b6b6778646e77756c3732736674677632786a74356b68736e743377776a687030666668363833687a7035617135613068366e0000c001a09a671ce2f7c0215f71da32406e0509161a9e7b77e76fb55ecc87b471d19b9311a0366606617b5d5fb016432b0580a0bf3d3b7b6001ad651bae0c25ee44d13994a9", + "0x02f9057483aa36a78204e3830f4240832bda3083025a6c945fbe74a283f7954f10aa04c2edf55578811aeb0380b90504ff0d7c2f00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5cca87ab0092fbc8b542bfe1b1ca77ef953cb533e5a5b82cbd249a5ace88a12d1097a9356f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000014e6328a886ebf08596c0ca0635bb31dca2239874b000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e3168736877643077336537323672767168356a6e717935337974357639756432646165743935680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e317a7372763233616b6b6778646e77756c3732736674677632786a74356b68736e743377776a687030666668363833687a7035617135613068366e0000c080a0f4a2de6abd7d233766319531b3e4cd3ce62cce930cf8a851d91a7525b5673255a06dea8a9abc929a70b13628b5a68848be042bdae0cb554fb075921e9cefd19436", + "0x02f86e83aa36a781d6830f4240832bda30825a3c9453e8d342a30c1235b5e5ae6306900989ee4a42038203e880c080a0abb660d68a87c6d285c915b0a06111de92ec97d6e1288d00feeddc2b53a5fbcfa017ef29cba8a3324b4277800b4ebf929bf877295fd2af9bc1828451961d67c806", + "0x02f9053283aa36a725830f4240832bda3083025399945fbe74a283f7954f10aa04c2edf55578811aeb0380b904c4ff0d7c2f00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000183e0e5d11295540d45181d79b98e4d9fd43479ea3941258145d3cb396eeef9fb35057604eddc4a600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000014647cb3ccaa008e00403d6d3f72f69eb33687cd220000000000000000000000000000000000000000000000000000000000000000000000000000000000000014647cb3ccaa008e00403d6d3f72f69eb33687cd2200000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea50000000000000000000000000c001a02856944c7e2bbcf8e69a690012517e22173fdbfcccca9cce3a4927a23cc81c3ea03c4926a096519994ea6a52ee451f10cff471830051f4e7eabcf863b3c70c0ef5", + "0x02f87283aa36a781d5830f4240832bda30825a3c9487d91fe9b2b516d5f20370aa86248a923c40f145863c06d28e200080c080a03dcde3fab1389cbbfa7a9627ba5a91144b89ee2dccc2327664f19979cc971333a05ecc69c919a044d1075c276a733a736e2c287dd8d0460733b42953b24d59fa47", + "0x02f87383aa36a78201d1830f4240832bda30825a3c949807a5e1792360ac484cf8d00ce900568481b65a865af3107a400080c080a0acdbed9b89e0438f91cb443c6bf58b3cd446bc626b506655b3f29625264ebc64a0178ba95304d97b463643fea6baf09b3a70856445d281fd14d2e95a3a20827b6a", + "0x02f90ef483aa36a782f242830f4240832bda3083063778946653ae1137c1041b25bf6bddd70d2b170b3f699080b90e84252dba4200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005200000000000000000000000006cd9c4aa0a37082e9e08e6d825c3ff0ef262a8e900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000464a97c61d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000136c63702d636c69656e742d7a6b646361702d31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000002000010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000312d6ec502955a2dc9259f25f072682f337eb59cc4d300ae5574b54a3817cebe31648090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000312d6fe272a69f811a70f6e38de5a77b1de17c7b11a7f32d9c9f46e25b8d7ccc107799a000000000000000000000000000000000000000000000000183dbfc82f723a000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000183dbfc82f723a000000000000000000183dbfc1e61eec000000000000000000000935690742000000000000000000000000000165a0bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000041c205dd572591860258e208c9355ba9a29901a872228b714cb91cf6dda9a2786b3363c9b7edd8c75a9d1141d00be2eeb3780ace2a4326f0e12b343a0c2ea9768600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044ae50575b4f1422406fd0d05c64cc86bead912e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008a4236ebd700000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000312d6fe000000000000000000000000000000000000000000000000000000000000234e0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000004746f6b690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096368616e6e656c2d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004746f6b690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096368616e6e656c2d300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000004849e3000000000000000000000000000000000000000000000000000000000003bd08000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000030cd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c37b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f966879ef100000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000148f2fa51feb37c720e8150a57bcaee4bac3d3a460000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000100020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001005f5e028cbcbb52de62a4697728cbdaff6014db8cf104cb30919312c9761f03e80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000312d6fe272a69f811a70f6e38de5a77b1de17c7b11a7f32d9c9f46e25b8d7ccc107799a000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038636f6d6d69746d656e74732f706f7274732f746f6b692f6368616e6e656c732f6368616e6e656c2d302f73657175656e6365732f39303338000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004164edf82ea55d06da9cd5f7f5ab6712c54c0faa0c1cbe23003f5fb3fb640d719e6b0812a54b65d5470c7a75fa4c1b0e00497b0cca926500f6bb7bf3df13319db2010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a02e92b944a9e9e9903795e5e05fd793da28115782d2c94cccb5baba139003d46ca07051c900f7cfb47ee9b0d955ef201bba1d92d985a446749f3ea1341cf22c9967" + ], + "withdrawals": [ + { + "index": "84718093", + "validator_index": "478", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718094", + "validator_index": "479", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718095", + "validator_index": "480", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "231098" + }, + { + "index": "84718096", + "validator_index": "481", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "231098" + }, + { + "index": "84718097", + "validator_index": "482", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718098", + "validator_index": "483", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718099", + "validator_index": "484", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718100", + "validator_index": "485", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "231098" + }, + { + "index": "84718101", + "validator_index": "486", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718102", + "validator_index": "487", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718103", + "validator_index": "488", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718104", + "validator_index": "489", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718105", + "validator_index": "490", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "231098" + }, + { + "index": "84718106", + "validator_index": "491", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718107", + "validator_index": "492", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + }, + { + "index": "84718108", + "validator_index": "493", + "address": "0x25c4a76e7d118705e7ea2e9b7d8c59930d8acd3b", + "amount": "228332" + } + ], + "blob_gas_used": "0", + "excess_blob_gas": "131072" + }, + "bls_to_execution_changes": [], + "blob_kzg_commitments": [], + "execution_requests": { + "deposits": [], + "withdrawals": [], + "consolidations": [] + } + } + }, + "signature": "0xa79bab857a5ea4dedc509aa8206efbc55e614a699eee42681537985df43d9cce0ea320fd4fc75e4ae17c6d43065449e4155638c41a12ba51d364779698bd8f9931dcd665cdee4a3cd8d5e78f42b09bf6297bcac86754df2f101b8f38d83f7467" + } +} diff --git a/eth2near/eth_rpc_client/data/beacon_header_sepolia_slot_7585792.json b/eth2near/eth_rpc_client/data/beacon_header_sepolia_slot_7585792.json new file mode 100644 index 000000000..be0b0d0ae --- /dev/null +++ b/eth2near/eth_rpc_client/data/beacon_header_sepolia_slot_7585792.json @@ -0,0 +1,7 @@ +{ + "slot": "7585792", + "proposer_index": "1654", + "parent_root": "0x0e702737dd72c94917ec8237c65718bf58b54112138741477da6eabc2cdc9458", + "state_root": "0x4f69d75006c7112f956c81ee638f6e249aebdc72560a4c25c58740557a49c855", + "body_root": "0xe92a2cd3732d41acc43e8253105246a2db4cc5b4fe3aece37936c1977cf3cfb8" +} diff --git a/eth2near/eth_rpc_client/data/beacon_light_client_update_sepolia_period_926.json b/eth2near/eth_rpc_client/data/beacon_light_client_update_sepolia_period_926.json new file mode 100644 index 000000000..4631303a7 --- /dev/null +++ b/eth2near/eth_rpc_client/data/beacon_light_client_update_sepolia_period_926.json @@ -0,0 +1,614 @@ +[ + { + "data": { + "attested_header": { + "beacon": { + "slot": "7585856", + "proposer_index": "1880", + "parent_root": "0xb9c6933137fafb5bbed942e749fb79f41a87cdadd6b4d93f36d472d664b15517", + "state_root": "0x9b3cb0f8aa0e2c81394ba1fd5f8509a4a841b108317c79ffa3ba0cce2d1141fd", + "body_root": "0x7f64aa6dc6e94859e4b1e1ef9ba6dd524ecc74ae4e08d6c92e63f236f8cb8c11" + }, + "execution": { + "parent_hash": "0xa8de6cb089b006bd5ba407f200d918e448f3261172658be4552b97eec1dea21b", + "fee_recipient": "0x0c06B6D4EC451987e8C0B772ffcf7F080c46447A", + "state_root": "0x32ff86185291a868af3bd4665233d8679968c710ff336c725d65db22130c49a2", + "receipts_root": "0x9ebcf9db6f798512537567aad6363d56d65cb6994005a0e6f620ada79bc6feaa", + "logs_bloom": "0x7aabc32cd4accd51b436eaa62acc8084241855d249187827410e2d75d483e083230510a41873215e380e89a124279380f350f5b51704f9c0c42a584e0d31883618113acba026706b63dbf30faa0280828d2292f958c4eec115a9364165a0d163f906152c33c77411b2a9c65a0a81085110d8a9c0d6701e52126888102289124793a016222cf8762e696911ab8381ca3896c1b460cea43598c247228ed767c09cd2480486e8107199483854f434012c2c5bc9c23872404b88b2dd4d37239634164b23aaf250798da6150a9334f9c354204ebe299caa91b7492103dd6654c0ab67e9b2eeb0d0c180ad452d706aac7e2073298768255ad2c204b2b2052519cf402c", + "prev_randao": "0x1087847eac5b87bb422bdcf5551ccd2e76d38a0926b015e41c51fe983e3088b8", + "block_number": "8286999", + "gas_limit": "53851489", + "gas_used": "25198805", + "timestamp": "1746763872", + "extra_data": "0xd883010f0a846765746888676f312e32342e32856c696e7578", + "base_fee_per_gas": "421537", + "block_hash": "0xcf5692de5c1533e4c01ca83a440545f0902e9b785ff7f9e7319e4953710e7f8a", + "transactions_root": "0x06bda557795a1760aba15d7bf6cb1b286f43dd57491e98cd36d3e973d1727df1", + "withdrawals_root": "0x3ecd59efb05cf050a04564aea437e76973aae51885e3d61273a4f8598c138dc8", + "blob_gas_used": "131072", + "excess_blob_gas": "524288" + }, + "execution_branch": [ + "0xfdfaba41219b8b88379a38ab4a6494abe0843ecae6ba5fe8cbfbeef3cbc4c6a9", + "0x0bb15828eac0215147df57766dca2c12b43d37ec0686e5a2983395e6ddc2b165", + "0x6dd3b9955d892d92338b19976fd07084bfe88a76c3063482b7f30ee60feb2a58", + "0x0b1819b40fff5d3d4a61a4faad85c9f11d2155cece01230b83186910ebd4e91f" + ] + }, + "next_sync_committee": { + "pubkeys": [ + "0x99efc1b9c40aafca602efa4ea00d8d9dfadcd77a962c833e347a928d8d52da51fb000f673cd17dadc80e9115ba04f91e", + "0xb1c56f028f31f0ff86bdf55788703b4d809becaf3e4d9d349f1b660a07d2f15e127eb72a0e2a5a2742313785a3de43a5", + "0xa683d4865ddcc099f7b698153007b92f853b80f49b3be75163ea8cd1f8ff584b43a68e68de3ae61cda8ad4b41f355c87", + "0xb879c91e77a8c5670f5f9c12b46d182867f1de75458474388ddae4dae88eb99105ce51fa78c2e39c5eac1127873aa1e6", + "0xb6aeb7a9b934a54e811921494f271d5d717924c561cd7a23ab3ef3dd3e86184d211c53c418f0746cdb3a12a26a334fc8", + "0xaacf809d4015c7b809713b901893a5353e59b186ddf18c8f3af02d2156db3dc49406e7c1f4aca04a46c99348ed539f8f", + "0x8f90e72a54e6894d511061957162e753010812346afd4d90cfedb678b99ba1aacf2b6bd0e49b4b0e684da8082a048619", + "0xa922d48a2a7da3540dd65bda3a8b5fb1f1741604e2335de285ac814c69c40b5373d92bc1babd3e4b2d32993f251c70b5", + "0x866ec39b9eda580d96bc2bff76af5cd4887b6788675149ab33bfefe38db82ad01b8d64c6b60704210918f3564cde1110", + "0xb4aa92a60de61ad089cb027ef19a211c720ec0e51743b1166e3d71bac08a9ffff2f0687e250c6a7e1db866f7c4ae8f29", + "0xae36ab11be96f8c8fcfd75382bb7f4727511596bc08c25814d22f2b894952489d08396b458f7884d6b3c0adb69856a6d", + "0xb3b2e3dec38d55c57a428c0cbae723f3c95ba75e51cf27e9bbb2a6398dc922069ae3d1aafbb42ebb46a2d8b356045fa2", + "0xa11faaeb9e2c6ebaa2fb66ada1020d7129b75ea8518928c4cee46d6231c27f51ac2273be99ccdf74e859d3a3219c4775", + "0x89e3ff351ce4f0d43cbb6385bac30b37431b31c7c073bacedbe0a60af3dd372aca672c6c4b4d05d2c4b7a040e80f3ef5", + "0xafba279768f0f928b864645aa4e491e9c949bf3dab57efa24eeaa1a9a7d4d5a53c840019354068e64c65a2f5889b8f3c", + "0xa031d95cdf2853d2d72f3efe2feeeb9f409f51f3b708f726be0096acccef3b247fbe4370c58b4b891cf156234221e0ee", + "0xb8038a6569c69c5aa70db534088fa304a44a76eac1cbebecf7bca07d7b6667063b0ca36d225687581dfba677122a3c5f", + "0xa3d327f48eb34998a3b19a745bca3fade6a71360022c9180efb60d5a6f4126c3f4dfa498f45b9a626ca567fdd66ffbff", + "0xa5d7e847ce7793386e17fe525f82aabb790d5417c3c6e3f6312f8e5ff52efa8b345c1ff60c4c9bf7636f5ff17b7a0061", + "0xa23710308d8e25a0bb1db53c8598e526235c5e91e4605e402f6a25c126687d9de146b75c39a31c69ab76bab514320e05", + "0x8553bfd1a163df0d8bb1424383552b85a1c0d288dc1f46fdde90ce2d9be7e2688d7d06e1d6be06252c7099588d3488e5", + "0xb0ad3c61be779023290256142d6b30200b68ff41f5405757b1a1c634b4d6bafbdcbd31a1f9d2866f111d8601d6dcae35", + "0xa42bcc5012a8b87caac4ec279f8cf7e43f88e36b65c321a835fd8a5ba427a635de79b93d2460f5e15258f09d8d51c7ce", + "0x980508c4d1e655cc6200f89a884b3a25c0c05708a3e4a101205c4fd901c3e20a943071a6300bb2614be41a139d4ef1df", + "0xb9893f7a47af457a9efd90ddc0c0ef383ab34e9c1284e617c126965cd9f0de5c54ee8b7b5208ff190366fe445e9c1325", + "0x99c34f9bd0fcb18b3d931e562988cf91886a417f8678f22651bf3cf138df2bbec3f675de90f62dda769e0eda03d72b7e", + "0xa013cc5e3fbb47951637426581c1d72764556798f93e413e1317849efd60f3ecb64c762f92544201eb5d6cfb68233050", + "0xaeddb53c6daac757916039e0992ec5305814e9deb113773f5ecf10355cc3723848fd9c55e0a6ffb6bcff4ad65ed5eb3c", + "0xa18f4464cf5cebade8ee280fa00e0917cbf1743aeb0dacc748ab68773b909e30dc60f40fdef3041b5f082e650985f7a6", + "0xb15978155af006d231888257c6e4beac0d3b0782bcbc99e61802a5c031252f05213c9ee9465e6816d9702e4a21cb9571", + "0xa40ef3d2291d8782540961ce285054678b3d322d3cf7fc154207228c290708b1abfc37a4d7762dab3dfea582a112444a", + "0x853184f246d098139230962e511585368b44d46a115c5f06ccaeef746773951bead595fb6246c69975496bac61b42a4f", + "0x8c1de4264e04ff7e8282faf81c0bfb5943656451be52170211cb7adf4ff21bccbb789400735579c622f69982fcb8e9c6", + "0x8f84cba7ceb7652023fc8ebde4b00ecde1f550935bab12feb630d6f49517b4148f3cde184bf55d4f6ec99a849fc6f862", + "0xab1334a1dc4a34fac334e1d637de204da18783d8573f216d9d24c853555d79877682b43af02345f6695d87f6549aa72e", + "0x903f569a8de771406b9fd36384f1fea20d5d79374b8d9af24b4814f96c44739193662aa47be857543fa101aa70ab205d", + "0x86b3ec14a8ffb811a0ecc3771f600d8b08c098537d100fba66def19e7ee4d1c397a311977bf37e6cd2d47a8a2ee8c223", + "0xa23f076306c120dccf69d7d2ac7f83a377a72d35bf448f88feff8b6dba9307fdabf34452e30b87407b2258b9edfd1174", + "0x941cd102228aa81ef99506313a4492a17c506e7169808c6b14dd330164e9e8b71b757cbe6e1bb02184372a8c26f7ad1f", + "0x904d722d7ec51a476a852428d9a246a5ca3be87ae2281e2716e999f82cb9d8d75ade0929ad80c186ada55f839a78f57c", + "0x83fc998e050cb1004fd016c7dc62885b07a95fc9b219fd6fde8ca2824c647f331f6b18ebdbd14569b906cd1ca1066189", + "0xb0922acd6da2a95b36de6d0755316594a7e2e32ea774792dc314e8c3cd76d9f1d69df38231e166e24bd42c664f4fbac7", + "0x99dc948385a816fd6131525b959c3c9a956ea187958958a5c28e7a210d87b4590599a5d14000161949187f8b62836991", + "0xb01ee30d120b97e7b60ea89b9b6c537cdf20b6e36337e70d289ed5949355dd32679dc0a747525d6f2076f5be051d3a89", + "0x86b706c5d3c5aca72cb23ddfb6452bc70dd3b1a98c8539a7c32f760778b401cbe90ef86c12d0468892dbcbd9a268a38b", + "0xb19ca6e55f349bbb2dc3e429520ff5b2e817972470794f35c1aac8c118b37a694cfcc875b6d72225343799825d2f5c39", + "0x938bbaa0ba14597067ff4c0a7cfc1529c44160d6f61cfad12246526d84fb7a1ba964d3bbb065a348cf7a98356ee15234", + "0xb7a2c83971c4e4132f3fcaf3c4374872de67ea5d89814492309cf924520a23787401f9621681fcf526154e80849a7e72", + "0x96aee5be8da3c75413e7ab87913a286fe497b7c86e7b943b1fd62e8ed191746bb91ee5c35e81b411e78358eea99dfba0", + "0xaf3f765fd293c253072b33a780ed68933f78d7e079d9a2079b6232755bedf6ebcbce9ba65c01f695602fa8ee17899867", + "0x993726e0b1c2277b97b83c80192e14b67977bf21b6ebcde2bda30261aa1897251cd2e277cfcb6193517f1eb156d2fe86", + "0x8c22f1f2a530879a93e744397fa6acca57b01fb62b62188ffa7487464815c605e1520ff4bb18e832753893649ab80d62", + "0x99daf03fa434a482d9aa4d090884c99b7208c1f5380b9acbf304e1bc33d3d6902afa5d248d20ccf03795e26901356ede", + "0x96791b2b8066b155de0b57a2e4b814bc9b6b7c5a1db3d2475a2183b09f9dcd9c6f273e2b0c922a23d1cf049a6ce602a3", + "0x900b9972180a2c8753f5ff49fdd2cfe18c700d9927b3c3e16deb6376ad6ee665c698be72d4837b94911a0b4c183cb140", + "0x92d00e64ed711951aeb852908aeb6fd379ea516872dd512384b1e773ef078e52e6d618beb202d437d2a46bcb78087f7a", + "0xa41cf5d678a007044005d62f5368b55958b733e3fdde302ba699842b1c4ecc000036eda22174a8e0c6d3e7ef93663659", + "0xb9574edb9567f07f85c7c2e6ca6c02d90ad7c7b87d49796f1e2fb7240ad071fb755cf13ca8678668a56217c62df168eb", + "0xa5f97d27dbe892f2b3b664362a7fd5f098566ca4d0ff350ebd84a2e79afbc18cbf0b2fb5e53b9ee3635b2f36e46cfe28", + "0xa59249e4dfb674dfdc648ae00b4226f85f8374076ecfccb43dfde2b9b299bb880943181e8b908ddeba2411843e288085", + "0xaaf15335f1fa2a187f24f3db7966fcda52c2859113ed8f460167538f5cde43429750349f9714edda0adb6705d401d27c", + "0x92378adc9d56996ce8ecdb9ed6510affccbcfd96712a23631edfd6ffdb1469847aa447db6b2bf61dad416ebcc5b7d1a7", + "0x820cc2ac3eed5bce7dc72df2aa3214e71690b91445d8bb1634c0488a671e3669028efbe1eae52f7132bde29b16a020b7", + "0x8bfd6a173a56b73480cc950ef266a18933ecafc86915a7453ded09efd8a0cf4466101f1373f05d48eae3e7fc5c0f7f54", + "0xa2ab566033062b6481eb7e4bbc64ed022407f56aa8dddc1aade76aa54a30ce3256052ce99218b66e6265f70837137a10", + "0xa9a90f77e54405ac852fe5c9691d934e1836c5a5813b3a2c5ce6c2ee6dd01302dcfcd5fae8d7dfcc46ee5ce47c5a6759", + "0x982d84a38d17b96d5729456c60f76efc9aaa0fccf66d99d5949b1f09a8867dee10ab70fb1b317fa4a794173d9ca95b16", + "0xb6aeb7a9b934a54e811921494f271d5d717924c561cd7a23ab3ef3dd3e86184d211c53c418f0746cdb3a12a26a334fc8", + "0xa0af9e02a7620e7ff119c3650d59d80169edd0ad452062b0e3e429c038cdaa4f55a18495e459367aaeb6a92c98003191", + "0x937ccbf8cd19b82af2755b4856cfcca3d791e33ae37e4881982ea89d3b21d205a9402d754fac63037243e699484d21f6", + "0x83c991703a7aac7ed7e88fe02ffdded1a5044143ac2cd038b687b2ccd37a69d6f9359de10508b3d282a9585475136f81", + "0x86edef59ab60ce98ae8d7a02e693970ca1cc6fa4372a59becc7ccca2a95e8f20a419899c8ccbb9c3e848f24178c15123", + "0x8a98cc2fd044f6749775001dc8209349547d19dc56e1da2e4de1c953e7e36f15740cdbb5e8c6e4238bf216c1f7f9f02b", + "0xb76cb8cb446eb3cb4f682a5cd884f6c93086a8bf626c5b5c557a06499de9c13315618d48a0c5693512a3dc143a799c07", + "0x931de6da9c129104ba52a7d77bb45af09e08d7595c21a6a5dadad6c3e20af1955743acc6e1683a5746c585e5391de9f5", + "0x81564bee5a3bd09476f658cf7719326c353485e2f4fea58d110071c5dddd3cabc349a8d1ecea45d589ed4479952a2ba2", + "0xb6e57034ed025ebb5e677911b47ad51fa2cdfa4de4caa158ae5727d33c94c27b5ffa63dffe2219fd17ea26dc6169fee1", + "0xa2bf96cd119e8c75807c32df3f3b19ca01fb185802d58f2d4d35af407abfdec6f4784c54d315818da77a3ff433811668", + "0x9366d86243f9d53bdd15d4cd6bf5dd348c2b89012c633b73a35d42fa08950073158ca0a1cfc32d64f56692c2374a020f", + "0xa62c2e7c692403e874a16e08e46a067e19dd561993ca07ff79cecb53c753763b3e49d372638c96c0a8c921bfa0798a0c", + "0x8df8b35861e00e82826b3a39069e9f3f0fcba18da2370e2fd792b4fbeec8a27111c7dd7e0acef5f4bd9b7a5cc2d6ece9", + "0xb53fb1956a2a34a840de4ff0b5b1e0e2fb78a21ac8edbce6be6c26a4b4de6d37e9dce799110a802a344e8541912353d7", + "0x8a1f575515fe8f98ea0da9de76bed0b3f871f3fc7254651e63c31a5ec47f0f8e64f9a0dc62a3b79d1d4b6d7ffbe040b6", + "0xb118f77f99ac947df97e7682f0fb446175185b842380af4ee7394531e4f93002c72b41a57a7c1b923a4f24b10924c84f", + "0xb37334c41a3456b73b61d0eb0777260af9c2e400bbec0e0c0fdb45c39ce0dd19f021d9760f35da801f20486c6be30e9e", + "0xa86eb98aa505fc1cab0be79c9c51d3823930ac212578a8e2b5a168573ceb8d6577387200ca810b84702741f5dc78a8f7", + "0xa3e909196f447e492200cc67000c5d7f0f585fb98e966cf9bf08257597fea8d92a90ceb054d4b5553d561330b5d0c89a", + "0xaca69a4095567331a665e2841210655636a3273d7b7590e021925fe50757617898e1883532f9cfd46428c2e3d854f9f7", + "0xa9ef845ab489f61dbfdcd71abcc29fc38f3494a00243b9c20b9cd0dd9e8a0f23304df84939b9652cdf5542d9b3ee085e", + "0xb640a8b6d1c7bf93a670e0cbd4fd621d38a9bb074e9454ac0195004435beae123d3634692a47978fb6c8345fa46df773", + "0xa12fc78b8d3334a3eb7b535cd5e648bb030df645cda4e90272a1fc3b368ee43975051bbecc3275d6b1e4600cc07239b0", + "0x84faf4d90edaa6cc837e5e04dc67761084ae24e410345f21923327c9cb5494ffa51b504c89bee168c11250edbdcbe194", + "0x96dc061ef504f721c17043fb88f4b338d3c4d9fd135c909fd6456a3f05331b4bdf9f9adc3083270e27bbfb0511788394", + "0x86eac7e4bbd3a302fa5eab35697d26f17e0b646f097ed5e74fb45ad857615d06e829c7187bc20e136085af97d487744f", + "0x815922ad356f490910e8cc3b0f7d3934b5e28c09711b5151ae8329876670f3de6d7a3a298fd97b580ac8f693305afb21", + "0x87c288b63db2cc89a31b57593dd3632fc0970e305175ae4917f2ad9f7916fd77163f08c491feab0de2dacde7d615111a", + "0xa0230bdf83cd469c7248074bec535eba8280cfde587d7c63d307149e9626bc7642b4bacc9beff2d8e8f6ea398dc0ade7", + "0xb666dae42ea858c9b7d903ea3ca5279f619c71ac6e3fda7469e2bbba08c7e8e12d6a3c35ff2c6383673b1b7c21db5e0e", + "0xac2c98a0ab3f9d041fc115d9be4a6c77bd2219bb4b851cbee0d9257a4de5791251735b5b8fad09c55d16eb0d97080eff", + "0xa3a7196fecd25e9cc7cac79c35365676e48c7be1493df255676adff2209c0719f2190ceff3ce008d08efa07c244c11a6", + "0xabac08f4df786b2d524f758bca43b403b724d12601dc0a8362b7a2779d55b060c6682a5618fffea2e4def169fcbd2bfb", + "0x895f71f0bc6356d864ad92a858895d9962c3a10fc92a686c033852b24a30c348de4c75fbae3a6a47f4e05a65cbde7e85", + "0x92aacbfc412bcaa0fef865869a76f290b7d568ae177314b4a2d8ff26ff1dcdd384dd6b49bbc924dd078ccce9ccf43332", + "0x85e8259980319bc750607f5004aa83f7d7eaf20eeb164fe3db13864e3d31e1f53ea42dd6d9b30ce710089f193c895d51", + "0x95c60b5561e53cfc26d620be90f84199ffd6dd9687c1be3a547048e7cba10a0be9bb6da000e7521cbd488d0901d48ee9", + "0x8a1f575515fe8f98ea0da9de76bed0b3f871f3fc7254651e63c31a5ec47f0f8e64f9a0dc62a3b79d1d4b6d7ffbe040b6", + "0x8f9f85ae6377414fcf8297ed45a736210cd3803f54f33116b0f290b853dc61e99ea08f3c422ed9bc6bdc2f42ab4f56ba", + "0xa0540580cbf8a66073ccfb614debabe17292f6e5f8da220adc1b61563ea8450509a77cfc091a0babae17fdf8e833dcd7", + "0xa3dadaba6ece9270cf95211b26a14e6eb09b5d4fbca3d6e47dc498145a46ed161df74ed83a6f81246eea1d0408957dd0", + "0xaefedb8ede3080a73a6921ec5b817cd9e867a510c0f7bcae47c860797faab809420f761d78b216a1eb88835b6587fa10", + "0xa58d2fb1c2612d28c54fafa7f2e1e6c336c24435abdb53e1be9dce9aebecbf7468a348b872549535ac18aa003f83ea87", + "0x87fdca39618051c4b3f03c816b13df2d4cd4c7c564e3d8693dcb58145b7b3b3db7884b0125b1e84d9bb82e91bed8bba3", + "0x859426bf6211e68924eefdb26cdc168ac0deab291aaff7036163997bff34d45809932f91e12d113784c05553ca773b15", + "0xa3ba4cc5da2a7c2fbc9b35d212c3ed130347e8edf67ddafe0536526930a57e3feec6a923641b9a9a0afe2d55a9c4d525", + "0xb76f598fd5c28d742bc1a81af84f35f1284d62239989f1025e9eba9bece2d746a52f246f9bb6bcfde888b9f7b67fc4f6", + "0x80e09f3bf3ea87d48e04b53d8f3b43b7e53d61f445f8c8a5a35472b84f6bb4f58f17d9832f5881bb44fc06156151e5c5", + "0x8effe3fb27c9f76bbd78687b743b52e6f3330eddc81bc9006ca81fd640f149d73630af578694f4530833c2151522dcc1", + "0x8fca49002964dbac90815c22f170ca0706f923090499d4fadf0bdf320593b9195fb6bade9623b1476ca0bb181ad44f0d", + "0x98aebd4bf15916512508a5fe89d814d5d76423c562cd3f0a0af504c8cde53be30f4df00e3ba0229cbf8528e198a0df11", + "0xb504cb87a024fd71b7ee7bed2833115567461d1ae8902cccd26809005c4a56078617ec5d3fa5b29a1c5954adc3867a26", + "0x8d264fbfeeebb6c4df37ff02224e75e245e508f53fb3446192cd786ecf10d0f704c4fc2e53e7f7318ae1407e46fc0fb8", + "0x81cfea085de08a39ecb888831381c4e60d2ece13caa69a1da2ade95841311f0e6e958863fe834f8ac70e358f730a9dcd", + "0xb4745c71c45bcc30163ed4fad7ad706b188fc1e19cf962f547d5500ff1972493539d2787c0e5ace5a85f7c39d1be4bbb", + "0xae95ddcf3db88f6b107dcf5d8aa907b2035e0250f7d664027656146395a794349d08a6a306ce7317b728ca83f70f3eaf", + "0xa3c66439724d737d20a640bceed8671b20cf6795671b6d442ed1ea5eda6723ae559396c24f44e982ba7751dcc6adef5c", + "0x887a4277ee8754733f3692a90416eeac1ebee52ff23173a827f0ba569bd84efd806eb9139049f66cc577e370d3f0962d", + "0xac4075da4614cd05cd4e23dc11d8aa630a9a2e908ba72f55b9c92d6a14a656794e74282864829954468f02b5b8a1648e", + "0x90a73984b4613a147b91fdc698fec92e913be45be1288de58d7efc31702c6aca49aa4017afc8434a2e3d1d169776989b", + "0xa3681ac11c5426767a2f1cdc89557746d5501d70add50bf4f2c9165fb5055af0644f3013603209cbaa0414d3dc794ee7", + "0xa845a8a3299f8e5fcf72358521a114c6077251e62ff6a885003f7281b0e1ee33715d9ca0b0082fbf7cb9d452d531c38c", + "0x87ae7d29e5e2f0ad0fb347c2977b256d70861f505edae4adff37e07552d55fe87e9c240d82b96e114517ee4d9f178737", + "0x868c13bb6bec7d56afd4e518f2f02b857a58d224fbe698be0e00bc178c1858e6bf5f0f7824fa013d5c8dd6f6e4147974", + "0xa0d15127c05e4410655722fe1012d0c59c97584a35d1011904307621623b7055d8ec03d67cb91f0584bf670b76ac14b4", + "0x94274299f0faca1152cca89282c10d00b5d3679cd4b7b02e018f653257b778262fb3c6c49d0eb83ce388869c283c3c05", + "0x96f1a36134e0d4137a7fe8bbb354f50aaa67f28f194ae2fdbe8be3eb24596678d8c9287765ee90c1f2778d0d607931e0", + "0x9579973ee2559da09b327c62b1cc0177f2859872885dca709e24dcfbb9bdf9224a6d26869aafce498f44c0e6bd8a996c", + "0xa7b86e4f1366da44fd59a3ee68018a99c23ba3588789463bd88b0177a9b94030b58cb879a506e64421af966f261eaa86", + "0xb1a3e6baed1cc37b9a67f38648f4fe365d23fb982027ab4202c3392d5459d7995264c2e9bb8e821a3e75e71390b6dc7c", + "0xabac08f4df786b2d524f758bca43b403b724d12601dc0a8362b7a2779d55b060c6682a5618fffea2e4def169fcbd2bfb", + "0x8e6b888197010ebadd216da35b9716daa8675d93b3c33a96a19fd9ca42624f6b430b2ff115cd0f5b717341605dda24bf", + "0xb1afaefc9fb0e436c8fb93ba69feb5282e9f672c62cbb3a9fc56e5377985e9d8d1b8a068936a1007efa52ef8be55ce9c", + "0xabbfb501071148e98b6aa56308197356fd993c93e27fd58987eca82036c1ae0ea89f9fb1a06c82851234643904c58453", + "0x86561f796ff1dc82581dcc22baddbc6c630c27ecc4402c75deb4559318c093656951b5fe91aad6efeafcc6266f9b7963", + "0x8c01b901e1067a89471927d911246a8b2f1284e93be9913406d7c88aba784694317e22a0a7635583dae7db45cafb73ed", + "0xa79ef16ee66514c2a4f34605a624dbb40d446f2637f943a4acdf0154c162fa12b30e151f03fb1a1cf100052186f94ce8", + "0xb5f69b7614fe07889b58142d7b438186d70214ff4cb209b6f271a3bf2bcdef5e6f1c7e95dbf5f2785aa471f0294cd029", + "0x8d6bed5f6b3f47b1428f00c306df550784cd24212ebac7e6384a0b1226ab50129c0341d0a10d990bd59b229869e7665a", + "0xae5ea228c1b91ef23c245928186fbafa1275ff1817535018d7d2d913abff0fd76bf41fd04a96d816f2f1891bd16e9264", + "0x8154f81d5bcab563895b68e0b3b26bee1019bfa16792c57a732e94fe6486425e661e822ec61437648bbbe6d8ee0e9a52", + "0xb7a2c83971c4e4132f3fcaf3c4374872de67ea5d89814492309cf924520a23787401f9621681fcf526154e80849a7e72", + "0xb118f77f99ac947df97e7682f0fb446175185b842380af4ee7394531e4f93002c72b41a57a7c1b923a4f24b10924c84f", + "0xa333abf3cfa6b46599e210f7ae33cb6bd378ffa4e11fb5bf9d2cdc2787cc34e6e088e010321c193ce46495009e88b780", + "0xab671eb947490c43fd05e42a787344b21af89babb705393c82748eaa0cfcf80bee498d275a1eaf1d647ca3b2923d76ea", + "0x8dca376df4847cb8fc2e54a31894c820860c30b5e123b76670a37435e950f53312f089a8e9bd713f68f59fd1bf09202f", + "0x887709dd8a4447bfed403c885889f9e30bff8fe1b1adbbb75712611125e703b2a23f5b7777ccc1fd1fed8fef0e6b81a9", + "0xb3c0847c126b8ee7d52dc13bbb6a1bb1ebd6a4840fa07a90c1b10aaf0837f53226c378be43c0d13bb2fad9cae21a8d18", + "0xb009efcac1a52e4d752a4810af784df2c0fe4c339ffa8b6a37632eccf04453fb9cc1c04ea27881efb4f141c580f7c568", + "0xb471c72bd2971353f4b44248b8e6cf5316812861a88ccfc20fd0d89a5e010428c387228b2f6f14c12f79e31afc9d0753", + "0x8ec38c68afdfb6ba019204039c2fb49a35467058f561f626fa87314d705fd615a7b9966576052be1b3690028d3c5c7bc", + "0xa54e104339286d3ce8271828fbac20f6cf7afd3b72d9b194b7cbaf65f6612416117be492bf4aa88faf6ada56cf4b6462", + "0xac3195143035cdb4ddcd5f93c150035d327addee5503ea2087b1a10b2f73b02453ddd1a94d8e7d883e365f9f0e3c38c9", + "0xa4154b14b45f0683bd79a00cf07566e43b1eac7c80809cef233c7ed62a5abf8287f4ef3686f7130f10b6123cc3578601", + "0xaebb24b64beafc6460ccd8445cee4a855b7656e98ba2cd11bd47c6303a243edc2cde1ddb09a9487b21db850479572b37", + "0xaf3d3dffbe55842dfb4417295a6ed1a82d26a579199494b305445215045785759be4cb57dc870c7ddaffbc101a854a92", + "0x91f870f372e11a473cd0e1265c2675721413d4910f6edf5433a5d8b7f6b7d0c1780b5fa8651fa7966b55bf59cb0e61fd", + "0xb07d7c3f1d486f5657d5935e3d67403024ffdcf25da5c460fdadc980d8d6b931de623c4f8a3da5eb6af346193eb36573", + "0x8c432e044af778fb5e5e5677dbd29cd52d6574a66b09b0cd6e2a5812e71c91559c3f257587bfc557b4b072a822973a60", + "0xa16938f556b8c11d110d95b8584cecef8b95ef349ea64b59df806cc62c52ee48074d0b3f18d84533e41583aefd6a9d43", + "0x942772b7c7c47d4e5957ccf1d6f1450070930af3e2b7eaab0dd7699372445df0cc910e6c0efcf501887dd1adabdaee23", + "0x8d5de60e934ea0471d9e0a46489f21e03abb9722f5b3633631a9a099b9524beac5d67716969c83d824498796d9c106b7", + "0xa70a79cdb02f144dd395f93d35f232569d3d0988a447099e40597d76ee3bce0241fb27bcb03a80ed3eb7e6c4003a40fa", + "0xb4cd409256819e8e4627edbba90ec40b7da17a57f95749104d90db0364f5007b1accc816f4d51a0dbe5ffbcb737cb37e", + "0xab92b2a177dfa55d202a653532f0e04d1339ca301aebe6a0e8419bf45be3e573b6b9ae4d3d822cc8279367a3d2c39b06", + "0x850515e1671f869ad1e207d44867f29b1fe3ec2bd736dbe053b5b72d53ff97d79c28218a7ace24c72d7972ed264f7356", + "0xab37a400dafa918d28ef43294b18dabcb4dd942261832f9839e59e53747c7b1bc44230967a9610b261f3abbd648e3dd8", + "0xb6c51ffe2ac7f9ed7c81796ffe865d6f72d0543f70e28866ac926e48972f24ba7b43d824dc0f89e61ecee7360034b268", + "0x91a3676c677c28c96817d6eb0aaee4c66b1c051b4c7cd2b98af6dd873c363c6da6e7fc29d7a87596ce751f84fd5e711e", + "0x931923f0c1f75a197e6244d67525b524ceb07510a6aae8cb3d56167cc1aacc76d26fadfa1bdfc55d8439c6ee4d4d8174", + "0xb0a47515752c15e4dbeaf9ee27fab3b5c0db82f5c685e8f716fd7d8764164944340430fe3db1a5679e6ffea5a16dd919", + "0xa24d05b51c7c128bb49979cbd9019e6618545d95275a44b5c3d1d03e71bf2ebffdf43fff50c30846ec27d279043cef4e", + "0xb7e18647b9d147a620b4905caf4a535a5b98e6ff0de5cc95a7dbe9c32bf1ac195a788baf9f51a6d7d0d2233d75af6e85", + "0x8009dff405aada0798a6cb7f418f73017d7a569a7576aff51348b15913a5e639dd232657cd775cfa0dd811ae5e301241", + "0xb45b285863f7303a234173b06e8eb63c8e2b70efe0dfb9872e3efddd31d52accf0f1292cfd1239b5a57492f3617a19e8", + "0x91ceef0680cf381adca0a55915d36f767d999f751c82b73ce3ee37454d050b14133830c95aac04216a4f783ac3ccf9a0", + "0xac5c01c51dac6ee1cb365c9b03f09906d9b7b9b4d1b73c44d9e8e06823025d7070f242898a975420bc87d6372382cab8", + "0x8e6bbfe492ecbbb8dc8889d3dcd7037a58db605bc6bb79131a72a9b9c1bad630e75f5e5e0c1bc407e73f3d13b116739f", + "0xacd17cba1203748b55bd9d7b940a16bb7c02988c93007a80b87e0bdb049b91f5ecce577e3e4ea68a0abe998a72cd300d", + "0xa26cc8594de3d8dc93065636bf0c6a71a337e544678f5a019a05a529123496baff8b3496f0bab510487f9d0c28d8e508", + "0xab4119eef94133198adb684b81f5e90070d3ca8f578c4c6c3d07de592a9af4e9fa18314db825f4c31cea1e2c7c62ed87", + "0xacb7069fe0428d350b8b710a702f56790bdaa4d93a77864620f5190d1ac7f2eed808019ca6910a61ec48239d2eca7f2a", + "0x8ec38c68afdfb6ba019204039c2fb49a35467058f561f626fa87314d705fd615a7b9966576052be1b3690028d3c5c7bc", + "0xb586e67ae1826a1cdd651ac785e4b38f8a0e042f103a9b7dbb0035626d5dec3ded04a4e2cc09e63b4b01aebe304e40d7", + "0x91cb79d52951d1b901e4a686bf4ad587e31db57ea5af6ffeb93eeafae3929879c386ddec860f803c2dc61055437e6bee", + "0x99efc1b9c40aafca602efa4ea00d8d9dfadcd77a962c833e347a928d8d52da51fb000f673cd17dadc80e9115ba04f91e", + "0x855474478de6f0f17168294a676f5a92db8d7f87b3e7e66f5ceee66dadeb5c94d740f0e0997e532409c2934175b6131c", + "0x96e7d1bbd42195360267c2a324b4d9bccad3231ed8a7f070278472a90371867e2ef2c29c9979a1ec6e194893afd992df", + "0xabac08f4df786b2d524f758bca43b403b724d12601dc0a8362b7a2779d55b060c6682a5618fffea2e4def169fcbd2bfb", + "0x8a978ee4be90254fd7003ee1e76e5257462cbb14a64dbca0b32cea078908d7da47588a40ffeb42af11a83a304608c0f7", + "0xa36d6952c2d7f88bf28032a76ed46c4dabbf1901a46efc50deb798d1b44adf7e0210fbdf2473a1ba408b5c98d76943e5", + "0x8c5a9f6eb0a3ea95e75362b06e5cd23968447a212cf22e1419c984d74432c51d290b717f80e8ed3e76b1232216f99758", + "0x89b4d4e0e4ae1264716fe93b8040811f355f6903ae9a865c037aa91e61517f549658a0678556cc003d9760cfd72a1e6e", + "0x991a7c93f06d50ec6a4340c6751b73eb5825bad02a954e44e1e2d424af928819ebbb590c6129ce35b3f1e908e2152f33", + "0x8c7ccbea47f3fb6c15863c84c99a9094a00f2b5836200eeb73dbf84fc8e7856369dc7ab09f9d51ae42909fa94c895afc", + "0x8e2e9a1a8bae9fffa594324a2c643ba0609f291146a104ceb9fc1f26d4a25604b97e9fb392c01689c88cac90c310333c", + "0xab69cf79750436d310dc3c5e96c2b97003f4394f31dfa8a9ac420595dc7b4d96dad5787d93347ba2bc6f196c241a3dbf", + "0xacd17cba1203748b55bd9d7b940a16bb7c02988c93007a80b87e0bdb049b91f5ecce577e3e4ea68a0abe998a72cd300d", + "0xa69f0a66173645ebda4f0be19235c620c1a1024c66f90e76715068804b0d86a23dc68b60bca5a3e685cce2501d76de97", + "0x864d5d9858cd881eecb0dde5e3e0c6c5de623cd9ef619e87b82fd25c5edf45a1a025b1dc763c27c5f4d520fd564b464a", + "0xacbb398ea9d782388c834cf7b3d95b9ff80ee2a8d072acae8f9979595910849e657889b994531c949d2601b3ce7b235d", + "0x91659e4ff45b9f2941cb41cd33553f29c4b65be9dc68d747467f2b5e39b9bec12dada05ec514255b4e9da31ac819d8d7", + "0xac56dbae1e290ad35dc14eee30c6cea441cb7d2cc64b8407b83df5e07ce4a8677983b45458c0127ec0d01f31bdd61a15", + "0xb42d53fb4e5390729381b74ab96f48551f9105c2256d547cd7be0eed5bd5e7b7ce87033c55d0ddfbfe08ebb782f18be0", + "0x89df46082b8dc997c3e33fa94fb6ebfd19af29d619ed4d861f8ffcf83d02b9077b9754d0667c2fceb7aa31ab5f806f65", + "0xa60642ede2da19e9e4a2fe5a31360fba2c871c25ceb8a867c8189fc62c191a5494cbe59a4a53f643d3025ab264e9cee8", + "0x8983fdebbeba6e3cc3ee1c9feb24faaeee712356975e359b0ddca3f7c9c7448132d665f54a4629002252d3fcf375f7b0", + "0x8368bb9b9bb2e17730c42ed1100eb870c88a8431601312aa8cb1e738cdb9ca2704dfd432cf1703c0db043259819631dc", + "0xb518c3490268a23dc86a61b79089340a81461d0dd27299155a11a1d20c541aae79552e6f434cc0268a3965834b9ea14e", + "0x8ef9b456c6abbc1b912e4b5c9420e8af1a5860eb670894d3ac250ee57f2421f2e4eaa1a7f85df0f3f9b34a24169195fe", + "0xa83371f44e007c708dc4bcafa7bd3581f9080a4583c9be88624265014fd92f060127e628de5af3c442a25f049c7e7766", + "0x862d53d9e4313374d202f2b28e6ffe64efb0312f9c2663f2eef67b72345faa8932b27f9b9bb7b476d9b5e418fea99124", + "0x8b20a852fc8f0b7cdbbd808c04a0cfd2fbccbdc0cb2361434f0d96341c8bde6155695977768d563b95746dcb4339fe2c", + "0x9820d98ef31bab813a0124ce48cacb9d99b2c1c625c41cb3d6e0b21f604ee215d5f37505c86766531dc302622d889766", + "0x8f90e72a54e6894d511061957162e753010812346afd4d90cfedb678b99ba1aacf2b6bd0e49b4b0e684da8082a048619", + "0xb7519d6a1d93cfd11fb19ea534b107b0dd612986d6d56a0d81e8b5faf112919a55e4135a5c5052ef8142535a22ab8bdf", + "0x91bf4c32fa8888d3829d3c33e12550d2ecb70762d5eeecd044d4902e4a7f8b7a2592cf6cb7736eb6bd9d312f85c2777c", + "0xa75f29ddd8124382233f2434fcd158d7659fb64cf086b67da7416665f153f34915cb0fb24afb891e1848c08f3af76aac", + "0x8391e3ad6ec2686bdc686671d579edac2d5efa8cf0923577df28fe0735e4d5103173d44452816e3c2b2a7fcc1fcc20d9", + "0x8d50e904d851a5d8e01d7902d8a67b978571705caa5e58db3037350906f96db7bb141354e29ed9a47ef5e59914dcbdc4", + "0xa3b109249ac2900806f0f39338da72d4f2cc6d1ac403b59834b46da5705cf436af8499fa83717f954edb32312397c8d9", + "0xb2349265be33d90aaf51362d015ce47c5ffe33e9e6e018c8c6e39336d9327ccdd13d25e792eb33b43ed89a162f6ac2fd", + "0x971882d02ad64729cc87251b49effc0b8db9880c25083bfa0ff34e7394e691288c7cefbb5cfdc76d6677ffb9da765dba", + "0xa1d05688a11062e3f9aeb4a5cc3cf7b77bd51220effa2bdf83a563262c7228676390798f984266cda3322c6a5efe12f6", + "0xb67146b202afec0132ac0070c005cf664081e860339f8f4d45ac3e630dda05560936e646673e652d08cecd8d18fc64da", + "0x85626305abd33d464b345f59df3f2f912d159f742b13ad238e318adb58cc4afb66e2376af5ddc96b0fe03bb7b0f5f0f0", + "0xae50f93230983a82e732903d6ed50a506d678f35b6b4a4b3686a92b12aeb9d34cb095e8562b0900125bbced0359b37de", + "0xa58c3a4ba86d0d6b81c8411bb73a528b4f3bc2debac0e0208f788c080a3a96541d57c927143c165f595070afe14b0517", + "0xb7e5497eda543c02a7b3245eece98d21dd4c587b5a05f21b5c785756a0b875715782f706fbbfeaa0edaa6faa6b03d8eb", + "0xa59a20a570769bd011a64917c77a134b7a741a202e3f08123354d1c2dfa8577d00b29dcb75ba65b983a9b628e887ea24", + "0x936f7e20c96b97548fef667aa9fa9e6cfdc578f392774586abe124e7afc36be3a484735e88cc0d6de6d69cf4548b1227", + "0x99365fe5ab8ea8bd768ae7181a6ba49b79d240f512ce309b02f09d465fea276298ff55b5b9cb5b4162a901b390606024", + "0x9337558dde89640d62984bb0fc12ea5f934c2258d4ce06b187364b9a646bb90966851dacf3be0156b2956cf46d4d8d27", + "0x96e7d1bbd42195360267c2a324b4d9bccad3231ed8a7f070278472a90371867e2ef2c29c9979a1ec6e194893afd992df", + "0x820f164a16c02e136911dadbc61b9f6859a7c53d0ea17b8f64b783f7f2f4f549775d3f16e21634dc6d54aef8d56517b2", + "0x887ac0eaa1020681dd405305299e994a02bc71bbc696484e2138a71ea09fbf0d2675333bdaf428a5a14fd1d275859ab4", + "0x82212706111fb1cf5def02b5b0eb7ae9e6ea42b4c7a2b9fcacb7aec928326edb9ac940850dd933f2822f6cf519de0d50", + "0x89681684a4f5a2e56a4acd37836c06cfe8613b0694d2258f8ccee67796e76f49dd9da349b1c23a36f9438097c1e6415e", + "0xa102c2ade15ea2f2b0cbc7dbd8c1171de0c8092fc4ecef84b5fd2bae7424aea8be1629f851c75e4d1d0e96104e54bfbc", + "0x93abeaf05f5a6a7e8152367bb556b7760f74e63847539c6d7740e649770c681a67841e8b601a43ae50aaa3512bef06ed", + "0xb404beebf60026ca6843f2953cfcdee494d495c8e2d18865147102ef29a8f0ee470961d2246fe5a450c622d20ca51d53", + "0xa34eba9a41f2307891af1825ed501b74278f67eaef4bc57cae5c0c46202c19fa0d9a5dd8b91325f6c151a0644762ef29", + "0x982e1033be4dc48cc28c7990a27212a3a6782d10d9f3c1b00f30a4406f35011e37aedafeb96edf857de8601a7189b491", + "0x89a3da03c0d87cf8a3a166dc845824215cc6057f9d2e582866c6d4ba35ecd51e31a8c8203a6f222bc6701beb249052f4", + "0xb80e8516598c59dddcf13fdb7a42d8f5a52c84e01bd6a39880f4acaefe8e4b8f09cc1b1a2423cd5121f4952201f20078", + "0xaf96a83f97ed0696fd29e59daa24e1857e16371f67089d08129f9c236753ea68c93590dce4d32c9e9818a21014da6f0d", + "0xb2235bdf60dde5d0d78c72cb69e6e09153b0154efdbab97e1bc91f18d3cec4f660a80311fe6a1acd419a448ab65b18f1", + "0xb21785008910a949804d1291e7533752641d31beae3cb518806488f81d58c38a5efe5ed9534ac692e68c3121e2f9d97d", + "0xa6f424dfa001c41535d6999b918903162d6f5fda3ccd3c30a77c526d6b551601625b0b0df363623645d1019c7b4d2035", + "0xa626b9c78e4ff01b48653961a65db6887a113273fec0f5b96bad34cc2c7647402f84568bb96b55d5da1a84cfb9eb4891", + "0x998e4ef7eb91c21d4ac2882f4bbd6d544fea90d905d28668a5fdbabd234d96be4aba8918f97d4a1e891a30a8e4e05a4f", + "0x84d1ee720d3724ce8caa5f76ab822c3565ee4e13c3bf9a9478b39aeab6ddb8937d1f3fc5fcf7faaad4a16214d2550c1a", + "0xb926a21f555c296603dc9e24e176243199a533914f48994b20abca16f19c30cfd0baf319268139fe3f83ce69afdc324d", + "0xa0f72705628b1ff0bd6f6c80a1878c9f66b5f99e2e2cf97e5c32c7c662466b3c2553cec24169716b20e06407b092db5f", + "0xa5f97d27dbe892f2b3b664362a7fd5f098566ca4d0ff350ebd84a2e79afbc18cbf0b2fb5e53b9ee3635b2f36e46cfe28", + "0xa9f6b6b04e36850d2dbbc390a9614013da239375f105b0f3738138431f0a3a8c685445f6c518e0b0e72fb3244ddc0d9e", + "0xa5b213f1d8ddcd9e42570f61f57c0e59cd6379740e50239257395f2fe7fac982c9861685e0fbee6c75bced5aa6b64849", + "0x887c837e3e30354a0c3f9ebe0e555406400dd882acf9b360fa848773f2f637b6586a84b4884d01e5ca3e896b89a5e331", + "0xa0047e03c89a95248543618e6b7ca2c7aad7acda3c9f85771ec5c93fa898c651e8b2ea3b6b799d8cd592290a986cdd7d", + "0xafd6ea5e66f0e3ab835091ad51a98f891411238098196ed63c1cbf45d5428d1fcac4fb7b7129f2c880b06220d3ee8cec", + "0xab01a7b13c967620d98de736b8ff23d856daa26d5cd8576993ee02a5d694332c0464ed018ebffcd5c71bab5cada850ce", + "0xb2eedff11e346518fa54e161be1d45db77136b724d497e337a55edfc896417de3a180bf90dd5f9d92c19db48e8574760", + "0x8d5776148c65e35d717da1902d74727b3bee21ceba8d337d77738932865f1b851e810b91346f705880da6cac63183717", + "0xb083c4cefb555576bb37b71f30532822cb4b1e1998e35cb00ffb80ca14e2853193c16a6756417853d4a74d625744dd76", + "0xb9299f950db8cafd236a17f141cd2ea9ff441730749bab3571211d207ccafbf5a3990dc137400c405086c4d2879ab91f", + "0xab37a400dafa918d28ef43294b18dabcb4dd942261832f9839e59e53747c7b1bc44230967a9610b261f3abbd648e3dd8", + "0x86edef59ab60ce98ae8d7a02e693970ca1cc6fa4372a59becc7ccca2a95e8f20a419899c8ccbb9c3e848f24178c15123", + "0x8b7cb5b8de09a6dfceddcbaa498bc65f86297bcf95d107880c08854ed2289441a67721340285cfe1749c62e8ef0f3c58", + "0x93fda62b785757b465e6f396f74674d5b95a08c938cf694e66beed7d2f317a4c9d736cb54d7c221d61e8cb3d64dca3ab", + "0x8018499ef720e28759133033833edfe17ed23e42f99058bb79fe844ddee823cfdc43916be2dc9724d18f9726e6f1b409", + "0x95fa868db7592c5fb651d5d9971fc4e354dff969d6b05085f5d01fb4da1abb420ecad5ecb0e886e0ced1c9de8f3d5cfe", + "0x9427579975e81128057097972bedda9f0240c97233631a23c50ce1a007c0d0d5898deb0daccf4e1518dfb9abba81bf71", + "0x963a298fc8876b702424a697929c7a1938d298075e38b616c8711f1c7116f74868113a7617e0b4783fc00f88c614e72d", + "0x8027bc62b59f9f15613e38da74ccc71fc3eaee26f096d187c613068195ce6eb64176013f2d86b00c4b0b6a7c11b9a9e5", + "0x8a7b3516e5e10cfb6f5d3882464ca4d5e3437ed70a65f60b3bc586e49ec9ffab1c61dd23ab03ad7806353066a816be61", + "0xa7be457b8bc1bfde4865a35b7b1826118edba213b0f0d3cf5d877267cc1559cabe61cefb1e300142a978c29676036179", + "0x88e7a12a90428bb45bcf4b01442c11607433211fc2f9bee9545304eb66e0b4b5339360160bc782e185391385da7c5ad7", + "0xb7e18647b9d147a620b4905caf4a535a5b98e6ff0de5cc95a7dbe9c32bf1ac195a788baf9f51a6d7d0d2233d75af6e85", + "0x84888f2efd897a2aca04e34505774f6f4d62a02a5ae93f71405f2d3b326366b4038854458fd6553d12da6d4891788e59", + "0xac1af27a7c67b1c6c082f0fe733046f8b155a7d66caa8ccc40a53ac5a55a4903d598b5f80543ea52c25205b02959f4f5", + "0x8277508c9aa4d1938c83b48d05fe3a440bfb50c5be79b30da1ac1853d19ee062797be19521f94b038cb991b1237abc59", + "0xb81821a79c9148b41d24d85dc997336a1e1719da0e31e42af30812b97a5af31708ca3e7bc2e803c3751cff23af5c509d", + "0xa3a6d1ee35cc0ed9290a135086b32f136028b320650e1f3443434af7ff52dd74c546ffe2a1bebfc329f1b52cd72aca34", + "0xa53912c9c42a1a93ba4c3a946d7787c11fcec1011d13d71d2b13f26da3935a80def2f59453de41386bf35910afe96aed", + "0xa15e0cb96a463ab81e661ca44c619b71a159680bbc04707ea5a5867ff38b15416e3abe55d2fabdab9aede1f157dd37e1", + "0x9702ebb1f2eeb3a401b0a65166fa129d829041984fe22b3f51eedfaf384578d33dab73d85164a101ecbb86db9d916419", + "0x932d72ae4952031f9070b1d7cc2e827e06eb606e0e10594d19f56d9460cb5d1675bb3e19ce5752512e3bec256a0d88bf", + "0x97b43a6d1a47a1c415278344dba0cdfa952663a71fdcaf58d313c161e479ab5d1b980d8870055cc8f0d283bec8f97425", + "0x91647cabe8a105de929a10b245d264150f6863fad3b057593ca7f74cc8f78bb790492da309d74109805fe352d0c70448", + "0xa4c665a3e4e25a7af51e433c978573841bfa2c75c075e17dd1f43b2f0369249f3d3a46ff51051e8ce7da528b0fa98d16", + "0xa3681ac11c5426767a2f1cdc89557746d5501d70add50bf4f2c9165fb5055af0644f3013603209cbaa0414d3dc794ee7", + "0x89cd9f6ae7d9a9ff2b4db916ba3af9fe700fcfbd16577bf73a965af938e8cf633020466b0298d3c31300360aa6851af2", + "0xa1c25eb9b73723982be78180770aa63c5f7b23c2e54a2ed7e75a860c4512d273008066f1124ac8a43c60fe1e2a8bf03c", + "0xa413befdecf9441fa6e6dd318af49173f19e8b95b8d928ebe1cc46cacc78b1377afa8867083be473457cd31dfff88221", + "0x941c8962debd2756f92a6a0451a2bf7fbc01f32ed03d0823dffd4a61186628a4c3c7c482b18589ff65e4c449fa35c2a4", + "0x89ab1e5c2565f154f92c9b3554160832d176613f1a2f872b6ed62ed925a33fb0b40b71b7443eaaa15099ab24693c8d13", + "0x978eef234c9d553ed5d83fdd49982e30bd162620b29a5d9c2b70d7ff44345acb9b72d0cbb1fc7d8dfe20a56e0f8c5f04", + "0xb4bf70468eff528bf8815a8d07080a7e98d1b03da1b499573e0dbbd9846408654535657062e7a87a54773d5493fc5079", + "0xa51f7858f1a7832b743a114127ebee1cffe176c988d4cb2348e45d4ebc52b43f80432c7276c6a5f8bfe39a432d4412ee", + "0xb72c93827b8cbcbde357a04ceae87554db9d283ef535fdb7bca45460ea567edf7c1b82d96c7df679e64e01e501e0b450", + "0xa8c167b93023b60e2050e704fcaca8951df180b2ae17bfb6af464533395ece7ed9d9ec200fd08b27b6f04dafa3a7a0bd", + "0xb4b80d7fbdb1dbf1567dfb30d8e814e63de670839a8f6ff434fe171416599fef831b8e978d6498851b8a81e0bc8dfb85", + "0xb9299f950db8cafd236a17f141cd2ea9ff441730749bab3571211d207ccafbf5a3990dc137400c405086c4d2879ab91f", + "0xaa458aaca6ecb43b6e45ea72d02682e5a7dc8dc22782669a0628e1638e73999319f011803f4ec8cf072467bf2c49c629", + "0xa02f7fec0661394399a82b2e3151009160b3f5392017ba579b301ed42c85100c295acbfed46b6c58a9d71796ed0930e6", + "0xaef7205b83123d06496fb23188c2edd527728200f8f01486b9e27d3d075d713c7092dcfa2445459fc85b798128fca051", + "0x81534e2a182da0c6831479c7e722953d267ba9c63a204ac96a178b1dc90d0a6ba8737002688ba5f102eda5669249f114", + "0x8d47a7c2c62b459b91e8f67e9841b34a282ceb11e2c4b0549883b627c8526d9e0ebd7333ba70630bc0ec2478114b6ae8", + "0xb3b2e3dec38d55c57a428c0cbae723f3c95ba75e51cf27e9bbb2a6398dc922069ae3d1aafbb42ebb46a2d8b356045fa2", + "0xa03c1e287ccc4d457f5e71e9dc769294835945561e6f236ac7de210d2e614eee8a85e21dfb46e2143c68de22ccee8660", + "0x946948e31311703f64d34dc6faaae992e39b7ced92ecdc01df9761e3819a6db1266be718fdf434fbec912da37d1986f1", + "0x89a3da03c0d87cf8a3a166dc845824215cc6057f9d2e582866c6d4ba35ecd51e31a8c8203a6f222bc6701beb249052f4", + "0x8bfa106ada4914419bf1d8900c5981dd5b90c3023196d7e918d62879fc3a575bd0a25f939366f7fd2240df6108b069ec", + "0xadb198f70a7f1969ed0958be4a9a60dcc1806bced79c63692b9aad6c5648ffea1fed60b24bf4b1862e817cf229e93e83", + "0xa113b889be5dcc859a7f50421614a51516b3aadc60489a8c52f668e035c59d61640da74ba1a608856db4ff1fa1fe2dfd", + "0x88a7dc337d89324f025f686f37d21240c7da9a1cb802259ea8d8a83e246dcc2adceca7ca3534bc7bf8f3ae1cbeafb5c0", + "0xb354d0d1bd942f79002a2eaf37eb99dab650170e7040c13c824803ed7c1670dc910ccae13bbe58bde003829b140b45ea", + "0x82fd68050fcb8a203b78217aa89ccbe01482f5ecadab015ec13b605f64ecd5ce7b98e3403b0681de2852570bc7b7e845", + "0xa4d88467136b99d6e55603b3665b6da0f7fb27c7759687f7e6977b6230272773d7b95049d999538c008f310c05ed948a", + "0xaaeb466f4316874c2107a0de38dafafa65ce50039c20723e8797815238011426f4e77e29fc573e7c6d2df85c1bbfefdd", + "0xa8d15870aab9cef8e116a77ce29afab4c1ed87e5f61f7fa0166df0be48c31b5bcc2eeb76a6da1f056a5518f665443054", + "0xacdc948f5441a44832c73316a25e0ddcadca50895495daf2b3600206ce0f2ebc5113dc00d0ee497e9bff7d519fb8611f", + "0x92127d55535bf59f2b00511c82f74afe90529d4abfbaca6e53515d63303fe52b4b22383fb026a2a3f88e96d2bd235f6a", + "0x8b027c14affe47f83ee59b504d83b2fd2d9303de2c03ee59d169bb199d9f4bd6533d7f8c812dd7a6f1e8155e3e185689", + "0xae50f93230983a82e732903d6ed50a506d678f35b6b4a4b3686a92b12aeb9d34cb095e8562b0900125bbced0359b37de", + "0xb1f43b498cba1797f9793dc794a437500c3c44a8a4b59f9125a4d358afa304fc05b88ac31ed40b6eb68f0396b60cb7cd", + "0xa18f4464cf5cebade8ee280fa00e0917cbf1743aeb0dacc748ab68773b909e30dc60f40fdef3041b5f082e650985f7a6", + "0xb0eecd04c8d09fd364f9ca724036995c16ba6830d6c13a480b30eb2118c66c019cfdc9dacce6bfd8215abe025733e43d", + "0xa5b213f1d8ddcd9e42570f61f57c0e59cd6379740e50239257395f2fe7fac982c9861685e0fbee6c75bced5aa6b64849", + "0xad2cdae4ce412c92c6d0e6d7401639eecb9e31de949b5e6c09941aeafb89753a00ea1eb79fa70b54699acbfa31eda6b7", + "0x93f941b4fe6c05621e7a651b87669eefd60b6e8a4a8e630a51fa3fee27417b9eebce39f80a5bade9ca779133ad8388f6", + "0xb63ace9e3893ec7b7c853023b359c34d4baaa0ac23908b476ce67c07d29f5e5e895e90c3d3f58f8433ac5d06df894d0d", + "0xac2c98a0ab3f9d041fc115d9be4a6c77bd2219bb4b851cbee0d9257a4de5791251735b5b8fad09c55d16eb0d97080eff", + "0xb51f0a14a661c23380976f74bf9feade39d33b61db73c10921a537f01fbd72dc0138f6f85f975cd20ecf1ea033a698a0", + "0xa3615114600b4e805a45a04b16aa53c2ca5d8a39fe6efb3d359d8436583cb94719be750ee2fb4bb29823b4f2184258c2", + "0xb083c4cefb555576bb37b71f30532822cb4b1e1998e35cb00ffb80ca14e2853193c16a6756417853d4a74d625744dd76", + "0x8ef9b456c6abbc1b912e4b5c9420e8af1a5860eb670894d3ac250ee57f2421f2e4eaa1a7f85df0f3f9b34a24169195fe", + "0xa6d6ef51a361df2e8f1d993980e4df93dbbb32248a8608e3e2b724093936f013edabb2e3374842b7cce9630e57c7e4dd", + "0x8ceeec6c85df65d52e3d56efcf95f88b59aa085b61bb026fb228b855f088d9b676ffd5f0ee2ddbae00662b2f9ce770b1", + "0xab33c65587ecb3278325948c706aed26547e47ed2b4bc027e9119bb37bec67ddf5489fbc30304ef6c80699c10662d392", + "0x8a98cc2fd044f6749775001dc8209349547d19dc56e1da2e4de1c953e7e36f15740cdbb5e8c6e4238bf216c1f7f9f02b", + "0xa649208372f44f32eb1cd895de458ca1b8be782746356f08ac8ef629429d0780a0799fcff85736e19aead0b79bfff261", + "0xaaa18df4ad95f7443955accf8ec206f46d4d8ad9f1adb07b143b4225590917ed7ae050fc329d54310d3d0b198cedaf0b", + "0x8f2895cb8c77c498fd4fc0b572115c859168fede213379aa8fa6914f3b1ae2d369a14743e277249611995296de206751", + "0xab7c058199294c02e1edf9b790004f971cb8c41ae7efd25592705970141cdd5318e8eb187959f1ac8bf45c59f1ead0d9", + "0x952a95612aecce4321d2c17aabd2fb260b1cb41df5f76f5b82b46cf818d7a4f18e5e2944cddcd2280a993c0af4f834fe", + "0x86bfb15c8155ec969dbdc6df4e310f32e89b0a9106941deaae52a299cf9a4fa6d7234f210e21ca1ab173025590507bb2", + "0x8253e3b0b85538d01b0ca90b0a1656ad80ee576d0c3fa6349df58df92683b510e56c524fa6144f79a5525f41e4a2ed34", + "0xa60c4db2f208cda284b2a2def60024f3d88873191a88f6b71cea186a79c8c2af4e84692f619b17d9dc2f5f3dd20c7e35", + "0xa04016e9e13ad845763cfe44af4e29fecf920b4aa42f581715fc34fb9ca27776feee45c82093c7274839eef1838b10c4", + "0x94d4a1e3a3d28a948f14d1507372701ac6fc884a4905405a63663e170831578a2719714ef56f920baa0ca27954823e39", + "0x8027e3716601f04f1bec13c787805cfdff2c85a63390cc3db377594580a3292c730b833a002ae5cfc0a826bacce666bb", + "0x8eafbb7002f5bc4cea23e7b1ba1ec10558de447c7b3e209b77f4df7b042804a07bb27c85d76aea591fa5693542c070de", + "0x83f1091546b7a4b5516009c7cfae1370decfa31ca35ec9a005ecd90aa7d386eef050387114527b7de9f237ce39cbd13d", + "0xaf9285a3a9b968a90ae384344aa9f981683d548d957c6105fa165da78f17cdf86099f18776a5c9251caa62953841fdd5", + "0x8cd1c73b7fe915e7169d351f88ade0f810d6a156fe20e4b52c7a697c3d93459e6d6c2f10dc1c6ec4114beae3e0a8c45a", + "0xb15460725c0d6bc3a6a7006dcf3c3e3561d9acd674c52d4199daa8598ee29eef053ae521f1271aebc66943938c9f4b7e", + "0xa5cf6f4fd67aecb845eebc8d7304c98c69806d774d4c468350f7f82ff0f5baeecc56837705e39432a8d246aa2a7075ed", + "0x93cd53472c2818ab26f77bcc52ea2f37914d80c8abe318f9db59cc5a6943d1b252287d470174a4cbbff0f5ec295a2fc7", + "0x84926cf2265981e5531d90d8f2da1041cb73bdb1a7e11eb8ab21dbe94fefad5bbd674f6cafbcaa597480567edf0b2029", + "0x815f53751f6d3e7d76c489f3c98d2b49214938cac8c2b417e2d17bb13446c285fa76fd32a97e9c4564a68f4faa069ad2", + "0xa97b80bf780fba51a5863e620317812418204d3d5a1001710aa0cca383cb40855d9da0ddfdd40e1d2e9336a4543ca1ad", + "0xb9e6c9f2562e90bd3008669a42151538b70faf028cc5bbc09fd6ab3febc626df911fcc65744a2ad793ecaf3f91a1f701", + "0xa0bc362946a373566c0fbd0b8bdd62ac76d972c960c0b0d8589304d18252286f7277e3b58229e6aa8a8bbf2ee2d99163", + "0x8e70e4867d2731901d603928d72bbeb34b2e0339a4f5cf06e7a771640717421b4ea039c61dde951582a28c2ff152ff70", + "0xb1ea1e8ab5dba06c7cf3f30512d2db1b9ac360cf9a639ad7bcde9221012b4f65adb8322bc2ae291b6b19c58eafc73232", + "0xb926a21f555c296603dc9e24e176243199a533914f48994b20abca16f19c30cfd0baf319268139fe3f83ce69afdc324d", + "0xb12fd5f747c5223c5150dca2728bb3a363c5bdade5a9d1415642b2201c51aa6bba20a988c51bb6452fee7e05a8586b42", + "0xa8775e264561db8475c08648039ee1938c8225ffcbff2fd7a4f123afc1b848fb65ea140bb40bb4caeed3a5400f1048e5", + "0x8263ab425cd76033b8b94e50623556440204f68e0f015c19ab304a05e9742113fbcbbfab0b2e3b885bb8fdab77edd7ce", + "0xa9b120a77d70c1cbc0178a12d97a78b2dd0b98d0584e8e780b937800ceb18c90eaa1f0a83c5b50e34cae1c20468f004f", + "0x87ca4fa85a257adf7e21af302437e0fa094e09efced2d7ebab6cf848e6a77ae7bfc7cf76079117f6ed6eded9d79ce9cb", + "0x8675d210e67eddb3cefeed200b9e205679d36d8dcad70f09e678d8d1b3eb1059d12542f3aca300f384504458a881dd60", + "0xae9acddfd2b63ff0eb094260869087252030ff6a86cf3ab32ce3819b4410a1b06365c2284631b86e79e130394220d0d7", + "0x8e8e48992d0394fcb9a0c56bbd3797400128e28fe395ad9acf582919d66d11a4811a7187897e60ee2ab4842800c8c36c", + "0x94334aeba00615aa6318eaffc5f63d84644db4b780ed69eed9280fdd63556bdfef862cac72656aa64e045d0092d8b1c0", + "0x90bfbe37ac3992432e68c95c0d4342a9712126d1f50089239c9f4f6c0c202b54334e08604d245b97dc8e8f6706f6992c", + "0x9348cf0fbd4414944935b61d9c99a9ad4c1b1825a7059e698a2709b0f07adaa26b32db557f32388b44461285959d25d3", + "0x8ba45888012549a343983c43cea12a0c268d2f7884fcf563d98e8c0e08686064a9231ae83680f225e46d021a4e7959bb", + "0x8ff5d2e6c98b1fea70cb36ea8ed497fd1233b9418948ac58c6c379ed35fb10f8253ef188c909d5e77e81b5b8e2a4ad17", + "0xafdc091a224486e7bfac169e6a7b4e008d2d04144508a337fd93b6f4d385ee3f0d927b1f5c1cd79a15e0fd6078e45dd4", + "0xb18c41c0f827f6d8656d3fb93c90b663eb2eac034923972f8842cb30e96c32842b3fbc1127930e1ba4322d5b6641f04d", + "0x88015bec478fd3ddff72efda0e8fc54b74faf804b0a3473cca38efbe5a7e6dc0be1cfe3dd62b8ac5a6a7a21971dcc58c", + "0x8853c582e86cf916750d670a621246a63c7fd78f68c556642053bcdfa7937de58885d728209736b7d5521b591387e9a7", + "0xb8d68610fdee190ec5a1f4be4c4f750b00ad78d3e9c96b576c6913eab9e7a81e1d6d6a675ee3c6efac5d02ed4b3c093a", + "0xa7acf82999de75f231fd80770bcb0f4c720d6b1e4a2558fa1ce854382fda92beb89fea5b5d229dad85fafee7a9e98329", + "0xb4b7dbe1146cf5b3b7bf3fae3c3556620010b2e7e424aac8063d5c24bf22b002f36b5447dd3fd1f918e5780180a16c5d", + "0xa5817c74a394b0359a4376ef7e9e8f7dfa6a7829602da225074fb392b715e1fd52c50cae0f128a7006f28b22f233fbf5", + "0xa26dd9b28564c3d95679aca03e3432ac26e287f80e870714c5946b05538b3cb43bba7b85c16bceb5430e81b7a04c1b1d", + "0xafba279768f0f928b864645aa4e491e9c949bf3dab57efa24eeaa1a9a7d4d5a53c840019354068e64c65a2f5889b8f3c", + "0xac66f3a7041586ac1576e33598f01921e16d99afbf4249c3350f0ee1654de98bd37a61c243eb6a18a942db529e36af0d", + "0x8b8813bd2c07001a4d745cd6d9491bc2c4a9177512459a75dc2a0fa989680d173de638f76f887de3303a266b1ede9480", + "0xb2235bdf60dde5d0d78c72cb69e6e09153b0154efdbab97e1bc91f18d3cec4f660a80311fe6a1acd419a448ab65b18f1", + "0x938dc1e182f19f40ba9a4eb5530407e58dac27a237b259fad4ff070c8abf98a0fb107db6017e1da25a855c8867e80bae", + "0x81e0992e7c1c54c21cac32e36b90b25e1e5b72aac99c953c3c4d019eced64d7e316cbc0840204a4a51a4ad17d8b1d508", + "0xb50c306f78143b37986e68efa10dbe1fb047d58562e9b5c5439b341dd8f1896c7ae586afac0a3213759784a905c1caaa", + "0xabf7da952c9d8f75fcc67fa7969fac0b26d4dc3e022961ed674ce85d734f11620a950fb1fb0ef830fba1d8b5bc3eced4", + "0x92127d55535bf59f2b00511c82f74afe90529d4abfbaca6e53515d63303fe52b4b22383fb026a2a3f88e96d2bd235f6a", + "0x9332251b4b56579b201a2fd9e777e4be80aa213bc986ed5d1187cada9b225a7ed18f1f5bf68c2839bf330e00b2d63f22", + "0xa12fc78b8d3334a3eb7b535cd5e648bb030df645cda4e90272a1fc3b368ee43975051bbecc3275d6b1e4600cc07239b0", + "0x8effe3fb27c9f76bbd78687b743b52e6f3330eddc81bc9006ca81fd640f149d73630af578694f4530833c2151522dcc1", + "0x8ded37d67b5368619a090266e9b5585fbff60319a90a4244a3c3342641f5bfa5130998dd97d7a42505cd896c29255530", + "0xa413befdecf9441fa6e6dd318af49173f19e8b95b8d928ebe1cc46cacc78b1377afa8867083be473457cd31dfff88221", + "0x98aebd4bf15916512508a5fe89d814d5d76423c562cd3f0a0af504c8cde53be30f4df00e3ba0229cbf8528e198a0df11", + "0xb4c5aa21659b3ae37fde62233b0bf41182fdd57c22fb5f47a236048e725a0e8636b9a595b13d9ecdf18c445f156ad7ee", + "0x824c8a1399ab199498f84e4baa49ff2c905cf94d6ac176e27ec5e2c7985140dbaa9cc6303d906a07ab5d8e19adf25d8a", + "0x8f84cba7ceb7652023fc8ebde4b00ecde1f550935bab12feb630d6f49517b4148f3cde184bf55d4f6ec99a849fc6f862", + "0xb1ca8fee56192611094ae865f5f7fcfed3f89303386e8fd93eace625217b51a2023d5b7adf7cdf070e85438cd73fd75f", + "0x9582dc00ce0b175c0651f8a4a92d84223a2cb9cbf8a6f58cf92fab6e78149d3c22904a6c4711ef1ffee1e7ef4a4841c1", + "0x84d2eb008578aebd6f01254b7e46584c1524e6fd7a5a2ae5fa0ea560865ca50d52290cf2d12dd20b042f402e62181b4d", + "0xa2ab566033062b6481eb7e4bbc64ed022407f56aa8dddc1aade76aa54a30ce3256052ce99218b66e6265f70837137a10", + "0x91f870f372e11a473cd0e1265c2675721413d4910f6edf5433a5d8b7f6b7d0c1780b5fa8651fa7966b55bf59cb0e61fd", + "0xb468835c3070f1a00248e27d32e83d33cf599771992d65502b163cc1596c3c2056e6da868b0dbbd6c49671e4b2a2e954", + "0x8d52413f981bc611427ad0534d25e914113d0ebcd6960aab6421608bec6648b89ae4b2ca2153c57d3cf4f1f37212aa5c", + "0x8fd9711c2c4f7af282555989ba43e968da4a6b1143b9a6681a8ac3e52abbf916b8ac9036d7c628432969d2001c9623b2", + "0xaadc207454f44821b05d607585d5f1998c7f6b2266ad6c6e8fb37a05244913d1ae5a655b63a079c999bd30cc63255b74", + "0xa841594e74b66935efd295a6c06e2be03cc8c187b277cbf5cd2f590630d4812801ad55f3e502736d126441a2f22f1867", + "0x99bd3fca280b3ad67f5b2d193de013287cade76d7414f4828ca6fa2506e6e8e9dab300207af0897b9db14608ae15fb02", + "0xa97b80bf780fba51a5863e620317812418204d3d5a1001710aa0cca383cb40855d9da0ddfdd40e1d2e9336a4543ca1ad", + "0xb9def7aa584fbfd49683b1652bb24794129170244da113bc7b4b59f5a47dd08e41ce4403b0d8c47b35acf283390fad99", + "0xa26dd9b28564c3d95679aca03e3432ac26e287f80e870714c5946b05538b3cb43bba7b85c16bceb5430e81b7a04c1b1d", + "0x80bef6e365eb22a9b910c7e28eef541fb11b3c92c9a24664063ee3f57c4f3ceb7200917ef8c9e6ad87bdd9e633f8bd0a", + "0xa40a83176a3890c867c34803e0f2571125c2cf1596767468a74107ba9b2d663c74e7c56a3de61bd7ed0c8db39534c7b4", + "0xb409f87f0632aae9bc081345b17a50a767ba4198f9ac9d352246fb3bebd29ed53c9d6f148c2f318c2eb12846b0aac4cb", + "0x95aafa379cc6a2b4bdd0cad30b7f0a47839952af41f584219ec201c6c4d54610eb2c04b67b29080acb8cecc5e7543fbc", + "0xa19e7db50604f6b82cc28bc97135025459c8eac107a1c482919df10b8be2e4f24fceb93b963c0b8ac9f402e2f6ebf387", + "0x8210c8bcb8d07be0cb55a5ea5708d7d66e207e675f97de88a78db92abe21336f1a04d481ab2a3e0a6bca4f7cf63b8512", + "0xb6aeb7a9b934a54e811921494f271d5d717924c561cd7a23ab3ef3dd3e86184d211c53c418f0746cdb3a12a26a334fc8", + "0xa4c4b96071e7bc92e41defba3507ddf423d93f3a94271b1f9812dfc4660e4c9fd24e0dd7aef324c46deb8d7a7c97eaa4", + "0x89681684a4f5a2e56a4acd37836c06cfe8613b0694d2258f8ccee67796e76f49dd9da349b1c23a36f9438097c1e6415e", + "0x8afa23226c47083bba80ab1be55b48c90c6629135533e3e4c14057d19febeba7f8e2cabe617b28ce1f0bd97a06972f66", + "0x9443e6ba4400fb3370c573cd7e33f05e1475f9cf1d6adb905bee3aff8f1452d8d384c8a72c9110070f35c6aad940bba6", + "0x8e956ca6050684b113a6c09d575996a9c99cc0bf61c6fb5c9eaae57b453838821cc604cf8adb70111de2c5076ae9d456", + "0x95cf2e038c790ce7a2960add7ab44804375f04ec6829f8cc63793dfe9fc48c7471079f81b932726509394fd3d46a52e9", + "0xb2caeffd79a19667b5083b75b183d273e732637a6c9fc34e7ab5fb13766d395aa6cedc4ff816a3760a6a64fd51582bcb", + "0x8461c5b96d19b63b5872275f4ffc15e1749d2dbc9a7650cdd5a0f7c8ec64b0049c681ebaec1141e49f4dbe82a18f70b3", + "0xae96dc808c316a677977831bad1e529ef965dadb5d6aea25ab008fe7bb1543e596e33052cfbe4279fa060201199d2c34", + "0x8018499ef720e28759133033833edfe17ed23e42f99058bb79fe844ddee823cfdc43916be2dc9724d18f9726e6f1b409", + "0x949b8b056e465813496fbdd71929cfb506b75a7aca779002c437745f651527387afb84bfaacdd0c2501893a7209b4a5f", + "0x87d2217eb05d657aba7b048cf3c661b463e78e51135a5b937e71975ff5102e596434720f02349c73415decb88418cb0d", + "0x938bbaa0ba14597067ff4c0a7cfc1529c44160d6f61cfad12246526d84fb7a1ba964d3bbb065a348cf7a98356ee15234", + "0xace596da3d8c878c8209ab965a1f6a5dd521ad468d0574c4ed74a5a15b9c6ba25fb622daab349daec0a1c4cdc731f502", + "0x861b710d5ec8ce873e921655a2ca877429e34d432643f65d50e8b2669929be40a9ce11c6353b0ada1fe115e45396b2b7", + "0xb81328c05a9569116a51d822a9e7bf43f6914214874622150f302fc812917375efc111e49b6b9075842d7d534182d290", + "0x8163eea18eacc062e71bb9f7406c58ebe1ce42a8b93656077dd781c2772e37775fe20e8d5b980dd52fdad98b72f10b71", + "0x8c016e86b7aa752edd697c022116713d6a6b61538c7e46f4d76c99c29313615ec18cd21f48d99d495db3d9ed09fe946d", + "0xb9bd3fa2fced552039671eaa18ed19eedc56efd3d3985afb1453b5c10f8143270903e50fa2f146c33de736d6594955c9", + "0xa60642ede2da19e9e4a2fe5a31360fba2c871c25ceb8a867c8189fc62c191a5494cbe59a4a53f643d3025ab264e9cee8", + "0xa40ef3d2291d8782540961ce285054678b3d322d3cf7fc154207228c290708b1abfc37a4d7762dab3dfea582a112444a", + "0x8bfd6a173a56b73480cc950ef266a18933ecafc86915a7453ded09efd8a0cf4466101f1373f05d48eae3e7fc5c0f7f54", + "0x997d3b82e4753f1fc3fc2595cfe25b22ac1956d89c0950767c6b9de20623d310b1d84aaa72ab967ef1ea6d397e13524b", + "0xa92dfa798798ba9e92f9886bfeb6d659b11ddc1228c3e4b8dd804bffa089d648173dc286846679df30acb4b5b5f4fd11", + "0xa2e9a68981989b27e5e12d79595a563bdb207d64429a98a91090a74e9d2aa301d3dddaf9f820dab7c1c422d6dd386c6b", + "0xa978fb8ce8253f58e1a87da354f06af989b0bafaafec2fb3100bee272dd8664d2690f8ada7dd4817bc8b06ffb1fe23f9", + "0x9194bc45e11d7276ed1c9ef3ad5a33d6a27372f5568563ca8ee213e2e7029dee404ab5acbaecaef698129798d35fd895", + "0xb09c0a505457c6b473fc7b2d634222905b36a6ffcc015dbdffa3bd62218c94e891615e77f28e6e18dd8474be8c156695", + "0x876afcd045c8a18967923733a3a43757652289b0974cd348238a693f30bb57f38664ecb97877a5e5f7d0185039a2bf54", + "0x8614a7599c8d97aa9ca63b876f677977cf0daa969ff2a9a153f297a4a46e08fa5d91492995de94dc32cf009ce6bb5b5f", + "0xb919391ac60e21fbf25cb2d6a3ce6edf9ddc493073e5e19c43d319cc488ea7fa2b4c6c9fcae5477d83065edb7f92b7f1", + "0x948f808c6b8e3e109a999657ef966e1e02c96a7aae6eecaf912344e1c7bf7ea51c911cecd3cea2b41ff55acc31df9454", + "0x820da367a66015959abacb87154bafd98aa89bfcd98b43ecfcc67a1e269ed5047776b7cf7015c4defd0fb500d51c1a04", + "0x91efdbcaad9931312d7c41d24de977f94d7f3f7b88090a1f72d9a097a1e30cc805c5ea16180f463022d9b26b8863f958", + "0x878156b5b59032dd2741bccd4a61040c5698c99ad7a286365c87fc888b5ac839143325c9d379eb7c91396d2c60059e94", + "0xae7446b29ca1584f418191760c804348b431dda04eee8bb0afe584dd057eb238e61213d5b1daf4acfc19541f15b6eae6", + "0xa076ea1084b7a1a33115ef62d6524f36e7820579868763a6ed1f8bce468f150cbfbf0ed04be2487aaa34100d828b0db6", + "0xa3fd9e1b5b61d2e0b9d66c46eecfc18f3745f35cda59994bf97144bdab6832c1f79b1068d2e8799bb7baf9f282c9380b", + "0x99c629c9cd603a9344b04d22d2bcc06cf45ebf62d97f968df19c73c7a50f4f6a2a2cc7fb633f509f961edfb94fbab94e", + "0xb009efcac1a52e4d752a4810af784df2c0fe4c339ffa8b6a37632eccf04453fb9cc1c04ea27881efb4f141c580f7c568", + "0xabf7da952c9d8f75fcc67fa7969fac0b26d4dc3e022961ed674ce85d734f11620a950fb1fb0ef830fba1d8b5bc3eced4", + "0xb659c05488f778fca3c918505d2d849c667471af03369ad9fa29e37bac4cc9caa18e749c62fcff22856945a74ef51356", + "0xb790669f1acb10911e520198795b259a18471cb3ac03f3885b4fa40626d414e26025790296fd078ef5c3681ebe4689cf", + "0xa3fd9d8bbdc98394883022299fd9793e0c4f374d8e40d6ce89b2869d3173cb6a5476371d6095dad068ff217729f60af4", + "0xa2053719da2b7501dab42011ae144b3c8d72bd17493181bf3ae79a678068dc3ee2f19d29a60b5a323692c3f684f96392", + "0xab9e752b54153015d503be81810be498089612b6b2f45dc197ce0b46681496001336eaeb4a12d8b878dff9eb7bc48fab", + "0x820cc2ac3eed5bce7dc72df2aa3214e71690b91445d8bb1634c0488a671e3669028efbe1eae52f7132bde29b16a020b7", + "0xa4822712ef5eb5ea82b7e3996eefff5f5eb75770e37e1117e3e6191e9aac860f13cbd804f6b15464fbb0d7f198e0ad59", + "0xa39e96e33076fbb49c35a58b6e386d22fa7378337bb8b0d47699264f78e5ae8dc143f1f6d5f8b371deafc5c875adb60a", + "0xb3c2adbe02028b88109ad0129ef0fe7a895c69317dfe877f420074c349ac0e66bcc9346a865f6af4f074fdb312f6edd3", + "0x88d8a32231ff2bfc39f1f9d39ccf638727b4ead866660b1b8bfbdf59c5ab4d76efddd76930eff49ea0af048b2e396b6c", + "0x8934e9a3feababa12ed142daa30e91bd6d28b432d182ac625501fe1dc82f973c67f0fe82d39c9b1da3613bb8bfe2f77b", + "0xa10f19657a9bc5a5c16ebab9f9fddc3f1d812749cd5d80cb331f51de651873ff899e0670f1b079b29a194572de387a17", + "0x95c0a30943ef34ef0a644439d857446e1c1736e18360f3f41803b0ca118e79af3fb9c608ec440a8de0f79d2c245b583c", + "0xad85789bb62b60e9768bd330a31a16f711b6018445af6a47646f318f12df8d4d256ad00d1ed7c3afa4e98fef73c6c610", + "0xa57d5de556853484b1d88808d2529450238bc467376ded84cfd7b4a1ba258f6d43b5958220f962c57b033abcef1d5158", + "0xb973f9c3d3faf641badf533ec36165a665759e0ae9ba45f9190fc44b1cdad78ca90ef6298dbe1dc0ee95ff58531cd0b3", + "0x97dff272a6e3f9ae1d2f231e5132e6ec76879d01f0d278d3016083885231670d2122b6b88aa7a67906a39cbf1fe19374", + "0x8aa3d9dad1c122b9aed75e3cc94b3a9dab160fa4cad92ebab68a58c0151a5d93f0f6b40b86fba00e63d45bd29a93b982", + "0x8a36501b0e284f26c4f1047ad6aadd4c283376af96e004213c146dfdfb9fb73dff176c7541fa825ca52227d8d8719a38", + "0xafbf44071c2c905f7c8ef396eaed7f13deb7a91719cb5e8b9226aaceb876d81a10076383edc6216bc2f5c38a480b2957", + "0xab6b47627cf76d9552c723818db5ebee7734542436b50ffe15b3a96e8e7a6b54f9a0965de78405e16e309193f147108d", + "0xa0bc362946a373566c0fbd0b8bdd62ac76d972c960c0b0d8589304d18252286f7277e3b58229e6aa8a8bbf2ee2d99163", + "0x952a95612aecce4321d2c17aabd2fb260b1cb41df5f76f5b82b46cf818d7a4f18e5e2944cddcd2280a993c0af4f834fe", + "0x8c03fb67dd8c11034bd03c74a53a3d55a75a5752ea390bd2e7f74090bf30c271541b83c984d495871d32c98018088939", + "0x971882d02ad64729cc87251b49effc0b8db9880c25083bfa0ff34e7394e691288c7cefbb5cfdc76d6677ffb9da765dba", + "0xac722bd742374f925185ea7d4d62d7510b2d8a6ebf5c750af6ce83e2d8a28c95a3e298870ec8254ab2d1d0aa2a063c60", + "0xa3dadaba6ece9270cf95211b26a14e6eb09b5d4fbca3d6e47dc498145a46ed161df74ed83a6f81246eea1d0408957dd0", + "0x997f2b2bc0b67fba72980631b2f739196b503923d42347ae57659bb455801b6763ed4032fe59837a5abb475e4cfc79fe", + "0xa6dd7816a96af369540013a456722434a5a918673564519a253ae5669ea3afeef509e29f35c6cd3ca7fd29f97987cfe3", + "0x87144976cb0d55de66f612725c6d89ab35a5222e8b003329b898e732629f5b7022a7223c9cc9ec820d3d1553e7b2267e", + "0x979482fc84ee250501a60039ed32cfa2970ab79e951a9ed035a7060e0966da867a98ef4308e07fa99aced6ee633ae70c", + "0x91cb79d52951d1b901e4a686bf4ad587e31db57ea5af6ffeb93eeafae3929879c386ddec860f803c2dc61055437e6bee", + "0x990ea2b09cddb2d2859a1c54e403b8dcec16505f6117afc8957aaf73d08b7c86f822f0db037b634d9614cf90a69bfc4b", + "0xac56dbae1e290ad35dc14eee30c6cea441cb7d2cc64b8407b83df5e07ce4a8677983b45458c0127ec0d01f31bdd61a15", + "0x8373f77511f6042aea4f25f79cb7f90ba0da134267987c7a711d93f2b0e6cffb20d4505e57acb40120e7f00da35ed4a8" + ], + "aggregate_pubkey": "0x87bbb4c46624acbed684e805f96caeca02e07f473b02ea37761ae6e8e695a2dc44472f6ea5ba43545fa359a79acb5a99" + }, + "next_sync_committee_branch": [ + "0x3ed2a3b6fa45b94d6d6cd7755b630f4e9c1e248116020c8c9f9e9a2d57641bda", + "0x7dba78148aafad51927afb14428eecae0084fdadd261cc3dd161f9d3cd34f98a", + "0x004b3ca38025eac5c022e6b81fee3f920535ce17f594aa0c4bea7eb1d89077a6", + "0xa1594969339c54851491c215a93ee8df8b19c3cfe836705dc808eb0a6449c17f", + "0x8836d392911922d58cd5690fb6d5c8008fd79113bbc38c4596134c73327f79a8", + "0xb6fe319df634d358075169e51cb0a7fc6ed33b321aa5f9563df8218a243d46e9" + ], + "finalized_header": { + "beacon": { + "slot": "7585792", + "proposer_index": "1654", + "parent_root": "0x0e702737dd72c94917ec8237c65718bf58b54112138741477da6eabc2cdc9458", + "state_root": "0x4f69d75006c7112f956c81ee638f6e249aebdc72560a4c25c58740557a49c855", + "body_root": "0xe92a2cd3732d41acc43e8253105246a2db4cc5b4fe3aece37936c1977cf3cfb8" + }, + "execution": { + "parent_hash": "0x2930b7c9292c69ce9b6f7061ab77076c271590f922d6f51dcbd68cd84c3b25e9", + "fee_recipient": "0x5cC0DdE14E7256340CC820415a6022a7d1c93A35", + "state_root": "0xf1131828f5f659111fb5faacc3f7acec2247ef814850dd7653485dc9130e79dc", + "receipts_root": "0xe3548d4e05f2d4ee772b499310fbe85422ad78e568c4129fc92445cd38001d7d", + "logs_bloom": "0x12a60056933c252ab0a6840420919c45f07e15602b246e3659a967f6c10f2281238b76c0b0d0214c38551085382f1121ab401051dfbea3f1c0b0daa24c657c03301c332104aae908106e71a92949c1010d698608a947c20b79831a21d296264afd6e048e279b141a82cf85a20f384a5281488f466908268ad0e0a414229c0be5009026389294b72c614a308b0744e9b4530ae000d4208400c2d58236944e0cb06a584e43c112a11a5454d44df2280daa144c000070d29892e8055bb7748e108ce9032836554d40ce205f8431f9434800695608bcc089806d003cd1462189f84304b82c90eda02eb9cd3a3803b07c26ae6802212529f26310c29a81a830ab5320", + "prev_randao": "0x761589dc0906b36fb3762e9febacfd9d0a020f6069455d95001c0cf6bd249e46", + "block_number": "8286935", + "gas_limit": "54063901", + "gas_used": "21517363", + "timestamp": "1746763104", + "extra_data": "0xd883010f06846765746888676f312e32342e31856c696e7578", + "base_fee_per_gas": "884772", + "block_hash": "0x8c22224db6280dee943fa957ce4394f0ce2652ab8e43d96e3d86759aa55de2a0", + "transactions_root": "0x7b3533ae6e1ed0a6632b436811748708e6fac885b66495ac42e63b4e6396b605", + "withdrawals_root": "0xc522ed4c90ffcacca49ce5cd42cb166ae5f21c1d2b92ff0a19d1ee3fe422ff7a", + "blob_gas_used": "0", + "excess_blob_gas": "131072" + }, + "execution_branch": [ + "0x749acec262f35cdcc3104327404fc317a2d1cc172eefcd611e59c7e2c5fde3d7", + "0xb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bb", + "0x6dd3b9955d892d92338b19976fd07084bfe88a76c3063482b7f30ee60feb2a58", + "0x35e6105aeaa75f6bc55ce62107c5a565b297e7ed06fd9e8aa2b6c7744b158a67" + ] + }, + "finality_branch": [ + "0x009e030000000000000000000000000000000000000000000000000000000000", + "0x5491da9fcb3bea34b96388cdfd7795c131f096e357b20296cbef9ab23097e006", + "0xbe0ed4cf20defedd658473e876eebea726abbb7c74a1e48f95502629e2b5cfd4", + "0x004b3ca38025eac5c022e6b81fee3f920535ce17f594aa0c4bea7eb1d89077a6", + "0xa1594969339c54851491c215a93ee8df8b19c3cfe836705dc808eb0a6449c17f", + "0x8836d392911922d58cd5690fb6d5c8008fd79113bbc38c4596134c73327f79a8", + "0xb6fe319df634d358075169e51cb0a7fc6ed33b321aa5f9563df8218a243d46e9" + ], + "sync_aggregate": { + "sync_committee_bits": "0xffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "sync_committee_signature": "0x890f20f507505bb4addc22b6516d0de39eba269e277f0415a6c9dc57c1dda65fd2e61e3b64ec052e29e7ebb6c5ce482b1180f5074e60d60adbca4f0ff7964a32e3a6c9976304c65f34b6842f52f4b8571275459a2dbea6674c2348bb1de3b55a" + }, + "signature_slot": "7585857" + }, + "version": "electra" + } +] diff --git a/eth2near/eth_rpc_client/src/beacon_rpc_client.rs b/eth2near/eth_rpc_client/src/beacon_rpc_client.rs index 25fc3a730..0fe2f8d98 100644 --- a/eth2near/eth_rpc_client/src/beacon_rpc_client.rs +++ b/eth2near/eth_rpc_client/src/beacon_rpc_client.rs @@ -690,7 +690,11 @@ mod tests { let beacon_rpc_client = BeaconRPCClient::new(&url, TIMEOUT_SECONDS, TIMEOUT_STATE_SECONDS, None); let rpc_json_str = beacon_rpc_client.get_json_from_raw_request(&url); - assert_eq!(rpc_json_str.unwrap(), file_json_str.trim()); + + let rpc_json_str = rpc_json_str.unwrap(); + let rpc_json: Value = serde_json::from_str(&rpc_json_str).unwrap(); + let file_json: Value = serde_json::from_str(&file_json_str).unwrap(); + assert_eq!(rpc_json, file_json); } #[test] @@ -733,27 +737,25 @@ mod tests { assert_eq!( beacon_block_header.slot, - trim_quotes(v["data"]["header"]["message"]["slot"].to_string()) - .parse::() - .unwrap() + trim_quotes(v["slot"].to_string()).parse::().unwrap() ); assert_eq!( beacon_block_header.proposer_index, - trim_quotes(v["data"]["header"]["message"]["proposer_index"].to_string()) + trim_quotes(v["proposer_index"].to_string()) .parse::() .unwrap() ); assert_eq!( format!("{:?}", beacon_block_header.body_root), - trim_quotes(v["data"]["header"]["message"]["body_root"].to_string()) + trim_quotes(v["body_root"].to_string()) ); assert_eq!( format!("{:?}", beacon_block_header.parent_root), - trim_quotes(v["data"]["header"]["message"]["parent_root"].to_string()) + trim_quotes(v["parent_root"].to_string()) ); assert_eq!( format!("{:?}", beacon_block_header.state_root), - trim_quotes(v["data"]["header"]["message"]["state_root"].to_string()) + trim_quotes(v["state_root"].to_string()) ); } @@ -774,7 +776,7 @@ mod tests { std::fs::read_to_string(config.path_to_block).expect("Unable to read file"); let v: Value = serde_json::from_str(&block_json_str).unwrap(); assert_eq!( - beacon_block_body.attestations_base().unwrap().len(), + beacon_block_body.attestations_electra().unwrap().len(), v["data"]["message"]["body"]["attestations"] .as_array() .unwrap() @@ -789,7 +791,7 @@ mod tests { #[test] fn test_is_sync() { assert!(!BeaconRPCClient::new( - "https://lodestar-goerli.chainsafe.io", + "https://lodestar-sepolia.chainsafe.io", TIMEOUT_SECONDS, TIMEOUT_STATE_SECONDS, None diff --git a/eth2near/eth_rpc_client/src/light_client_snapshot_with_proof.rs b/eth2near/eth_rpc_client/src/light_client_snapshot_with_proof.rs index d939cea47..0d16c33a7 100644 --- a/eth2near/eth_rpc_client/src/light_client_snapshot_with_proof.rs +++ b/eth2near/eth_rpc_client/src/light_client_snapshot_with_proof.rs @@ -2,7 +2,7 @@ use eth_types::eth2::{BeaconBlockHeader, SyncCommittee}; use eth_types::H256; use serde::Serialize; -#[derive(Serialize)] +#[derive(Serialize, Debug)] pub struct LightClientSnapshotWithProof { pub beacon_header: BeaconBlockHeader, pub current_sync_committee: SyncCommittee,